From 94b3c44ea27e29253a26e18bf0c70295d0fc48e5 Mon Sep 17 00:00:00 2001 From: Bob Arnson Date: Thu, 14 Nov 2019 18:10:00 -0500 Subject: Fix EnvironmentTuple nullable fields. Add test. --- .../MsiQueryFixture.cs | 44 ++++++++++++++++++++++ .../TestData/Environment/Environment.wxs | 13 +++++++ .../WixToolsetTest.CoreIntegration.csproj | 1 + 3 files changed, 58 insertions(+) create mode 100644 src/test/WixToolsetTest.CoreIntegration/TestData/Environment/Environment.wxs (limited to 'src/test') diff --git a/src/test/WixToolsetTest.CoreIntegration/MsiQueryFixture.cs b/src/test/WixToolsetTest.CoreIntegration/MsiQueryFixture.cs index 81f780dc..068ae2b7 100644 --- a/src/test/WixToolsetTest.CoreIntegration/MsiQueryFixture.cs +++ b/src/test/WixToolsetTest.CoreIntegration/MsiQueryFixture.cs @@ -427,6 +427,41 @@ namespace WixToolsetTest.CoreIntegration } } + [Fact] + public void PopulatesEnvironmentTable() + { + 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, "Environment", "Environment.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[] { "Environment" }); + Assert.Equal(new[] + { + "Environment:WixEnvironmentTest1\t=-WixEnvTest1\t\tWixEnvironmentTest", + "Environment:WixEnvironmentTest2\t+-WixEnvTest1\t\tWixEnvironmentTest", + "Environment:WixEnvironmentTest3\t!-WixEnvTest1\t\tWixEnvironmentTest", + "Environment:WixEnvironmentTest4\t=-*WIX\t[INSTALLFOLDER]\tWixEnvironmentTest", + }, results); + } + } + [Fact] public void PopulatesFeatureTableWithParent() { @@ -942,6 +977,15 @@ namespace WixToolsetTest.CoreIntegration "Upgrade:{12E4699F-E774-4D05-8A01-5BDD41BBA127}\t1.0.0.0\t\t1033\t2\t\tWIX_DOWNGRADE_DETECTED", "Upgrade:{B05772EA-82B8-4DE0-B7EB-45B5F0CCFE6D}\t1.0.0\t\t\t256\t\tRELPRODFOUND", }, results); + + var prefix = "Property:SecureCustomProperties\t"; + var secureProperties = Query.QueryDatabase(msiPath, new[] { "Property" }).Where(p => p.StartsWith(prefix)).Single(); + Assert.Equal(new[] + { + "RELPRODFOUND", + "WIX_DOWNGRADE_DETECTED", + "WIX_UPGRADE_DETECTED", + }, secureProperties.Substring(prefix.Length).Split(';').OrderBy(p => p)); } } } diff --git a/src/test/WixToolsetTest.CoreIntegration/TestData/Environment/Environment.wxs b/src/test/WixToolsetTest.CoreIntegration/TestData/Environment/Environment.wxs new file mode 100644 index 00000000..284801e2 --- /dev/null +++ b/src/test/WixToolsetTest.CoreIntegration/TestData/Environment/Environment.wxs @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/src/test/WixToolsetTest.CoreIntegration/WixToolsetTest.CoreIntegration.csproj b/src/test/WixToolsetTest.CoreIntegration/WixToolsetTest.CoreIntegration.csproj index 75a55c31..0330adf6 100644 --- a/src/test/WixToolsetTest.CoreIntegration/WixToolsetTest.CoreIntegration.csproj +++ b/src/test/WixToolsetTest.CoreIntegration/WixToolsetTest.CoreIntegration.csproj @@ -31,6 +31,7 @@ + -- cgit v1.2.3-55-g6feb