diff options
| author | Rob Mensching <rob@firegiant.com> | 2020-07-01 10:21:53 -0700 |
|---|---|---|
| committer | Rob Mensching <rob@firegiant.com> | 2020-07-01 11:21:56 -0700 |
| commit | 19a9744adcf70d75d4a7e9c4e426f6e379d3b7b3 (patch) | |
| tree | 512df0ee9cbfa8c881cb3b083ae750e7de93ff6f /src/test/WixToolsetTest.CoreIntegration/CustomActionFixture.cs | |
| parent | fea4fe44cdc1734c2453de35133899ed46d95634 (diff) | |
| download | wix-19a9744adcf70d75d4a7e9c4e426f6e379d3b7b3.tar.gz wix-19a9744adcf70d75d4a7e9c4e426f6e379d3b7b3.tar.bz2 wix-19a9744adcf70d75d4a7e9c4e426f6e379d3b7b3.zip | |
Consolidate Custom Action tests in CustomActionFixture
Diffstat (limited to 'src/test/WixToolsetTest.CoreIntegration/CustomActionFixture.cs')
| -rw-r--r-- | src/test/WixToolsetTest.CoreIntegration/CustomActionFixture.cs | 102 |
1 files changed, 101 insertions, 1 deletions
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 | |||
| 12 | public class CustomActionFixture | 12 | public class CustomActionFixture |
| 13 | { | 13 | { |
| 14 | [Fact(Skip = "Test demonstrates failure")] | 14 | [Fact(Skip = "Test demonstrates failure")] |
| 15 | public void PopulatesCustomActionTable() | 15 | public void CanDetectCustomActionCycle() |
| 16 | { | 16 | { |
| 17 | var folder = TestData.Get(@"TestData"); | 17 | var folder = TestData.Get(@"TestData"); |
| 18 | 18 | ||
| @@ -37,5 +37,105 @@ namespace WixToolsetTest.CoreIntegration | |||
| 37 | Assert.False(result.ExitCode == 0 && warnings.Length == 0); | 37 | Assert.False(result.ExitCode == 0 && warnings.Length == 0); |
| 38 | } | 38 | } |
| 39 | } | 39 | } |
| 40 | |||
| 41 | [Fact] | ||
| 42 | public void PopulatesCustomActionTable() | ||
| 43 | { | ||
| 44 | var folder = TestData.Get(@"TestData"); | ||
| 45 | |||
| 46 | using (var fs = new DisposableFileSystem()) | ||
| 47 | { | ||
| 48 | var baseFolder = fs.GetFolder(); | ||
| 49 | var intermediateFolder = Path.Combine(baseFolder, "obj"); | ||
| 50 | var msiPath = Path.Combine(baseFolder, @"bin\test.msi"); | ||
| 51 | |||
| 52 | var result = WixRunner.Execute(new[] | ||
| 53 | { | ||
| 54 | "build", | ||
| 55 | Path.Combine(folder, "CustomAction", "UnscheduledCustomAction.wxs"), | ||
| 56 | Path.Combine(folder, "ProductWithComponentGroupRef", "MinimalComponentGroup.wxs"), | ||
| 57 | Path.Combine(folder, "ProductWithComponentGroupRef", "Product.wxs"), | ||
| 58 | "-bindpath", Path.Combine(folder, "SingleFile", "data"), | ||
| 59 | "-intermediateFolder", intermediateFolder, | ||
| 60 | "-o", msiPath | ||
| 61 | }); | ||
| 62 | |||
| 63 | result.AssertSuccess(); | ||
| 64 | |||
| 65 | Assert.True(File.Exists(msiPath)); | ||
| 66 | var results = Query.QueryDatabase(msiPath, new[] { | ||
| 67 | "ActionText", | ||
| 68 | "AdminExecuteSequence", | ||
| 69 | "AdminUISequence", | ||
| 70 | "AdvtExecuteSequence", | ||
| 71 | "Binary", | ||
| 72 | "CustomAction", | ||
| 73 | "InstallExecuteSequence", | ||
| 74 | "InstallUISequence", | ||
| 75 | "Property", | ||
| 76 | }).Where(x => !x.StartsWith("Property:") || x.StartsWith("Property:MsiHiddenProperties\t")).ToArray(); | ||
| 77 | Assert.Equal(new[] | ||
| 78 | { | ||
| 79 | "ActionText:CustomAction2\tProgess2Text\t", | ||
| 80 | "AdminExecuteSequence:CostFinalize\t\t1000", | ||
| 81 | "AdminExecuteSequence:CostInitialize\t\t800", | ||
| 82 | "AdminExecuteSequence:CustomAction2\t\t801", | ||
| 83 | "AdminExecuteSequence:FileCost\t\t900", | ||
| 84 | "AdminExecuteSequence:InstallAdminPackage\t\t3900", | ||
| 85 | "AdminExecuteSequence:InstallFiles\t\t4000", | ||
| 86 | "AdminExecuteSequence:InstallFinalize\t\t6600", | ||
| 87 | "AdminExecuteSequence:InstallInitialize\t\t1500", | ||
| 88 | "AdminExecuteSequence:InstallValidate\t\t1400", | ||
| 89 | "AdminUISequence:CostFinalize\t\t1000", | ||
| 90 | "AdminUISequence:CostInitialize\t\t800", | ||
| 91 | "AdminUISequence:CustomAction2\t\t801", | ||
| 92 | "AdminUISequence:ExecuteAction\t\t1300", | ||
| 93 | "AdminUISequence:FileCost\t\t900", | ||
| 94 | "AdvtExecuteSequence:CostFinalize\t\t1000", | ||
| 95 | "AdvtExecuteSequence:CostInitialize\t\t800", | ||
| 96 | "AdvtExecuteSequence:CustomAction2\t\t801", | ||
| 97 | "AdvtExecuteSequence:InstallFinalize\t\t6600", | ||
| 98 | "AdvtExecuteSequence:InstallInitialize\t\t1500", | ||
| 99 | "AdvtExecuteSequence:InstallValidate\t\t1400", | ||
| 100 | "AdvtExecuteSequence:PublishFeatures\t\t6300", | ||
| 101 | "AdvtExecuteSequence:PublishProduct\t\t6400", | ||
| 102 | "Binary:Binary1\t[Binary data]", | ||
| 103 | "CustomAction:CustomAction1\t1\tBinary1\tInvalidEntryPoint\t", | ||
| 104 | "CustomAction:CustomAction2\t51\tTestAdvtExecuteSequenceProperty\t1\t", | ||
| 105 | "CustomAction:CustomActionWithHiddenTarget\t9217\tBinary1\tInvalidEntryPoint\t", | ||
| 106 | "CustomAction:DiscardOptimismAllBeingsWhoProceed\t19\t\tAbandon hope all ye who enter here.\t", | ||
| 107 | "InstallExecuteSequence:CostFinalize\t\t1000", | ||
| 108 | "InstallExecuteSequence:CostInitialize\t\t800", | ||
| 109 | "InstallExecuteSequence:CustomAction2\t\t801", | ||
| 110 | "InstallExecuteSequence:FileCost\t\t900", | ||
| 111 | "InstallExecuteSequence:FindRelatedProducts\t\t25", | ||
| 112 | "InstallExecuteSequence:InstallFiles\t\t4000", | ||
| 113 | "InstallExecuteSequence:InstallFinalize\t\t6600", | ||
| 114 | "InstallExecuteSequence:InstallInitialize\t\t1500", | ||
| 115 | "InstallExecuteSequence:InstallValidate\t\t1400", | ||
| 116 | "InstallExecuteSequence:LaunchConditions\t\t100", | ||
| 117 | "InstallExecuteSequence:MigrateFeatureStates\t\t1200", | ||
| 118 | "InstallExecuteSequence:ProcessComponents\t\t1600", | ||
| 119 | "InstallExecuteSequence:PublishFeatures\t\t6300", | ||
| 120 | "InstallExecuteSequence:PublishProduct\t\t6400", | ||
| 121 | "InstallExecuteSequence:RegisterProduct\t\t6100", | ||
| 122 | "InstallExecuteSequence:RegisterUser\t\t6000", | ||
| 123 | "InstallExecuteSequence:RemoveExistingProducts\t\t1401", | ||
| 124 | "InstallExecuteSequence:RemoveFiles\t\t3500", | ||
| 125 | "InstallExecuteSequence:UnpublishFeatures\t\t1800", | ||
| 126 | "InstallExecuteSequence:ValidateProductID\t\t700", | ||
| 127 | "InstallUISequence:CostFinalize\t\t1000", | ||
| 128 | "InstallUISequence:CostInitialize\t\t800", | ||
| 129 | "InstallUISequence:CustomAction2\t\t801", | ||
| 130 | "InstallUISequence:ExecuteAction\t\t1300", | ||
| 131 | "InstallUISequence:FileCost\t\t900", | ||
| 132 | "InstallUISequence:FindRelatedProducts\t\t25", | ||
| 133 | "InstallUISequence:LaunchConditions\t\t100", | ||
| 134 | "InstallUISequence:MigrateFeatureStates\t\t1200", | ||
| 135 | "InstallUISequence:ValidateProductID\t\t700", | ||
| 136 | "Property:MsiHiddenProperties\tCustomActionWithHiddenTarget", | ||
| 137 | }, results); | ||
| 138 | } | ||
| 139 | } | ||
| 40 | } | 140 | } |
| 41 | } | 141 | } |
