aboutsummaryrefslogtreecommitdiff
path: root/src/WixToolset.Core.TestPackage/WixRunner.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/WixToolset.Core.TestPackage/WixRunner.cs')
-rw-r--r--src/WixToolset.Core.TestPackage/WixRunner.cs42
1 files changed, 42 insertions, 0 deletions
diff --git a/src/WixToolset.Core.TestPackage/WixRunner.cs b/src/WixToolset.Core.TestPackage/WixRunner.cs
new file mode 100644
index 00000000..ca0a6fb8
--- /dev/null
+++ b/src/WixToolset.Core.TestPackage/WixRunner.cs
@@ -0,0 +1,42 @@
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 WixToolset.Core.TestPackage
4{
5 using System.Collections.Generic;
6 using WixToolset.Data;
7 using WixToolset.Extensibility;
8
9 public static class WixRunner
10 {
11 public static int Execute(string[] args, out List<Message> messages)
12 {
13 var listener = new TestListener();
14
15 var program = new Program();
16 var result = program.Run(new WixToolsetServiceProvider(), listener, args);
17
18 messages = listener.Messages;
19
20 return result;
21 }
22
23 private class TestListener : IMessageListener
24 {
25 public List<Message> Messages { get; } = new List<Message>();
26
27 public string ShortAppName => "TEST";
28
29 public string LongAppName => "Test";
30
31 public void Write(Message message)
32 {
33 this.Messages.Add(message);
34 }
35
36 public void Write(string message)
37 {
38 this.Messages.Add(new Message(null, MessageLevel.Information, 0, message));
39 }
40 }
41 }
42}