Improve CoreCLR test runner outside Windows
authorKoundinya Veluri <kouvel@microsoft.com>
Fri, 18 Sep 2015 18:08:28 +0000 (11:08 -0700)
committerKoundinya Veluri <kouvel@microsoft.com>
Tue, 29 Sep 2015 21:18:53 +0000 (14:18 -0700)
commitf7f1b9ab91bb183dd180115ee287af74faa7acf9
treee35114f4548fc90c8c9c61bc6f48fa19b700c4a4
parent795786f0ac0e5ea82f288dfeb5b673845e1ef075
Improve CoreCLR test runner outside Windows

CoreCLR tests will need to be built on Windows and copied over to a non-Windows machine. Then, coreclr/tests/runtest.sh along
with some switches can be used to run the tests.

Changes:
- Run tests in parallel by default (use --sequential to force sequential mode)
- Update Windows test build to produce the Windows core overlay that includes test dependencies that are not built
- Add a number of switches (see coreclr/tests/runtest.sh for details) to provide locations of:
  - The Windows test build
  - The CoreCLR native test build
  - Either:
    - This:
      - The core layout (including all of the below)
    - Or:
      - The CoreCLR build
      - mscorlib.dll
      - The CoreFX build
      - The CoreFX native build
- Using information from above, build or use the core layout, and copy native test binaries to the respective test directories
- Add --testDir to specify an inclusive list of test directories to run
- Add text files to exclude tests:
  - coreclr/tests/testsUnsupportedOutsideWindows.txt - Tests that are not supported outside Windows
  - coreclr/tests/testsFailingOutsideWindows.txt - Tests that are known to fail outside Windows and are temporarily disabled while they are investigated
- Add --runFailingTestsOnly to run only the tests listed in coreclr/tests/testsFailingOutsideWindows.txt to verify known failures
- Produce xUnit-style output for the CI, output goes into <Windows test build folder>/coreclrtests.xml
tests/buildtest.cmd
tests/runtest.cmd
tests/runtest.proj
tests/runtest.sh [changed mode: 0644->0755]
tests/src/CLRTest.Execute.Bash.targets
tests/src/CLRTest.Execute.Batch.targets
tests/src/managed/Compilation/Compilation.cs
tests/testsFailingOutsideWindows.txt [new file with mode: 0644]
tests/testsUnsupportedOutsideWindows.txt [new file with mode: 0644]