aboutsummaryrefslogtreecommitdiff
path: root/src/test/burn/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/burn/README.md')
-rw-r--r--src/test/burn/README.md50
1 files changed, 50 insertions, 0 deletions
diff --git a/src/test/burn/README.md b/src/test/burn/README.md
new file mode 100644
index 00000000..6c6e0dd9
--- /dev/null
+++ b/src/test/burn/README.md
@@ -0,0 +1,50 @@
1# integration
2
3This repo is for building installers, and then executing xunit tests that run them and verify that they worked.
4
5## Running tests
6
7The main focus of these tests is to validate behavior in a real environment.
8Depending on who you talk to, these are integration or system-level or end-to-end (E2E) tests.
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.
11
121. Run appveyor.cmd to build everything (the tests will refuse to run).
131. Copy the build\Release\netcoreapp3.1 folder to your VM.
141. Open a command prompt and navigate to the netcoreapp3.1 folder.
151. Run the runtests.cmd file to run the tests.
16
17You can modify the runtests.cmd to run specific tests.
18For example, the following line runs only the specified test:
19
20> dotnet test --filter WixToolsetTest.BurnE2E.BasicFunctionalityTests.CanInstallAndUninstallSimpleBundle WixToolsetTest.BurnE2E.dll
21
22The VM must have:
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)
251. x86 .NET Core Desktop Runtime of 5.0 or later (for the .NET Core TestBA)
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
41
42The micro repo model makes this very difficult and painful.
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
50> nuget locals all -clear \ No newline at end of file