Remove s_isProcessExiting and Clear of ALC list at exit
[platform/upstream/coreclr.git] / tests / tests.targets
1 <?xml version="1.0" encoding="utf-8"?>
2 <Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3
4   <ItemGroup>
5     <_SkipTestAssemblies Include="$(SkipTestAssemblies)" />
6   </ItemGroup>
7
8   <PropertyGroup>
9       <TestAssemblyDir Condition="'$(TestAssemblyDir)' == ''">$(BaseOutputPathWithConfig)\tests\</TestAssemblyDir>
10       <__TestRunHtmlLog Condition="'$(__TestRunHtmlLog)' == ''">$(__LogsDir)\TestRun.html</__TestRunHtmlLog>
11       <__TestRunXmlLog Condition="'$(__TestRunXmlLog)' == ''">$(__LogsDir)\TestRun.xml</__TestRunXmlLog>
12   </PropertyGroup>
13   <Target Name="FindTestDirectories">
14     <ItemGroup>
15       <AllTestAssemblies Include="$(BaseOutputPathWithConfig)\**\*.XUnitWrapper.dll" />
16       <TestAssemblies Include="@(AllTestAssemblies)" Exclude="@(_SkipTestAssemblies -> '$(TestAssemblyDir)%(Identity)\%(Identity).XUnitWrapper.dll')" />
17     </ItemGroup>
18     
19     <Error  Text=" The wrappers must be compiled and placed at $(TestAssemblyDir)\*\ before they can be run, Do a clean Test Run"
20             Condition="'@(AllTestAssemblies)' == ''" />
21     
22     <Message Text= "AllTestAssemblies= @(AllTestAssemblies)"/>
23     <Message Text= "TestAssemblies= @(TestAssemblies)"/>
24     <Message Text= "_SkipTestAssemblies= @(_SkipTestAssemblies -> '$(TestAssemblyDir)%(Identity)\%(Identity).XUnitWrapper.dll')"/>
25   </Target>
26
27    <Target Name="RunTests"
28           DependsOnTargets="FindTestDirectories"
29           Condition="'$(SkipTests)' != 'True'">
30
31
32     <PropertyGroup>
33       <ExcludeTraits Condition="'$(ExcludeTraits)'==''">category=outerloop;category=failing</ExcludeTraits>
34       <!-- Run one assembly at a time to avoid excessive parallelism leading to test timeouts -->
35       <ParallelRun Condition="'$(ParallelRun)'==''">collections</ParallelRun>
36     </PropertyGroup>
37     <ItemGroup>
38       <IncludeTraitsItems Include="$(IncludeTraits)" />
39       <ExcludeTraitsItems Include="$(ExcludeTraits)" />
40     </ItemGroup>
41
42     <Error Condition="'$(CORE_ROOT)' == ''" Text="CORE_ROOT is not set." />
43     <PropertyGroup>
44       <XunitConsoleRunner>$(CORE_ROOT)\xunit.console.dll</XunitConsoleRunner>
45
46       <XunitArgs>-parallel $(ParallelRun)</XunitArgs>
47       <XunitArgs>$(XunitArgs) -html $(__TestRunHtmlLog)</XunitArgs>
48       <XunitArgs>$(XunitArgs) -xml $(__TestRunXmlLog)</XunitArgs>
49       <XunitArgs>$(XunitArgs) @(IncludeTraitsItems->'-trait %(Identity)', ' ')</XunitArgs>
50       <XunitArgs>$(XunitArgs) @(ExcludeTraitsItems->'-notrait %(Identity)', ' ')</XunitArgs>
51
52       <!-- Color output doesn't work well when capturing the output in the CI system -->
53       <XunitArgs>$(XunitArgs) -nocolor</XunitArgs>
54
55       <CorerunExecutable Condition="'$(RunningOnUnix)' == 'true'">$(CORE_ROOT)\corerun</CorerunExecutable>
56       <CorerunExecutable Condition="'$(RunningOnUnix)' != 'true'">$(CORE_ROOT)\corerun.exe</CorerunExecutable>
57     </PropertyGroup>
58
59     <!-- Work around cmd command length limit by using relative paths
60          from working directory instead of full paths (see
61          https://github.com/Microsoft/msbuild/issues/2530) -->
62     <ItemGroup Condition="'$(RunningOnUnix)' != 'true'">
63       <_TestAssembliesRelative Include="@(TestAssemblies -> Replace('$(BaseOutputPathWithConfig)', '.\'))" />
64       <TestAssemblies Remove="@(TestAssemblies)" />
65       <TestAssemblies Include="@(_TestAssembliesRelative)" />
66     </ItemGroup>
67
68     <PropertyGroup>
69       <XunitCommandLine>$(CorerunExecutable) $(XunitConsoleRunner) @(TestAssemblies->'%(Identity)', ' ') $(XunitArgs)</XunitCommandLine>
70     </PropertyGroup>
71
72     <Error Condition="$(XunitCommandLine.Length) > 8191 and '$(RunningOnUnix)' != 'true'" Text="Xunit command line is too long." />
73     <Exec Command="$(XunitCommandLine)"
74           WorkingDirectory="$(BaseOutputPathWithConfig)"/>
75
76   </Target>
77
78 </Project>