diff options
| author | Ron Martin <cpuwzd@comcast.net> | 2021-04-22 18:46:03 -0400 |
|---|---|---|
| committer | Bob Arnson <bob@firegiant.com> | 2021-04-23 17:14:38 -0400 |
| commit | b0840f6ad872f7085fd8d62285dc889763a65968 (patch) | |
| tree | e44bda9a381c22d8dc159a10bfb3bd7023884caf /src/test | |
| parent | b3a60d6117c6ea69044e93c896b4456e9b1a03f0 (diff) | |
| download | wix-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.cs | 24 |
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"; |
