PowerShell7/test/csharp
Steve Lee c1c5344a88 Update copyright and license headers (#6134)
Based on standard practices, we need to have a copyright and license notice at the top of each source file. Removed existing copyrights and updated/added copyright notices for .h, .cpp, .cs, .ps1, and .psm1 files.

Updated module manifests for consistency to have Author = "PowerShell" and Company = "Microsoft Corporation". Removed multiple line breaks.

Separate PR coming to update contribution document for new source files: #6140

Manually reviewed each change.

Fix #6073
2018-02-13 09:23:53 -08:00
..
csharp.tests.csproj Update csproj files to the latest version of the package references (#5961) 2018-01-22 12:06:50 -08:00
README.md Update test documentation 2016-04-04 19:20:26 -07:00
test_Binders.cs Update copyright and license headers (#6134) 2018-02-13 09:23:53 -08:00
test_CorePsPlatform.cs Update copyright and license headers (#6134) 2018-02-13 09:23:53 -08:00
test_ExtensionMethods.cs Update copyright and license headers (#6134) 2018-02-13 09:23:53 -08:00
test_FileSystemProvider.cs Update copyright and license headers (#6134) 2018-02-13 09:23:53 -08:00
test_MshSnapinInfo.cs Update copyright and license headers (#6134) 2018-02-13 09:23:53 -08:00
test_PSConfiguration.cs Update copyright and license headers (#6134) 2018-02-13 09:23:53 -08:00
test_PSVersionInfo.cs Update copyright and license headers (#6134) 2018-02-13 09:23:53 -08:00
test_Runspace.cs Update copyright and license headers (#6134) 2018-02-13 09:23:53 -08:00
test_SecuritySupport.cs Update copyright and license headers (#6134) 2018-02-13 09:23:53 -08:00
test_SessionState.cs Update copyright and license headers (#6134) 2018-02-13 09:23:53 -08:00
test_Utils.cs Update copyright and license headers (#6134) 2018-02-13 09:23:53 -08:00

xUnit Tests

These tests are completely Linux specific.

Every test class must belong to [Collection("AssemblyLoadContext")]. This ensures that PowerShell's AssemblyLoadContext is initialized before any other code is executed. When this is not the case, late initialization fails with System.InvalidOperationException : Binding model is already locked for the AppDomain and cannot be reset.

Having every class in the same collection is as close to an xUnit global init hook as can be done.

Running xUnit Tests

Go to the top level of the PowerShell repository and run: Start-PSxUnit inside a self-hosted copy of PowerShell.