diff options
Diffstat (limited to 'src/ext/NetFx/test/WixToolsetTest.Netfx/NetfxExtensionFixture.cs')
-rw-r--r-- | src/ext/NetFx/test/WixToolsetTest.Netfx/NetfxExtensionFixture.cs | 147 |
1 files changed, 147 insertions, 0 deletions
diff --git a/src/ext/NetFx/test/WixToolsetTest.Netfx/NetfxExtensionFixture.cs b/src/ext/NetFx/test/WixToolsetTest.Netfx/NetfxExtensionFixture.cs new file mode 100644 index 00000000..72d4a682 --- /dev/null +++ b/src/ext/NetFx/test/WixToolsetTest.Netfx/NetfxExtensionFixture.cs | |||
@@ -0,0 +1,147 @@ | |||
1 | // 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. | ||
2 | |||
3 | namespace WixToolsetTest.Netfx | ||
4 | { | ||
5 | using System.IO; | ||
6 | using System.Linq; | ||
7 | using WixBuildTools.TestSupport; | ||
8 | using WixToolset.Core.TestPackage; | ||
9 | using WixToolset.Netfx; | ||
10 | using Xunit; | ||
11 | |||
12 | public class NetfxExtensionFixture | ||
13 | { | ||
14 | [Fact] | ||
15 | public void CanBuildUsingLatestDotNetCorePackages() | ||
16 | { | ||
17 | using (var fs = new DisposableFileSystem()) | ||
18 | { | ||
19 | var baseFolder = fs.GetFolder(); | ||
20 | var bundleFile = Path.Combine(baseFolder, "bin", "test.exe"); | ||
21 | var bundleSourceFolder = TestData.Get(@"TestData\UsingDotNetCorePackages"); | ||
22 | var intermediateFolder = Path.Combine(baseFolder, "obj"); | ||
23 | |||
24 | var compileResult = WixRunner.Execute(new[] | ||
25 | { | ||
26 | "build", | ||
27 | Path.Combine(bundleSourceFolder, "BundleLatest.wxs"), | ||
28 | "-ext", TestData.Get(@"WixToolset.Bal.wixext.dll"), | ||
29 | "-ext", TestData.Get(@"WixToolset.Netfx.wixext.dll"), | ||
30 | "-intermediateFolder", intermediateFolder, | ||
31 | "-o", bundleFile, | ||
32 | }); | ||
33 | compileResult.AssertSuccess(); | ||
34 | |||
35 | Assert.True(File.Exists(bundleFile)); | ||
36 | } | ||
37 | } | ||
38 | |||
39 | [Fact] | ||
40 | public void CanBuildUsingLatestDotNetCorePackages_X64() | ||
41 | { | ||
42 | using (var fs = new DisposableFileSystem()) | ||
43 | { | ||
44 | var baseFolder = fs.GetFolder(); | ||
45 | var bundleFile = Path.Combine(baseFolder, "bin", "test.exe"); | ||
46 | var bundleSourceFolder = TestData.Get(@"TestData\UsingDotNetCorePackages"); | ||
47 | var intermediateFolder = Path.Combine(baseFolder, "obj"); | ||
48 | |||
49 | var compileResult = WixRunner.Execute(new[] | ||
50 | { | ||
51 | "build", | ||
52 | Path.Combine(bundleSourceFolder, "BundleLatest_x64.wxs"), | ||
53 | "-ext", TestData.Get(@"WixToolset.Bal.wixext.dll"), | ||
54 | "-ext", TestData.Get(@"WixToolset.Netfx.wixext.dll"), | ||
55 | "-intermediateFolder", intermediateFolder, | ||
56 | "-o", bundleFile, | ||
57 | }); | ||
58 | compileResult.AssertSuccess(); | ||
59 | |||
60 | Assert.True(File.Exists(bundleFile)); | ||
61 | } | ||
62 | } | ||
63 | |||
64 | [Fact] | ||
65 | public void CanBuildUsingNativeImage() | ||
66 | { | ||
67 | var folder = TestData.Get(@"TestData\UsingNativeImage"); | ||
68 | var build = new Builder(folder, typeof(NetfxExtensionFactory), new[] { folder }); | ||
69 | |||
70 | var results = build.BuildAndQuery(Build, "Binary", "CustomAction", "Wix4NetFxNativeImage"); | ||
71 | Assert.Equal(new[] | ||
72 | { | ||
73 | "Binary:Wix4NetFxCA_X86\t[Binary data]", | ||
74 | "CustomAction:Wix4NetFxExecuteNativeImageCommitInstall_X86\t3649\tWix4NetFxCA_X86\tExecNetFx\t", | ||
75 | "CustomAction:Wix4NetFxExecuteNativeImageCommitUninstall_X86\t3649\tWix4NetFxCA_X86\tExecNetFx\t", | ||
76 | "CustomAction:Wix4NetFxExecuteNativeImageInstall_X86\t3137\tWix4NetFxCA_X86\tExecNetFx\t", | ||
77 | "CustomAction:Wix4NetFxExecuteNativeImageUninstall_X86\t3137\tWix4NetFxCA_X86\tExecNetFx\t", | ||
78 | "CustomAction:Wix4NetFxScheduleNativeImage_X86\t1\tWix4NetFxCA_X86\tSchedNetFx\t", | ||
79 | "Wix4NetFxNativeImage:ExampleNgen\tfil6349_KNDJhqShNzVdHX3ihhvA6Y\t3\t8\t\t", | ||
80 | }, results.OrderBy(s => s).ToArray()); | ||
81 | } | ||
82 | |||
83 | [Fact] | ||
84 | public void CanBuildUsingNativeImageX64() | ||
85 | { | ||
86 | var folder = TestData.Get(@"TestData\UsingNativeImage"); | ||
87 | var build = new Builder(folder, typeof(NetfxExtensionFactory), new[] { folder }); | ||
88 | |||
89 | var results = build.BuildAndQuery(BuildX64, "Binary", "CustomAction", "Wix4NetFxNativeImage"); | ||
90 | Assert.Equal(new[] | ||
91 | { | ||
92 | "Binary:Wix4NetFxCA_X64\t[Binary data]", | ||
93 | "CustomAction:Wix4NetFxExecuteNativeImageCommitInstall_X64\t3649\tWix4NetFxCA_X64\tExecNetFx\t", | ||
94 | "CustomAction:Wix4NetFxExecuteNativeImageCommitUninstall_X64\t3649\tWix4NetFxCA_X64\tExecNetFx\t", | ||
95 | "CustomAction:Wix4NetFxExecuteNativeImageInstall_X64\t3137\tWix4NetFxCA_X64\tExecNetFx\t", | ||
96 | "CustomAction:Wix4NetFxExecuteNativeImageUninstall_X64\t3137\tWix4NetFxCA_X64\tExecNetFx\t", | ||
97 | "CustomAction:Wix4NetFxScheduleNativeImage_X64\t1\tWix4NetFxCA_X64\tSchedNetFx\t", | ||
98 | "Wix4NetFxNativeImage:ExampleNgen\tfil6349_KNDJhqShNzVdHX3ihhvA6Y\t3\t8\t\t", | ||
99 | }, results.OrderBy(s => s).ToArray()); | ||
100 | } | ||
101 | |||
102 | [Fact] | ||
103 | public void CanBuildUsingNativeImageARM64() | ||
104 | { | ||
105 | var folder = TestData.Get(@"TestData\UsingNativeImage"); | ||
106 | var build = new Builder(folder, typeof(NetfxExtensionFactory), new[] { folder }); | ||
107 | |||
108 | var results = build.BuildAndQuery(BuildARM64, "Binary", "CustomAction", "Wix4NetFxNativeImage"); | ||
109 | Assert.Equal(new[] | ||
110 | { | ||
111 | "Binary:Wix4NetFxCA_A64\t[Binary data]", | ||
112 | "CustomAction:Wix4NetFxExecuteNativeImageCommitInstall_A64\t3649\tWix4NetFxCA_A64\tExecNetFx\t", | ||
113 | "CustomAction:Wix4NetFxExecuteNativeImageCommitUninstall_A64\t3649\tWix4NetFxCA_A64\tExecNetFx\t", | ||
114 | "CustomAction:Wix4NetFxExecuteNativeImageInstall_A64\t3137\tWix4NetFxCA_A64\tExecNetFx\t", | ||
115 | "CustomAction:Wix4NetFxExecuteNativeImageUninstall_A64\t3137\tWix4NetFxCA_A64\tExecNetFx\t", | ||
116 | "CustomAction:Wix4NetFxScheduleNativeImage_A64\t1\tWix4NetFxCA_A64\tSchedNetFx\t", | ||
117 | "Wix4NetFxNativeImage:ExampleNgen\tfil6349_KNDJhqShNzVdHX3ihhvA6Y\t3\t8\t\t", | ||
118 | }, results.OrderBy(s => s).ToArray()); | ||
119 | } | ||
120 | |||
121 | private static void Build(string[] args) | ||
122 | { | ||
123 | var result = WixRunner.Execute(args); | ||
124 | result.AssertSuccess(); | ||
125 | } | ||
126 | |||
127 | private static void BuildX64(string[] args) | ||
128 | { | ||
129 | var newArgs = args.ToList(); | ||
130 | newArgs.Add("-platform"); | ||
131 | newArgs.Add("x64"); | ||
132 | |||
133 | var result = WixRunner.Execute(newArgs.ToArray()); | ||
134 | result.AssertSuccess(); | ||
135 | } | ||
136 | |||
137 | private static void BuildARM64(string[] args) | ||
138 | { | ||
139 | var newArgs = args.ToList(); | ||
140 | newArgs.Add("-platform"); | ||
141 | newArgs.Add("arm64"); | ||
142 | |||
143 | var result = WixRunner.Execute(newArgs.ToArray()); | ||
144 | result.AssertSuccess(); | ||
145 | } | ||
146 | } | ||
147 | } | ||