aboutsummaryrefslogtreecommitdiff
path: root/src/test/WixToolsetTest.CoreIntegration/CustomActionFixture.cs
diff options
context:
space:
mode:
authorRob Mensching <rob@firegiant.com>2020-07-01 10:21:53 -0700
committerRob Mensching <rob@firegiant.com>2020-07-01 11:21:56 -0700
commit19a9744adcf70d75d4a7e9c4e426f6e379d3b7b3 (patch)
tree512df0ee9cbfa8c881cb3b083ae750e7de93ff6f /src/test/WixToolsetTest.CoreIntegration/CustomActionFixture.cs
parentfea4fe44cdc1734c2453de35133899ed46d95634 (diff)
downloadwix-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.cs102
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}