diff options
Diffstat (limited to 'src/test/burn/README.md')
-rw-r--r-- | src/test/burn/README.md | 50 |
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 | |||
3 | This repo is for building installers, and then executing xunit tests that run them and verify that they worked. | ||
4 | |||
5 | ## Running tests | ||
6 | |||
7 | The main focus of these tests is to validate behavior in a real environment. | ||
8 | Depending on who you talk to, these are integration or system-level or end-to-end (E2E) tests. | ||
9 | They modify machine state so it's strongly recommended *not* to run these tests on your dev box. | ||
10 | They should be run on a VM instead, where you can easily roll back. | ||
11 | |||
12 | 1. Run appveyor.cmd to build everything (the tests will refuse to run). | ||
13 | 1. Copy the build\Release\netcoreapp3.1 folder to your VM. | ||
14 | 1. Open a command prompt and navigate to the netcoreapp3.1 folder. | ||
15 | 1. Run the runtests.cmd file to run the tests. | ||
16 | |||
17 | You can modify the runtests.cmd to run specific tests. | ||
18 | For example, the following line runs only the specified test: | ||
19 | |||
20 | > dotnet test --filter WixToolsetTest.BurnE2E.BasicFunctionalityTests.CanInstallAndUninstallSimpleBundle WixToolsetTest.BurnE2E.dll | ||
21 | |||
22 | The VM must have: | ||
23 | 1. x64 .NET Core SDK of 5.0 or later (for the test runner) | ||
24 | 1. Any version of .NET Framework (for the .NET Framework TestBA) | ||
25 | 1. x86 .NET Core Desktop Runtime of 5.0 or later (for the .NET Core TestBA) | ||
26 | |||
27 | ## Updating dependencies | ||
28 | |||
29 | Use the `updatepackage.ps1` script from https://github.com/wixtoolset/Home. | ||
30 | For 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 | |||
42 | The micro repo model makes this very difficult and painful. | ||
43 | The 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. | ||
44 | Put your custom nuget packages into a folder, and modify each repo's nuget.config with an entry to that folder. | ||
45 | |||
46 | Alternatively, go into the NuGet package cache (%USERPROFILE%\.nuget\packages) and replace the official binaries with your locally built binaries. | ||
47 | |||
48 | Both 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 | ||