diff options
author | Rob Mensching <rob@firegiant.com> | 2021-05-03 16:05:08 -0700 |
---|---|---|
committer | Rob Mensching <rob@firegiant.com> | 2021-05-03 16:05:08 -0700 |
commit | 7bdd5e9159b298e0411afa689a06c44e36e293cd (patch) | |
tree | 57d24ea7fdd8025baf6a822a99b588c9df74a60d /src/ext/NetFx/test | |
parent | ca02e81316d700a3647414f355eab4d2115d6163 (diff) | |
download | wix-7bdd5e9159b298e0411afa689a06c44e36e293cd.tar.gz wix-7bdd5e9159b298e0411afa689a06c44e36e293cd.tar.bz2 wix-7bdd5e9159b298e0411afa689a06c44e36e293cd.zip |
Move NetFx.wixext into ext
Diffstat (limited to 'src/ext/NetFx/test')
9 files changed, 252 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 | } | ||
diff --git a/src/ext/NetFx/test/WixToolsetTest.Netfx/TestData/UsingDotNetCorePackages/BundleLatest.wxs b/src/ext/NetFx/test/WixToolsetTest.Netfx/TestData/UsingDotNetCorePackages/BundleLatest.wxs new file mode 100644 index 00000000..8e3d2c30 --- /dev/null +++ b/src/ext/NetFx/test/WixToolsetTest.Netfx/TestData/UsingDotNetCorePackages/BundleLatest.wxs | |||
@@ -0,0 +1,12 @@ | |||
1 | <Wix xmlns="http://wixtoolset.org/schemas/v4/wxs" xmlns:bal="http://wixtoolset.org/schemas/v4/wxs/bal"> | ||
2 | <Bundle Name="WixStdBa" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="75D5D534-E177-4689-AAE9-CAC1C39002C2"> | ||
3 | <BootstrapperApplication> | ||
4 | <bal:WixStandardBootstrapperApplication LicenseUrl="http://wixtoolset.org/about/license/" Theme="hyperlinkLicense" /> | ||
5 | </BootstrapperApplication> | ||
6 | <Chain> | ||
7 | <PackageGroupRef Id="AspNetCoreRuntime31Redist_x86" /> | ||
8 | <PackageGroupRef Id="DesktopNetCoreRuntime31Redist_x86" /> | ||
9 | <PackageGroupRef Id="DotNetCoreRuntime31Redist_x86" /> | ||
10 | </Chain> | ||
11 | </Bundle> | ||
12 | </Wix> | ||
diff --git a/src/ext/NetFx/test/WixToolsetTest.Netfx/TestData/UsingDotNetCorePackages/BundleLatest_x64.wxs b/src/ext/NetFx/test/WixToolsetTest.Netfx/TestData/UsingDotNetCorePackages/BundleLatest_x64.wxs new file mode 100644 index 00000000..fc42ac99 --- /dev/null +++ b/src/ext/NetFx/test/WixToolsetTest.Netfx/TestData/UsingDotNetCorePackages/BundleLatest_x64.wxs | |||
@@ -0,0 +1,12 @@ | |||
1 | <Wix xmlns="http://wixtoolset.org/schemas/v4/wxs" xmlns:bal="http://wixtoolset.org/schemas/v4/wxs/bal"> | ||
2 | <Bundle Name="WixStdBa" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="75D5D534-E177-4689-AAE9-CAC1C39002C2"> | ||
3 | <BootstrapperApplication> | ||
4 | <bal:WixStandardBootstrapperApplication LicenseUrl="http://wixtoolset.org/about/license/" Theme="hyperlinkLicense" /> | ||
5 | </BootstrapperApplication> | ||
6 | <Chain> | ||
7 | <PackageGroupRef Id="AspNetCoreRuntime31Redist_x64" /> | ||
8 | <PackageGroupRef Id="DesktopNetCoreRuntime31Redist_x64" /> | ||
9 | <PackageGroupRef Id="DotNetCoreRuntime31Redist_x64" /> | ||
10 | </Chain> | ||
11 | </Bundle> | ||
12 | </Wix> | ||
diff --git a/src/ext/NetFx/test/WixToolsetTest.Netfx/TestData/UsingNativeImage/Package.en-us.wxl b/src/ext/NetFx/test/WixToolsetTest.Netfx/TestData/UsingNativeImage/Package.en-us.wxl new file mode 100644 index 00000000..5301bb1a --- /dev/null +++ b/src/ext/NetFx/test/WixToolsetTest.Netfx/TestData/UsingNativeImage/Package.en-us.wxl | |||
@@ -0,0 +1,9 @@ | |||
1 | <!-- | ||
2 | This file contains the declaration of all the localizable strings. | ||
3 | --> | ||
4 | <WixLocalization xmlns="http://wixtoolset.org/schemas/v4/wxl" Culture="en-US"> | ||
5 | |||
6 | <String Id="DowngradeError">A newer version of [ProductName] is already installed.</String> | ||
7 | <String Id="FeatureTitle">MsiPackage</String> | ||
8 | |||
9 | </WixLocalization> | ||
diff --git a/src/ext/NetFx/test/WixToolsetTest.Netfx/TestData/UsingNativeImage/Package.wxs b/src/ext/NetFx/test/WixToolsetTest.Netfx/TestData/UsingNativeImage/Package.wxs new file mode 100644 index 00000000..ace73680 --- /dev/null +++ b/src/ext/NetFx/test/WixToolsetTest.Netfx/TestData/UsingNativeImage/Package.wxs | |||
@@ -0,0 +1,15 @@ | |||
1 | <Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"> | ||
2 | <Package Name="MsiPackage" Language="1033" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a"> | ||
3 | <MajorUpgrade DowngradeErrorMessage="!(loc.DowngradeError)" /> | ||
4 | |||
5 | <Feature Id="ProductFeature" Title="!(loc.FeatureTitle)"> | ||
6 | <ComponentGroupRef Id="ProductComponents" /> | ||
7 | </Feature> | ||
8 | </Package> | ||
9 | |||
10 | <Fragment> | ||
11 | <StandardDirectory Id="ProgramFilesFolder"> | ||
12 | <Directory Id="INSTALLFOLDER" Name="MsiPackage" /> | ||
13 | </StandardDirectory> | ||
14 | </Fragment> | ||
15 | </Wix> | ||
diff --git a/src/ext/NetFx/test/WixToolsetTest.Netfx/TestData/UsingNativeImage/PackageComponents.wxs b/src/ext/NetFx/test/WixToolsetTest.Netfx/TestData/UsingNativeImage/PackageComponents.wxs new file mode 100644 index 00000000..a1c806d9 --- /dev/null +++ b/src/ext/NetFx/test/WixToolsetTest.Netfx/TestData/UsingNativeImage/PackageComponents.wxs | |||
@@ -0,0 +1,11 @@ | |||
1 | <Wix xmlns="http://wixtoolset.org/schemas/v4/wxs" xmlns:netfx="http://wixtoolset.org/schemas/v4/wxs/netfx"> | ||
2 | <Fragment> | ||
3 | <ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER"> | ||
4 | <Component> | ||
5 | <File Name="fake.ddl" Source="example.txt"> | ||
6 | <netfx:NativeImage Id="ExampleNgen" /> | ||
7 | </File> | ||
8 | </Component> | ||
9 | </ComponentGroup> | ||
10 | </Fragment> | ||
11 | </Wix> | ||
diff --git a/src/ext/NetFx/test/WixToolsetTest.Netfx/TestData/UsingNativeImage/example.txt b/src/ext/NetFx/test/WixToolsetTest.Netfx/TestData/UsingNativeImage/example.txt new file mode 100644 index 00000000..1b4ffe8a --- /dev/null +++ b/src/ext/NetFx/test/WixToolsetTest.Netfx/TestData/UsingNativeImage/example.txt | |||
@@ -0,0 +1 @@ | |||
This is example.txt. \ No newline at end of file | |||
diff --git a/src/ext/NetFx/test/WixToolsetTest.Netfx/WixToolsetTest.Netfx.csproj b/src/ext/NetFx/test/WixToolsetTest.Netfx/WixToolsetTest.Netfx.csproj new file mode 100644 index 00000000..1c41d176 --- /dev/null +++ b/src/ext/NetFx/test/WixToolsetTest.Netfx/WixToolsetTest.Netfx.csproj | |||
@@ -0,0 +1,40 @@ | |||
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | <!-- 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. --> | ||
3 | |||
4 | <Project Sdk="Microsoft.NET.Sdk"> | ||
5 | <PropertyGroup> | ||
6 | <TargetFramework>netcoreapp3.1</TargetFramework> | ||
7 | <DebugType>embedded</DebugType> | ||
8 | <IsPackable>false</IsPackable> | ||
9 | </PropertyGroup> | ||
10 | |||
11 | <ItemGroup> | ||
12 | <Content Include="TestData\**" CopyToOutputDirectory="PreserveNewest" /> | ||
13 | </ItemGroup> | ||
14 | |||
15 | <ItemGroup> | ||
16 | <ProjectReference Include="..\..\wixext\WixToolset.Netfx.wixext.csproj" /> | ||
17 | </ItemGroup> | ||
18 | |||
19 | <ItemGroup> | ||
20 | <PackageReference Include="WixToolset.Bal.wixext" Version="4.0.*" /> | ||
21 | <PackageReference Include="WixToolset.Core" Version="4.0.*" /> | ||
22 | <PackageReference Include="WixToolset.Core.Burn" Version="4.0.*" /> | ||
23 | <PackageReference Include="WixToolset.Core.WindowsInstaller" Version="4.0.*" /> | ||
24 | <PackageReference Include="WixToolset.Core.TestPackage" Version="4.0.*" /> | ||
25 | </ItemGroup> | ||
26 | |||
27 | <ItemGroup> | ||
28 | <PackageReference Include="WixBuildTools.TestSupport" Version="4.0.*" /> | ||
29 | </ItemGroup> | ||
30 | |||
31 | <ItemGroup> | ||
32 | <PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.3.0" /> | ||
33 | <PackageReference Include="xunit" Version="2.4.1" /> | ||
34 | <PackageReference Include="xunit.runner.visualstudio" Version="2.4.1" PrivateAssets="All" /> | ||
35 | </ItemGroup> | ||
36 | |||
37 | <Target Name="CopyExtensions" AfterTargets="Build"> | ||
38 | <Copy DestinationFolder="$(OutputPath)" SourceFiles="@(WixExtension)" /> | ||
39 | </Target> | ||
40 | </Project> | ||
diff --git a/src/ext/NetFx/test/WixToolsetTest.Netfx/WixToolsetTest.Netfx.v3.ncrunchproject b/src/ext/NetFx/test/WixToolsetTest.Netfx/WixToolsetTest.Netfx.v3.ncrunchproject new file mode 100644 index 00000000..7b5b2139 --- /dev/null +++ b/src/ext/NetFx/test/WixToolsetTest.Netfx/WixToolsetTest.Netfx.v3.ncrunchproject | |||
@@ -0,0 +1,5 @@ | |||
1 | <ProjectConfiguration> | ||
2 | <Settings> | ||
3 | <CopyReferencedAssembliesToWorkspace>True</CopyReferencedAssembliesToWorkspace> | ||
4 | </Settings> | ||
5 | </ProjectConfiguration> \ No newline at end of file | ||