diff options
| author | Sean Hall <r.sean.hall@gmail.com> | 2021-01-02 19:00:16 -0600 |
|---|---|---|
| committer | Sean Hall <r.sean.hall@gmail.com> | 2021-01-03 15:49:32 -0600 |
| commit | b673734cce44dd28c1d4d1810da3069324466166 (patch) | |
| tree | ada7f6d994a1dbcf09e8b30b95f7b2c403a0a7f6 /src/WixToolset.Core.TestPackage | |
| parent | 643a5c5db1da6fb68fdc353bbbdbecaa1964425e (diff) | |
| download | wix-b673734cce44dd28c1d4d1810da3069324466166.tar.gz wix-b673734cce44dd28c1d4d1810da3069324466166.tar.bz2 wix-b673734cce44dd28c1d4d1810da3069324466166.zip | |
Implement command line for SuppressAllWarnings and WarningsAsError.
Make WixRunner.Execute default to setting WarningsAsError to make sure tests are not accidentally causing warnings.
Diffstat (limited to 'src/WixToolset.Core.TestPackage')
| -rw-r--r-- | src/WixToolset.Core.TestPackage/WixRunner.cs | 30 |
1 files changed, 25 insertions, 5 deletions
diff --git a/src/WixToolset.Core.TestPackage/WixRunner.cs b/src/WixToolset.Core.TestPackage/WixRunner.cs index a3883cd5..ed7c49b8 100644 --- a/src/WixToolset.Core.TestPackage/WixRunner.cs +++ b/src/WixToolset.Core.TestPackage/WixRunner.cs | |||
| @@ -21,23 +21,36 @@ namespace WixToolset.Core.TestPackage | |||
| 21 | /// </summary> | 21 | /// </summary> |
| 22 | /// <param name="args"></param> | 22 | /// <param name="args"></param> |
| 23 | /// <param name="messages"></param> | 23 | /// <param name="messages"></param> |
| 24 | /// <param name="warningsAsErrors"></param> | ||
| 24 | /// <returns></returns> | 25 | /// <returns></returns> |
| 25 | public static int Execute(string[] args, out List<Message> messages) | 26 | public static int Execute(string[] args, out List<Message> messages, bool warningsAsErrors = true) |
| 26 | { | 27 | { |
| 27 | var serviceProvider = WixToolsetServiceProviderFactory.CreateServiceProvider(); | 28 | var serviceProvider = WixToolsetServiceProviderFactory.CreateServiceProvider(); |
| 28 | var task = Execute(args, serviceProvider, out messages); | 29 | var task = Execute(args, serviceProvider, out messages, warningsAsErrors: warningsAsErrors); |
| 29 | return task.Result; | 30 | return task.Result; |
| 30 | } | 31 | } |
| 31 | 32 | ||
| 32 | /// <summary> | 33 | /// <summary> |
| 33 | /// Emulates calling wix.exe with standard backends. | 34 | /// Emulates calling wix.exe with standard backends. |
| 35 | /// This overload always treats warnings as errors. | ||
| 34 | /// </summary> | 36 | /// </summary> |
| 35 | /// <param name="args"></param> | 37 | /// <param name="args"></param> |
| 36 | /// <returns></returns> | 38 | /// <returns></returns> |
| 37 | public static WixRunnerResult Execute(params string[] args) | 39 | public static WixRunnerResult Execute(params string[] args) |
| 38 | { | 40 | { |
| 41 | return Execute(true, args); | ||
| 42 | } | ||
| 43 | |||
| 44 | /// <summary> | ||
| 45 | /// Emulates calling wix.exe with standard backends. | ||
| 46 | /// </summary> | ||
| 47 | /// <param name="warningsAsErrors"></param> | ||
| 48 | /// <param name="args"></param> | ||
| 49 | /// <returns></returns> | ||
| 50 | public static WixRunnerResult Execute(bool warningsAsErrors, params string[] args) | ||
| 51 | { | ||
| 39 | var serviceProvider = WixToolsetServiceProviderFactory.CreateServiceProvider(); | 52 | var serviceProvider = WixToolsetServiceProviderFactory.CreateServiceProvider(); |
| 40 | var exitCode = Execute(args, serviceProvider, out var messages); | 53 | var exitCode = Execute(args, serviceProvider, out var messages, warningsAsErrors: warningsAsErrors); |
| 41 | return new WixRunnerResult { ExitCode = exitCode.Result, Messages = messages.ToArray() }; | 54 | return new WixRunnerResult { ExitCode = exitCode.Result, Messages = messages.ToArray() }; |
| 42 | } | 55 | } |
| 43 | 56 | ||
| @@ -47,8 +60,9 @@ namespace WixToolset.Core.TestPackage | |||
| 47 | /// <param name="args"></param> | 60 | /// <param name="args"></param> |
| 48 | /// <param name="coreProvider"></param> | 61 | /// <param name="coreProvider"></param> |
| 49 | /// <param name="messages"></param> | 62 | /// <param name="messages"></param> |
| 63 | /// <param name="warningsAsErrors"></param> | ||
| 50 | /// <returns></returns> | 64 | /// <returns></returns> |
| 51 | public static Task<int> Execute(string[] args, IWixToolsetCoreServiceProvider coreProvider, out List<Message> messages) | 65 | public static Task<int> Execute(string[] args, IWixToolsetCoreServiceProvider coreProvider, out List<Message> messages, bool warningsAsErrors = true) |
| 52 | { | 66 | { |
| 53 | coreProvider.AddWindowsInstallerBackend() | 67 | coreProvider.AddWindowsInstallerBackend() |
| 54 | .AddBundleBackend(); | 68 | .AddBundleBackend(); |
| @@ -60,8 +74,14 @@ namespace WixToolset.Core.TestPackage | |||
| 60 | var messaging = coreProvider.GetService<IMessaging>(); | 74 | var messaging = coreProvider.GetService<IMessaging>(); |
| 61 | messaging.SetListener(listener); | 75 | messaging.SetListener(listener); |
| 62 | 76 | ||
| 77 | var arguments = new List<string>(args); | ||
| 78 | if (warningsAsErrors) | ||
| 79 | { | ||
| 80 | arguments.Add("-wx"); | ||
| 81 | } | ||
| 82 | |||
| 63 | var commandLine = coreProvider.GetService<ICommandLine>(); | 83 | var commandLine = coreProvider.GetService<ICommandLine>(); |
| 64 | var command = commandLine.CreateCommand(args); | 84 | var command = commandLine.CreateCommand(arguments.ToArray()); |
| 65 | return command?.ExecuteAsync(CancellationToken.None) ?? Task.FromResult(1); | 85 | return command?.ExecuteAsync(CancellationToken.None) ?? Task.FromResult(1); |
| 66 | } | 86 | } |
| 67 | } | 87 | } |
