diff --git a/src/coreclr/tests/helixpublishwitharcade.proj b/src/coreclr/tests/helixpublishwitharcade.proj
index b002070137058..13b4897d17c89 100644
--- a/src/coreclr/tests/helixpublishwitharcade.proj
+++ b/src/coreclr/tests/helixpublishwitharcade.proj
@@ -169,7 +169,7 @@
-
+
<_XUnitConsoleRunnerFiles Include="$(NuGetPackageRoot)$(MicrosoftDotNetXUnitConsoleRunnerPackage)\$(MicrosoftDotNetXUnitConsoleRunnerVersion)\**\xunit.console.*" />
diff --git a/src/coreclr/tests/src/Directory.Build.props b/src/coreclr/tests/src/Directory.Build.props
deleted file mode 100644
index 2c0d34df436df..0000000000000
--- a/src/coreclr/tests/src/Directory.Build.props
+++ /dev/null
@@ -1,162 +0,0 @@
-
-
-
-
-
-
- true
- false
- full
- $(DefineConstants);DEBUG;TRACE;XUNIT_PERF
-
-
- true
- true
- pdbonly
- $(DefineConstants);TRACE;XUNIT_PERF
-
-
- true
- true
- full
- $(DefineConstants);DEBUG;TRACE;XUNIT_PERF
-
-
-
-
- $(RepoRoot)\artifacts\tests\coreclr
- $(__TestRootDir)
- $(BaseOutputPath)\$(OSPlatformConfig)\
- $(BaseOutputPathWithConfig)
- $(RepoRoot)\artifacts\tests\coreclr\obj\$(OSPlatformConfig)\Managed\
- $(__ManagedTestIntermediatesDir)\
- <__NativeTestIntermediatesDir Condition="'$(__NativeTestIntermediatesDir)' == ''">$([System.IO.Path]::GetFullPath($(BaseOutputPathWithConfig)..\..\coreclr\obj\$(TargetOS).$(TargetArchitecture).$(Configuration)\Native\))
- $(MSBuildProjectName)\
- $([System.String]::Copy('$(MSBuildProjectDirectory)').Replace($(TestSourceDir),''))\$(MSBuildProjectName)
- $(BaseIntermediateOutputPath)$(BuildProjectRelativeDir)\
- $(BaseOutputPathWithConfig)$(BuildProjectRelativeDir)\
- true
-
-
-
-
- true
- false
- false
-
- 78,162,164,168,169,219,251,252,414,429,642,649,652,675,1691,1717,1718,3001,3002,3003,3005,3008
- false
- true
- Test
- false
- false
- false
- false
-
-
-
-
-
-
-
-
-
-
-
- true
- win-$(TargetArchitecture)
-
-
-
-
- true
- true
- ubuntu.14.04-$(TargetArchitecture)
-
-
-
-
- true
- true
- osx.10.12-$(TargetArchitecture)
-
-
-
-
- true
- true
- ubuntu.14.04-$(TargetArchitecture)
-
-
-
-
- true
- true
- ubuntu.14.04-$(TargetArchitecture)
-
-
-
-
- true
- true
- ubuntu.14.04-$(TargetArchitecture)
-
-
-
-
- true
- true
- ubuntu.14.04-$(TargetArchitecture)
-
-
-
-
-
-
- 32
- 64
- 64
-
-
-
- $(__RuntimeId)
- $(TestNugetRuntimeId)
-
-
-
-
- $(TargetRid)
- $(TargetRid)
-
-
-
- true
- C#
- F#
- IL
-
-
-
-
- true
-
-
-
-
- 2
-
-
-
- $(MSBuildProjectDirectory)\obj
-
-
- $(NetCoreAppCurrentTargetFrameworkMoniker)
- $(NetCoreAppCurrent)
-
-
diff --git a/src/coreclr/tests/src/Directory.Build.targets b/src/coreclr/tests/src/Directory.Build.targets
deleted file mode 100644
index cecb142e7a1c4..0000000000000
--- a/src/coreclr/tests/src/Directory.Build.targets
+++ /dev/null
@@ -1,253 +0,0 @@
-
-
-
- SharedLibrary
- BuildAndRun
- 0
-
-
-
-
-
-
- <_CLRTestCompilesSource>true
- <_CLRTestNeedsToRun>false
- false
- <_CLRTestBuildsExecutable>false
-
-
-
-
- true
- <_CLRTestNeedsToRun>true
- <_CLRTestCompilesSource>true
- <_CLRTestBuildsExecutable>true
-
-
-
-
- <_CLRTestNeedsToRun>false
- false
- <_CLRTestCompilesSource>true
- <_CLRTestBuildsExecutable>true
-
-
-
-
- true
- true
- <_CLRTestBuildsExecutable>false
- <_CLRTestNeedsToRun>true
- <_CLRTestCompilesSource>false
-
-
-
-
-
- <_CLRTestNeedsProjectToRun>false
- <_CLRTestNeedsProjectToRun Condition=" '$(_CLRTestNeedsToRun)' and '!$(_CLRTestBuildsExecutable)' ">true
-
-
-
-
- None
-
-
-
-
-
- false
-
-
-
-
-
-
-
- false
- <_WillCLRTestProjectBuild Condition="'$(_WillCLRTestProjectBuild)' == ''">false
- <_WillCLRTestProjectBuild Condition="'$(BuildAllProjects)' != 'true'">true
- <_WillCLRTestProjectBuild Condition="'$(BuildAllProjects)' == 'true' And '$(CLRTestPriority)' <= '$(CLRTestPriorityToBuild)'">true
- <_WillCLRTestProjectBuild Condition="'$(CLRTestBuildAllTargets)' != 'allTargets' And '$(CLRTestTargetUnsupported)' == 'true'">false
- <_WillCLRTestProjectBuild Condition="'$(DisableProjectBuild)' == 'true'">false
-
-
- <_CopyNativeProjectBinaries>$(CopyNativeProjectBinaries)
- <_CopyNativeProjectBinaries Condition="'$(_WillCLRTestProjectBuild)' != 'true'">false
- <_CopyNativeProjectBinaries Condition="'$(_CopyNativeProjectBinaries)' == ''">true
-
-
-
-
-
-
-
-
-
-
-
-
- true
-
-
-
-
-
- IL
- CSharp
-
- true
- true
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- false
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- $(RepoRoot)src\tests\Common\test_dependencies\obj\project.assets.json
-
-
-
-
-
-
-
- true
-
-
-
- true
- Release
-
-
-
-
-
-
-
diff --git a/src/coreclr/tests/src/CLRTest.CrossGen.targets b/src/tests/Common/CLRTest.CrossGen.targets
similarity index 100%
rename from src/coreclr/tests/src/CLRTest.CrossGen.targets
rename to src/tests/Common/CLRTest.CrossGen.targets
diff --git a/src/coreclr/tests/src/CLRTest.Execute.Bash.targets b/src/tests/Common/CLRTest.Execute.Bash.targets
similarity index 100%
rename from src/coreclr/tests/src/CLRTest.Execute.Bash.targets
rename to src/tests/Common/CLRTest.Execute.Bash.targets
diff --git a/src/coreclr/tests/src/CLRTest.Execute.Batch.targets b/src/tests/Common/CLRTest.Execute.Batch.targets
similarity index 100%
rename from src/coreclr/tests/src/CLRTest.Execute.Batch.targets
rename to src/tests/Common/CLRTest.Execute.Batch.targets
diff --git a/src/coreclr/tests/src/CLRTest.Execute.targets b/src/tests/Common/CLRTest.Execute.targets
similarity index 100%
rename from src/coreclr/tests/src/CLRTest.Execute.targets
rename to src/tests/Common/CLRTest.Execute.targets
diff --git a/src/coreclr/tests/src/CLRTest.GC.targets b/src/tests/Common/CLRTest.GC.targets
similarity index 100%
rename from src/coreclr/tests/src/CLRTest.GC.targets
rename to src/tests/Common/CLRTest.GC.targets
diff --git a/src/coreclr/tests/src/CLRTest.Jit.targets b/src/tests/Common/CLRTest.Jit.targets
similarity index 100%
rename from src/coreclr/tests/src/CLRTest.Jit.targets
rename to src/tests/Common/CLRTest.Jit.targets
diff --git a/src/coreclr/tests/src/CLRTest.MockHosting.targets b/src/tests/Common/CLRTest.MockHosting.targets
similarity index 88%
rename from src/coreclr/tests/src/CLRTest.MockHosting.targets
rename to src/tests/Common/CLRTest.MockHosting.targets
index 7553310c8ecda..4521f9c71320d 100644
--- a/src/coreclr/tests/src/CLRTest.MockHosting.targets
+++ b/src/tests/Common/CLRTest.MockHosting.targets
@@ -8,7 +8,7 @@ This file contains the logic for correctly hooking up a mock hostpolicy to a tes
-->
-
+
diff --git a/src/tests/Common/Directory.Build.props b/src/tests/Common/Directory.Build.props
new file mode 100644
index 0000000000000..99bbac2cdaa72
--- /dev/null
+++ b/src/tests/Common/Directory.Build.props
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/src/coreclr/tests/src/dirs.proj b/src/tests/Common/dirs.proj
similarity index 98%
rename from src/coreclr/tests/src/dirs.proj
rename to src/tests/Common/dirs.proj
index 89e01721d5e0f..5e16d3078450e 100644
--- a/src/coreclr/tests/src/dirs.proj
+++ b/src/tests/Common/dirs.proj
@@ -120,7 +120,7 @@
-
+
diff --git a/src/coreclr/tests/src/nobuild.targets b/src/tests/Common/nobuild.targets
similarity index 100%
rename from src/coreclr/tests/src/nobuild.targets
rename to src/tests/Common/nobuild.targets
diff --git a/src/coreclr/tests/src/runonly.targets b/src/tests/Common/runonly.targets
similarity index 100%
rename from src/coreclr/tests/src/runonly.targets
rename to src/tests/Common/runonly.targets
diff --git a/src/coreclr/tests/src/xunitconsolerunner.depproj b/src/tests/Common/xunitconsolerunner.depproj
similarity index 100%
rename from src/coreclr/tests/src/xunitconsolerunner.depproj
rename to src/tests/Common/xunitconsolerunner.depproj
diff --git a/src/tests/Directory.Build.props b/src/tests/Directory.Build.props
index ef648b8bcb612..a6e8657405ca9 100644
--- a/src/tests/Directory.Build.props
+++ b/src/tests/Directory.Build.props
@@ -1,4 +1,163 @@
-
+
+
+
+
+
+ true
+ false
+ full
+ $(DefineConstants);DEBUG;TRACE;XUNIT_PERF
+
+
+ true
+ true
+ pdbonly
+ $(DefineConstants);TRACE;XUNIT_PERF
+
+
+ true
+ true
+ full
+ $(DefineConstants);DEBUG;TRACE;XUNIT_PERF
+
+
+
+
+ $(RepoRoot)\artifacts\tests\coreclr
+ $(__TestRootDir)
+ $(BaseOutputPath)\$(OSPlatformConfig)\
+ $(BaseOutputPathWithConfig)
+ $(RepoRoot)\artifacts\tests\coreclr\obj\$(OSPlatformConfig)\Managed\
+ $(__ManagedTestIntermediatesDir)\
+ <__NativeTestIntermediatesDir Condition="'$(__NativeTestIntermediatesDir)' == ''">$([System.IO.Path]::GetFullPath($(BaseOutputPathWithConfig)..\..\coreclr\obj\$(TargetOS).$(TargetArchitecture).$(Configuration)\Native\))
+ $(MSBuildProjectName)\
+ $([System.String]::Copy('$(MSBuildProjectDirectory)').Replace($(TestSourceDir),''))\$(MSBuildProjectName)
+ $(BaseIntermediateOutputPath)$(BuildProjectRelativeDir)\
+ $(BaseOutputPathWithConfig)$(BuildProjectRelativeDir)\
+ true
+
+
+
+
+ true
+ false
+ false
+
+ 78,162,164,168,169,219,251,252,414,429,642,649,652,675,1691,1717,1718,3001,3002,3003,3005,3008
+ false
+ true
+ Test
+ false
+ false
+ false
+ false
+
+
+
+
+
+
+
+
+
+
+
+ true
+ win-$(TargetArchitecture)
+
+
+
+
+ true
+ true
+ ubuntu.14.04-$(TargetArchitecture)
+
+
+
+
+ true
+ true
+ osx.10.12-$(TargetArchitecture)
+
+
+
+
+ true
+ true
+ ubuntu.14.04-$(TargetArchitecture)
+
+
+
+
+ true
+ true
+ ubuntu.14.04-$(TargetArchitecture)
+
+
+
+
+ true
+ true
+ ubuntu.14.04-$(TargetArchitecture)
+
+
+
+
+ true
+ true
+ ubuntu.14.04-$(TargetArchitecture)
+
+
+
+
+
+
+ 32
+ 64
+ 64
+
+
+
+ $(__RuntimeId)
+ $(TestNugetRuntimeId)
+
+
+
+
+ $(TargetRid)
+ $(TargetRid)
+
+
+
+ true
+ C#
+ F#
+ IL
+
+
+
+
+ true
+
+
+
+
+ 2
+
+
+
+ $(MSBuildProjectDirectory)\obj
+
+
+ $(NetCoreAppCurrentTargetFrameworkMoniker)
+ $(NetCoreAppCurrent)
+
diff --git a/src/tests/Directory.Build.targets b/src/tests/Directory.Build.targets
index 22c231b85c6fc..3b655cc29d1e0 100644
--- a/src/tests/Directory.Build.targets
+++ b/src/tests/Directory.Build.targets
@@ -1,4 +1,387 @@
-
+
+
+
+
+
+ SharedLibrary
+ BuildAndRun
+ 0
+
+
+
+
+
+
+ <_CLRTestCompilesSource>true
+ <_CLRTestNeedsToRun>false
+ false
+ <_CLRTestBuildsExecutable>false
+
+
+
+
+ true
+ <_CLRTestNeedsToRun>true
+ <_CLRTestCompilesSource>true
+ <_CLRTestBuildsExecutable>true
+
+
+
+
+ <_CLRTestNeedsToRun>false
+ false
+ <_CLRTestCompilesSource>true
+ <_CLRTestBuildsExecutable>true
+
+
+
+
+ true
+ true
+ <_CLRTestBuildsExecutable>false
+ <_CLRTestNeedsToRun>true
+ <_CLRTestCompilesSource>false
+
+
+
+
+
+ <_CLRTestNeedsProjectToRun>false
+ <_CLRTestNeedsProjectToRun Condition=" '$(_CLRTestNeedsToRun)' and '!$(_CLRTestBuildsExecutable)' ">true
+
+
+
+
+ None
+
+
+
+
+
+ false
+
+
+
+
+
+
+
+ false
+ <_WillCLRTestProjectBuild Condition="'$(_WillCLRTestProjectBuild)' == ''">false
+ <_WillCLRTestProjectBuild Condition="'$(BuildAllProjects)' != 'true'">true
+ <_WillCLRTestProjectBuild Condition="'$(BuildAllProjects)' == 'true' And '$(CLRTestPriority)' <= '$(CLRTestPriorityToBuild)'">true
+ <_WillCLRTestProjectBuild Condition="'$(CLRTestBuildAllTargets)' != 'allTargets' And '$(CLRTestTargetUnsupported)' == 'true'">false
+ <_WillCLRTestProjectBuild Condition="'$(DisableProjectBuild)' == 'true'">false
+
+
+ <_CopyNativeProjectBinaries>$(CopyNativeProjectBinaries)
+ <_CopyNativeProjectBinaries Condition="'$(_WillCLRTestProjectBuild)' != 'true'">false
+ <_CopyNativeProjectBinaries Condition="'$(_CopyNativeProjectBinaries)' == ''">true
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+
+
+
+
+
+ IL
+ CSharp
+
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ false
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ $(RepoRoot)src\tests\Common\test_dependencies\obj\project.assets.json
+
+
+
+
+
+
+
+ true
+
+
+
+ true
+ Release
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ %(Identity)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ True
+
+
+
+
+
+
+
+ True
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/tests/build.proj b/src/tests/build.proj
index f24e07b40e54c..aea172e287743 100644
--- a/src/tests/build.proj
+++ b/src/tests/build.proj
@@ -3,7 +3,7 @@
-
+