aboutsummaryrefslogtreecommitdiff
path: root/src/tools/test/WixToolsetTest.Heat/HeatRunner.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools/test/WixToolsetTest.Heat/HeatRunner.cs')
-rw-r--r--src/tools/test/WixToolsetTest.Heat/HeatRunner.cs82
1 files changed, 0 insertions, 82 deletions
diff --git a/src/tools/test/WixToolsetTest.Heat/HeatRunner.cs b/src/tools/test/WixToolsetTest.Heat/HeatRunner.cs
deleted file mode 100644
index d8dec06f..00000000
--- a/src/tools/test/WixToolsetTest.Heat/HeatRunner.cs
+++ /dev/null
@@ -1,82 +0,0 @@
1// 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.
2
3namespace WixToolsetTest.Heat
4{
5 using System.Collections.Generic;
6 using System.Threading.Tasks;
7 using WixToolset.Core;
8 using WixInternal.Core.MSTestPackage;
9 using WixToolset.Data;
10 using WixToolset.Extensibility.Services;
11 using WixToolset.Tools.Heat;
12
13 /// <summary>
14 /// Utility class to emulate heat.exe.
15 /// </summary>
16 public static class HeatRunner
17 {
18 /// <summary>
19 /// Emulates calling heat.exe.
20 /// </summary>
21 /// <param name="args"></param>
22 /// <param name="messages"></param>
23 /// <param name="warningsAsErrors"></param>
24 /// <returns></returns>
25 public static int Execute(string[] args, out List<Message> messages, bool warningsAsErrors = true)
26 {
27 var serviceProvider = WixToolsetServiceProviderFactory.CreateServiceProvider();
28 var task = Execute(args, serviceProvider, out messages, warningsAsErrors: warningsAsErrors);
29 return task.Result;
30 }
31
32 /// <summary>
33 /// Emulates calling wix.exe with standard backends.
34 /// This overload always treats warnings as errors.
35 /// </summary>
36 /// <param name="args"></param>
37 /// <returns></returns>
38 public static WixRunnerResult Execute(params string[] args)
39 {
40 return Execute(warningsAsErrors: false, args);
41 }
42
43 /// <summary>
44 /// Emulates calling wix.exe with standard backends.
45 /// </summary>
46 /// <param name="warningsAsErrors"></param>
47 /// <param name="args"></param>
48 /// <returns></returns>
49 public static WixRunnerResult Execute(bool warningsAsErrors, params string[] args)
50 {
51 var serviceProvider = WixToolsetServiceProviderFactory.CreateServiceProvider();
52 var exitCode = Execute(args, serviceProvider, out var messages, warningsAsErrors: warningsAsErrors);
53 return new WixRunnerResult { ExitCode = exitCode.Result, Messages = messages.ToArray() };
54 }
55
56 /// <summary>
57 /// Emulates calling wix.exe with standard backends.
58 /// </summary>
59 /// <param name="args"></param>
60 /// <param name="coreProvider"></param>
61 /// <param name="messages"></param>
62 /// <param name="warningsAsErrors"></param>
63 /// <returns></returns>
64 public static Task<int> Execute(string[] args, IWixToolsetCoreServiceProvider coreProvider, out List<Message> messages, bool warningsAsErrors = true)
65 {
66 var listener = new TestMessageListener();
67
68 messages = listener.Messages;
69
70 var messaging = coreProvider.GetService<IMessaging>();
71 messaging.SetListener(listener);
72
73 if (warningsAsErrors)
74 {
75 messaging.WarningsAsError = true;
76 }
77
78 var program = new Program();
79 return program.Run(coreProvider, listener, args);
80 }
81 }
82}