aboutsummaryrefslogtreecommitdiff
path: root/src/ext/NetFx/test
diff options
context:
space:
mode:
Diffstat (limited to 'src/ext/NetFx/test')
-rw-r--r--src/ext/NetFx/test/WixToolsetTest.Netfx/NetfxExtensionFixture.cs147
-rw-r--r--src/ext/NetFx/test/WixToolsetTest.Netfx/TestData/UsingDotNetCorePackages/BundleLatest.wxs12
-rw-r--r--src/ext/NetFx/test/WixToolsetTest.Netfx/TestData/UsingDotNetCorePackages/BundleLatest_x64.wxs12
-rw-r--r--src/ext/NetFx/test/WixToolsetTest.Netfx/TestData/UsingNativeImage/Package.en-us.wxl9
-rw-r--r--src/ext/NetFx/test/WixToolsetTest.Netfx/TestData/UsingNativeImage/Package.wxs15
-rw-r--r--src/ext/NetFx/test/WixToolsetTest.Netfx/TestData/UsingNativeImage/PackageComponents.wxs11
-rw-r--r--src/ext/NetFx/test/WixToolsetTest.Netfx/TestData/UsingNativeImage/example.txt1
-rw-r--r--src/ext/NetFx/test/WixToolsetTest.Netfx/WixToolsetTest.Netfx.csproj40
-rw-r--r--src/ext/NetFx/test/WixToolsetTest.Netfx/WixToolsetTest.Netfx.v3.ncrunchproject5
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
3namespace 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<!--
2This 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