From 19a9744adcf70d75d4a7e9c4e426f6e379d3b7b3 Mon Sep 17 00:00:00 2001 From: Rob Mensching Date: Wed, 1 Jul 2020 10:21:53 -0700 Subject: Consolidate Custom Action tests in CustomActionFixture --- .../CustomActionFixture.cs | 102 ++++++++++++++++++++- .../MsiQueryFixture.cs | 98 -------------------- 2 files changed, 101 insertions(+), 99 deletions(-) (limited to 'src') diff --git a/src/test/WixToolsetTest.CoreIntegration/CustomActionFixture.cs b/src/test/WixToolsetTest.CoreIntegration/CustomActionFixture.cs index 814b5a26..1cab928e 100644 --- a/src/test/WixToolsetTest.CoreIntegration/CustomActionFixture.cs +++ b/src/test/WixToolsetTest.CoreIntegration/CustomActionFixture.cs @@ -12,7 +12,7 @@ namespace WixToolsetTest.CoreIntegration public class CustomActionFixture { [Fact(Skip = "Test demonstrates failure")] - public void PopulatesCustomActionTable() + public void CanDetectCustomActionCycle() { var folder = TestData.Get(@"TestData"); @@ -37,5 +37,105 @@ namespace WixToolsetTest.CoreIntegration Assert.False(result.ExitCode == 0 && warnings.Length == 0); } } + + [Fact] + public void PopulatesCustomActionTable() + { + var folder = TestData.Get(@"TestData"); + + using (var fs = new DisposableFileSystem()) + { + var baseFolder = fs.GetFolder(); + var intermediateFolder = Path.Combine(baseFolder, "obj"); + var msiPath = Path.Combine(baseFolder, @"bin\test.msi"); + + var result = WixRunner.Execute(new[] + { + "build", + Path.Combine(folder, "CustomAction", "UnscheduledCustomAction.wxs"), + Path.Combine(folder, "ProductWithComponentGroupRef", "MinimalComponentGroup.wxs"), + Path.Combine(folder, "ProductWithComponentGroupRef", "Product.wxs"), + "-bindpath", Path.Combine(folder, "SingleFile", "data"), + "-intermediateFolder", intermediateFolder, + "-o", msiPath + }); + + result.AssertSuccess(); + + Assert.True(File.Exists(msiPath)); + var results = Query.QueryDatabase(msiPath, new[] { + "ActionText", + "AdminExecuteSequence", + "AdminUISequence", + "AdvtExecuteSequence", + "Binary", + "CustomAction", + "InstallExecuteSequence", + "InstallUISequence", + "Property", + }).Where(x => !x.StartsWith("Property:") || x.StartsWith("Property:MsiHiddenProperties\t")).ToArray(); + Assert.Equal(new[] + { + "ActionText:CustomAction2\tProgess2Text\t", + "AdminExecuteSequence:CostFinalize\t\t1000", + "AdminExecuteSequence:CostInitialize\t\t800", + "AdminExecuteSequence:CustomAction2\t\t801", + "AdminExecuteSequence:FileCost\t\t900", + "AdminExecuteSequence:InstallAdminPackage\t\t3900", + "AdminExecuteSequence:InstallFiles\t\t4000", + "AdminExecuteSequence:InstallFinalize\t\t6600", + "AdminExecuteSequence:InstallInitialize\t\t1500", + "AdminExecuteSequence:InstallValidate\t\t1400", + "AdminUISequence:CostFinalize\t\t1000", + "AdminUISequence:CostInitialize\t\t800", + "AdminUISequence:CustomAction2\t\t801", + "AdminUISequence:ExecuteAction\t\t1300", + "AdminUISequence:FileCost\t\t900", + "AdvtExecuteSequence:CostFinalize\t\t1000", + "AdvtExecuteSequence:CostInitialize\t\t800", + "AdvtExecuteSequence:CustomAction2\t\t801", + "AdvtExecuteSequence:InstallFinalize\t\t6600", + "AdvtExecuteSequence:InstallInitialize\t\t1500", + "AdvtExecuteSequence:InstallValidate\t\t1400", + "AdvtExecuteSequence:PublishFeatures\t\t6300", + "AdvtExecuteSequence:PublishProduct\t\t6400", + "Binary:Binary1\t[Binary data]", + "CustomAction:CustomAction1\t1\tBinary1\tInvalidEntryPoint\t", + "CustomAction:CustomAction2\t51\tTestAdvtExecuteSequenceProperty\t1\t", + "CustomAction:CustomActionWithHiddenTarget\t9217\tBinary1\tInvalidEntryPoint\t", + "CustomAction:DiscardOptimismAllBeingsWhoProceed\t19\t\tAbandon hope all ye who enter here.\t", + "InstallExecuteSequence:CostFinalize\t\t1000", + "InstallExecuteSequence:CostInitialize\t\t800", + "InstallExecuteSequence:CustomAction2\t\t801", + "InstallExecuteSequence:FileCost\t\t900", + "InstallExecuteSequence:FindRelatedProducts\t\t25", + "InstallExecuteSequence:InstallFiles\t\t4000", + "InstallExecuteSequence:InstallFinalize\t\t6600", + "InstallExecuteSequence:InstallInitialize\t\t1500", + "InstallExecuteSequence:InstallValidate\t\t1400", + "InstallExecuteSequence:LaunchConditions\t\t100", + "InstallExecuteSequence:MigrateFeatureStates\t\t1200", + "InstallExecuteSequence:ProcessComponents\t\t1600", + "InstallExecuteSequence:PublishFeatures\t\t6300", + "InstallExecuteSequence:PublishProduct\t\t6400", + "InstallExecuteSequence:RegisterProduct\t\t6100", + "InstallExecuteSequence:RegisterUser\t\t6000", + "InstallExecuteSequence:RemoveExistingProducts\t\t1401", + "InstallExecuteSequence:RemoveFiles\t\t3500", + "InstallExecuteSequence:UnpublishFeatures\t\t1800", + "InstallExecuteSequence:ValidateProductID\t\t700", + "InstallUISequence:CostFinalize\t\t1000", + "InstallUISequence:CostInitialize\t\t800", + "InstallUISequence:CustomAction2\t\t801", + "InstallUISequence:ExecuteAction\t\t1300", + "InstallUISequence:FileCost\t\t900", + "InstallUISequence:FindRelatedProducts\t\t25", + "InstallUISequence:LaunchConditions\t\t100", + "InstallUISequence:MigrateFeatureStates\t\t1200", + "InstallUISequence:ValidateProductID\t\t700", + "Property:MsiHiddenProperties\tCustomActionWithHiddenTarget", + }, results); + } + } } } diff --git a/src/test/WixToolsetTest.CoreIntegration/MsiQueryFixture.cs b/src/test/WixToolsetTest.CoreIntegration/MsiQueryFixture.cs index bbeb7bd4..3ab218d1 100644 --- a/src/test/WixToolsetTest.CoreIntegration/MsiQueryFixture.cs +++ b/src/test/WixToolsetTest.CoreIntegration/MsiQueryFixture.cs @@ -338,105 +338,7 @@ namespace WixToolsetTest.CoreIntegration } } - [Fact] - public void PopulatesCustomActionTable() - { - var folder = TestData.Get(@"TestData"); - - using (var fs = new DisposableFileSystem()) - { - var baseFolder = fs.GetFolder(); - var intermediateFolder = Path.Combine(baseFolder, "obj"); - var msiPath = Path.Combine(baseFolder, @"bin\test.msi"); - var result = WixRunner.Execute(new[] - { - "build", - Path.Combine(folder, "CustomAction", "UnscheduledCustomAction.wxs"), - Path.Combine(folder, "ProductWithComponentGroupRef", "MinimalComponentGroup.wxs"), - Path.Combine(folder, "ProductWithComponentGroupRef", "Product.wxs"), - "-bindpath", Path.Combine(folder, "SingleFile", "data"), - "-intermediateFolder", intermediateFolder, - "-o", msiPath - }); - - result.AssertSuccess(); - - Assert.True(File.Exists(msiPath)); - var results = Query.QueryDatabase(msiPath, new[] { - "ActionText", - "AdminExecuteSequence", - "AdminUISequence", - "AdvtExecuteSequence", - "Binary", - "CustomAction", - "InstallExecuteSequence", - "InstallUISequence", - "Property", - }).Where(x => !x.StartsWith("Property:") || x.StartsWith("Property:MsiHiddenProperties\t")).ToArray(); - Assert.Equal(new[] - { - "ActionText:CustomAction2\tProgess2Text\t", - "AdminExecuteSequence:CostFinalize\t\t1000", - "AdminExecuteSequence:CostInitialize\t\t800", - "AdminExecuteSequence:CustomAction2\t\t801", - "AdminExecuteSequence:FileCost\t\t900", - "AdminExecuteSequence:InstallAdminPackage\t\t3900", - "AdminExecuteSequence:InstallFiles\t\t4000", - "AdminExecuteSequence:InstallFinalize\t\t6600", - "AdminExecuteSequence:InstallInitialize\t\t1500", - "AdminExecuteSequence:InstallValidate\t\t1400", - "AdminUISequence:CostFinalize\t\t1000", - "AdminUISequence:CostInitialize\t\t800", - "AdminUISequence:CustomAction2\t\t801", - "AdminUISequence:ExecuteAction\t\t1300", - "AdminUISequence:FileCost\t\t900", - "AdvtExecuteSequence:CostFinalize\t\t1000", - "AdvtExecuteSequence:CostInitialize\t\t800", - "AdvtExecuteSequence:CustomAction2\t\t801", - "AdvtExecuteSequence:InstallFinalize\t\t6600", - "AdvtExecuteSequence:InstallInitialize\t\t1500", - "AdvtExecuteSequence:InstallValidate\t\t1400", - "AdvtExecuteSequence:PublishFeatures\t\t6300", - "AdvtExecuteSequence:PublishProduct\t\t6400", - "Binary:Binary1\t[Binary data]", - "CustomAction:CustomAction1\t1\tBinary1\tInvalidEntryPoint\t", - "CustomAction:CustomAction2\t51\tTestAdvtExecuteSequenceProperty\t1\t", - "CustomAction:CustomActionWithHiddenTarget\t9217\tBinary1\tInvalidEntryPoint\t", - "CustomAction:DiscardOptimismAllBeingsWhoProceed\t19\t\tAbandon hope all ye who enter here.\t", - "InstallExecuteSequence:CostFinalize\t\t1000", - "InstallExecuteSequence:CostInitialize\t\t800", - "InstallExecuteSequence:CustomAction2\t\t801", - "InstallExecuteSequence:FileCost\t\t900", - "InstallExecuteSequence:FindRelatedProducts\t\t25", - "InstallExecuteSequence:InstallFiles\t\t4000", - "InstallExecuteSequence:InstallFinalize\t\t6600", - "InstallExecuteSequence:InstallInitialize\t\t1500", - "InstallExecuteSequence:InstallValidate\t\t1400", - "InstallExecuteSequence:LaunchConditions\t\t100", - "InstallExecuteSequence:MigrateFeatureStates\t\t1200", - "InstallExecuteSequence:ProcessComponents\t\t1600", - "InstallExecuteSequence:PublishFeatures\t\t6300", - "InstallExecuteSequence:PublishProduct\t\t6400", - "InstallExecuteSequence:RegisterProduct\t\t6100", - "InstallExecuteSequence:RegisterUser\t\t6000", - "InstallExecuteSequence:RemoveExistingProducts\t\t1401", - "InstallExecuteSequence:RemoveFiles\t\t3500", - "InstallExecuteSequence:UnpublishFeatures\t\t1800", - "InstallExecuteSequence:ValidateProductID\t\t700", - "InstallUISequence:CostFinalize\t\t1000", - "InstallUISequence:CostInitialize\t\t800", - "InstallUISequence:CustomAction2\t\t801", - "InstallUISequence:ExecuteAction\t\t1300", - "InstallUISequence:FileCost\t\t900", - "InstallUISequence:FindRelatedProducts\t\t25", - "InstallUISequence:LaunchConditions\t\t100", - "InstallUISequence:MigrateFeatureStates\t\t1200", - "InstallUISequence:ValidateProductID\t\t700", - "Property:MsiHiddenProperties\tCustomActionWithHiddenTarget", - }, results); - } - } [Fact] public void PopulatesDirectoryTableWithValidDefaultDir() -- cgit v1.2.3-55-g6feb