aboutsummaryrefslogtreecommitdiff
path: root/src/test
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
parentfea4fe44cdc1734c2453de35133899ed46d95634 (diff)
downloadwix-19a9744adcf70d75d4a7e9c4e426f6e379d3b7b3.tar.gz
wix-19a9744adcf70d75d4a7e9c4e426f6e379d3b7b3.tar.bz2
wix-19a9744adcf70d75d4a7e9c4e426f6e379d3b7b3.zip
Consolidate Custom Action tests in CustomActionFixture
Diffstat (limited to 'src/test')
-rw-r--r--src/test/WixToolsetTest.CoreIntegration/CustomActionFixture.cs102
-rw-r--r--src/test/WixToolsetTest.CoreIntegration/MsiQueryFixture.cs98
2 files changed, 101 insertions, 99 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}
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
338 } 338 }
339 } 339 }
340 340
341 [Fact]
342 public void PopulatesCustomActionTable()
343 {
344 var folder = TestData.Get(@"TestData");
345
346 using (var fs = new DisposableFileSystem())
347 {
348 var baseFolder = fs.GetFolder();
349 var intermediateFolder = Path.Combine(baseFolder, "obj");
350 var msiPath = Path.Combine(baseFolder, @"bin\test.msi");
351 341
352 var result = WixRunner.Execute(new[]
353 {
354 "build",
355 Path.Combine(folder, "CustomAction", "UnscheduledCustomAction.wxs"),
356 Path.Combine(folder, "ProductWithComponentGroupRef", "MinimalComponentGroup.wxs"),
357 Path.Combine(folder, "ProductWithComponentGroupRef", "Product.wxs"),
358 "-bindpath", Path.Combine(folder, "SingleFile", "data"),
359 "-intermediateFolder", intermediateFolder,
360 "-o", msiPath
361 });
362
363 result.AssertSuccess();
364
365 Assert.True(File.Exists(msiPath));
366 var results = Query.QueryDatabase(msiPath, new[] {
367 "ActionText",
368 "AdminExecuteSequence",
369 "AdminUISequence",
370 "AdvtExecuteSequence",
371 "Binary",
372 "CustomAction",
373 "InstallExecuteSequence",
374 "InstallUISequence",
375 "Property",
376 }).Where(x => !x.StartsWith("Property:") || x.StartsWith("Property:MsiHiddenProperties\t")).ToArray();
377 Assert.Equal(new[]
378 {
379 "ActionText:CustomAction2\tProgess2Text\t",
380 "AdminExecuteSequence:CostFinalize\t\t1000",
381 "AdminExecuteSequence:CostInitialize\t\t800",
382 "AdminExecuteSequence:CustomAction2\t\t801",
383 "AdminExecuteSequence:FileCost\t\t900",
384 "AdminExecuteSequence:InstallAdminPackage\t\t3900",
385 "AdminExecuteSequence:InstallFiles\t\t4000",
386 "AdminExecuteSequence:InstallFinalize\t\t6600",
387 "AdminExecuteSequence:InstallInitialize\t\t1500",
388 "AdminExecuteSequence:InstallValidate\t\t1400",
389 "AdminUISequence:CostFinalize\t\t1000",
390 "AdminUISequence:CostInitialize\t\t800",
391 "AdminUISequence:CustomAction2\t\t801",
392 "AdminUISequence:ExecuteAction\t\t1300",
393 "AdminUISequence:FileCost\t\t900",
394 "AdvtExecuteSequence:CostFinalize\t\t1000",
395 "AdvtExecuteSequence:CostInitialize\t\t800",
396 "AdvtExecuteSequence:CustomAction2\t\t801",
397 "AdvtExecuteSequence:InstallFinalize\t\t6600",
398 "AdvtExecuteSequence:InstallInitialize\t\t1500",
399 "AdvtExecuteSequence:InstallValidate\t\t1400",
400 "AdvtExecuteSequence:PublishFeatures\t\t6300",
401 "AdvtExecuteSequence:PublishProduct\t\t6400",
402 "Binary:Binary1\t[Binary data]",
403 "CustomAction:CustomAction1\t1\tBinary1\tInvalidEntryPoint\t",
404 "CustomAction:CustomAction2\t51\tTestAdvtExecuteSequenceProperty\t1\t",
405 "CustomAction:CustomActionWithHiddenTarget\t9217\tBinary1\tInvalidEntryPoint\t",
406 "CustomAction:DiscardOptimismAllBeingsWhoProceed\t19\t\tAbandon hope all ye who enter here.\t",
407 "InstallExecuteSequence:CostFinalize\t\t1000",
408 "InstallExecuteSequence:CostInitialize\t\t800",
409 "InstallExecuteSequence:CustomAction2\t\t801",
410 "InstallExecuteSequence:FileCost\t\t900",
411 "InstallExecuteSequence:FindRelatedProducts\t\t25",
412 "InstallExecuteSequence:InstallFiles\t\t4000",
413 "InstallExecuteSequence:InstallFinalize\t\t6600",
414 "InstallExecuteSequence:InstallInitialize\t\t1500",
415 "InstallExecuteSequence:InstallValidate\t\t1400",
416 "InstallExecuteSequence:LaunchConditions\t\t100",
417 "InstallExecuteSequence:MigrateFeatureStates\t\t1200",
418 "InstallExecuteSequence:ProcessComponents\t\t1600",
419 "InstallExecuteSequence:PublishFeatures\t\t6300",
420 "InstallExecuteSequence:PublishProduct\t\t6400",
421 "InstallExecuteSequence:RegisterProduct\t\t6100",
422 "InstallExecuteSequence:RegisterUser\t\t6000",
423 "InstallExecuteSequence:RemoveExistingProducts\t\t1401",
424 "InstallExecuteSequence:RemoveFiles\t\t3500",
425 "InstallExecuteSequence:UnpublishFeatures\t\t1800",
426 "InstallExecuteSequence:ValidateProductID\t\t700",
427 "InstallUISequence:CostFinalize\t\t1000",
428 "InstallUISequence:CostInitialize\t\t800",
429 "InstallUISequence:CustomAction2\t\t801",
430 "InstallUISequence:ExecuteAction\t\t1300",
431 "InstallUISequence:FileCost\t\t900",
432 "InstallUISequence:FindRelatedProducts\t\t25",
433 "InstallUISequence:LaunchConditions\t\t100",
434 "InstallUISequence:MigrateFeatureStates\t\t1200",
435 "InstallUISequence:ValidateProductID\t\t700",
436 "Property:MsiHiddenProperties\tCustomActionWithHiddenTarget",
437 }, results);
438 }
439 }
440 342
441 [Fact] 343 [Fact]
442 public void PopulatesDirectoryTableWithValidDefaultDir() 344 public void PopulatesDirectoryTableWithValidDefaultDir()