@joebigelow / wix / commits / be163ecb

Move to WixBuildTools.TestSupport

Rob Mensching committed Dec 29, 2017 at 03:57 UTC be163ecb92398a8d569a7e97aaf25bc7e5fb9eec
7 files changed +33 -169
src/WixToolset.BuildTasks/Properties/AssemblyInfo.cs deleted
-7
@@ -1,7 +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 -
3 -using System.Reflection;
4 -using System.Runtime.InteropServices;
5 -
6 -[assembly: AssemblyCulture("")]
7 -[assembly: ComVisible(false)]
src/test/WixToolsetTest.CoreIntegration/ExtensionFixture.cs
+21 -9
@@ -6,14 +6,27 @@ namespace WixToolsetTest.CoreIntegration
6 using System.IO;
7 using System.Linq;
8 using Example.Extension;
9 + using WixBuildTools.TestSupport;
10 using WixToolset.Core;
11 using WixToolset.Data;
12 using WixToolset.Data.Tuples;
12 - using WixToolsetTest.CoreIntegration.Utility;
13 using Xunit;
14
15 public class ExtensionFixture
16 {
17 + [Fact]
18 + public void CanBuildAndQuery()
19 + {
20 + var folder = TestData.Get(@"TestData\ExampleExtension");
21 + var build = new Builder(folder, typeof(ExampleExtensionFactory), new[] { Path.Combine(folder, "data") });
22 +
23 + var results = build.BuildAndQuery(Build, "Example");
24 + Assert.Equal(new[]
25 + {
26 + "Example:Foo\tBar"
27 + }, results);
28 + }
29 +
30 [Fact]
31 public void CanBuildWithExampleExtension()
32 {
@@ -83,21 +96,20 @@ namespace WixToolsetTest.CoreIntegration
96
97 Assert.Equal(0, result);
98
86 - Assert.True(File.Exists(Path.Combine(intermediateFolder, @"bin\extest.msi")));
87 - Assert.True(File.Exists(Path.Combine(intermediateFolder, @"bin\extest.wixpdb")));
88 - Assert.True(File.Exists(Path.Combine(intermediateFolder, @"bin\MsiPackage\example.txt")));
89 -
99 var intermediate = Intermediate.Load(Path.Combine(intermediateFolder, @"bin\extest.wir"));
100 var section = intermediate.Sections.Single();
101
93 - var wixFile = section.Tuples.OfType<WixFileTuple>().Single();
94 - Assert.Equal(Path.Combine(folder, @"data\example.txt"), wixFile[WixFileTupleFields.Source].AsPath().Path);
95 - Assert.Equal(@"example.txt", wixFile[WixFileTupleFields.Source].PreviousValue.AsPath().Path);
96 -
102 var property = section.Tuples.OfType<PropertyTuple>().Where(p => p.Id.Id == "ExampleProperty").Single();
103 Assert.Equal("ExampleProperty", property.Property);
104 Assert.Equal("test", property.Value);
105 }
106 }
107 +
108 + private static void Build(string[] args)
109 + {
110 + var program = new Program();
111 + var result = program.Run(new WixToolsetServiceProvider(), null, args);
112 + Assert.Equal(0, result);
113 + }
114 }
115 }
src/test/WixToolsetTest.CoreIntegration/ProgramFixture.cs
+4 -4
@@ -4,11 +4,11 @@ namespace WixToolsetTest.CoreIntegration
4 {
5 using System.IO;
6 using System.Linq;
7 + using WixBuildTools.TestSupport;
8 using WixToolset.Core;
9 using WixToolset.Data;
10 using WixToolset.Data.Tuples;
11 using WixToolset.Data.WindowsInstaller;
11 - using WixToolsetTest.CoreIntegration.Utility;
12 using Xunit;
13
14 public class ProgramFixture
@@ -247,7 +247,7 @@ namespace WixToolsetTest.CoreIntegration
247 }
248
249 [Fact]
250 - public void CanBuildWixout()
250 + public void CanBuildWixipl()
251 {
252 var folder = TestData.Get(@"TestData\SingleFile");
253
@@ -265,7 +265,7 @@ namespace WixToolsetTest.CoreIntegration
265 "-loc", Path.Combine(folder, "Package.en-us.wxl"),
266 "-bindpath", Path.Combine(folder, "data"),
267 "-intermediateFolder", intermediateFolder,
268 - "-o", Path.Combine(baseFolder, @"bin\test.wixout")
268 + "-o", Path.Combine(baseFolder, @"bin\test.wixipl")
269 });
270
271 Assert.Equal(0, result);
@@ -273,7 +273,7 @@ namespace WixToolsetTest.CoreIntegration
273 var builtFiles = Directory.GetFiles(Path.Combine(baseFolder, @"bin"));
274
275 Assert.Equal(new[]{
276 - "test.wixout"
276 + "test.wixipl"
277 }, builtFiles.Select(Path.GetFileName).ToArray());
278 }
279 }
src/test/WixToolsetTest.CoreIntegration/Utility/DisposableFileSystem.cs deleted
-86
@@ -1,86 +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 -
3 -namespace WixToolsetTest.CoreIntegration.Utility
4 -{
5 - using System;
6 - using System.Collections.Generic;
7 - using System.IO;
8 -
9 - public class DisposableFileSystem : IDisposable
10 - {
11 - protected bool Disposed { get; private set; }
12 -
13 - private List<string> CleanupPaths { get; } = new List<string>();
14 -
15 - protected string GetFile(bool create = false)
16 - {
17 - var path = Path.GetTempFileName();
18 -
19 - if (!create)
20 - {
21 - File.Delete(path);
22 - }
23 -
24 - this.CleanupPaths.Add(path);
25 -
26 - return path;
27 - }
28 -
29 - public string GetFolder(bool create = false)
30 - {
31 - var path = Path.Combine(Path.GetTempPath(), Path.GetRandomFileName());
32 -
33 - if (create)
34 - {
35 - Directory.CreateDirectory(path);
36 - }
37 -
38 - this.CleanupPaths.Add(path);
39 -
40 - return path;
41 - }
42 -
43 -
44 - #region // IDisposable
45 -
46 - public void Dispose()
47 - {
48 - this.Dispose(true);
49 - GC.SuppressFinalize(this);
50 - }
51 -
52 - protected virtual void Dispose(bool disposing)
53 - {
54 - if (this.Disposed)
55 - {
56 - return;
57 - }
58 -
59 - if (disposing)
60 - {
61 - foreach (var path in this.CleanupPaths)
62 - {
63 - try
64 - {
65 - if (File.Exists(path))
66 - {
67 - File.Delete(path);
68 - }
69 - else if (Directory.Exists(path))
70 - {
71 - Directory.Delete(path, true);
72 - }
73 - }
74 - catch
75 - {
76 - // Best effort delete, so ignore any failures.
77 - }
78 - }
79 - }
80 -
81 - this.Disposed = true;
82 - }
83 -
84 - #endregion
85 - }
86 -}
src/test/WixToolsetTest.CoreIntegration/Utility/Pushd.cs deleted
-46
@@ -1,46 +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 -
3 -namespace WixToolsetTest.CoreIntegration.Utility
4 -{
5 - using System;
6 - using System.IO;
7 -
8 - public class Pushd : IDisposable
9 - {
10 - protected bool Disposed { get; private set; }
11 -
12 - public Pushd(string path)
13 - {
14 - this.PreviousDirectory = Directory.GetCurrentDirectory();
15 -
16 - Directory.SetCurrentDirectory(path);
17 - }
18 -
19 - public string PreviousDirectory { get; }
20 -
21 - #region // IDisposable
22 -
23 - public void Dispose()
24 - {
25 - this.Dispose(true);
26 - GC.SuppressFinalize(this);
27 - }
28 -
29 - protected virtual void Dispose(bool disposing)
30 - {
31 - if (this.Disposed)
32 - {
33 - return;
34 - }
35 -
36 - if (disposing)
37 - {
38 - Directory.SetCurrentDirectory(this.PreviousDirectory);
39 - }
40 -
41 - this.Disposed = true;
42 - }
43 -
44 - #endregion
45 - }
46 -}
src/test/WixToolsetTest.CoreIntegration/Utility/TestData.cs deleted
-17
@@ -1,17 +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 -
3 -namespace WixToolsetTest.CoreIntegration.Utility
4 -{
5 - using System;
6 - using System.IO;
7 -
8 - public class TestData
9 - {
10 - public static string LocalPath => Path.GetDirectoryName(new Uri(System.Reflection.Assembly.GetExecutingAssembly().CodeBase).LocalPath);
11 -
12 - public static string Get(params string[] paths)
13 - {
14 - return Path.Combine(LocalPath, Path.Combine(paths));
15 - }
16 - }
17 -}
src/test/WixToolsetTest.CoreIntegration/WixToolsetTest.CoreIntegration.csproj
+8
@@ -7,6 +7,10 @@
7 <IsPackable>false</IsPackable>
8 </PropertyGroup>
9
10 + <PropertyGroup>
11 + <NoWarn>NU1701</NoWarn>
12 + </PropertyGroup>
13 +
14 <ItemGroup>
15 <Content Include="TestData\SimpleModule\data\test.txt" CopyToOutputDirectory="PreserveNewest" />
16 <Content Include="TestData\SimpleModule\Module.en-us.wxl" CopyToOutputDirectory="PreserveNewest" />
@@ -42,6 +46,10 @@
46 <ProjectReference Include="..\TestData\Example.Extension\Example.Extension.csproj" />
47 </ItemGroup>
48
49 + <ItemGroup>
50 + <PackageReference Include="WixBuildTools.TestSupport" Version="4.0.*" />
51 + </ItemGroup>
52 +
53 <ItemGroup>
54 <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.3.0-preview-20170628-02" />
55 <PackageReference Include="xunit" Version="2.2.0" />