From 031991f32f059b64374e6d257cbe573304dd577f Mon Sep 17 00:00:00 2001 From: Sean Hall Date: Fri, 13 May 2022 11:40:45 -0500 Subject: Add ability to skip tests at runtime, and skip long running cache tests 6665 --- .../burn/WixTestTools/LongRuntimeFactAttribute.cs | 27 +++++++++++++ src/test/burn/WixTestTools/RuntimeFactAttribute.cs | 34 +++++++++++++++++ .../BasicFunctionalityTests.cs | 21 ++++++----- .../WixToolsetTest.BurnE2E/BundlePackageTests.cs | 12 +++--- .../burn/WixToolsetTest.BurnE2E/BurnE2EFixture.cs | 28 -------------- .../burn/WixToolsetTest.BurnE2E/BurnE2ETests.cs | 2 +- src/test/burn/WixToolsetTest.BurnE2E/CacheTests.cs | 35 +++++------------ .../burn/WixToolsetTest.BurnE2E/ContainerTests.cs | 4 +- .../burn/WixToolsetTest.BurnE2E/DependencyTests.cs | 44 +++++++++++----------- .../burn/WixToolsetTest.BurnE2E/ElevationTests.cs | 4 +- .../burn/WixToolsetTest.BurnE2E/FailureTests.cs | 14 +++---- .../burn/WixToolsetTest.BurnE2E/FilesInUseTests.cs | 3 +- .../ForwardCompatibleBundleTests.cs | 16 ++++---- .../burn/WixToolsetTest.BurnE2E/LayoutTests.cs | 5 ++- .../WixToolsetTest.BurnE2E/MsiTransactionTests.cs | 4 +- src/test/burn/WixToolsetTest.BurnE2E/PatchTests.cs | 9 +++-- .../burn/WixToolsetTest.BurnE2E/PrereqBaTests.cs | 5 ++- .../WixToolsetTest.BurnE2E/RegistrationTests.cs | 11 +++--- .../RollbackBoundaryTests.cs | 3 +- .../burn/WixToolsetTest.BurnE2E/SlipstreamTests.cs | 24 ++++++------ .../WixToolsetTest.BurnE2E/UpdateBundleTests.cs | 15 ++++---- .../UpgradeRelatedBundleTests.cs | 8 ++-- .../burn/WixToolsetTest.BurnE2E/VariableTests.cs | 4 +- .../burn/WixToolsetTest.BurnE2E/WixStdBaTests.cs | 5 +-- .../msi/WixToolsetTest.MsiE2E/MsiE2EFixture.cs | 28 -------------- src/test/msi/WixToolsetTest.MsiE2E/MsiE2ETests.cs | 2 +- .../UtilExtensionUserTests.cs | 12 +++--- 27 files changed, 186 insertions(+), 193 deletions(-) create mode 100644 src/test/burn/WixTestTools/LongRuntimeFactAttribute.cs create mode 100644 src/test/burn/WixTestTools/RuntimeFactAttribute.cs delete mode 100644 src/test/burn/WixToolsetTest.BurnE2E/BurnE2EFixture.cs delete mode 100644 src/test/msi/WixToolsetTest.MsiE2E/MsiE2EFixture.cs (limited to 'src/test') diff --git a/src/test/burn/WixTestTools/LongRuntimeFactAttribute.cs b/src/test/burn/WixTestTools/LongRuntimeFactAttribute.cs new file mode 100644 index 00000000..1da10df8 --- /dev/null +++ b/src/test/burn/WixTestTools/LongRuntimeFactAttribute.cs @@ -0,0 +1,27 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. + +namespace WixTestTools +{ + using System; + + public class LongRuntimeFactAttribute : RuntimeFactAttribute + { + const string RequiredEnvironmentVariableName = "LongRuntimeTestsEnabled"; + + public static bool LongRuntimeTestsEnabled { get; } + + static LongRuntimeFactAttribute() + { + var testsEnabledString = Environment.GetEnvironmentVariable(RequiredEnvironmentVariableName); + LongRuntimeTestsEnabled = Boolean.TryParse(testsEnabledString, out var testsEnabled) && testsEnabled; + } + + public LongRuntimeFactAttribute() + { + if (!LongRuntimeTestsEnabled) + { + this.Skip = $"These tests take a long time to run, so the {RequiredEnvironmentVariableName} environment variable must be set to true."; + } + } + } +} diff --git a/src/test/burn/WixTestTools/RuntimeFactAttribute.cs b/src/test/burn/WixTestTools/RuntimeFactAttribute.cs new file mode 100644 index 00000000..fcd19b95 --- /dev/null +++ b/src/test/burn/WixTestTools/RuntimeFactAttribute.cs @@ -0,0 +1,34 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. + +namespace WixTestTools +{ + using System; + using System.Security.Principal; + using WixBuildTools.TestSupport.XunitExtensions; + + public class RuntimeFactAttribute : SkippableFactAttribute + { + const string RequiredEnvironmentVariableName = "RuntimeTestsEnabled"; + + public static bool RuntimeTestsEnabled { get; } + public static bool RunningAsAdministrator { get; } + + static RuntimeFactAttribute() + { + using var identity = WindowsIdentity.GetCurrent(); + var principal = new WindowsPrincipal(identity); + RunningAsAdministrator = principal.IsInRole(WindowsBuiltInRole.Administrator); + + var testsEnabledString = Environment.GetEnvironmentVariable(RequiredEnvironmentVariableName); + RuntimeTestsEnabled = Boolean.TryParse(testsEnabledString, out var testsEnabled) && testsEnabled; + } + + public RuntimeFactAttribute() + { + if (!RuntimeTestsEnabled || !RunningAsAdministrator) + { + this.Skip = $"These tests must run elevated ({(RunningAsAdministrator ? "passed" : "failed")}). These tests affect machine state. To accept the consequences, set the {RequiredEnvironmentVariableName} environment variable to true ({(RuntimeTestsEnabled ? "passed" : "failed")})."; + } + } + } +} diff --git a/src/test/burn/WixToolsetTest.BurnE2E/BasicFunctionalityTests.cs b/src/test/burn/WixToolsetTest.BurnE2E/BasicFunctionalityTests.cs index efe4f05b..de817e90 100644 --- a/src/test/burn/WixToolsetTest.BurnE2E/BasicFunctionalityTests.cs +++ b/src/test/burn/WixToolsetTest.BurnE2E/BasicFunctionalityTests.cs @@ -4,6 +4,7 @@ namespace WixToolsetTest.BurnE2E { using System; using System.IO; + using WixTestTools; using Xunit; using Xunit.Abstractions; @@ -11,59 +12,59 @@ namespace WixToolsetTest.BurnE2E { public BasicFunctionalityTests(ITestOutputHelper testOutputHelper) : base(testOutputHelper) { } - [Fact] + [RuntimeFact] public void CanInstallAndUninstallSimpleBundle_x86_wixstdba() { this.CanInstallAndUninstallSimpleBundle("PackageA", "BundleA"); } - [Fact] + [RuntimeFact] public void CanInstallAndUninstallSimpleBundle_x86_testba() { this.CanInstallAndUninstallSimpleBundle("PackageA", "BundleB"); } - [Fact] + [RuntimeFact] public void CanInstallAndUninstallSimpleBundle_x86_dnctestba() { this.CanInstallAndUninstallSimpleBundle("PackageA", "BundleC"); } - [Fact] + [RuntimeFact] public void CanInstallAndUninstallSimpleBundle_x86_wixba() { this.CanInstallAndUninstallSimpleBundle("PackageA", "BundleD"); } - [Fact] + [RuntimeFact] public void CanInstallAndUninstallSimpleBundle_x64_wixstdba() { this.CanInstallAndUninstallSimpleBundle("PackageA_x64", "BundleA_x64"); } #if DEBUG - [Fact(Skip = "0xc0000005 during shutdown from tiptsf.dll")] + [RuntimeFact(Skip = "0xc0000005 during shutdown from tiptsf.dll")] #else - [Fact] + [RuntimeFact] #endif public void CanInstallAndUninstallSimplePerUserBundle_x64_wixstdba() { this.CanInstallAndUninstallSimpleBundle("PackageApu_x64", "BundleApu_x64", "PackagePerUser.wxs"); } - [Fact] + [RuntimeFact] public void CanInstallAndUninstallSimpleBundle_x64_testba() { this.CanInstallAndUninstallSimpleBundle("PackageA_x64", "BundleB_x64"); } - [Fact] + [RuntimeFact] public void CanInstallAndUninstallSimpleBundle_x64_dnctestba() { this.CanInstallAndUninstallSimpleBundle("PackageA_x64", "BundleC_x64"); } - [Fact] + [RuntimeFact] public void CanInstallAndUninstallSimpleBundle_x64_dncwixba() { this.CanInstallAndUninstallSimpleBundle("PackageA_x64", "BundleD_x64"); diff --git a/src/test/burn/WixToolsetTest.BurnE2E/BundlePackageTests.cs b/src/test/burn/WixToolsetTest.BurnE2E/BundlePackageTests.cs index b3015c30..0c6e5873 100644 --- a/src/test/burn/WixToolsetTest.BurnE2E/BundlePackageTests.cs +++ b/src/test/burn/WixToolsetTest.BurnE2E/BundlePackageTests.cs @@ -12,7 +12,7 @@ namespace WixToolsetTest.BurnE2E { public BundlePackageTests(ITestOutputHelper testOutputHelper) : base(testOutputHelper) { } - [Fact] + [RuntimeFact] public void CanInstallAndUninstallBundlePackages() { var packageA = this.CreatePackageInstaller(@"..\BasicFunctionalityTests\PackageA"); @@ -49,7 +49,7 @@ namespace WixToolsetTest.BurnE2E Assert.False(File.Exists(packageA64SourceCodeFilePath), $"PackageA_x64 payload should have been removed by uninstall from: {packageA64SourceCodeFilePath}"); } - [Fact] + [RuntimeFact] public void CanInstallUpgradeBundlePackage() { var bundleAv1 = this.CreateBundleInstaller(@"..\UpgradeRelatedBundleTests\BundleAv1"); @@ -65,7 +65,7 @@ namespace WixToolsetTest.BurnE2E bundleAv1.VerifyUnregisteredAndRemovedFromPackageCache(); } - [Fact] + [RuntimeFact] public void CanInstallV3BundlePackage() { var v3BundleId = "{215a70db-ab35-48c7-be51-d66eaac87177}"; @@ -85,7 +85,7 @@ namespace WixToolsetTest.BurnE2E Assert.Null(v3Registration.SystemComponent); } - [Fact] + [RuntimeFact] public void CanLeaveBundlePackageVisible() { var bundleAv1 = this.CreateBundleInstaller(@"..\UpgradeRelatedBundleTests\BundleAv1"); @@ -103,7 +103,7 @@ namespace WixToolsetTest.BurnE2E bundleAv1.VerifyRegisteredAndInPackageCache(); } - [Fact] + [RuntimeFact] public void CanReferenceCountBundlePackage() { var bundleAv1 = this.CreateBundleInstaller(@"..\UpgradeRelatedBundleTests\BundleAv1"); @@ -123,7 +123,7 @@ namespace WixToolsetTest.BurnE2E bundleAv1.VerifyRegisteredAndInPackageCache(); } - [Fact] + [RuntimeFact] public void CanSkipObsoleteBundlePackage() { var bundleAv1 = this.CreateBundleInstaller(@"..\UpgradeRelatedBundleTests\BundleAv1"); diff --git a/src/test/burn/WixToolsetTest.BurnE2E/BurnE2EFixture.cs b/src/test/burn/WixToolsetTest.BurnE2E/BurnE2EFixture.cs deleted file mode 100644 index babfcbc3..00000000 --- a/src/test/burn/WixToolsetTest.BurnE2E/BurnE2EFixture.cs +++ /dev/null @@ -1,28 +0,0 @@ -// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. - -namespace WixToolsetTest.BurnE2E -{ - using System; - using System.Security.Principal; - - public class BurnE2EFixture - { - const string RequiredEnvironmentVariableName = "RuntimeTestsEnabled"; - - public BurnE2EFixture() - { - using var identity = WindowsIdentity.GetCurrent(); - var principal = new WindowsPrincipal(identity); - if (!principal.IsInRole(WindowsBuiltInRole.Administrator)) - { - throw new InvalidOperationException("These tests must run elevated."); - } - - var testsEnabledString = Environment.GetEnvironmentVariable(RequiredEnvironmentVariableName); - if (!bool.TryParse(testsEnabledString, out var testsEnabled) || !testsEnabled) - { - throw new InvalidOperationException($"These tests affect machine state. Set the {RequiredEnvironmentVariableName} environment variable to true to accept the consequences."); - } - } - } -} diff --git a/src/test/burn/WixToolsetTest.BurnE2E/BurnE2ETests.cs b/src/test/burn/WixToolsetTest.BurnE2E/BurnE2ETests.cs index 975bd238..6664b849 100644 --- a/src/test/burn/WixToolsetTest.BurnE2E/BurnE2ETests.cs +++ b/src/test/burn/WixToolsetTest.BurnE2E/BurnE2ETests.cs @@ -73,7 +73,7 @@ namespace WixToolsetTest.BurnE2E } [CollectionDefinition("BurnE2E", DisableParallelization = true)] - public class BurnE2ECollectionDefinition : ICollectionFixture + public class BurnE2ECollectionDefinition { } } diff --git a/src/test/burn/WixToolsetTest.BurnE2E/CacheTests.cs b/src/test/burn/WixToolsetTest.BurnE2E/CacheTests.cs index 4d5fb811..6c8250d9 100644 --- a/src/test/burn/WixToolsetTest.BurnE2E/CacheTests.cs +++ b/src/test/burn/WixToolsetTest.BurnE2E/CacheTests.cs @@ -15,7 +15,7 @@ namespace WixToolsetTest.BurnE2E { public CacheTests(ITestOutputHelper testOutputHelper) : base(testOutputHelper) { } - private bool Is5GBFileAvailable() + private void SkipIf5GBFileUnavailable() { // Recreate the 5GB payload to avoid having to copy it to the VM to run the tests. const long FiveGB = 5_368_709_120; @@ -27,8 +27,7 @@ namespace WixToolsetTest.BurnE2E var drive = new DriveInfo(targetFilePath.Substring(0, 1)); if (drive.AvailableFreeSpace < FiveGB + OneGB) { - Console.WriteLine($"Skipping {this.TestContext.TestName} because there is not enough disk space available to run the test."); - return false; + WixAssert.Skip($"Skipping {this.TestContext.TestName} because there is not enough disk space available to run the test."); } if (!File.Exists(targetFilePath)) @@ -40,17 +39,12 @@ namespace WixToolsetTest.BurnE2E }; testTool.Run(true); } - - return true; } - [Fact] + [LongRuntimeFact] public void CanCache5GBFile() { - if (!this.Is5GBFileAvailable()) - { - return; - } + this.SkipIf5GBFileUnavailable(); var packageA = this.CreatePackageInstaller("PackageA"); var bundleC = this.CreateBundleInstaller("BundleC"); @@ -65,10 +59,7 @@ namespace WixToolsetTest.BurnE2E private string Cache5GBFileFromDownload(bool disableRangeRequests) { - if (!this.Is5GBFileAvailable()) - { - return null; - } + this.SkipIf5GBFileUnavailable(); var packageA = this.CreatePackageInstaller("PackageA"); var bundleC = this.CreateBundleInstaller("BundleC"); @@ -100,33 +91,25 @@ namespace WixToolsetTest.BurnE2E return installLogPath; } - [Fact] + [LongRuntimeFact] public void CanCache5GBFileFromDownloadWithRangeRequestSupport() { var logPath = this.Cache5GBFileFromDownload(false); - if (logPath == null) - { - return; - } Assert.False(LogVerifier.MessageInLogFile(logPath, "Range request not supported for URL: http://localhost:9999/e2e/BundleC/fivegb.file")); Assert.False(LogVerifier.MessageInLogFile(logPath, "Content-Length not returned for URL: http://localhost:9999/e2e/BundleC/fivegb.file")); } - [Fact] + [LongRuntimeFact] public void CanCache5GBFileFromDownloadWithoutRangeRequestSupport() { var logPath = this.Cache5GBFileFromDownload(true); - if (logPath == null) - { - return; - } Assert.True(LogVerifier.MessageInLogFile(logPath, "Range request not supported for URL: http://localhost:9999/e2e/BundleC/fivegb.file")); Assert.False(LogVerifier.MessageInLogFile(logPath, "Content-Length not returned for URL: http://localhost:9999/e2e/BundleC/fivegb.file")); } - [Fact] + [RuntimeFact] public void CanDownloadPayloadsFromMissingAttachedContainer() { var packageA = this.CreatePackageInstaller("PackageA"); @@ -178,7 +161,7 @@ namespace WixToolsetTest.BurnE2E Assert.True(LogVerifier.MessageInLogFile(modifyLogPath, "Ignoring failure to get size and time for URL: http://localhost:9999/e2e/BundleA/PackageB.msi (error 0x80070002)")); } - [Fact] + [RuntimeFact] public void CanFindAttachedContainerFromRenamedBundle() { var packageA = this.CreatePackageInstaller("PackageA"); diff --git a/src/test/burn/WixToolsetTest.BurnE2E/ContainerTests.cs b/src/test/burn/WixToolsetTest.BurnE2E/ContainerTests.cs index cd6beaa9..a607f7ce 100644 --- a/src/test/burn/WixToolsetTest.BurnE2E/ContainerTests.cs +++ b/src/test/burn/WixToolsetTest.BurnE2E/ContainerTests.cs @@ -2,14 +2,14 @@ namespace WixToolsetTest.BurnE2E { - using Xunit; + using WixTestTools; using Xunit.Abstractions; public class ContainerTests : BurnE2ETests { public ContainerTests(ITestOutputHelper testOutputHelper) : base(testOutputHelper) { } - [Fact] + [RuntimeFact] public void CanSupportMultipleAttachedContainers() { var packageA = this.CreatePackageInstaller("PackageA"); diff --git a/src/test/burn/WixToolsetTest.BurnE2E/DependencyTests.cs b/src/test/burn/WixToolsetTest.BurnE2E/DependencyTests.cs index f4bc6ba9..41f39050 100644 --- a/src/test/burn/WixToolsetTest.BurnE2E/DependencyTests.cs +++ b/src/test/burn/WixToolsetTest.BurnE2E/DependencyTests.cs @@ -12,7 +12,7 @@ namespace WixToolsetTest.BurnE2E { public DependencyTests(ITestOutputHelper testOutputHelper) : base(testOutputHelper) { } - [Fact] + [RuntimeFact] public void CanKeepSameExactPackageAfterUpgradingBundle() { var packageFv1 = this.CreatePackageInstaller("PackageFv1"); @@ -40,7 +40,7 @@ namespace WixToolsetTest.BurnE2E packageFv1.VerifyInstalled(false); } - [Fact (Skip = "https://github.com/wixtoolset/issues/issues/6401")] + [RuntimeFact (Skip = "https://github.com/wixtoolset/issues/issues/6401")] public void CanKeepSameExactPackageAfterUpgradingBundleWithSlipstreamedPatch() { var originalVersion = "1.0.0.0"; @@ -79,7 +79,7 @@ namespace WixToolsetTest.BurnE2E packageA.VerifyInstalled(false); } - [Fact] + [RuntimeFact] public void CanKeepUpgradedPackageAfterUninstallUpgradedBundle() { var testRegistryValueExe = "ExeA"; @@ -123,7 +123,7 @@ namespace WixToolsetTest.BurnE2E bundleAv1.VerifyExeTestRegistryValue(testRegistryValueExe, "1.0.1.0"); } - [Fact] + [RuntimeFact] public void UninstallsOrphanCompatiblePackages() { var testRegistryValueExe = "ExeA"; @@ -181,7 +181,7 @@ namespace WixToolsetTest.BurnE2E bundleAv1.VerifyExeTestRegistryRootDeleted(testRegistryValueExe); } - [Fact(Skip = "https://github.com/wixtoolset/issues/issues/6401")] + [RuntimeFact(Skip = "https://github.com/wixtoolset/issues/issues/6401")] public void CanMinorUpgradeDependencyPackageFromPatchBundle() { var originalVersion = "1.0.0.0"; @@ -231,7 +231,7 @@ namespace WixToolsetTest.BurnE2E } } - [Fact(Skip = "https://github.com/wixtoolset/issues/issues/6401")] + [RuntimeFact(Skip = "https://github.com/wixtoolset/issues/issues/6401")] public void CanMinorUpgradeDependencyPackageFromPatchBundleThenUninstallToRestoreBase() { var originalVersion = "1.0.0.0"; @@ -291,7 +291,7 @@ namespace WixToolsetTest.BurnE2E } } - [Fact] + [RuntimeFact] public void CanUninstallBaseWithAddOnsWhenAllSharePackages() { var testRegistryValueExe = "ExeA"; @@ -347,7 +347,7 @@ namespace WixToolsetTest.BurnE2E } } - [Fact] + [RuntimeFact] public void CanUpgradeBaseWithAddOns() { var testRegistryValueExe = "ExeA"; @@ -405,7 +405,7 @@ namespace WixToolsetTest.BurnE2E } } - [Fact] + [RuntimeFact] public void CanUninstallDependencyPackagesWithBundlesUninstalledInFifoOrder() { var testRegistryValueExe = "ExeA"; @@ -446,7 +446,7 @@ namespace WixToolsetTest.BurnE2E packageB.VerifyInstalled(false); } - [Fact] + [RuntimeFact] public void CanUninstallDependencyPackagesWithBundlesUninstalledInReverseOrder() { var packageA = this.CreatePackageInstaller("PackageAv1"); @@ -480,7 +480,7 @@ namespace WixToolsetTest.BurnE2E packageB.VerifyInstalled(false); } - [Fact(Skip = "https://github.com/wixtoolset/issues/issues/6401")] + [RuntimeFact(Skip = "https://github.com/wixtoolset/issues/issues/6401")] public void CanUpgradePatchBundleWithAdditionalPatch() { var originalVersion = "1.0.0.0"; @@ -539,7 +539,7 @@ namespace WixToolsetTest.BurnE2E } } - [Fact] + [RuntimeFact] public void DoesntLoseDependenciesOnFailedMajorUpgradeBundleFromMajorUpdateMsiFifo() { var packageAv1 = this.CreatePackageInstaller("PackageAv1"); @@ -611,7 +611,7 @@ namespace WixToolsetTest.BurnE2E packageGv2.VerifyInstalled(false); } - [Fact] + [RuntimeFact] public void DoesntLoseDependenciesOnFailedMajorUpgradeBundleFromMajorUpdateMsiLifo() { var packageAv1 = this.CreatePackageInstaller("PackageAv1"); @@ -683,7 +683,7 @@ namespace WixToolsetTest.BurnE2E packageGv2.VerifyInstalled(false); } - [Fact] + [RuntimeFact] public void DoesntLoseDependenciesOnFailedMajorUpgradeBundleFromMinorUpdateMsiFifo() { var packageAv1 = this.CreatePackageInstaller("PackageAv1"); @@ -756,7 +756,7 @@ namespace WixToolsetTest.BurnE2E packageGv101.VerifyInstalledWithVersion(false); } - [Fact] + [RuntimeFact] public void DoesntLoseDependenciesOnFailedMajorUpgradeBundleFromMinorUpdateMsiLifo() { var packageAv1 = this.CreatePackageInstaller("PackageAv1"); @@ -829,7 +829,7 @@ namespace WixToolsetTest.BurnE2E packageGv101.VerifyInstalledWithVersion(false); } - [Fact] + [RuntimeFact] public void DoesntRegisterDependencyOnPackageNotSelectedForInstall() { var testRegistryValueExe = "ExeA"; @@ -878,7 +878,7 @@ namespace WixToolsetTest.BurnE2E packageB.VerifyInstalled(false); } - [Fact(Skip = "https://github.com/wixtoolset/issues/issues/3516")] + [RuntimeFact(Skip = "https://github.com/wixtoolset/issues/issues/3516")] public void DoesntRollbackPackageInstallIfPreexistingDependents() { var packageA = this.CreatePackageInstaller("PackageAv1"); @@ -918,7 +918,7 @@ namespace WixToolsetTest.BurnE2E packageC.VerifyInstalled(false); } - [Fact] + [RuntimeFact] public void RegistersDependencyOnFailedNonVitalPackages() { var packageA = this.CreatePackageInstaller("PackageAv1"); @@ -969,7 +969,7 @@ namespace WixToolsetTest.BurnE2E packageC.VerifyInstalled(false); } - [Fact] + [RuntimeFact] public void RemovesDependencyDuringUpgradeRollback() { var testRegistryValueExe = "ExeA"; @@ -1001,7 +1001,7 @@ namespace WixToolsetTest.BurnE2E bundleA.VerifyExeTestRegistryRootDeleted(testRegistryValueExe); } - [Fact] + [RuntimeFact] public void RemovesDependencyProviderFromUpgradedPackageDuringUninstall() { var packageC = this.CreatePackageInstaller("PackageC"); @@ -1044,7 +1044,7 @@ namespace WixToolsetTest.BurnE2E bundleNv1.VerifyPackageProviderRemoved("PackageG"); } - [Fact] + [RuntimeFact] public void SkipsCrossScopeDependencyRegistration() { var packageA = this.CreatePackageInstaller("PackageAv1"); @@ -1087,7 +1087,7 @@ namespace WixToolsetTest.BurnE2E packageA.VerifyInstalled(false); } - [Fact] + [RuntimeFact] public void CannotInstallWhenDependencyUnsatisfied() { var packageA = this.CreatePackageInstaller("PackageAv1"); diff --git a/src/test/burn/WixToolsetTest.BurnE2E/ElevationTests.cs b/src/test/burn/WixToolsetTest.BurnE2E/ElevationTests.cs index 54a89469..8f141e5d 100644 --- a/src/test/burn/WixToolsetTest.BurnE2E/ElevationTests.cs +++ b/src/test/burn/WixToolsetTest.BurnE2E/ElevationTests.cs @@ -2,7 +2,7 @@ namespace WixToolsetTest.BurnE2E { - using Xunit; + using WixTestTools; using Xunit.Abstractions; public class ElevationTests : BurnE2ETests @@ -13,7 +13,7 @@ namespace WixToolsetTest.BurnE2E /// This test calls Elevate after Detect, and then calls Plan in OnElevateBegin. /// After calling Plan, it pumps some messages to simulate UI like the UAC callback. /// - [Fact(Skip = "https://github.com/wixtoolset/issues/issues/6349")] // CAUTION: this test currently hangs because the Plan request gets dropped. + [RuntimeFact(Skip = "https://github.com/wixtoolset/issues/issues/6349")] // CAUTION: this test currently hangs because the Plan request gets dropped. public void CanExplicitlyElevateAndPlanFromOnElevateBegin() { var packageA = this.CreatePackageInstaller("PackageA"); diff --git a/src/test/burn/WixToolsetTest.BurnE2E/FailureTests.cs b/src/test/burn/WixToolsetTest.BurnE2E/FailureTests.cs index b50be49a..cb758131 100644 --- a/src/test/burn/WixToolsetTest.BurnE2E/FailureTests.cs +++ b/src/test/burn/WixToolsetTest.BurnE2E/FailureTests.cs @@ -12,7 +12,7 @@ namespace WixToolsetTest.BurnE2E { public FailureTests(ITestOutputHelper testOutputHelper) : base(testOutputHelper) { } - [Fact] + [RuntimeFact] public void CanCancelExePackageAndAbandonIt() { var bundleD = this.CreateBundleInstaller("BundleD"); @@ -29,7 +29,7 @@ namespace WixToolsetTest.BurnE2E Assert.False(LogVerifier.MessageInLogFile(logPath, "TestRegistryValue: Rollback, ExeA, Version")); } - [Fact] + [RuntimeFact] public void CanCancelExePackageAndWaitUntilItCompletes() { var bundleD = this.CreateBundleInstaller("BundleD"); @@ -50,7 +50,7 @@ namespace WixToolsetTest.BurnE2E bundleD.VerifyExeTestRegistryRootDeleted("ExeA"); } - [Fact] + [RuntimeFact] public void CanCancelMsiPackageVeryEarly() { var packageA = this.CreatePackageInstaller("PackageA"); @@ -68,7 +68,7 @@ namespace WixToolsetTest.BurnE2E packageB.VerifyInstalled(false); } - [Fact] + [RuntimeFact] public void CanCancelMsiPackageVeryLate() { var packageA = this.CreatePackageInstaller("PackageA"); @@ -86,7 +86,7 @@ namespace WixToolsetTest.BurnE2E packageB.VerifyInstalled(false); } - [Fact] + [RuntimeFact] public void CanCancelMsiPackageInOnProgress() { var packageA = this.CreatePackageInstaller("PackageA"); @@ -104,7 +104,7 @@ namespace WixToolsetTest.BurnE2E packageB.VerifyInstalled(false); } - [Fact] + [RuntimeFact] public void CanCancelExecuteWhileCaching() { var packageA = this.CreatePackageInstaller("PackageA"); @@ -128,7 +128,7 @@ namespace WixToolsetTest.BurnE2E /// PackageA is not compressed in the bundle and has a Name different from the source file. The Name points to a file that does not exist. /// BundleC should be able to install successfully by ignoring the missing PackageA and installing PackageB. /// - [Fact] + [RuntimeFact] public void CanInstallWhenMissingNonVitalPackage() { var packageA = this.CreatePackageInstaller("PackageA"); diff --git a/src/test/burn/WixToolsetTest.BurnE2E/FilesInUseTests.cs b/src/test/burn/WixToolsetTest.BurnE2E/FilesInUseTests.cs index 6ad68d22..042175f0 100644 --- a/src/test/burn/WixToolsetTest.BurnE2E/FilesInUseTests.cs +++ b/src/test/burn/WixToolsetTest.BurnE2E/FilesInUseTests.cs @@ -4,14 +4,13 @@ namespace WixToolsetTest.BurnE2E { using System.IO; using WixTestTools; - using Xunit; using Xunit.Abstractions; public class FilesInUseTests : BurnE2ETests { public FilesInUseTests(ITestOutputHelper testOutputHelper) : base(testOutputHelper) { } - [Fact] + [RuntimeFact] public void CanCancelInstallAfterRetryingLockedFile() { var packageA = this.CreatePackageInstaller("PackageA"); diff --git a/src/test/burn/WixToolsetTest.BurnE2E/ForwardCompatibleBundleTests.cs b/src/test/burn/WixToolsetTest.BurnE2E/ForwardCompatibleBundleTests.cs index 357cf515..45c6c67d 100644 --- a/src/test/burn/WixToolsetTest.BurnE2E/ForwardCompatibleBundleTests.cs +++ b/src/test/burn/WixToolsetTest.BurnE2E/ForwardCompatibleBundleTests.cs @@ -17,7 +17,7 @@ namespace WixToolsetTest.BurnE2E private const string V100 = "1.0.0.0"; private const string V200 = "2.0.0.0"; - [Fact] + [RuntimeFact] public void CanIgnoreBundleDependentForUnsafeUninstall() { string providerId = BundleAProviderId; @@ -49,7 +49,7 @@ namespace WixToolsetTest.BurnE2E Assert.False(BundleRegistration.TryGetDependencyProviderValue(providerId, "Version", out _)); } - [Fact] + [RuntimeFact] public void CanTrack1ForwardCompatibleDependentThroughMajorUpgrade() { string providerId = BundleAProviderId; @@ -105,7 +105,7 @@ namespace WixToolsetTest.BurnE2E Assert.False(BundleRegistration.TryGetDependencyProviderValue(providerId, "Version", out _)); } - [Fact] + [RuntimeFact] public void CanTrack1ForwardCompatibleDependentThroughMajorUpgradeWithParentNone() { string providerId = BundleAProviderId; @@ -151,7 +151,7 @@ namespace WixToolsetTest.BurnE2E Assert.False(BundleRegistration.TryGetDependencyProviderValue(providerId, "Version", out _)); } - [Fact] + [RuntimeFact] public void CanTrack2ForwardCompatibleDependentsThroughMajorUpgrade() { string providerId = BundleAProviderId; @@ -233,7 +233,7 @@ namespace WixToolsetTest.BurnE2E Assert.False(BundleRegistration.TryGetDependencyProviderValue(providerId, "Version", out _)); } - [Fact] + [RuntimeFact] public void CanTrack2ForwardCompatibleDependentsThroughMajorUpgradePerUser() { string providerId = BundleCProviderId; @@ -315,7 +315,7 @@ namespace WixToolsetTest.BurnE2E Assert.False(BundleRegistration.TryGetDependencyProviderValue(providerId, "Version", out _)); } - [Fact] + [RuntimeFact] public void CanTrack2ForwardCompatibleDependentsThroughMajorUpgradeWithParent() { string providerId = BundleAProviderId; @@ -401,7 +401,7 @@ namespace WixToolsetTest.BurnE2E Assert.False(BundleRegistration.TryGetDependencyProviderValue(providerId, "Version", out _)); } - [Fact] + [RuntimeFact] public void CanUninstallForwardCompatibleWithBundlesUninstalledInFifoOrder() { string providerId = BundleAProviderId; @@ -449,7 +449,7 @@ namespace WixToolsetTest.BurnE2E Assert.False(BundleRegistration.TryGetDependencyProviderValue(providerId, "Version", out _)); } - [Fact] + [RuntimeFact] public void CanUninstallForwardCompatibleWithBundlesUninstalledInReverseOrder() { string providerId = BundleAProviderId; diff --git a/src/test/burn/WixToolsetTest.BurnE2E/LayoutTests.cs b/src/test/burn/WixToolsetTest.BurnE2E/LayoutTests.cs index 1e36e2a5..47a42750 100644 --- a/src/test/burn/WixToolsetTest.BurnE2E/LayoutTests.cs +++ b/src/test/burn/WixToolsetTest.BurnE2E/LayoutTests.cs @@ -5,6 +5,7 @@ namespace WixToolsetTest.BurnE2E using System.Collections.Generic; using System.IO; using WixBuildTools.TestSupport; + using WixTestTools; using Xunit; using Xunit.Abstractions; @@ -12,7 +13,7 @@ namespace WixToolsetTest.BurnE2E { public LayoutTests(ITestOutputHelper testOutputHelper) : base(testOutputHelper) { } - [Fact] + [RuntimeFact] public void CanLayoutBundleInPlaceWithMissingPayloads() { var bundleA = this.CreateBundleInstaller("BundleA"); @@ -41,7 +42,7 @@ namespace WixToolsetTest.BurnE2E Assert.True(File.Exists(Path.Combine(layoutDirectory, "BundleA.wxs"))); } - [Fact] + [RuntimeFact] public void CanLayoutBundleToNewDirectory() { var bundleA = this.CreateBundleInstaller("BundleA"); diff --git a/src/test/burn/WixToolsetTest.BurnE2E/MsiTransactionTests.cs b/src/test/burn/WixToolsetTest.BurnE2E/MsiTransactionTests.cs index cbfee806..d86ba3c3 100644 --- a/src/test/burn/WixToolsetTest.BurnE2E/MsiTransactionTests.cs +++ b/src/test/burn/WixToolsetTest.BurnE2E/MsiTransactionTests.cs @@ -12,7 +12,7 @@ namespace WixToolsetTest.BurnE2E { public MsiTransactionTests(ITestOutputHelper testOutputHelper) : base(testOutputHelper) { } - [Fact] + [RuntimeFact] public void CanUpgradeBundleWithMsiTransaction() { var packageA = this.CreatePackageInstaller("PackageA"); @@ -82,7 +82,7 @@ namespace WixToolsetTest.BurnE2E /// package F fails /// Thus, rolling back the transaction should reinstall package Bv1 /// - [Fact] + [RuntimeFact] public void CanRelyOnMsiTransactionRollback() { var packageA = this.CreatePackageInstaller("PackageA"); diff --git a/src/test/burn/WixToolsetTest.BurnE2E/PatchTests.cs b/src/test/burn/WixToolsetTest.BurnE2E/PatchTests.cs index 6b829118..b63be5f5 100644 --- a/src/test/burn/WixToolsetTest.BurnE2E/PatchTests.cs +++ b/src/test/burn/WixToolsetTest.BurnE2E/PatchTests.cs @@ -5,6 +5,7 @@ namespace WixToolsetTest.BurnE2E using System; using System.IO; using System.Xml; + using WixTestTools; using Xunit; using Xunit.Abstractions; @@ -12,7 +13,7 @@ namespace WixToolsetTest.BurnE2E { public PatchTests(ITestOutputHelper testOutputHelper) : base(testOutputHelper) { } - [Fact] + [RuntimeFact] public void CanRunDetectMultipleTimesWithPatches() { var testBAController = this.CreateTestBAController(); @@ -21,7 +22,7 @@ namespace WixToolsetTest.BurnE2E this.CanInstallBundleWithPatchThenRemoveIt(); } - [Fact] + [RuntimeFact] public void CanInstallBundleWithPatchThenRemoveIt() { var originalVersion = "1.0.0.0"; @@ -55,7 +56,7 @@ namespace WixToolsetTest.BurnE2E packageAv1.VerifyTestRegistryRootDeleted(); } - [Fact(Skip = "https://github.com/wixtoolset/issues/issues/6675")] + [RuntimeFact(Skip = "https://github.com/wixtoolset/issues/issues/6675")] public void CanPatchSwidTag() { var originalVersion = "1.0.0.0"; @@ -84,7 +85,7 @@ namespace WixToolsetTest.BurnE2E VerifySwidTagVersion(packageTagName, null); } - [Fact] + [RuntimeFact] public void CanInstallBundleWithPatchesTargetingSingleProductThenRemoveIt() { var originalVersion = "1.0.0.0"; diff --git a/src/test/burn/WixToolsetTest.BurnE2E/PrereqBaTests.cs b/src/test/burn/WixToolsetTest.BurnE2E/PrereqBaTests.cs index ced2e08e..ec828f89 100644 --- a/src/test/burn/WixToolsetTest.BurnE2E/PrereqBaTests.cs +++ b/src/test/burn/WixToolsetTest.BurnE2E/PrereqBaTests.cs @@ -4,6 +4,7 @@ namespace WixToolsetTest.BurnE2E { using System; using System.IO; + using WixTestTools; using Xunit; using Xunit.Abstractions; @@ -18,7 +19,7 @@ namespace WixToolsetTest.BurnE2E /// The preqba doesn't infinitely reload itself after failing to load the managed BA. /// The engine automatically uninstalls the bundle since only permanent packages were installed. /// - [Fact] + [RuntimeFact] public void DncPreqBaDetectsInfiniteLoop() { var packageA = this.CreatePackageInstaller("PackageA"); @@ -49,7 +50,7 @@ namespace WixToolsetTest.BurnE2E /// The preqba doesn't infinitely reload itself after failing to load the managed BA. /// The engine automatically uninstalls the bundle since only permanent packages were installed. /// - [Fact] + [RuntimeFact] public void MbaPreqBaDetectsInfiniteLoop() { var packageB = this.CreatePackageInstaller("PackageB"); diff --git a/src/test/burn/WixToolsetTest.BurnE2E/RegistrationTests.cs b/src/test/burn/WixToolsetTest.BurnE2E/RegistrationTests.cs index 01ffa942..b45ec83a 100644 --- a/src/test/burn/WixToolsetTest.BurnE2E/RegistrationTests.cs +++ b/src/test/burn/WixToolsetTest.BurnE2E/RegistrationTests.cs @@ -3,6 +3,7 @@ namespace WixToolsetTest.BurnE2E { using System; + using WixTestTools; using WixToolset.Mba.Core; using Xunit; using Xunit.Abstractions; @@ -11,7 +12,7 @@ namespace WixToolsetTest.BurnE2E { public RegistrationTests(ITestOutputHelper testOutputHelper) : base(testOutputHelper) { } - [Fact] + [RuntimeFact] public void AllowsBAToKeepRegistration() { this.CreatePackageInstaller("PackageA"); @@ -37,7 +38,7 @@ namespace WixToolsetTest.BurnE2E Assert.InRange(finalRegistration.EstimatedSize.Value, initialRegistration.EstimatedSize.Value + 1, Int32.MaxValue); } - [Fact] + [RuntimeFact] public void AutomaticallyUncachesBundleWhenNotInstalled() { this.CreatePackageInstaller("PackageA"); @@ -53,19 +54,19 @@ namespace WixToolsetTest.BurnE2E bundleA.VerifyUnregisteredAndRemovedFromPackageCache(); } - [Fact] + [RuntimeFact] public void AutomaticallyUninstallsBundleWithoutBADoingApply() { this.InstallBundleThenManuallyUninstallPackageAndRemovePackageFromCacheThenRunAndQuitWithoutApply(true); } - [Fact] + [RuntimeFact] public void AutomaticallyUninstallsBundleWithoutBADoingDetect() { this.InstallBundleThenManuallyUninstallPackageAndRemovePackageFromCacheThenRunAndQuitWithoutApply(false); } - [Fact] + [RuntimeFact] public void RegistersInARPIfPrecached() { this.CreatePackageInstaller("PackageA"); diff --git a/src/test/burn/WixToolsetTest.BurnE2E/RollbackBoundaryTests.cs b/src/test/burn/WixToolsetTest.BurnE2E/RollbackBoundaryTests.cs index effe4418..e04744b0 100644 --- a/src/test/burn/WixToolsetTest.BurnE2E/RollbackBoundaryTests.cs +++ b/src/test/burn/WixToolsetTest.BurnE2E/RollbackBoundaryTests.cs @@ -4,6 +4,7 @@ namespace WixToolsetTest.BurnE2E { using System; using System.IO; + using WixTestTools; using Xunit; using Xunit.Abstractions; @@ -22,7 +23,7 @@ namespace WixToolsetTest.BurnE2E /// install package B /// unregister since no non-permanent packages should be installed or cached. /// - [Fact] + [RuntimeFact] public void NonVitalRollbackBoundarySkipsToNextRollbackBoundary() { var packageA = this.CreatePackageInstaller("PackageA"); diff --git a/src/test/burn/WixToolsetTest.BurnE2E/SlipstreamTests.cs b/src/test/burn/WixToolsetTest.BurnE2E/SlipstreamTests.cs index f6744e8d..9ef100ce 100644 --- a/src/test/burn/WixToolsetTest.BurnE2E/SlipstreamTests.cs +++ b/src/test/burn/WixToolsetTest.BurnE2E/SlipstreamTests.cs @@ -17,7 +17,7 @@ namespace WixToolsetTest.BurnE2E private const string V100 = "1.0.0.0"; private const string V101 = "1.0.1.0"; - [Fact] + [RuntimeFact] public void CanInstallBundleWithSlipstreamedPatchThenRemoveIt() { var testRegistryValue = "PackageA"; @@ -45,7 +45,7 @@ namespace WixToolsetTest.BurnE2E /// BundleOnlyPatchA in uninstalled which should do nothing since BundleA has a dependency on it. /// Bundle is installed which should remove everything. /// - [Fact] + [RuntimeFact] public void ReferenceCountsSlipstreamedPatch() { var testRegistryValue = "PackageA"; @@ -78,13 +78,13 @@ namespace WixToolsetTest.BurnE2E packageAv1.VerifyTestRegistryRootDeleted(); } - [Fact(Skip = "https://github.com/wixtoolset/issues/issues/6350")] + [RuntimeFact(Skip = "https://github.com/wixtoolset/issues/issues/6350")] public void CanInstallBundleWithSlipstreamedPatchThenRepairIt() { this.InstallBundleWithSlipstreamedPatchThenRepairIt(false); } - [Fact(Skip = "https://github.com/wixtoolset/issues/issues/6350")] + [RuntimeFact(Skip = "https://github.com/wixtoolset/issues/issues/6350")] public void CanInstallReversedBundleWithSlipstreamedPatchThenRepairIt() { this.InstallBundleWithSlipstreamedPatchThenRepairIt(true); @@ -121,13 +121,13 @@ namespace WixToolsetTest.BurnE2E packageAv1.VerifyTestRegistryRootDeleted(); } - [Fact] + [RuntimeFact] public void CanInstallSlipstreamedPatchThroughForcedRepair() { this.InstallSlipstreamedPatchThroughForcedRepair(false); } - [Fact] + [RuntimeFact] public void CanInstallSlipstreamedPatchThroughReversedForcedRepair() { this.InstallSlipstreamedPatchThroughForcedRepair(true); @@ -177,7 +177,7 @@ namespace WixToolsetTest.BurnE2E packageAv1.VerifyTestRegistryRootDeleted(); } - [Fact] + [RuntimeFact] public void CanUninstallSlipstreamedPatchAlone() { var testRegistryValue = "PackageA"; @@ -207,7 +207,7 @@ namespace WixToolsetTest.BurnE2E packageAv1.VerifyTestRegistryRootDeleted(); } - [Fact] + [RuntimeFact] public void CanModifyToUninstallPackageWithSlipstreamedPatch() { var testRegistryValue = "PackageA"; @@ -244,7 +244,7 @@ namespace WixToolsetTest.BurnE2E packageBv1.VerifyTestRegistryRootDeleted(); } - [Fact] + [RuntimeFact] public void UninstallsPackageWithSlipstreamedPatchDuringRollback() { var packageAv1 = this.CreatePackageInstaller("PackageAv1"); @@ -266,7 +266,7 @@ namespace WixToolsetTest.BurnE2E packageBv1.VerifyTestRegistryRootDeleted(); } - [Fact(Skip = "https://github.com/wixtoolset/issues/issues/6402")] + [RuntimeFact(Skip = "https://github.com/wixtoolset/issues/issues/6402")] public void CanAutomaticallyPredetermineSlipstreamPatchesAtBuildTime() { var testRegistryValueA = "PackageA"; @@ -300,7 +300,7 @@ namespace WixToolsetTest.BurnE2E packageAv1.VerifyTestRegistryRootDeleted(); } - [Fact] + [RuntimeFact] public void CanInstallSlipstreamedPatchWithPackageDuringMajorUpgrade() { var testRegistryValue = "PackageA"; @@ -327,7 +327,7 @@ namespace WixToolsetTest.BurnE2E packageAv1.VerifyTestRegistryRootDeleted(); } - [Fact] + [RuntimeFact] public void RespectsSlipstreamedPatchInstallCondition() { var testRegistryValue = "PackageA"; diff --git a/src/test/burn/WixToolsetTest.BurnE2E/UpdateBundleTests.cs b/src/test/burn/WixToolsetTest.BurnE2E/UpdateBundleTests.cs index 9fcd428b..df666833 100644 --- a/src/test/burn/WixToolsetTest.BurnE2E/UpdateBundleTests.cs +++ b/src/test/burn/WixToolsetTest.BurnE2E/UpdateBundleTests.cs @@ -6,6 +6,7 @@ namespace WixToolsetTest.BurnE2E using System.Collections.Generic; using System.Diagnostics; using System.IO; + using WixTestTools; using Xunit; using Xunit.Abstractions; @@ -13,7 +14,7 @@ namespace WixToolsetTest.BurnE2E { public UpdateBundleTests(ITestOutputHelper testOutputHelper) : base(testOutputHelper) { } - [Fact] + [RuntimeFact] public void CanLaunchUpdateBundleFromLocalSourceInsteadOfInstall() { var packageAv1 = this.CreatePackageInstaller("PackageAv1"); @@ -39,7 +40,7 @@ namespace WixToolsetTest.BurnE2E packageAv2.VerifyInstalled(false); } - [Fact] + [RuntimeFact] public void CanLaunchUpdateBundleFromLocalSourceInsteadOfModify() { var packageAv1 = this.CreatePackageInstaller("PackageAv1"); @@ -71,7 +72,7 @@ namespace WixToolsetTest.BurnE2E packageAv2.VerifyInstalled(false); } - [Fact] + [RuntimeFact] public void ForwardsArgumentsToUpdateBundle() { var packageAv1 = this.CreatePackageInstaller("PackageAv1"); @@ -107,7 +108,7 @@ namespace WixToolsetTest.BurnE2E } // Installs bundle Bv1.0 then tries to update to latest version during modify (but no server exists). - [Fact] + [RuntimeFact] public void CanCheckUpdateServerDuringModifyAndDoNothingWhenServerIsntResponsive() { var packageB = this.CreatePackageInstaller("PackageBv1"); @@ -133,7 +134,7 @@ namespace WixToolsetTest.BurnE2E } // Installs bundle Bv1.0 then tries to update to latest version during modify (server exists, no feed). - [Fact] + [RuntimeFact] public void CanCheckUpdateServerDuringModifyAndDoNothingWhenFeedIsMissing() { var packageB = this.CreatePackageInstaller("PackageBv1"); @@ -162,7 +163,7 @@ namespace WixToolsetTest.BurnE2E } // Installs bundle Bv1.0 then tries to update to latest version during modify (server exists, v1.0 feed). - [Fact] + [RuntimeFact] public void CanCheckUpdateServerDuringModifyAndDoNothingWhenAlreadyLatestVersion() { var packageB = this.CreatePackageInstaller("PackageBv1"); @@ -195,7 +196,7 @@ namespace WixToolsetTest.BurnE2E } // Installs bundle Bv1.0 then does an update to bundle Bv2.0 during modify (server exists, v2.0 feed). - [Fact] + [RuntimeFact] public void CanLaunchUpdateBundleFromDownloadInsteadOfModify() { var packageBv1 = this.CreatePackageInstaller("PackageBv1"); diff --git a/src/test/burn/WixToolsetTest.BurnE2E/UpgradeRelatedBundleTests.cs b/src/test/burn/WixToolsetTest.BurnE2E/UpgradeRelatedBundleTests.cs index 32a04e5c..fbd26d73 100644 --- a/src/test/burn/WixToolsetTest.BurnE2E/UpgradeRelatedBundleTests.cs +++ b/src/test/burn/WixToolsetTest.BurnE2E/UpgradeRelatedBundleTests.cs @@ -12,7 +12,7 @@ namespace WixToolsetTest.BurnE2E { public UpgradeRelatedBundleTests(ITestOutputHelper testOutputHelper) : base(testOutputHelper) { } - [Fact] + [RuntimeFact] public void ReinstallsOlderBundleAfterFailure() { var packageAv2 = this.CreatePackageInstaller("PackageAv2"); @@ -39,7 +39,7 @@ namespace WixToolsetTest.BurnE2E packageAv3.VerifyInstalled(false); } - [Fact] + [RuntimeFact] public void ReportsRelatedBundleMissingFromCache() { var packageAv1 = this.CreatePackageInstaller("PackageAv1"); @@ -60,7 +60,7 @@ namespace WixToolsetTest.BurnE2E Assert.True(LogVerifier.MessageInLogFileRegex(bundleAv2InstallLogFilePath, @"Detected related bundle: \{[0-9A-Za-z\-]{36}\}, type: Upgrade, scope: PerMachine, version: 1\.0\.0\.0, cached: No")); } - [Fact] + [RuntimeFact] public void Bundle64UpgradesBundle32() { var packageAv1 = this.CreatePackageInstaller("PackageAv1"); @@ -79,7 +79,7 @@ namespace WixToolsetTest.BurnE2E Assert.True(LogVerifier.MessageInLogFileRegex(bundleAv2x64InstallLogFilePath, @"Detected related package: \{[0-9A-Za-z\-]{36}\}, scope: PerMachine, version: 1.0.0.0, language: 1033 operation: MajorUpgrade")); } - [Fact] + [RuntimeFact] public void Bundle32UpgradesBundle64() { var packageAv1 = this.CreatePackageInstaller("PackageAv1"); diff --git a/src/test/burn/WixToolsetTest.BurnE2E/VariableTests.cs b/src/test/burn/WixToolsetTest.BurnE2E/VariableTests.cs index fcec1df2..16a5d648 100644 --- a/src/test/burn/WixToolsetTest.BurnE2E/VariableTests.cs +++ b/src/test/burn/WixToolsetTest.BurnE2E/VariableTests.cs @@ -14,7 +14,7 @@ namespace WixToolsetTest.BurnE2E { public VariableTests(ITestOutputHelper testOutputHelper) : base(testOutputHelper) { } - [Fact] + [RuntimeFact] public void CanHideHiddenVariables() { var packageA = this.CreatePackageInstaller("PackageA"); @@ -32,7 +32,7 @@ namespace WixToolsetTest.BurnE2E Assert.False(LogVerifier.MessageInLogFile(logFilePath, "supersecretkey")); } - [Fact] + [RuntimeFact] public void CanSupportCaseSensitiveVariables() { var packageA = this.CreatePackageInstaller("PackageA"); diff --git a/src/test/burn/WixToolsetTest.BurnE2E/WixStdBaTests.cs b/src/test/burn/WixToolsetTest.BurnE2E/WixStdBaTests.cs index e3418cc1..fe05419f 100644 --- a/src/test/burn/WixToolsetTest.BurnE2E/WixStdBaTests.cs +++ b/src/test/burn/WixToolsetTest.BurnE2E/WixStdBaTests.cs @@ -3,14 +3,13 @@ namespace WixToolsetTest.BurnE2E { using WixTestTools; - using Xunit; using Xunit.Abstractions; public class WixStdBaTests : BurnE2ETests { public WixStdBaTests(ITestOutputHelper testOutputHelper) : base(testOutputHelper) { } - [Fact] + [RuntimeFact] public void ExitsWithErrorWhenDowngradingWithoutSuppression() { var packageA = this.CreatePackageInstaller("PackageA"); @@ -31,7 +30,7 @@ namespace WixToolsetTest.BurnE2E packageA.VerifyInstalled(true); } - [Fact] + [RuntimeFact] public void ExitsWithoutErrorWhenDowngradingWithSuppression() { var packageA = this.CreatePackageInstaller("PackageA"); diff --git a/src/test/msi/WixToolsetTest.MsiE2E/MsiE2EFixture.cs b/src/test/msi/WixToolsetTest.MsiE2E/MsiE2EFixture.cs deleted file mode 100644 index a7646568..00000000 --- a/src/test/msi/WixToolsetTest.MsiE2E/MsiE2EFixture.cs +++ /dev/null @@ -1,28 +0,0 @@ -// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. - -namespace WixToolsetTest.MsiE2E -{ - using System; - using System.Security.Principal; - - public class MsiE2EFixture - { - const string RequiredEnvironmentVariableName = "RuntimeTestsEnabled"; - - public MsiE2EFixture() - { - using var identity = WindowsIdentity.GetCurrent(); - var principal = new WindowsPrincipal(identity); - if (!principal.IsInRole(WindowsBuiltInRole.Administrator)) - { - throw new InvalidOperationException("These tests must run elevated."); - } - - var testsEnabledString = Environment.GetEnvironmentVariable(RequiredEnvironmentVariableName); - if (!bool.TryParse(testsEnabledString, out var testsEnabled) || !testsEnabled) - { - throw new InvalidOperationException($"These tests affect machine state. Set the {RequiredEnvironmentVariableName} environment variable to true to accept the consequences."); - } - } - } -} diff --git a/src/test/msi/WixToolsetTest.MsiE2E/MsiE2ETests.cs b/src/test/msi/WixToolsetTest.MsiE2E/MsiE2ETests.cs index 22f2173b..ca7f15ed 100644 --- a/src/test/msi/WixToolsetTest.MsiE2E/MsiE2ETests.cs +++ b/src/test/msi/WixToolsetTest.MsiE2E/MsiE2ETests.cs @@ -38,7 +38,7 @@ namespace WixToolsetTest.MsiE2E } [CollectionDefinition("MsiE2E", DisableParallelization = true)] - public class MsiE2ECollectionDefinition : ICollectionFixture + public class MsiE2ECollectionDefinition { } } diff --git a/src/test/msi/WixToolsetTest.MsiE2E/UtilExtensionUserTests.cs b/src/test/msi/WixToolsetTest.MsiE2E/UtilExtensionUserTests.cs index 21491858..fcdfde52 100644 --- a/src/test/msi/WixToolsetTest.MsiE2E/UtilExtensionUserTests.cs +++ b/src/test/msi/WixToolsetTest.MsiE2E/UtilExtensionUserTests.cs @@ -15,7 +15,7 @@ namespace WixToolsetTest.MsiE2E const string TempUsername = "USERNAME"; // Verify that the users specified in the authoring are created as expected. - [Fact] + [RuntimeFact] public void CanInstallAndUninstallUsers() { var arguments = new string[] @@ -49,7 +49,7 @@ namespace WixToolsetTest.MsiE2E } // Verify the rollback action reverts all Users changes. - [Fact] + [RuntimeFact] public void CanRollbackUsers() { var arguments = new string[] @@ -74,7 +74,7 @@ namespace WixToolsetTest.MsiE2E } // Verify that the users specified in the authoring are created as expected on repair. - [Fact(Skip = "Test demonstrates failure")] + [RuntimeFact(Skip = "Test demonstrates failure")] public void CanRepairUsers() { var arguments = new string[] @@ -113,7 +113,7 @@ namespace WixToolsetTest.MsiE2E } // Verify that Installation fails if FailIfExisits is set. - [Fact] + [RuntimeFact] public void FailsIfUserExists() { var productFailIfExists = this.CreatePackageInstaller("ProductFailIfExists"); @@ -139,7 +139,7 @@ namespace WixToolsetTest.MsiE2E } // Verify that a user cannot be created on a domain on which you dont have create user permission. - [Fact] + [RuntimeFact] public void FailsIfRestrictedDomain() { var productRestrictedDomain = this.CreatePackageInstaller("ProductRestrictedDomain"); @@ -151,7 +151,7 @@ namespace WixToolsetTest.MsiE2E } // Verify that adding a user to a non-existent group does not fail the install when non-vital. - [Fact] + [RuntimeFact] public void IgnoresMissingGroupWhenNonVital() { var productNonVitalGroup = this.CreatePackageInstaller("ProductNonVitalUserGroup"); -- cgit v1.2.3-55-g6feb