diff options
Diffstat (limited to 'src/WixToolset.Core.TestPackage/WixRunner.cs')
-rw-r--r-- | src/WixToolset.Core.TestPackage/WixRunner.cs | 42 |
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 | |||
3 | namespace 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 | } | ||