aboutsummaryrefslogtreecommitdiff
path: root/src/test
diff options
context:
space:
mode:
authorRon Martin <cpuwzd@comcast.net>2021-04-22 18:46:03 -0400
committerBob Arnson <bob@firegiant.com>2021-04-23 17:14:38 -0400
commitb0840f6ad872f7085fd8d62285dc889763a65968 (patch)
treee44bda9a381c22d8dc159a10bfb3bd7023884caf /src/test
parentb3a60d6117c6ea69044e93c896b4456e9b1a03f0 (diff)
downloadwix-b0840f6ad872f7085fd8d62285dc889763a65968.tar.gz
wix-b0840f6ad872f7085fd8d62285dc889763a65968.tar.bz2
wix-b0840f6ad872f7085fd8d62285dc889763a65968.zip
Detect Inability to write to output file
Fixes wixtoolset/issues#6425
Diffstat (limited to 'src/test')
-rw-r--r--src/test/WixToolsetTest.Converters/ConverterIntegrationFixture.cs24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/test/WixToolsetTest.Converters/ConverterIntegrationFixture.cs b/src/test/WixToolsetTest.Converters/ConverterIntegrationFixture.cs
index cabc89ee..acd7991e 100644
--- a/src/test/WixToolsetTest.Converters/ConverterIntegrationFixture.cs
+++ b/src/test/WixToolsetTest.Converters/ConverterIntegrationFixture.cs
@@ -8,6 +8,7 @@ namespace WixToolsetTest.Converters
8 using WixBuildTools.TestSupport; 8 using WixBuildTools.TestSupport;
9 using WixToolset.Converters; 9 using WixToolset.Converters;
10 using WixToolset.Core; 10 using WixToolset.Core;
11 using WixToolset.Core.ExtensibilityServices;
11 using WixToolset.Core.TestPackage; 12 using WixToolset.Core.TestPackage;
12 using WixToolsetTest.Converters.Mocks; 13 using WixToolsetTest.Converters.Mocks;
13 using Xunit; 14 using Xunit;
@@ -69,6 +70,29 @@ namespace WixToolsetTest.Converters
69 } 70 }
70 71
71 [Fact] 72 [Fact]
73 public void CanDetectReadOnlyOutputFile()
74 {
75 const string beforeFileName = "SingleFile.wxs";
76 var folder = TestData.Get(@"TestData\SingleFile");
77
78 using (var fs = new DisposableFileSystem())
79 {
80 var baseFolder = fs.GetFolder(true);
81 var targetFile = Path.Combine(baseFolder, beforeFileName);
82 File.Copy(Path.Combine(folder, beforeFileName), Path.Combine(baseFolder, beforeFileName));
83
84 var info = new FileInfo(targetFile);
85 info.IsReadOnly = true;
86
87 var messaging = new MockMessaging();
88 var converter = new WixConverter(messaging, 4);
89 var errors = converter.ConvertFile(targetFile, true);
90
91 Assert.Equal(10, errors);
92 }
93 }
94
95 [Fact]
72 public void RetainsPreprocessorInstructions() 96 public void RetainsPreprocessorInstructions()
73 { 97 {
74 const string beforeFileName = "Preprocessor.wxs"; 98 const string beforeFileName = "Preprocessor.wxs";