From 9bdf3730cd43e1af8a4ea9be6cf2fba77fcff2d2 Mon Sep 17 00:00:00 2001 From: Sean Hall Date: Thu, 1 Jul 2021 09:30:10 -0500 Subject: Add bundle option for command line variables to always be uppercase. Fixes #3777 --- .../TestData/VariableTests/BundleA/BundleA.wixproj | 17 +++++++ .../TestData/VariableTests/BundleA/BundleA.wxs | 17 +++++++ .../burn/TestData/VariableTests/BundleB/Bundle.wxs | 40 +++++++++++++++++ .../TestData/VariableTests/BundleB/BundleB.wixproj | 14 ++++++ .../TestData/VariableTests/BundleB/BundleB.wxs | 17 +++++++ .../VariableTests/PackageA/PackageA.wixproj | 9 ++++ .../burn/WixToolsetTest.BurnE2E/VariableTests.cs | 52 ++++++++++++++++++++++ 7 files changed, 166 insertions(+) create mode 100644 src/test/burn/TestData/VariableTests/BundleA/BundleA.wixproj create mode 100644 src/test/burn/TestData/VariableTests/BundleA/BundleA.wxs create mode 100644 src/test/burn/TestData/VariableTests/BundleB/Bundle.wxs create mode 100644 src/test/burn/TestData/VariableTests/BundleB/BundleB.wixproj create mode 100644 src/test/burn/TestData/VariableTests/BundleB/BundleB.wxs create mode 100644 src/test/burn/TestData/VariableTests/PackageA/PackageA.wixproj create mode 100644 src/test/burn/WixToolsetTest.BurnE2E/VariableTests.cs (limited to 'src/test') diff --git a/src/test/burn/TestData/VariableTests/BundleA/BundleA.wixproj b/src/test/burn/TestData/VariableTests/BundleA/BundleA.wixproj new file mode 100644 index 00000000..91049cee --- /dev/null +++ b/src/test/burn/TestData/VariableTests/BundleA/BundleA.wixproj @@ -0,0 +1,17 @@ + + + + Bundle + hyperlinkLicense + {DDB62589-C5AD-4E92-A697-EAD7D7C37C8D} + + + + + + + + + + + \ No newline at end of file diff --git a/src/test/burn/TestData/VariableTests/BundleA/BundleA.wxs b/src/test/burn/TestData/VariableTests/BundleA/BundleA.wxs new file mode 100644 index 00000000..f243c97d --- /dev/null +++ b/src/test/burn/TestData/VariableTests/BundleA/BundleA.wxs @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + diff --git a/src/test/burn/TestData/VariableTests/BundleB/Bundle.wxs b/src/test/burn/TestData/VariableTests/BundleB/Bundle.wxs new file mode 100644 index 00000000..fb293d9b --- /dev/null +++ b/src/test/burn/TestData/VariableTests/BundleB/Bundle.wxs @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/test/burn/TestData/VariableTests/BundleB/BundleB.wixproj b/src/test/burn/TestData/VariableTests/BundleB/BundleB.wixproj new file mode 100644 index 00000000..fa11100b --- /dev/null +++ b/src/test/burn/TestData/VariableTests/BundleB/BundleB.wixproj @@ -0,0 +1,14 @@ + + + + Bundle + hyperlinkLicense + {B735B6D2-9D4D-4E98-B464-946F7F62AFC8} + + + + + + + + \ No newline at end of file diff --git a/src/test/burn/TestData/VariableTests/BundleB/BundleB.wxs b/src/test/burn/TestData/VariableTests/BundleB/BundleB.wxs new file mode 100644 index 00000000..f243c97d --- /dev/null +++ b/src/test/burn/TestData/VariableTests/BundleB/BundleB.wxs @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + diff --git a/src/test/burn/TestData/VariableTests/PackageA/PackageA.wixproj b/src/test/burn/TestData/VariableTests/PackageA/PackageA.wixproj new file mode 100644 index 00000000..da99dfea --- /dev/null +++ b/src/test/burn/TestData/VariableTests/PackageA/PackageA.wixproj @@ -0,0 +1,9 @@ + + + + {7D70B3D9-968C-4599-9CB4-5A5D6CD17681} + + + + + \ No newline at end of file diff --git a/src/test/burn/WixToolsetTest.BurnE2E/VariableTests.cs b/src/test/burn/WixToolsetTest.BurnE2E/VariableTests.cs new file mode 100644 index 00000000..fcec1df2 --- /dev/null +++ b/src/test/burn/WixToolsetTest.BurnE2E/VariableTests.cs @@ -0,0 +1,52 @@ +// 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. + +namespace WixToolsetTest.BurnE2E +{ + using System.Collections.Generic; + using System.IO; + using WixBuildTools.TestSupport; + using WixTestTools; + using WixToolset.Mba.Core; + using Xunit; + using Xunit.Abstractions; + + public class VariableTests : BurnE2ETests + { + public VariableTests(ITestOutputHelper testOutputHelper) : base(testOutputHelper) { } + + [Fact] + public void CanHideHiddenVariables() + { + var packageA = this.CreatePackageInstaller("PackageA"); + var bundleA = this.CreateBundleInstaller("BundleA"); + + packageA.VerifyInstalled(false); + + var logFilePath = bundleA.Install(0, "INSTALLLOCATION=nothingtoseehere", "licensekey=supersecretkey"); + bundleA.VerifyRegisteredAndInPackageCache(); + + packageA.VerifyInstalled(true); + + Assert.True(LogVerifier.MessageInLogFile(logFilePath, "INSTALLLOCATION=nothingtoseehere LICENSEKEY=*****")); + Assert.True(LogVerifier.MessageInLogFile(logFilePath, "INSTALLLOCATION=\"nothingtoseehere\" LICENSEKEY=\"*****\"")); + Assert.False(LogVerifier.MessageInLogFile(logFilePath, "supersecretkey")); + } + + [Fact] + public void CanSupportCaseSensitiveVariables() + { + var packageA = this.CreatePackageInstaller("PackageA"); + var bundleB = this.CreateBundleInstaller("BundleB"); + + packageA.VerifyInstalled(false); + + var logFilePath = bundleB.Install(0, "InstallLocation=nothingtoseehere", "licensekey=supersecretkey"); + bundleB.VerifyRegisteredAndInPackageCache(); + + packageA.VerifyInstalled(true); + + Assert.True(LogVerifier.MessageInLogFile(logFilePath, "InstallLocation=nothingtoseehere licensekey=supersecretkey")); + Assert.True(LogVerifier.MessageInLogFile(logFilePath, "INSTALLLOCATION=\"\" LICENSEKEY=\"*****\"")); + } + } +} -- cgit v1.2.3-55-g6feb