diff options
author | Richard L Ford <richford@microsoft.com> | 2015-12-04 14:13:27 -0800 |
---|---|---|
committer | Richard L Ford <richford@microsoft.com> | 2015-12-07 13:26:11 -0800 |
commit | 0e7b85c082d78e7d8ee93cb9f98107c60f5a2279 (patch) | |
tree | 35cf7f2bf05fa956444af35232f1cdbc2defd784 /tests | |
parent | 9803ebe310d251a22499897a71fcda4407a2e468 (diff) | |
download | coreclr-0e7b85c082d78e7d8ee93cb9f98107c60f5a2279.tar.gz coreclr-0e7b85c082d78e7d8ee93cb9f98107c60f5a2279.tar.bz2 coreclr-0e7b85c082d78e7d8ee93cb9f98107c60f5a2279.zip |
Add Exclude0 option for runtest.cmd for additive exclusion.
Currently when the Exclude parameter is passed to the coreclr
tests/runtest.cmd, the specified file replaces the default coreclr
exclusion file.
But an independent project, e.g. LLILC, may want to exclude the tests
in the coreclr issues.targets file as well as additional tests. In
that case it would be useful if runtest.cmd supported adding an
additional exclusion file that does not replace the default.
This change makes the new Exclude0 option control the default
exclusion list, so specifying Exclude does not overwrite it.
Closes #2238.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/runtest.cmd | 7 | ||||
-rw-r--r-- | tests/runtest.proj | 9 |
2 files changed, 12 insertions, 4 deletions
diff --git a/tests/runtest.cmd b/tests/runtest.cmd index 91b408e1db..7414e46193 100644 --- a/tests/runtest.cmd +++ b/tests/runtest.cmd @@ -9,7 +9,7 @@ if defined VS120COMNTOOLS set __VSVersion=vs2013 if defined VS140COMNTOOLS set __VSVersion=vs2015 :: Default __Exclude to issues.targets -set __Exclude=%~dp0\issues.targets +set __Exclude0=%~dp0\issues.targets :Arg_Loop if "%1" == "" goto ArgsDone @@ -20,6 +20,7 @@ if /i "%1" == "debug" (set __BuildType=debug&shift&goto Arg_Loop) if /i "%1" == "release" (set __BuildType=release&shift&goto Arg_Loop) if /i "%1" == "SkipWrapperGeneration" (set __SkipWrapperGeneration=true&shift&goto Arg_Loop) if /i "%1" == "Exclude" (set __Exclude=%2&shift&shift&goto Arg_Loop) +if /i "%1" == "Exclude0" (set __Exclude0=%2&shift&shift&goto Arg_Loop) if /i "%1" == "TestEnv" (set __TestEnv=%2&shift&shift&goto Arg_Loop) if /i "%1" == "vs2013" (set __VSVersion=%1&shift&goto Arg_Loop) @@ -154,7 +155,9 @@ echo. echo BuildArch is x64, x86 echo BuildType can be: Debug, Release echo SkipWrapperGeneration- Optional parameter - this will run the same set of tests as the last time it was run -echo Exclude- Optional parameter - this will exclude individual tests from running, specified by ExcludeList ItemGroup in an .targets file. +echo Exclude0- Optional parameter - specify location of default exclusion file (defaults to issues.targets if not specified) +echo Set to "" to disable default exclusion file. +echo Exclude- Optional parameter - this will exclude individual tests from running, specified by ExcludeList ItemGroup in an .targets file. echo TestEnv- Optional parameter - this will run a custom script to set custom test environment settings. echo VSVersion- optional argument to use VS2013 or VS2015 (default VS2015) echo CORE_ROOT The path to the runtime diff --git a/tests/runtest.proj b/tests/runtest.proj index 6354682310..00e7e984fd 100644 --- a/tests/runtest.proj +++ b/tests/runtest.proj @@ -42,7 +42,12 @@ </Target> + <Import Project="$(__Exclude0)" Condition="'$(__Exclude0)' != '' AND '$(XunitTestBinBase)' != ''" /> <Import Project="$(__Exclude)" Condition="'$(__Exclude)' != '' AND '$(XunitTestBinBase)' != ''" /> + <PropertyGroup> + <HaveExcludes>False</HaveExcludes> + <HaveExcludes Condition="('$(__Exclude0)' != '') Or ('$(__Exclude)' != '')">True</HaveExcludes> + </PropertyGroup> <Target Name="CreateXunitWrapper" DependsOnTargets="CreateXunitFacts"> @@ -191,12 +196,12 @@ namespace $([System.String]::Copy($(Category)).Replace(".","_").Replace("\",""). </PropertyGroup> <ItemGroup> - <CanonicalExcludeList Include="%(ExcludeList.FullPath)" Condition="'$(__Exclude)' != ''"/> + <CanonicalExcludeList Include="%(ExcludeList.FullPath)" Condition="$(HaveExcludes)"/> </ItemGroup> <ItemGroup> <AllCMDsPresent Include="$(_CMDDIR)\**\*.cmd" /> - <AllCMDExcludeFilter Include="@(CanonicalExcludeList)" Condition="'$(__Exclude)' != ''"/> + <AllCMDExcludeFilter Include="@(CanonicalExcludeList)" Condition="$(HaveExcludes)"/> <AllCMDs Include="@(AllCMDsPresent)" Exclude="@(AllCMDExcludeFilter)"/> <AllCommands Include="@(AllCMDs)" > |