PowerShell/test/csharp/fixture_AssemblyLoadContext.cs

26 lines
894 B
C#
Raw Normal View History

using Xunit;
using System;
using System.Management.Automation;
// This collection fixture initializes Core PowerShell's AssemblyLoadContext once and only
// once. Attempting to initialize in a class level fixture will cause multiple
// initializations, resulting in test failure due to "Binding model is already locked for
// the AppDomain and cannot be reset".
namespace PSTests
{
public class AssemblyLoadContextFixture
{
public AssemblyLoadContextFixture()
{
// Initialize the Core PowerShell AssemblyLoadContext
PowerShellAssemblyLoadContextInitializer.SetPowerShellAssemblyLoadContext(AppContext.BaseDirectory);
}
}
[CollectionDefinition("AssemblyLoadContext")]
public class AssemblyLoadContextCollection : ICollectionFixture<AssemblyLoadContextFixture>
{
// nothing to do but satisfy the interface
}
}