From 2091dd91f20e37e4a1c93aab04386c89d55a37c9 Mon Sep 17 00:00:00 2001 From: Sean Hall Date: Fri, 27 Sep 2019 17:30:18 +1000 Subject: Add failing tests for Upgrade. --- .../MsiQueryFixture.cs | 67 ++++++++++++++++++++++ .../TestData/Upgrade/DetectOnly.wxs | 12 ++++ .../WixToolsetTest.CoreIntegration.csproj | 1 + 3 files changed, 80 insertions(+) create mode 100644 src/test/WixToolsetTest.CoreIntegration/TestData/Upgrade/DetectOnly.wxs diff --git a/src/test/WixToolsetTest.CoreIntegration/MsiQueryFixture.cs b/src/test/WixToolsetTest.CoreIntegration/MsiQueryFixture.cs index 4fb136d5..edaf25cb 100644 --- a/src/test/WixToolsetTest.CoreIntegration/MsiQueryFixture.cs +++ b/src/test/WixToolsetTest.CoreIntegration/MsiQueryFixture.cs @@ -85,5 +85,72 @@ namespace WixToolsetTest.CoreIntegration }, results); } } + + [Fact(Skip = "Test demonstrates failure")] + public void PopulatesUpgradeTableFromManualUpgrade() + { + var folder = TestData.Get(@"TestData\ManualUpgrade"); + + using (var fs = new DisposableFileSystem()) + { + var intermediateFolder = fs.GetFolder(); + var msiPath = Path.Combine(intermediateFolder, @"bin\test.msi"); + + var result = WixRunner.Execute(new[] + { + "build", + Path.Combine(folder, "Package.wxs"), + Path.Combine(folder, "PackageComponents.wxs"), + "-loc", Path.Combine(folder, "Package.en-us.wxl"), + "-bindpath", Path.Combine(folder, "data"), + "-intermediateFolder", intermediateFolder, + "-o", msiPath + }, out var messages); + + Assert.Equal(0, result); + + Assert.True(File.Exists(msiPath)); + var results = Query.QueryDatabase(msiPath, new[] { "Upgrade" }); + Assert.Equal(new[] + { + "Upgrade:{01120000-00E0-0000-0000-0000000FF1CE}\t12.0.0\t13.0.0\t\t260\t\tBLAHBLAHBLAH", + }, results); + } + } + + [Fact(Skip = "Test demonstrates failure")] + public void PopulatesUpgradeTableFromDetectOnlyUpgrade() + { + var folder = TestData.Get(@"TestData"); + + using (var fs = new DisposableFileSystem()) + { + var baseFolder = fs.GetFolder(); + var intermediateFolder = Path.Combine(baseFolder, "obj"); + var msiPath = Path.Combine(baseFolder, @"bin\test.msi"); + + var result = WixRunner.Execute(new[] + { + "build", + Path.Combine(folder, "Upgrade", "DetectOnly.wxs"), + Path.Combine(folder, "ProductWithComponentGroupRef", "MinimalComponentGroup.wxs"), + Path.Combine(folder, "ProductWithComponentGroupRef", "Product.wxs"), + "-bindpath", Path.Combine(folder, "SingleFile", "data"), + "-intermediateFolder", intermediateFolder, + "-o", msiPath + }); + + result.AssertSuccess(); + + Assert.True(File.Exists(msiPath)); + var results = Query.QueryDatabase(msiPath, new[] { "Upgrade" }); + Assert.Equal(new[] + { + "Upgrade:{12E4699F-E774-4D05-8A01-5BDD41BBA127}\t\t1.0.0.0\t1033\t1\t\tWIX_UPGRADE_DETECTED", + "Upgrade:{12E4699F-E774-4D05-8A01-5BDD41BBA127}\t1.0.0.0\t1033\t\t2\t\tWIX_DOWNGRADE_DETECTED", + "Upgrade:{B05772EA-82B8-4DE0-B7EB-45B5F0CCFE6D}\t1.0.0\t\t\t256\t\tRELPRODFOUND", + }, results); + } + } } } diff --git a/src/test/WixToolsetTest.CoreIntegration/TestData/Upgrade/DetectOnly.wxs b/src/test/WixToolsetTest.CoreIntegration/TestData/Upgrade/DetectOnly.wxs new file mode 100644 index 00000000..587d8e95 --- /dev/null +++ b/src/test/WixToolsetTest.CoreIntegration/TestData/Upgrade/DetectOnly.wxs @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/src/test/WixToolsetTest.CoreIntegration/WixToolsetTest.CoreIntegration.csproj b/src/test/WixToolsetTest.CoreIntegration/WixToolsetTest.CoreIntegration.csproj index 8a11e531..e4da8b14 100644 --- a/src/test/WixToolsetTest.CoreIntegration/WixToolsetTest.CoreIntegration.csproj +++ b/src/test/WixToolsetTest.CoreIntegration/WixToolsetTest.CoreIntegration.csproj @@ -81,6 +81,7 @@ + -- cgit v1.2.3-55-g6feb