namespace ZB.MOM.WW.ScadaBridge.Host.Tests; /// /// Serializes every fixture that boots a real host while depending on process-wide /// state — the DOTNET_ENVIRONMENT role selector and the environment variables /// sets. /// /// Program's configuration builder calls AddEnvironmentVariables() at an /// unpredictable point during boot, so a sibling fixture's teardown (which restores or /// clears those vars) can otherwise be observed mid-boot as a transient null. Since the /// secrets adoption (G-4) three of those keys are ${secret:...} references that /// fail closed, which turns that race into a hard SecretNotFoundException. /// xUnit runs classes in a shared collection sequentially, which removes the overlap. /// /// Site-role fixtures are deliberately not members: they call /// Configuration.Sources.Clear(), dropping the environment-variable provider, so /// they neither read nor write the shared state and stay free to run in parallel. /// /// Supersedes the narrower "ActorSystem" collection, whose members are folded in here. /// [CollectionDefinition(HostBootCollection.Name)] public class HostBootCollection { public const string Name = "HostBoot"; }