From 71c52d5af2293d3eb79882ce36b0411f81185c11 Mon Sep 17 00:00:00 2001 From: Rob Mensching Date: Wed, 29 Nov 2017 22:03:26 -0800 Subject: Fix source path and cabinet processing --- .../ProgramFixture.cs | 47 +++++++++++++++++++++ .../TestData/InstanceTransform/Package.en-us.wxl | 11 +++++ .../TestData/InstanceTransform/Package.wxs | 27 ++++++++++++ .../InstanceTransform/PackageComponents.wxs | 10 +++++ .../TestData/InstanceTransform/data/test.txt | 1 + .../TestData/SimpleModule/Module.en-us.wxl | 10 +++++ .../TestData/SimpleModule/Module.wixproj | 48 ++++++++++++++++++++++ .../TestData/SimpleModule/Module.wxs | 16 ++++++++ .../TestData/SimpleModule/data/test.txt | 1 + .../WixToolsetTest.CoreIntegrationFixture.csproj | 11 +++-- 10 files changed, 178 insertions(+), 4 deletions(-) create mode 100644 src/test/WixToolsetTest.CoreIntegrationFixture/TestData/InstanceTransform/Package.en-us.wxl create mode 100644 src/test/WixToolsetTest.CoreIntegrationFixture/TestData/InstanceTransform/Package.wxs create mode 100644 src/test/WixToolsetTest.CoreIntegrationFixture/TestData/InstanceTransform/PackageComponents.wxs create mode 100644 src/test/WixToolsetTest.CoreIntegrationFixture/TestData/InstanceTransform/data/test.txt create mode 100644 src/test/WixToolsetTest.CoreIntegrationFixture/TestData/SimpleModule/Module.en-us.wxl create mode 100644 src/test/WixToolsetTest.CoreIntegrationFixture/TestData/SimpleModule/Module.wixproj create mode 100644 src/test/WixToolsetTest.CoreIntegrationFixture/TestData/SimpleModule/Module.wxs create mode 100644 src/test/WixToolsetTest.CoreIntegrationFixture/TestData/SimpleModule/data/test.txt (limited to 'src/test/WixToolsetTest.CoreIntegrationFixture') diff --git a/src/test/WixToolsetTest.CoreIntegrationFixture/ProgramFixture.cs b/src/test/WixToolsetTest.CoreIntegrationFixture/ProgramFixture.cs index 4b4daeda..da9f3a38 100644 --- a/src/test/WixToolsetTest.CoreIntegrationFixture/ProgramFixture.cs +++ b/src/test/WixToolsetTest.CoreIntegrationFixture/ProgramFixture.cs @@ -39,5 +39,52 @@ namespace WixToolsetTest.CoreIntegrationFixture Assert.Equal(@"test.txt", wixFile[WixFileTupleFields.Source].PreviousValue.AsPath().Path); } } + + [Fact] + public void CanBuildSimpleModule() + { + var folder = TestData.Get(@"TestData\SimpleModule"); + + using (var fs = new DisposableFileSystem()) + using (var pushd = new Pushd(folder)) + { + var intermediateFolder = fs.GetFolder(); + + var program = new Program(); + var result = program.Run(new WixToolsetServiceProvider(), new[] { "build", "Module.wxs", "-loc", "Module.en-us.wxl", "-bindpath", "data", "-intermediateFolder", intermediateFolder, "-o", $@"{intermediateFolder}\bin\test.msm" }); + + Assert.Equal(0, result); + + Assert.True(File.Exists(Path.Combine(intermediateFolder, @"bin\test.msm"))); + Assert.True(File.Exists(Path.Combine(intermediateFolder, @"bin\test.wixpdb"))); + + var intermediate = Intermediate.Load(Path.Combine(intermediateFolder, @"bin\test.wir")); + Assert.Single(intermediate.Sections); + + var wixFile = intermediate.Sections.SelectMany(s => s.Tuples).OfType().Single(); + Assert.Equal(@"data\test.txt", wixFile[WixFileTupleFields.Source].AsPath().Path); + Assert.Equal(@"test.txt", wixFile[WixFileTupleFields.Source].PreviousValue.AsPath().Path); + } + } + + [Fact(Skip = "Not implemented yet.")] + public void CanBuildInstanceTransform() + { + var folder = TestData.Get(@"TestData\InstanceTransform"); + + using (var fs = new DisposableFileSystem()) + using (var pushd = new Pushd(folder)) + { + var intermediateFolder = fs.GetFolder(); + + var program = new Program(); + var result = program.Run(new WixToolsetServiceProvider(), new[] { "build", "Package.wxs", "PackageComponents.wxs", "-loc", "Package.en-us.wxl", "-bindpath", "data", "-intermediateFolder", intermediateFolder, "-o", $@"{intermediateFolder}\bin\test.msi" }); + + Assert.Equal(0, result); + + var pdb = Pdb.Load(Path.Combine(intermediateFolder, @"bin\test.wixpdb"), false); + Assert.NotEmpty(pdb.Output.SubStorages); + } + } } } diff --git a/src/test/WixToolsetTest.CoreIntegrationFixture/TestData/InstanceTransform/Package.en-us.wxl b/src/test/WixToolsetTest.CoreIntegrationFixture/TestData/InstanceTransform/Package.en-us.wxl new file mode 100644 index 00000000..38c12ac1 --- /dev/null +++ b/src/test/WixToolsetTest.CoreIntegrationFixture/TestData/InstanceTransform/Package.en-us.wxl @@ -0,0 +1,11 @@ + + + + + + A newer version of [ProductName] is already installed. + MsiPackage + + diff --git a/src/test/WixToolsetTest.CoreIntegrationFixture/TestData/InstanceTransform/Package.wxs b/src/test/WixToolsetTest.CoreIntegrationFixture/TestData/InstanceTransform/Package.wxs new file mode 100644 index 00000000..9c529668 --- /dev/null +++ b/src/test/WixToolsetTest.CoreIntegrationFixture/TestData/InstanceTransform/Package.wxs @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/test/WixToolsetTest.CoreIntegrationFixture/TestData/InstanceTransform/PackageComponents.wxs b/src/test/WixToolsetTest.CoreIntegrationFixture/TestData/InstanceTransform/PackageComponents.wxs new file mode 100644 index 00000000..e26c4509 --- /dev/null +++ b/src/test/WixToolsetTest.CoreIntegrationFixture/TestData/InstanceTransform/PackageComponents.wxs @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/src/test/WixToolsetTest.CoreIntegrationFixture/TestData/InstanceTransform/data/test.txt b/src/test/WixToolsetTest.CoreIntegrationFixture/TestData/InstanceTransform/data/test.txt new file mode 100644 index 00000000..cd0db0e1 --- /dev/null +++ b/src/test/WixToolsetTest.CoreIntegrationFixture/TestData/InstanceTransform/data/test.txt @@ -0,0 +1 @@ +This is test.txt. \ No newline at end of file diff --git a/src/test/WixToolsetTest.CoreIntegrationFixture/TestData/SimpleModule/Module.en-us.wxl b/src/test/WixToolsetTest.CoreIntegrationFixture/TestData/SimpleModule/Module.en-us.wxl new file mode 100644 index 00000000..c74e86a7 --- /dev/null +++ b/src/test/WixToolsetTest.CoreIntegrationFixture/TestData/SimpleModule/Module.en-us.wxl @@ -0,0 +1,10 @@ + + + + + + Example Company + + diff --git a/src/test/WixToolsetTest.CoreIntegrationFixture/TestData/SimpleModule/Module.wixproj b/src/test/WixToolsetTest.CoreIntegrationFixture/TestData/SimpleModule/Module.wixproj new file mode 100644 index 00000000..597d4318 --- /dev/null +++ b/src/test/WixToolsetTest.CoreIntegrationFixture/TestData/SimpleModule/Module.wixproj @@ -0,0 +1,48 @@ + + + + Debug + x86 + 0.9 + 27df04c6-3cef-4b9a-bac6-4e78d188384f + MergeModule1 + Module + MergeModule1 + MergeModule1 + + + $(Platform) + bin\$(Platform)\$(Configuration)\ + Debug + + + $(Platform) + bin\$(Platform)\$(Configuration)\ + + + $(Platform) + bin\$(Platform)\$(Configuration)\ + Debug + + + $(Platform) + bin\$(Platform)\$(Configuration)\ + + + + + + + + + + FgwepExtension.wixext + $(WixExtDir)\FgwepExtension.wixext.dll + + + + + + + + \ No newline at end of file diff --git a/src/test/WixToolsetTest.CoreIntegrationFixture/TestData/SimpleModule/Module.wxs b/src/test/WixToolsetTest.CoreIntegrationFixture/TestData/SimpleModule/Module.wxs new file mode 100644 index 00000000..260339ba --- /dev/null +++ b/src/test/WixToolsetTest.CoreIntegrationFixture/TestData/SimpleModule/Module.wxs @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/src/test/WixToolsetTest.CoreIntegrationFixture/TestData/SimpleModule/data/test.txt b/src/test/WixToolsetTest.CoreIntegrationFixture/TestData/SimpleModule/data/test.txt new file mode 100644 index 00000000..cd0db0e1 --- /dev/null +++ b/src/test/WixToolsetTest.CoreIntegrationFixture/TestData/SimpleModule/data/test.txt @@ -0,0 +1 @@ +This is test.txt. \ No newline at end of file diff --git a/src/test/WixToolsetTest.CoreIntegrationFixture/WixToolsetTest.CoreIntegrationFixture.csproj b/src/test/WixToolsetTest.CoreIntegrationFixture/WixToolsetTest.CoreIntegrationFixture.csproj index bce6e6b2..f9042cda 100644 --- a/src/test/WixToolsetTest.CoreIntegrationFixture/WixToolsetTest.CoreIntegrationFixture.csproj +++ b/src/test/WixToolsetTest.CoreIntegrationFixture/WixToolsetTest.CoreIntegrationFixture.csproj @@ -7,11 +7,14 @@ false - - NU1701 - - + + + + + + + -- cgit v1.2.3-55-g6feb