aboutsummaryrefslogtreecommitdiff
path: root/src/test
diff options
context:
space:
mode:
authorSean Hall <r.sean.hall@gmail.com>2021-05-19 10:21:50 -0500
committerSean Hall <r.sean.hall@gmail.com>2021-05-19 12:15:13 -0500
commitd5a183de3ba20d7baddf5e57e3c9605658524e32 (patch)
treea52177d64414ab1e157dd83f0681138d2ab99954 /src/test
parent2c085b3aa89150fff9a0ea6df2cde0ce56e3066d (diff)
downloadwix-d5a183de3ba20d7baddf5e57e3c9605658524e32.tar.gz
wix-d5a183de3ba20d7baddf5e57e3c9605658524e32.tar.bz2
wix-d5a183de3ba20d7baddf5e57e3c9605658524e32.zip
Try to make building Bal.wixext and IntegrationBurn faster.
Diffstat (limited to 'src/test')
-rw-r--r--src/test/burn/README.md31
1 files changed, 6 insertions, 25 deletions
diff --git a/src/test/burn/README.md b/src/test/burn/README.md
index 6c6e0dd9..1f2168cf 100644
--- a/src/test/burn/README.md
+++ b/src/test/burn/README.md
@@ -1,6 +1,6 @@
1# integration 1# integration
2 2
3This repo is for building installers, and then executing xunit tests that run them and verify that they worked. 3This layer is for building installers, and then executing xunit tests that run them and verify that they worked.
4 4
5## Running tests 5## Running tests
6 6
@@ -9,42 +9,23 @@ Depending on who you talk to, these are integration or system-level or end-to-en
9They modify machine state so it's strongly recommended *not* to run these tests on your dev box. 9They modify machine state so it's strongly recommended *not* to run these tests on your dev box.
10They should be run on a VM instead, where you can easily roll back. 10They should be run on a VM instead, where you can easily roll back.
11 11
121. Run appveyor.cmd to build everything (the tests will refuse to run). 121. Run build.cmd to build everything (the tests will not automatically run).
131. Copy the build\Release\netcoreapp3.1 folder to your VM. 131. Copy the build\IntegrationBurn\Debug\netcoreapp3.1 folder to your VM.
141. Open a command prompt and navigate to the netcoreapp3.1 folder. 141. Open an elevated command prompt and navigate to the netcoreapp3.1 folder.
151. Run the runtests.cmd file to run the tests. 151. Run the runtests.cmd file to run the tests.
16 16
17You can modify the runtests.cmd to run specific tests. 17You can modify the runtests.cmd to run specific tests.
18For example, the following line runs only the specified test: 18For example, the following line runs only the specified test:
19 19
20> dotnet test --filter WixToolsetTest.BurnE2E.BasicFunctionalityTests.CanInstallAndUninstallSimpleBundle WixToolsetTest.BurnE2E.dll 20> dotnet test --filter WixToolsetTest.BurnE2E.BasicFunctionalityTests.CanInstallAndUninstallSimpleBundle_x86_wixstdba WixToolsetTest.BurnE2E.dll
21 21
22The VM must have: 22The VM must have:
231. x64 .NET Core SDK of 5.0 or later (for the test runner) 231. x64 .NET Core SDK of 5.0 or later (for the test runner)
241. Any version of .NET Framework (for the .NET Framework TestBA) 241. Any version of .NET Framework (for the .NET Framework TestBA)
251. x86 .NET Core Desktop Runtime of 5.0 or later (for the .NET Core TestBA) 251. x86 .NET Core Desktop Runtime of 5.0 or later (for the .NET Core TestBA)
26 26
27## Updating dependencies
28
29Use the `updatepackage.ps1` script from https://github.com/wixtoolset/Home.
30For example:
31
32* updatepackage.ps1 -TargetFolder path\to\repo -PackageName WixToolset.Bal.wixext -NewVersion 4.0.91
33* updatepackage.ps1 -TargetFolder path\to\repo -PackageName WixToolset.Data -NewVersion 4.0.199
34* updatepackage.ps1 -TargetFolder path\to\repo -PackageName WixToolset.Dependency.wixext -NewVersion 4.0.25
35* updatepackage.ps1 -TargetFolder path\to\repo -PackageName WixToolset.Mba.Core -NewVersion 4.0.52
36* updatepackage.ps1 -TargetFolder path\to\repo -PackageName WixToolset.NetFx.wixext -NewVersion 4.0.67
37* updatepackage.ps1 -TargetFolder path\to\repo -PackageName WixToolset.Util.wixext -NewVersion 4.0.82
38* updatepackage.ps1 -TargetFolder path\to\repo -PackageName WixToolset.Sdk -NewVersion 4.0.0-build-0204
39
40## Building with local changes 27## Building with local changes
41 28
42The micro repo model makes this very difficult and painful. 29The current build process will poison your NuGet package cache, so you may have to run the following command to clear it:
43The basic idea is to make your changes in each individual repo on the master branch (to get a stable version), commit, and then use appveyor.cmd to build the nuget package.
44Put your custom nuget packages into a folder, and modify each repo's nuget.config with an entry to that folder.
45
46Alternatively, go into the NuGet package cache (%USERPROFILE%\.nuget\packages) and replace the official binaries with your locally built binaries.
47
48Both of those approaches will poison your NuGet package cache, so you probably will want to run the following command to clear it when you're done:
49 30
50> nuget locals all -clear \ No newline at end of file 31> nuget locals all -clear \ No newline at end of file