Enable fine-grained and universal exclusions for CoreFX tests
authorBruce Forstall <brucefo@microsoft.com>
Tue, 23 Apr 2019 21:12:32 +0000 (14:12 -0700)
committerBruce Forstall <brucefo@microsoft.com>
Tue, 23 Apr 2019 21:12:32 +0000 (14:12 -0700)
commit612a568e9177c0f126a6fc211a54c70d67bf8773
treee086bf23e5aecd3425832277de47408a000704d2
parentc0cae0a041549edd759366eb3e732f8348b466b3
Enable fine-grained and universal exclusions for CoreFX tests

One problem we've had in coreclr Jenkins when running corefx
tests (in the coreclr outerloop runs -- the ones using the
run-corefx-tests.py harness) is the inability to exclude
failing tests for x86 or x64, and the inability to have
fine-grained exclusions. This has led to problems like
https://github.com/dotnet/coreclr/issues/22442 where
virtually all Windows x86 and x64 corefx runs fail due to
timeouts. And issues like https://github.com/dotnet/coreclr/issues/24159
where all corefx test legs fail, and we have no control
over exclusions to get them all passing again quickly.

Now that the corefx RunTests.cmd/sh wrapper scripts
parse named arguments, including a response file that
is passed on to xunit, and also that the corefx used
xunit has support for this response file as well as
fine-grained exclusions (per-method/per-class/per-namespace),
we can take advantage of it.

This change adds a single, global, corefx xunit exclusion
response file, that will be used for all platforms. Since this
run-corefx-tests.py mechanism is not expected to live much longer,
this seems sufficient.
netci.groovy
tests/scripts/run-corefx-tests-exclusions.txt [new file with mode: 0644]
tests/scripts/run-corefx-tests.bat
tests/scripts/run-corefx-tests.py
tests/scripts/run-corefx-tests.sh