From: Jarret Shook Date: Sat, 25 Aug 2018 04:19:58 +0000 (-0700) Subject: Use runtest.py to run tests for all platforms (dotnet/coreclr#19213) X-Git-Tag: submit/tizen/20210909.063632~11030^2~4057 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=5a02c9ca127fe60504a169a7c9679dae12fb2b46;p=platform%2Fupstream%2Fdotnet%2Fruntime.git Use runtest.py to run tests for all platforms (dotnet/coreclr#19213) Change build-test.sh to always build the xunit wrappers. Before it would drop a token and check the existence of the token. Unify x64 linux/OSX/Windows excludes into one file, issues.targets. Includes different locations in the file which show where to put excludes. Remove all target specific aspects of issues.targets, all tests are excluded now via wildcard, this allows expanding to .cmd and .sh based on the built platform. Unify path separators to forward slash(/) in issues.targets to support both platforms Clean up issues.targets by removing long standing exclude tests, specifically tests that have been excluded due to missing features like rva_statics. Add DisableProjectBuild to tests which have been removed from issues.targets Conditionally add DisableProjectBuild to tests which have been marked as unsupported on unix. This is mostly a port of the unsupportedOnUnix.txt list. Instead of excluding the tests, unix will simply not build them. If tests are built on windows, they will be run but they will return pass, the test wrapper will check return instantly. All exclusions ported to issues.targets for linux targets. Expand runtest.py, this includes simple issues that made it past the original CR. In addition it adds more optional features to help with inner loop dev work such as: creating a repro folder under bin/repro/.. which sets up the env and calls the failing test. In addition a launch.json will now be created under bin/repro/.. which can be used to easily debug using vscode. More logging, such as printing failures, longest running tests ect. Initial excludes ported for arm64 windows Arm64 linux, armhf unix excludes and enables running runtest.sh for these targets. arm64 windows and arm32 windows excludes and enables running runtest.cmd on arm64 targets init-tools.sh changes to pull armhf and aarch64 dotnetcli init-tools.cmd changes to pull x86 packages for dotnetcli for arm64 windows runtest.cmd for almost all scenarios will call runtest.py runtest.sh for almsot all scenarios will call runtest.py Removes all logic for running tests using runtest.sh Commit migrated from https://github.com/dotnet/coreclr/commit/b34f2bfee8ca2c5f5508f4d58f5b79dc616dcccc --- diff --git a/docs/coreclr/building/test-configuration.md b/docs/coreclr/building/test-configuration.md index 14fbb4e3d6c..d799bfdaad6 100644 --- a/docs/coreclr/building/test-configuration.md +++ b/docs/coreclr/building/test-configuration.md @@ -39,15 +39,17 @@ Test cases are categorized by priority level. The most important subset should b ``` * Disable building of a test by conditionally setting the `` property. * e.g. `true` +* Exclude test from GCStress runs by adding the following to the csproj: + * `true` +* Exclude test from JIT stress runs runs by adding the following to the csproj: + * `true` * Add NuGet/MyGet references by updating the following [test project](https://github.com/dotnet/coreclr/blob/master/tests/src/Common/test_dependencies/test_dependencies.csproj). * Build against the `mscorlib` facade by adding `true` to the test project. * Update relevent exclusion lists: - * Note that there are two build pipelines Jenkin's CI and nightly Helix - both must be updated for expected exclusion. - * Jenkin's CI build - see the associated `*.txt` files under `tests/` (e.g. `tests/testsUnsupportedOutsideWindows.txt`). - * Official nightly Helix build - see the `tests/issues.targets` file. - * ARM/ARM64 - * `tests/arm/Tests.lst` and `tests/arm64/Tests.lst` are used to define the tests to run due to limitations with XUnit. - * These files can be manually edited or the generated using `tests/scripts/lst_creator.py`. + There are currently three different exclude lists. Tests.lst is currently only used by CI. + - `tests/issues.targets` + - `tests/arm/Tests.lst` - Used by Windows arm32 testing + - `tests/arm64/Tests.lst` - Used by Windows arm64 testing ### Creating a C# test project diff --git a/docs/coreclr/building/unix-test-instructions.md b/docs/coreclr/building/unix-test-instructions.md index 89fead7aa68..9b0190c4a05 100644 --- a/docs/coreclr/building/unix-test-instructions.md +++ b/docs/coreclr/building/unix-test-instructions.md @@ -81,50 +81,15 @@ sudo apt-get install libunwind8:armhf libunwind8-dev:armhf libicu-dev:armhf libl The following instructions assume that on the Unix machine: - The CoreCLR repo is cloned at `/mnt/coreclr` -If DotNet is unsupported -- The CoreFX repo is cloned at `/mnt/corefx` -- The other platform's clone of the CoreCLR repo is mounted at `/media/coreclr` - -The following steps are different if DotNet is supported or not on your arch and os. - -### DotNet is supported - -build-test.sh will have setup the Core_Root directory correctly after the test build. If this was either skipped or needs to be regenerated use: - ->`build-test.sh generatelayoutonly` - -To run the tests run with the --coreOverlayDir path +build-test.sh will have setup the Core_Root directory correctly after the test build. ```bash -~/coreclr$ tests/runtest.sh - --testRootDir=/mnt/coreclr/bin/tests/Linux.x64.Debug - --testNativeBinDir=/mnt/coreclr/bin/obj/Linux.x64.Debug/tests - --coreOverlayDir=/mnt/coreclr/bin/tests/Linux.x64.Debug/Tests/Core_Root - --copyNativeTestBin +~/coreclr$ tests/runtest.sh x64 checked ``` -### DotNet is not supported - -Tests need to be built on another platform and copied over to the Unix machine for testing. Copy the test build over to the Unix machine: - -> `cp --recursive /media/coreclr/bin/tests/Windows_NT.x64.Debug /mnt/test/` - -See `runtest.sh` usage information: - -> `/mnt/coreclr$ tests/runtest.sh --help` - -Run tests (`Debug` may be replaced with `Release` or `Checked`, depending on which Configuration you've built): +Please use the following command for help. -```bash -/mnt/coreclr$ tests/runtest.sh - --testRootDir=/mnt/test/Windows_NT.x64.Debug - --testNativeBinDir=/mnt/coreclr/bin/obj/Linux.x64.Debug/tests - --coreClrBinDir=/mnt/coreclr/bin/Product/Linux.x64.Debug - --mscorlibDir=/mnt/coreclr/bin/Product/Linux.x64.Debug - --coreFxBinDir=/mnt/corefx/bin/runtime/netcoreapp-Linux-Debug-x64 -``` - -The method above will copy dependencies from the set of directories provided to create an 'overlay' directory. +>./tests/runtest.sh -h ### Results @@ -134,13 +99,21 @@ Test results will go into: ### Unsupported and temporarily disabled tests -These tests are skipped by default: -- Tests that are not supported outside Windows, are listed in: - > `~/coreclr/tests/testsUnsupportedOutsideWindows.txt` -- Tests that are temporarily disabled outside Windows due to unexpected failures (pending investigation), are listed in: - > `~/coreclr/tests/testsFailingOutsideWindows.txt` +Unsupported tests outside of Windows have two annotations in their csproj to +ignore them when run. + +``` +true +``` + +This will write in the bash target to skip the test by returning a passing value if run outside Windows. + +In addition: +``` +true +``` -To run only the set of temporarily disabled tests, pass in the `--runFailingTestsOnly` argument to `runtest.sh`. +Is used to disable the build, that way if building on unix cycles are saved building/running. PAL tests --------- diff --git a/docs/coreclr/building/windows-test-instructions.md b/docs/coreclr/building/windows-test-instructions.md index 631f036da92..de422ed5716 100644 --- a/docs/coreclr/building/windows-test-instructions.md +++ b/docs/coreclr/building/windows-test-instructions.md @@ -21,9 +21,9 @@ This will use `crossgen.exe` to precompile the test executables before they are ## Building Other Priority Tests - C:\git\coreclr>build-test.cmd -priority=2 + C:\git\coreclr>build-test.cmd -priority=1 -The number '2' is just an example. The default value (if no priority is specified) is 0. To clarify, if '2' is specified, all tests with CLRTestPriorty 0, 1 **and** 2 will be built and consequently run. +The number '1' is just an example. The default value (if no priority is specified) is 0. To clarify, if '1' is specified, all tests with CLRTestPriorty 0 **and** 1 will be built and consequently run. ## Examples @@ -35,7 +35,7 @@ To run a clean, priority 1, crossgen test pass: ### Building Individual Tests -Note: buildtest.cmd or build.cmd skipnative skipmscorlib needs to be run atleast once +Note: build-test.cmd or build.cmd skipnative needs to be run atleast once * Native Test: Build the generated Visual Studio solution or make file corresponding to Test cmake file. @@ -47,7 +47,7 @@ Note: buildtest.cmd or build.cmd skipnative skipmscorlib needs to be run atleast For example to run all of the tests using your checked build: - \tests\runtest.cmd -checked + \tests\runtest.cmd checked This will generate a report named as `TestRun__.html` (e.g. `TestRun_Windows_NT__x64__Checked.html`) in the subdirectory `\bin\Logs`. Any tests that failed will be listed in `TestRunResults_Windows_NT__x64__Checked.err`. diff --git a/src/coreclr/build-test.sh b/src/coreclr/build-test.sh index b8b2955f97f..c2428f5f65c 100755 --- a/src/coreclr/build-test.sh +++ b/src/coreclr/build-test.sh @@ -289,22 +289,18 @@ build_Tests() if [ $__BuildTestWrappers -ne -0 ]; then echo "${__MsgPrefix}Creating test wrappers..." - __XUnitWrapperBuiltMarker=${__TestBinDir}/xunit_wrapper_build + # Always create the test wrappers and set the exclude file. + export __Exclude="$__TestDir/issues.targets" + echo "Exclude set to $__TestDir/issues.targets" + build_Tests_internal "Tests_XunitWrapper" "$__ProjectDir/tests/runtest.proj" "Test Xunit Wrapper" "-BuildWrappers" "-MsBuildEventLogging= " "-TargetsWindows=false" - if [ ! -f $__XUnitWrapperBuiltMarker ]; then - - build_MSBuild_projects "Tests_XunitWrapper" "$__ProjectDir/tests/runtest.proj" "Test Xunit Wrapper" "-BuildWrappers" "-MsBuildEventLogging= " "-TargetsWindows=false" - - if [ $? -ne 0 ]; then - echo "${__MsgPrefix}Error: build failed. Refer to the build log files for details (above)" - exit 1 - else - echo "XUnit Wrappers have been built." - echo "Create marker \"${__XUnitWrapperBuiltMarker}\"" - touch $__XUnitWrapperBuiltMarker - fi + if [ $? -ne 0 ]; then + echo "${__MsgPrefix}Error: build failed. Refer to the build log files for details (above)" + exit 1 else - echo "XUnit Wrappers had been built before." + echo "XUnit Wrappers have been built." + echo "Create marker \"${__XUnitWrapperBuiltMarker}\"" + touch $__XUnitWrapperBuiltMarker fi fi diff --git a/src/coreclr/init-tools.cmd b/src/coreclr/init-tools.cmd index 305fe49d5f6..90a0315e349 100644 --- a/src/coreclr/init-tools.cmd +++ b/src/coreclr/init-tools.cmd @@ -47,9 +47,33 @@ echo Running %0 > "%INIT_TOOLS_LOG%" set /p DOTNET_VERSION=< "%~dp0DotnetCLIVersion.txt" if exist "%DOTNET_CMD%" goto :afterdotnetrestore +REM Use x86 tools on arm64 and x86. +REM arm32 host is not currently supported, please crossbuild. +if /i "%PROCESSOR_ARCHITECTURE%" == "arm" ( + echo "Error, arm32 arch not supported for build tools." + exit /b 1 +) + +if /i "%PROCESSOR_ARCHITECTURE%" == "amd64" ( + set _Arch="x64" + goto ArchSet +) + +REM If this is not amd64 and not arm, then we should be running on arm64 or x86 +REM either way we can (and should) use the x86 dotnet cli +REM +REM TODO: consume native arm64 toolset, blocked by official arm64 windows cli +REM : release. See https://github.com/dotnet/coreclr/issues/19614 for more +REM : information +set _Arch="x86" + +echo "init-tools.cmd: Setting arch to %_Arch% for build tools" + +:ArchSet + echo Installing dotnet cli... if NOT exist "%DOTNET_PATH%" mkdir "%DOTNET_PATH%" -set DOTNET_ZIP_NAME=dotnet-sdk-%DOTNET_VERSION%-win-x64.zip +set DOTNET_ZIP_NAME=dotnet-sdk-%DOTNET_VERSION%-win-%_Arch%.zip set DOTNET_REMOTE_PATH=https://dotnetcli.azureedge.net/dotnet/Sdk/%DOTNET_VERSION%/%DOTNET_ZIP_NAME% set DOTNET_LOCAL_PATH=%DOTNET_PATH%%DOTNET_ZIP_NAME% echo Installing '%DOTNET_REMOTE_PATH%' to '%DOTNET_LOCAL_PATH%' >> "%INIT_TOOLS_LOG%" diff --git a/src/coreclr/init-tools.sh b/src/coreclr/init-tools.sh index f9c0054eb8e..f62ccb8cf20 100755 --- a/src/coreclr/init-tools.sh +++ b/src/coreclr/init-tools.sh @@ -71,7 +71,17 @@ if [ ! -e "$__DOTNET_PATH" ]; then echo "Warning: build not supported on 32 bit Unix" fi - __PKG_ARCH=x64 + if [ "$(uname -m)" = "armhf" ] || [ "$(uname -m)" = "arm64" ] || [ "$(uname -m)" = "aarch64" ]; then + if [ "$(uname -m)" = "armhf" ]; then + __PKG_ARCH=arm + fi + + if [ "$(uname -m)" = "arm64" ] || [ "$(uname -m)" = "aarch64" ]; then + __PKG_ARCH=arm64 + fi + else + __PKG_ARCH=x64 + fi OSName=$(uname -s) case $OSName in @@ -171,26 +181,30 @@ if [ -n "${DotNetBootstrapCliTarPath-}" ]; then unset ILASMCOMPILER_VERSION fi -echo "Initializing BuildTools..." -echo "Running: $__BUILD_TOOLS_PATH/init-tools.sh $__scriptpath $__DOTNET_CMD $__TOOLRUNTIME_DIR $__PACKAGES_DIR" >> "$__init_tools_log" - -# Executables restored with .NET Core 2.0 do not have executable permission flags. https://github.com/NuGet/Home/issues/4424 -chmod +x "$__BUILD_TOOLS_PATH/init-tools.sh" -"$__BUILD_TOOLS_PATH/init-tools.sh" "$__scriptpath" "$__DOTNET_CMD" "$__TOOLRUNTIME_DIR" "$__PACKAGES_DIR" >> "$__init_tools_log" -if [ "$?" != "0" ]; then - echo "ERROR: An error occurred when trying to initialize the tools." 1>&2 - display_error_message - exit 1 -fi - -echo "Making all .sh files executable under Tools." -# Executables restored with .NET Core 2.0 do not have executable permission flags. https://github.com/NuGet/Home/issues/4424 -ls "$__scriptpath/Tools/"*.sh | xargs chmod +x -ls "$__scriptpath/Tools/scripts/docker/"*.sh | xargs chmod +x +# Build tools only supported on x64 +if [ "${__PKG_ARCH}" != "x64" ] && [ "${__PKG_ARCH}" != "arm" ]; then + echo "Skipped installing build tools." +else + echo "Initializing BuildTools..." + echo "Running: $__BUILD_TOOLS_PATH/init-tools.sh $__scriptpath $__DOTNET_CMD $__TOOLRUNTIME_DIR $__PACKAGES_DIR" >> "$__init_tools_log" + + # Executables restored with .NET Core 2.0 do not have executable permission flags. https://github.com/NuGet/Home/issues/4424 + chmod +x "$__BUILD_TOOLS_PATH/init-tools.sh" + "$__BUILD_TOOLS_PATH/init-tools.sh" "$__scriptpath" "$__DOTNET_CMD" "$__TOOLRUNTIME_DIR" "$__PACKAGES_DIR" >> "$__init_tools_log" + if [ "$?" != "0" ]; then + echo "ERROR: An error occurred when trying to initialize the tools." 1>&2 + display_error_message + exit 1 + fi -"$__scriptpath/Tools/crossgen.sh" "$__scriptpath/Tools" $__PKG_RID + echo "Making all .sh files executable under Tools." + # Executables restored with .NET Core 2.0 do not have executable permission flags. https://github.com/NuGet/Home/issues/4424 + ls "$__scriptpath/Tools/"*.sh | xargs chmod +x + ls "$__scriptpath/Tools/scripts/docker/"*.sh | xargs chmod +x -mkdir -p "$(dirname "$__BUILD_TOOLS_SEMAPHORE")" && touch "$__BUILD_TOOLS_SEMAPHORE" + "$__scriptpath/Tools/crossgen.sh" "$__scriptpath/Tools" $__PKG_RID -echo "Done initializing tools." + mkdir -p "$(dirname "$__BUILD_TOOLS_SEMAPHORE")" && touch "$__BUILD_TOOLS_SEMAPHORE" + echo "Done initializing tools." +fi diff --git a/src/coreclr/tests/arm/Tests.lst b/src/coreclr/tests/arm/Tests.lst index b18febd2cac..a1b00baa9e8 100644 --- a/src/coreclr/tests/arm/Tests.lst +++ b/src/coreclr/tests/arm/Tests.lst @@ -53204,14 +53204,6 @@ MaxAllowedDurationSeconds=600 Categories=EXPECTED_PASS;Pri1 HostStyle=0 -[b12011.cmd_6691] -RelativePath=JIT\Regression\VS-ia64-JIT\V1.2-M02\b12011\b12011\b12011.cmd -WorkingDir=JIT\Regression\VS-ia64-JIT\V1.2-M02\b12011\b12011 -Expected=0 -MaxAllowedDurationSeconds=600 -Categories=EXPECTED_PASS -HostStyle=0 - [FlowControlNext.cmd_6692] RelativePath=CoreMangLib\cti\system\reflection\emit\flowcontrol\FlowControlNext\FlowControlNext.cmd WorkingDir=CoreMangLib\cti\system\reflection\emit\flowcontrol\FlowControlNext diff --git a/src/coreclr/tests/arm64/Tests.lst b/src/coreclr/tests/arm64/Tests.lst index 2c7f403d63d..ffbdf2c6422 100644 --- a/src/coreclr/tests/arm64/Tests.lst +++ b/src/coreclr/tests/arm64/Tests.lst @@ -70244,14 +70244,6 @@ MaxAllowedDurationSeconds=600 Categories=JIT;EXPECTED_PASS HostStyle=0 -[b12011.cmd_9160] -RelativePath=JIT\Regression\VS-ia64-JIT\V1.2-M02\b12011\b12011\b12011.cmd -WorkingDir=JIT\Regression\VS-ia64-JIT\V1.2-M02\b12011\b12011 -Expected=0 -MaxAllowedDurationSeconds=600 -Categories=EXPECTED_PASS -HostStyle=0 - [b14355.cmd_9161] RelativePath=JIT\Regression\VS-ia64-JIT\V1.2-M02\b14355\b14355\b14355.cmd WorkingDir=JIT\Regression\VS-ia64-JIT\V1.2-M02\b14355\b14355 diff --git a/src/coreclr/tests/bringup_runtest.sh b/src/coreclr/tests/bringup_runtest.sh new file mode 100755 index 00000000000..a4631a72c93 --- /dev/null +++ b/src/coreclr/tests/bringup_runtest.sh @@ -0,0 +1,1517 @@ +#!/usr/bin/env bash + +function print_usage { + echo '' + echo 'CoreCLR test runner script.' + echo '' + echo 'Typical command line:' + echo '' + echo 'coreclr/tests/runtest.sh' + echo ' --testRootDir="temp/Windows_NT.x64.Debug"' + echo ' --testNativeBinDir="coreclr/bin/obj/Linux.x64.Debug/tests"' + echo ' --coreOverlayDir="coreclr/bin/tests/Linux.x64.Debug/Tests/Core_Root"' + echo ' --copyNativeTestBin' + echo '' + echo 'Required arguments:' + echo ' --testRootDir= : Root directory of the test build (e.g. coreclr/bin/tests/Windows_NT.x64.Debug).' + echo ' --testNativeBinDir= : Directory of the native CoreCLR test build (e.g. coreclr/bin/obj/Linux.x64.Debug/tests).' + echo ' (Also required: Either --coreOverlayDir, or all of the switches --coreOverlayDir overrides)' + echo '' + echo 'Optional arguments:' + echo ' --coreOverlayDir= : Directory containing core binaries and test dependencies. If not specified, the' + echo ' default is testRootDir/Tests/coreoverlay. This switch overrides --coreClrBinDir,' + echo ' --mscorlibDir, and --coreFxBinDir.' + echo ' --coreClrBinDir= : Directory of the CoreCLR build (e.g. coreclr/bin/Product/Linux.x64.Debug).' + echo ' --mscorlibDir= : Directory containing the built mscorlib.dll. If not specified, it is expected to be' + echo ' in the directory specified by --coreClrBinDir.' + echo ' --coreFxBinDir="" : Directory with CoreFX build outputs' + echo ' (e.g. "corefx/bin/runtime/netcoreapp-Linux-Debug-x64")' + echo ' If files with the same name are present in multiple directories, the first one wins.' + echo ' --testDir= : Run tests only in the specified directory. The path is relative to the directory' + echo ' specified by --testRootDir. Multiple of this switch may be specified.' + echo ' --testDirFile= : Run tests only in the directories specified by the file at . Paths are listed' + echo ' one line, relative to the directory specified by --testRootDir.' + echo ' --build-overlay-only : Build coreoverlay only, and skip running tests.' + echo ' --runFailingTestsOnly : Run only the tests that are disabled on this platform due to unexpected failures.' + echo ' Failing tests are listed in coreclr/tests/failingTestsOutsideWindows.txt, one per' + echo ' line, as paths to .sh files relative to the directory specified by --testRootDir.' + echo ' --disableEventLogging : Disable the events logged by both VM and Managed Code' + echo ' --sequential : Run tests sequentially (default is to run in parallel).' + echo ' --playlist= : Run only the tests that are specified in the file at , in the same format as' + echo ' runFailingTestsOnly' + echo ' -v, --verbose : Show output from each test.' + echo ' -h|--help : Show usage information.' + echo ' --useServerGC : Enable server GC for this test run' + echo ' --test-env : Script to set environment variables for tests' + echo ' --copyNativeTestBin : Explicitly copy native test components into the test dir' + echo ' --crossgen : Precompiles the framework managed assemblies' + echo ' --runcrossgentests : Runs the ready to run tests' + echo ' --jitstress= : Runs the tests with COMPlus_JitStress=n' + echo ' --jitstressregs= : Runs the tests with COMPlus_JitStressRegs=n' + echo ' --jitminopts : Runs the tests with COMPlus_JITMinOpts=1' + echo ' --jitforcerelocs : Runs the tests with COMPlus_ForceRelocs=1' + echo ' --jitdisasm : Runs jit-dasm on the tests' + echo ' --gcstresslevel= : Runs the tests with COMPlus_GCStress=n' + echo ' --gcname= : Runs the tests with COMPlus_GCName=n' + echo ' --ilasmroundtrip : Runs ilasm round trip on the tests' + echo ' 0: None 1: GC on all allocs and '"'easy'"' places' + echo ' 2: GC on transitions to preemptive GC 4: GC on every allowable JITed instr' + echo ' 8: GC on every allowable NGEN instr 16: GC only on a unique stack trace' + echo ' --long-gc : Runs the long GC tests' + echo ' --gcsimulator : Runs the GCSimulator tests' + echo ' --tieredcompilation : Runs the tests with COMPlus_TieredCompilation=1' + echo ' --link : Runs the tests after linking via ILlink' + echo ' --show-time : Print execution sequence and running time for each test' + echo ' --no-lf-conversion : Do not execute LF conversion before running test script' + echo ' --limitedDumpGeneration : Enables the generation of a limited number of core dumps if test(s) crash, even if ulimit' + echo ' is zero when launching this script. This option is intended for use in CI.' + echo ' --xunitOutputPath= : Create xUnit XML report at the specifed path (default: /coreclrtests.xml)' + echo '' + echo 'CoreFX Test Options ' + echo ' --corefxtests : Runs CoreFX tests' + echo ' --corefxtestsall : Runs all available CoreFX tests' + echo ' --corefxtestlist= : Runs the CoreFX tests specified in the passed list' + echo ' --testHostDir= : Directory containing a built test host including core binaries, test dependencies' + echo ' and a dotnet executable' + echo '' + echo 'Runtime Code Coverage options:' + echo ' --coreclr-coverage : Optional argument to get coreclr code coverage reports' + echo ' --coreclr-objs= : Location of root of the object directory' + echo ' containing the linux/mac coreclr build' + echo ' --coreclr-src= : Location of root of the directory' + echo ' containing the coreclr source files' + echo ' --coverage-output-dir= : Directory where coverage output will be written to' + echo '' +} + +function print_results { + echo "" + echo "=======================" + echo " Test Results" + echo "=======================" + echo "# CoreCLR Bin Dir : $coreClrBinDir" + echo "# Tests Discovered : $countTotalTests" + echo "# Passed : $countPassedTests" + echo "# Failed : $countFailedTests" + echo "# Skipped : $countSkippedTests" + echo "=======================" +} + +# Initialize counters for bookkeeping. +countTotalTests=0 +countPassedTests=0 +countFailedTests=0 +countSkippedTests=0 + +# Variables for xUnit-style XML output. XML format: https://xunit.github.io/docs/format-xml-v2.html +xunitOutputPath= +xunitTestOutputPath= + +# Variables for text file output. These can be passed back to runtest.sh using the "--playlist" argument +# to rerun specific tests. +testsPassOutputPath= +testsFailOutputPath= +testsSkipOutputPath= + +# libExtension determines extension for dynamic library files +# runtimeName determines where CoreFX Runtime files will be located +OSName=$(uname -s) +libExtension= +case $OSName in + Darwin) + libExtension="dylib" + ;; + + Linux) + libExtension="so" + ;; + + NetBSD) + libExtension="so" + ;; + + *) + echo "Unsupported OS $OSName detected, configuring as if for Linux" + libExtension="so" + ;; +esac + +function xunit_output_begin { + if [ -z "$xunitOutputPath" ]; then + xunitOutputPath=$testRootDir/coreclrtests.xml + fi + if ! [ -e $(basename "$xunitOutputPath") ]; then + xunitOutputPath=$testRootDir/coreclrtests.xml + fi + xunitTestOutputPath=${xunitOutputPath}.test + if [ -e "$xunitOutputPath" ]; then + rm -f -r "$xunitOutputPath" + fi + if [ -e "$xunitTestOutputPath" ]; then + rm -f -r "$xunitTestOutputPath" + fi +} + +function xunit_output_add_test { + # + # + # + # + + local scriptFilePath=$1 + local outputFilePath=$2 + local testResult=$3 # Pass, Fail, or Skip + local testScriptExitCode=$4 + local testRunningTime=$5 + + local testPath=${scriptFilePath%.sh} # Remove trailing ".sh" + local testDir=$(dirname "$testPath") + local testName=$(basename "$testPath") + + # Replace '/' with '.' + testPath=$(echo "$testPath" | tr / .) + testDir=$(echo "$testDir" | tr / .) + + local line + + line=" " + line="${line}>"$xunitTestOutputPath" + return + fi + + line="${line}>" + echo "$line" >>"$xunitTestOutputPath" + + line=" " + if [ "$testResult" == "Skip" ]; then + line="${line}" + echo "$line" >>"$xunitTestOutputPath" + else + line="${line}" + echo "$line" >>"$xunitTestOutputPath" + + line=" " + line="${line}" + echo "$line" >>"$xunitTestOutputPath" + line=" " + line="${line}>"$xunitTestOutputPath" + cat "$outputFilePath" >>"$xunitTestOutputPath" + line=" " + line="${line}]]>" + echo "$line" >>"$xunitTestOutputPath" + line=" " + line="${line}" + echo "$line" >>"$xunitTestOutputPath" + + line=" " + line="${line}" + echo "$line" >>"$xunitTestOutputPath" + fi + + line=" " + line="${line}" + echo "$line" >>"$xunitTestOutputPath" +} + +function xunit_output_end { + local errorSource=$1 + local errorMessage=$2 + + local errorCount + if [ -z "$errorSource" ]; then + ((errorCount = 0)) + else + ((errorCount = 1)) + fi + + echo '' >>"$xunitOutputPath" + echo '' >>"$xunitOutputPath" + + local line + + # + line=" " + line="${line}>"$xunitOutputPath" + + # + line=" " + line="${line}>"$xunitOutputPath" + + # ... + if [ -f "$xunitTestOutputPath" ]; then + cat "$xunitTestOutputPath" >>"$xunitOutputPath" + rm -f "$xunitTestOutputPath" + fi + + # + line=" " + line="${line}" + echo "$line" >>"$xunitOutputPath" + + if [ -n "$errorSource" ]; then + # + line=" " + line="${line}" + echo "$line" >>"$xunitOutputPath" + + # + line=" " + line="${line}>"$xunitOutputPath" + + # + line=" " + line="${line}${errorMessage}" + echo "$line" >>"$xunitOutputPath" + + # + line=" " + line="${line}" + echo "$line" >>"$xunitOutputPath" + + # + line=" " + line="${line}" + echo "$line" >>"$xunitOutputPath" + fi + + # + line=" " + line="${line}" + echo "$line" >>"$xunitOutputPath" + + # + echo '' >>"$xunitOutputPath" +} + +function text_file_output_begin { + if [ -z "$testsPassOutputPath" ]; then + testsPassOutputPath=$testRootDir/coreclrtests.pass.txt + fi + if ! [ -e $(basename "$testsPassOutputPath") ]; then + testsPassOutputPath=$testRootDir/coreclrtests.pass.txt + fi + if [ -e "$testsPassOutputPath" ]; then + rm -f "$testsPassOutputPath" + fi + if [ -z "$testsFailOutputPath" ]; then + testsFailOutputPath=$testRootDir/coreclrtests.fail.txt + fi + if ! [ -e $(basename "$testsFailOutputPath") ]; then + testsFailOutputPath=$testRootDir/coreclrtests.fail.txt + fi + if [ -e "$testsFailOutputPath" ]; then + rm -f "$testsFailOutputPath" + fi + if [ -z "$testsSkipOutputPath" ]; then + testsSkipOutputPath=$testRootDir/coreclrtests.skip.txt + fi + if ! [ -e $(basename "$testsSkipOutputPath") ]; then + testsSkipOutputPath=$testRootDir/coreclrtests.skip.txt + fi + if [ -e "$testsSkipOutputPath" ]; then + rm -f "$testsSkipOutputPath" + fi +} + +function text_file_output_add_test { + local scriptFilePath=$1 + local testResult=$2 # Pass, Fail, or Skip + + if [ "$testResult" == "Pass" ]; then + echo "$scriptFilePath" >>"$testsPassOutputPath" + elif [ "$testResult" == "Skip" ]; then + echo "$scriptFilePath" >>"$testsSkipOutputPath" + else + echo "$scriptFilePath" >>"$testsFailOutputPath" + fi +} + +function exit_with_error { + local errorSource=$1 + local errorMessage=$2 + local printUsage=$3 + + if [ -z "$printUsage" ]; then + ((printUsage = 0)) + fi + + echo "$errorMessage" + xunit_output_end "$errorSource" "$errorMessage" + if ((printUsage != 0)); then + print_usage + fi + exit $EXIT_CODE_EXCEPTION +} + +# Handle Ctrl-C. We will stop execution and print the results that +# we gathered so far. +function handle_ctrl_c { + local errorSource='handle_ctrl_c' + + echo "" + echo "*** Stopping... ***" + print_results + exit_with_error "$errorSource" "Test run aborted by Ctrl+C." +} + +# Register the Ctrl-C handler +trap handle_ctrl_c INT + +function create_core_overlay { + local errorSource='create_core_overlay' + local printUsage=1 + + if [ -n "$coreOverlayDir" ]; then + export CORE_ROOT="$coreOverlayDir" + + if [ -n "$copyNativeTestBin" ]; then + copy_test_native_bin_to_test_root $coreOverlayDir + fi + + return + fi + + # Check inputs to make sure we have enough information to create the core layout. $testRootDir/Tests/Core_Root should + # already exist and contain test dependencies that are not built. + local testDependenciesDir=$testRootDir/Tests/Core_Root + if [ ! -d "$testDependenciesDir" ]; then + exit_with_error "$errorSource" "Did not find the test dependencies directory: $testDependenciesDir" + fi + if [ -z "$coreClrBinDir" ]; then + exit_with_error "$errorSource" "One of --coreOverlayDir or --coreClrBinDir must be specified." "$printUsage" + fi + if [ ! -d "$coreClrBinDir" ]; then + exit_with_error "$errorSource" "Directory specified by --coreClrBinDir does not exist: $coreClrBinDir" + fi + + # Create the overlay + coreOverlayDir=$testRootDir/Tests/coreoverlay + export CORE_ROOT="$coreOverlayDir" + if [ -e "$coreOverlayDir" ]; then + rm -f -r "$coreOverlayDir" + fi + mkdir "$coreOverlayDir" + + cp -f -v "$coreFxBinDir/"* "$coreOverlayDir/" 2>/dev/null + cp -f -p -v "$coreClrBinDir/"* "$coreOverlayDir/" 2>/dev/null + if [ -d "$mscorlibDir/bin" ]; then + cp -f -v "$mscorlibDir/bin/"* "$coreOverlayDir/" 2>/dev/null + fi + cp -f -v "$testDependenciesDir/"xunit* "$coreOverlayDir/" 2>/dev/null + cp -n -v "$testDependenciesDir/"* "$coreOverlayDir/" 2>/dev/null + if [ -f "$coreOverlayDir/mscorlib.ni.dll" ]; then + # Test dependencies come from a Windows build, and mscorlib.ni.dll would be the one from Windows + rm -f "$coreOverlayDir/mscorlib.ni.dll" + fi + if [ -f "$coreOverlayDir/System.Private.CoreLib.ni.dll" ]; then + # Test dependencies come from a Windows build, and System.Private.CoreLib.ni.dll would be the one from Windows + rm -f "$coreOverlayDir/System.Private.CoreLib.ni.dll" + fi + copy_test_native_bin_to_test_root $coreOverlayDir +} + +function create_testhost +{ + if [ ! -d "$testHostDir" ]; then + exit_with_error "$errorSource" "Did not find the test host directory: $testHostDir" + fi + + # Initialize test variables + local buildToolsDir=$coreClrSrc/Tools + local dotnetExe=$buildToolsDir/dotnetcli/dotnet + local coreClrSrcTestDir=$coreClrSrc/tests + + if [ -z $coreClrBinDir ]; then + local coreClrBinDir=${coreClrSrc}/bin + export __CoreFXTestDir=${coreClrSrc}/bin/tests/CoreFX + else + export __CoreFXTestDir=${coreClrBinDir}/tests/CoreFX + fi + + local coreFXTestSetupUtilityName=CoreFX.TestUtils.TestFileSetup + local coreFXTestSetupUtility="${coreClrSrcTestDir}/src/Common/CoreFX/TestFileSetup/${coreFXTestSetupUtilityName}.csproj" + local coreFXTestSetupUtilityOutputPath=${__CoreFXTestDir}/TestUtilities + local coreFXTestBinariesOutputPath=${__CoreFXTestDir}/tests_downloaded + + if [ -z $CoreFXTestList]; then + local CoreFXTestList="${coreClrSrcTestDir}/CoreFX/CoreFX.issues.json" + fi + + case "${OSName}" in + # Check if we're running under OSX + Darwin) + local coreFXTestRemoteURL=$(<${coreClrSrcTestDir}/CoreFX/CoreFXTestListURL_OSX.txt) + local coreFXTestExclusionDef=nonosxtests + ;; + # Default to Linux + *) + local coreFXTestRemoteURL=$(<${coreClrSrcTestDir}/CoreFX/CoreFXTestListURL_Linux.txt) + local coreFXTestExclusionDef=nonlinuxtests + ;; + esac + + local coreFXTestExecutable=xunit.console.netcore.exe + local coreFXLogDir=${coreClrBinDir}/Logs/CoreFX/ + local coreFXTestExecutableArgs="--notrait category=nonnetcoreapptests --notrait category=${coreFXTestExclusionDef} --notrait category=failing --notrait category=IgnoreForCI --notrait category=OuterLoop --notrait Benchmark=true" + + chmod +x ${dotnetExe} + resetCommandArgs=("msbuild /t:Restore ${coreFXTestSetupUtility}") + echo "${dotnetExe} $resetCommandArgs" + "${dotnetExe}" $resetCommandArgs + + buildCommandArgs=("msbuild ${coreFXTestSetupUtility} /p:OutputPath=${coreFXTestSetupUtilityOutputPath} /p:Platform=${_arch} /p:Configuration=Release") + echo "${dotnetExe} $buildCommandArgs" + "${dotnetExe}" $buildCommandArgs + + if [ "${RunCoreFXTestsAll}" == "1" ]; then + local coreFXRunCommand=--runAllTests + else + local coreFXRunCommand=--runSpecifiedTests + fi + + local buildTestSetupUtilArgs=("${coreFXTestSetupUtilityOutputPath}/${coreFXTestSetupUtilityName}.dll --clean --outputDirectory ${coreFXTestBinariesOutputPath} --testListJsonPath ${CoreFXTestList} ${coreFXRunCommand} --dotnetPath ${testHostDir}/dotnet --testUrl ${coreFXTestRemoteURL} --executable ${coreFXTestExecutable} --log ${coreFXLogDir} ${coreFXTestExecutableArgs}") + echo "${dotnetExe} $buildTestSetupUtilArgs" + "${dotnetExe}" $buildTestSetupUtilArgs + + local exitCode=$? + if [ $exitCode != 0 ]; then + echo Running CoreFX tests finished with failures + else + echo Running CoreFX tests finished successfully + fi + + echo Check ${coreFXLogDir} for test run logs + + exit ${exitCode} +} + +declare -a skipCrossGenFiles + +function is_skip_crossgen_test { + for skip in "${skipCrossGenFiles[@]}"; do + if [ "$1" == "$skip" ]; then + return 0 + fi + done + return 1 +} + +function precompile_overlay_assemblies { + skipCrossGenFiles=($(read_array "$(dirname "$0")/skipCrossGenFiles.$ARCH.txt")) + + if [ $doCrossgen == 1 ]; then + local overlayDir=$CORE_ROOT + + filesToPrecompile=$(find -L $overlayDir -iname \*.dll -not -iname \*.ni.dll -not -iname \*-ms-win-\* -type f ) + for fileToPrecompile in ${filesToPrecompile} + do + local filename=${fileToPrecompile} + if [ $jitdisasm == 1 ]; then + $overlayDir/corerun $overlayDir/jit-dasm.dll --crossgen $overlayDir/crossgen --platform $overlayDir --output $testRootDir/dasm $filename + local exitCode=$? + if [ $exitCode != 0 ]; then + echo Unable to generate dasm for $filename + fi + else + if is_skip_crossgen_test "$(basename $filename)"; then + continue + fi + echo Precompiling $filename + $overlayDir/crossgen /Platform_Assemblies_Paths $overlayDir $filename 1> $filename.stdout 2>$filename.stderr + local exitCode=$? + if [[ $exitCode != 0 ]]; then + if grep -q -e '0x80131018' $filename.stderr; then + printf "\n\t$filename is not a managed assembly.\n\n" + else + echo Unable to precompile $filename. + cat $filename.stdout + cat $filename.stderr + exit $exitCode + fi + else + rm $filename.{stdout,stderr} + fi + fi + done + else + echo Skipping crossgen of FX assemblies. + fi +} + +function copy_test_native_bin_to_test_root { + local errorSource='copy_test_native_bin_to_test_root' + local coreRootDir=$1 + + if [ -z "$testNativeBinDir" ]; then + exit_with_error "$errorSource" "--testNativeBinDir is required." + fi + testNativeBinDir=$testNativeBinDir/src + if [ ! -d "$testNativeBinDir" ]; then + exit_with_error "$errorSource" "Directory specified by --testNativeBinDir does not exist: $testNativeBinDir" + fi + + # Copy native test components from the native test build into the respective test directory in the test root directory + find "$testNativeBinDir" -type f -iname "*.$libExtension" | + while IFS='' read -r filePath || [ -n "$filePath" ]; do + local dirPath=$(dirname "$filePath") + cp -f "$filePath" "$coreRootDir" + done +} + +# Variables for unsupported and failing tests +declare -a unsupportedTests +declare -a failingTests +declare -a playlistTests +((runFailingTestsOnly = 0)) + +# Get an array of items by reading the specified file line by line. +function read_array { + local theArray=() + + if [ ! -f "$1" ]; then + return + fi + + # bash in Mac OS X doesn't support 'readarray', so using alternate way instead. + # readarray -t theArray < "$1" + # Any line that starts with '#' is ignored. + while IFS='' read -r line || [ -n "$line" ]; do + if [[ $line != "#"* ]]; then + theArray[${#theArray[@]}]=$line + fi + done < "$1" + echo ${theArray[@]} +} + +function load_unsupported_tests { + # Load the list of tests that are not supported on this platform. These tests are disabled (skipped) permanently. + unsupportedTests=($(read_array "$(dirname "$0")/testsUnsupportedOutsideWindows.txt")) + unsupportedTests+=($(read_array "$(dirname "$0")/testsUnsupported.$ARCH.txt")) +} + +function load_failing_tests { + # Load the list of tests that fail on this platform. These tests are disabled (skipped) temporarily, pending investigation. + failingTests=($(read_array "$(dirname "$0")/testsFailingOutsideWindows.txt")) + failingTests+=($(read_array "$(dirname "$0")/testsFailing.$ARCH.txt")) +} + +function load_playlist_tests { + # Load the list of tests that are enabled as a part of this test playlist. + playlistTests=($(read_array "${playlistFile}")) +} + +function is_unsupported_test { + for unsupportedTest in "${unsupportedTests[@]}"; do + if [ "$1" == "$unsupportedTest" ]; then + return 0 + fi + done + return 1 +} + +function is_failing_test { + for failingTest in "${failingTests[@]}"; do + if [ "$1" == "$failingTest" ]; then + return 0 + fi + done + return 1 +} + +function is_playlist_test { + for playlistTest in "${playlistTests[@]}"; do + if [ "$1" == "$playlistTest" ]; then + return 0 + fi + done + return 1 +} + +function skip_unsupported_test { + # This function runs in a background process. It should not echo anything, and should not use global variables. This + # function is analogous to run_test, and causes the test to be skipped with the message below. + + local scriptFilePath=$1 + local outputFilePath=$2 + + echo "Not supported on this platform." >"$outputFilePath" + return 2 # skip the test +} + +function skip_failing_test { + # This function runs in a background process. It should not echo anything, and should not use global variables. This + # function is analogous to run_test, and causes the test to be skipped with the message below. + + local scriptFilePath=$1 + local outputFilePath=$2 + + echo "Temporarily disabled on this platform due to unexpected failures." >"$outputFilePath" + return 2 # skip the test +} + +function skip_non_playlist_test { + # This function runs in a background process. It should not echo anything, and should not use global variables. This + # function is analogous to run_test, and causes the test to be skipped with the message below. + + local scriptFilePath=$1 + local outputFilePath=$2 + + echo "Test is not included in the running playlist." >"$outputFilePath" + return 2 # skip the test +} + +function set_up_core_dump_generation { + # We will only enable dump generation here if we're on Mac or Linux + if [[ ! ( "$(uname -s)" == "Darwin" || "$(uname -s)" == "Linux" ) ]]; then + return + fi + + # We won't enable dump generation on OS X/macOS if the machine hasn't been + # configured with the kern.corefile pattern we expect. + if [[ ( "$(uname -s)" == "Darwin" && "$(sysctl -n kern.corefile)" != "core.%P" ) ]]; then + echo "WARNING: Core dump generation not being enabled due to unexpected kern.corefile value." + return + fi + + # Allow dump generation + ulimit -c unlimited + + if [ "$(uname -s)" == "Linux" ]; then + if [ -e /proc/self/coredump_filter ]; then + # Include memory in private and shared file-backed mappings in the dump. + # This ensures that we can see disassembly from our shared libraries when + # inspecting the contents of the dump. See 'man core' for details. + echo 0x3F > /proc/self/coredump_filter + fi + fi +} + +function print_info_from_core_file { + + #### temporary + if [ "$ARCH" == "arm64" ]; then + echo "Not inspecting core dumps on arm64 at the moment." + return + fi + #### + + local core_file_name=$1 + local executable_name=$2 + + if ! [ -e $executable_name ]; then + echo "Unable to find executable $executable_name" + return + elif ! [ -e $core_file_name ]; then + echo "Unable to find core file $core_file_name" + return + fi + + # Use LLDB to inspect the core dump on Mac, and GDB everywhere else. + if [[ "$OSName" == "Darwin" ]]; then + hash lldb 2>/dev/null || { echo >&2 "LLDB was not found. Unable to print core file."; return; } + + echo "Printing info from core file $core_file_name" + lldb -c $core_file_name -b -o 'bt' + else + # Use GDB to print the backtrace from the core file. + hash gdb 2>/dev/null || { echo >&2 "GDB was not found. Unable to print core file."; return; } + + echo "Printing info from core file $core_file_name" + gdb --batch -ex "thread apply all bt full" -ex "quit" $executable_name $core_file_name + fi +} + +function download_dumpling_script { + echo "Downloading latest version of dumpling script." + wget "https://dumpling.azurewebsites.net/api/client/dumpling.py" + + local dumpling_script="dumpling.py" + chmod +x $dumpling_script +} + +function upload_core_file_to_dumpling { + local core_file_name=$1 + local dumpling_script="dumpling.py" + local dumpling_file="local_dumplings.txt" + + # dumpling requires that the file exist before appending. + touch ./$dumpling_file + + if [ ! -x $dumpling_script ]; then + download_dumpling_script + fi + + if [ ! -x $dumpling_script ]; then + echo "Failed to download dumpling script. Dump cannot be uploaded." + return + fi + + echo "Uploading $core_file_name to dumpling service." + + local paths_to_add="" + if [ -d "$coreClrBinDir" ]; then + echo "Uploading CoreCLR binaries with dump." + paths_to_add=$coreClrBinDir + fi + + # Ensure the script has Unix line endings + perl -pi -e 's/\r\n|\n|\r/\n/g' "$dumpling_script" + + # The output from this will include a unique ID for this dump. + ./$dumpling_script "upload" "--dumppath" "$core_file_name" "--incpaths" $paths_to_add "--properties" "Project=CoreCLR" "--squelch" | tee -a $dumpling_file +} + +function preserve_core_file { + local core_file_name=$1 + local storage_location="/tmp/coredumps_coreclr" + + # Create the directory (this shouldn't fail even if it already exists). + mkdir -p $storage_location + + # Only preserve the dump if the directory is empty. Otherwise, do nothing. + # This is a way to prevent us from storing/uploading too many dumps. + if [ ! "$(ls -A $storage_location)" ]; then + echo "Copying core file $core_file_name to $storage_location" + cp $core_file_name $storage_location + + upload_core_file_to_dumpling $core_file_name + fi +} + +function inspect_and_delete_core_files { + # This function prints some basic information from core files in the current + # directory and deletes them immediately. Based on the state of the system, it may + # also upload a core file to the dumpling service. + # (see preserve_core_file). + + # Depending on distro/configuration, the core files may either be named "core" + # or "core." by default. We will read /proc/sys/kernel/core_uses_pid to + # determine which one it is. + # On OS X/macOS, we checked the kern.corefile value before enabling core dump + # generation, so we know it always includes the PID. + local core_name_uses_pid=0 + if [[ (( -e /proc/sys/kernel/core_uses_pid ) && ( "1" == $(cat /proc/sys/kernel/core_uses_pid) )) + || ( "$(uname -s)" == "Darwin" ) ]]; then + core_name_uses_pid=1 + fi + + if [ $core_name_uses_pid == "1" ]; then + # We don't know what the PID of the process was, so let's look at all core + # files whose name matches core.NUMBER + for f in core.*; do + [[ $f =~ core.[0-9]+ ]] && print_info_from_core_file "$f" $CORE_ROOT/"corerun" && preserve_core_file "$f" && rm "$f" + done + elif [ -f core ]; then + print_info_from_core_file "core" $CORE_ROOT/"corerun" + preserve_core_file "core" + rm "core" + fi +} + +function run_test { + # This function runs in a background process. It should not echo anything, and should not use global variables. + + local scriptFilePath=$1 + local outputFilePath=$2 + + # Switch to directory where the script is + cd "$(dirname "$scriptFilePath")" + + local scriptFileName=$(basename "$scriptFilePath") + local outputFileName=$(basename "$outputFilePath") + + if [ "$limitedCoreDumps" == "ON" ]; then + set_up_core_dump_generation + fi + + "./$scriptFileName" >"$outputFileName" 2>&1 + local testScriptExitCode=$? + + # We will try to print some information from generated core dumps if a debugger + # is available, and possibly store a dump in a non-transient location. + if [ "$limitedCoreDumps" == "ON" ]; then + inspect_and_delete_core_files + fi + + return $testScriptExitCode +} + +# Variables for running tests in the background +if [ `uname` = "NetBSD" ]; then + NumProc=$(getconf NPROCESSORS_ONLN) +elif [ `uname` = "Darwin" ]; then + NumProc=$(getconf _NPROCESSORS_ONLN) +else + if [ -x "$(command -v nproc)" ]; then + NumProc=$(nproc --all) + elif [ -x "$(command -v getconf)" ]; then + NumProc=$(getconf _NPROCESSORS_ONLN) + else + NumProc=1 + fi +fi +((maxProcesses = $NumProc * 3 / 2)) # long tests delay process creation, use a few more processors + +((processCount = 0)) +declare -a scriptFilePaths +declare -a outputFilePaths +declare -a processIds +declare -a testStartTimes +waitProcessIndex= +pidNone=0 + +function waitany { + local pid + local exitcode + while true; do + for (( i=0; i<$maxProcesses; i++ )); do + pid=${processIds[$i]} + if [ -z "$pid" ] || [ "$pid" == "$pidNone" ]; then + continue + fi + if ! kill -0 $pid 2>/dev/null; then + wait $pid + exitcode=$? + waitProcessIndex=$i + processIds[$i]=$pidNone + return $exitcode + fi + done + sleep 0.1 + done +} + +function get_available_process_index { + local pid + local i=0 + for (( i=0; i<$maxProcesses; i++ )); do + pid=${processIds[$i]} + if [ -z "$pid" ] || [ "$pid" == "$pidNone" ]; then + break + fi + done + echo $i +} + +function finish_test { + waitany + local testScriptExitCode=$? + local finishedProcessIndex=$waitProcessIndex + ((--processCount)) + + local scriptFilePath=${scriptFilePaths[$finishedProcessIndex]} + local outputFilePath=${outputFilePaths[$finishedProcessIndex]} + local scriptFileName=$(basename "$scriptFilePath") + + local testEndTime= + local testRunningTime= + local header= + + if ((verbose == 1)); then + header=$(printf "[%4d]" $countTotalTests) + fi + + if [ "$showTime" == "ON" ]; then + testEndTime=$(date +%s) + testRunningTime=$(( $testEndTime - ${testStartTimes[$finishedProcessIndex]} )) + header=$header$(printf "[%4ds]" $testRunningTime) + fi + + local testResult + case $testScriptExitCode in + 0) + let countPassedTests++ + testResult='Pass' + if ((verbose == 1 || runFailingTestsOnly == 1)); then + echo "PASSED - ${header}${scriptFilePath}" + else + echo " - ${header}${scriptFilePath}" + fi + ;; + 2) + let countSkippedTests++ + testResult='Skip' + echo "SKIPPED - ${header}${scriptFilePath}" + ;; + *) + let countFailedTests++ + testResult='Fail' + echo "FAILED - ${header}${scriptFilePath}" + ;; + esac + let countTotalTests++ + + if ((verbose == 1 || testScriptExitCode != 0)); then + while IFS='' read -r line || [ -n "$line" ]; do + echo " $line" + done <"$outputFilePath" + fi + + xunit_output_add_test "$scriptFilePath" "$outputFilePath" "$testResult" "$testScriptExitCode" "$testRunningTime" + text_file_output_add_test "$scriptFilePath" "$testResult" +} + +function finish_remaining_tests { + # Finish the remaining tests in the order in which they were started + while ((processCount > 0)); do + finish_test + done +} + +function prep_test { + local scriptFilePath=$1 + local scriptFileDir=$(dirname "$scriptFilePath") + + test "$verbose" == 1 && echo "Preparing $scriptFilePath" + + if [ ! "$noLFConversion" == "ON" ]; then + # Convert DOS line endings to Unix if needed + perl -pi -e 's/\r\n|\n|\r/\n/g' "$scriptFilePath" + fi + + # Add executable file mode bit if needed + chmod +x "$scriptFilePath" + + #remove any NI and Locks + rm -f $scriptFileDir/*.ni.* + rm -rf $scriptFileDir/lock +} + +function start_test { + local nextProcessIndex=$(get_available_process_index) + local scriptFilePath=$1 + if ((runFailingTestsOnly == 1)) && ! is_failing_test "$scriptFilePath"; then + return + fi + + # Skip any test that's not in the current playlist, if a playlist was + # given to us. + if [ -n "$playlistFile" ] && ! is_playlist_test "$scriptFilePath"; then + return + fi + + if ((nextProcessIndex == maxProcesses)); then + finish_test + nextProcessIndex=$(get_available_process_index) + fi + + scriptFilePaths[$nextProcessIndex]=$scriptFilePath + local scriptFileName=$(basename "$scriptFilePath") + local outputFilePath=$(dirname "$scriptFilePath")/${scriptFileName}.out + outputFilePaths[$nextProcessIndex]=$outputFilePath + + if [ "$showTime" == "ON" ]; then + testStartTimes[$nextProcessIndex]=$(date +%s) + fi + + test "$verbose" == 1 && echo "Starting $scriptFilePath" + if is_unsupported_test "$scriptFilePath"; then + skip_unsupported_test "$scriptFilePath" "$outputFilePath" & + elif ((runFailingTestsOnly == 0)) && is_failing_test "$scriptFilePath"; then + skip_failing_test "$scriptFilePath" "$outputFilePath" & + else + run_test "$scriptFilePath" "$outputFilePath" & + fi + processIds[$nextProcessIndex]=$! + + ((++processCount)) +} + +# Get a list of directories in which to scan for tests by reading the +# specified file line by line. +function set_test_directories { + local errorSource='set_test_directories' + + local listFileName=$1 + + if [ ! -f "$listFileName" ] + then + exit_with_error "$errorSource" "Test directories file not found at $listFileName" + fi + testDirectories=($(read_array "$listFileName")) +} + +function run_tests_in_directory { + local testDir=$1 + + # Recursively search through directories for .sh files to prepare them. + # Note: This needs to occur before any test runs as some of the .sh files + # depend on other .sh files + for scriptFilePath in $(find "$testDir" -type f -iname '*.sh' | sort) + do + prep_test "${scriptFilePath:2}" + done + echo "The tests have been prepared" + # Recursively search through directories for .sh files to run. + for scriptFilePath in $(find "$testDir" -type f -iname '*.sh' | sort) + do + start_test "${scriptFilePath:2}" + done +} + +function coreclr_code_coverage { + local coverageDir="$coverageOutputDir/Coverage" + local toolsDir="$coverageOutputDir/Coverage/tools" + local reportsDir="$coverageOutputDir/Coverage/reports" + local packageName="unix-code-coverage-tools.1.0.0.nupkg" + + rm -rf $coverageDir + mkdir -p $coverageDir + mkdir -p $toolsDir + mkdir -p $reportsDir + pushd $toolsDir > /dev/null + + echo "Pulling down code coverage tools" + wget -q https://www.myget.org/F/dotnet-buildtools/api/v2/package/unix-code-coverage-tools/1.0.0 -O $packageName + echo "Unzipping to $toolsDir" + unzip -q -o $packageName + + # Invoke gcovr + chmod a+rwx ./gcovr + chmod a+rwx ./$OSName/llvm-cov + + echo + echo "Generating coreclr code coverage reports at $reportsDir/coreclr.html" + echo "./gcovr $coreClrObjs --gcov-executable=$toolsDir/$OS/llvm-cov -r $coreClrSrc --html --html-details -o $reportsDir/coreclr.html" + echo + ./gcovr $coreClrObjs --gcov-executable=$toolsDir/$OSName/llvm-cov -r $coreClrSrc --html --html-details -o $reportsDir/coreclr.html + exitCode=$? + popd > /dev/null + exit $exitCode +} + +function check_cpu_architecture { + local CPUName=$(uname -m) + local __arch= + + case $CPUName in + i686) + __arch=x86 + ;; + x86_64) + __arch=x64 + ;; + armv7l) + __arch=arm + ;; + aarch64) + __arch=arm64 + ;; + *) + echo "Unknown CPU $CPUName detected, configuring as if for x64" + __arch=x64 + ;; + esac + + echo "$__arch" +} + +ARCH=$(check_cpu_architecture) +echo "Running on CPU- $ARCH" + +# Exit code constants +readonly EXIT_CODE_SUCCESS=0 # Script ran normally. +readonly EXIT_CODE_EXCEPTION=1 # Script exited because something exceptional happened (e.g. bad arguments, Ctrl-C interrupt). +readonly EXIT_CODE_TEST_FAILURE=2 # Script completed successfully, but one or more tests failed. + +# Argument variables +testRootDir= +testNativeBinDir= +coreOverlayDir= +coreClrBinDir= +mscorlibDir= +coreFxBinDir= +coreClrObjs= +coreClrSrc= +coverageOutputDir= +testEnv= +playlistFile= +showTime= +noLFConversion= +buildOverlayOnly= +gcsimulator= +longgc= +limitedCoreDumps= +illinker= +((disableEventLogging = 0)) +((serverGC = 0)) + +# Handle arguments +verbose=0 +doCrossgen=0 +jitdisasm=0 +ilasmroundtrip= + +for i in "$@" +do + case $i in + -h|--help) + print_usage + exit $EXIT_CODE_SUCCESS + ;; + -v|--verbose) + verbose=1 + ;; + --crossgen) + doCrossgen=1 + ;; + --jitstress=*) + export COMPlus_JitStress=${i#*=} + ;; + --jitstressregs=*) + export COMPlus_JitStressRegs=${i#*=} + ;; + --jitminopts) + export COMPlus_JITMinOpts=1 + ;; + --copyNativeTestBin) + export copyNativeTestBin=1 + ;; + --jitforcerelocs) + export COMPlus_ForceRelocs=1 + ;; + --link=*) + export ILLINK=${i#*=} + export DoLink=true + ;; + --tieredcompilation) + export COMPlus_TieredCompilation=1 + ;; + --jitdisasm) + jitdisasm=1 + ;; + --ilasmroundtrip) + ((ilasmroundtrip = 1)) + ;; + --testRootDir=*) + testRootDir=${i#*=} + ;; + --testNativeBinDir=*) + testNativeBinDir=${i#*=} + ;; + --coreOverlayDir=*) + coreOverlayDir=${i#*=} + ;; + --coreClrBinDir=*) + coreClrBinDir=${i#*=} + ;; + --mscorlibDir=*) + mscorlibDir=${i#*=} + ;; + --coreFxBinDir=*) + coreFxBinDir=${i#*=} + ;; + --testDir=*) + testDirectories[${#testDirectories[@]}]=${i#*=} + ;; + --testDirFile=*) + set_test_directories "${i#*=}" + ;; + --runFailingTestsOnly) + ((runFailingTestsOnly = 1)) + ;; + --disableEventLogging) + ((disableEventLogging = 1)) + ;; + --runcrossgentests) + export RunCrossGen=1 + ;; + --corefxtests) + export RunCoreFXTests=1 + ;; + --corefxtestsall) + export RunCoreFXTests=1 + export RunCoreFXTestsAll=1 + ;; + --corefxtestlist) + export RunCoreFXTests=1 + export CoreFXTestList=${i#*=} + ;; + --testHostDir=*) + export testHostDir=${i#*=} + ;; + --sequential) + ((maxProcesses = 1)) + ;; + --useServerGC) + ((serverGC = 1)) + ;; + --long-gc) + ((longgc = 1)) + ;; + --gcsimulator) + ((gcsimulator = 1)) + ;; + --playlist=*) + playlistFile=${i#*=} + ;; + --coreclr-coverage) + CoreClrCoverage=ON + ;; + --coreclr-objs=*) + coreClrObjs=${i#*=} + ;; + --coreclr-src=*) + coreClrSrc=${i#*=} + ;; + --coverage-output-dir=*) + coverageOutputDir=${i#*=} + ;; + --test-env=*) + testEnv=${i#*=} + ;; + --gcstresslevel=*) + export COMPlus_GCStress=${i#*=} + ;; + --gcname=*) + export COMPlus_GCName=${i#*=} + ;; + --show-time) + showTime=ON + ;; + --no-lf-conversion) + noLFConversion=ON + ;; + --build-overlay-only) + buildOverlayOnly=ON + ;; + --limitedDumpGeneration) + limitedCoreDumps=ON + ;; + --xunitOutputPath=*) + xunitOutputPath=${i#*=} + ;; + *) + echo "Unknown switch: $i" + print_usage + exit $EXIT_CODE_SUCCESS + ;; + esac +done + +if [ -n "$coreOverlayDir" ] && [ "$buildOverlayOnly" == "ON" ]; then + echo "Can not use \'--coreOverlayDir=\' and \'--build-overlay-only\' at the same time." + exit $EXIT_CODE_EXCEPTION +fi + +if ((disableEventLogging == 0)); then + export COMPlus_EnableEventLog=1 +fi + +export COMPlus_gcServer="$serverGC" + +if [ "$RunCoreFXTests" == 1 ]; +then + if [ -z "$coreClrSrc" ] + then + echo "Coreclr src files are required to run CoreFX tests" + echo "Coreclr src files root path can be passed using '--coreclr-src' argument" + print_usage + exit $EXIT_CODE_EXCEPTION + fi + + if [ -z "$testHostDir" ]; then + echo "--testHostDir is required to run CoreFX tests" + print_usage + exit $EXIT_CODE_EXCEPTION + fi + + if [ ! -f "$testHostDir/dotnet" ]; then + echo "Executable dotnet not found in $testHostDir" + exit $EXIT_CODE_EXCEPTION + fi + + if [ ! -d "$testHostDir" ]; then + echo "Directory specified by --testHostDir does not exist: $testRootDir" + exit $EXIT_CODE_EXCEPTION + fi + + create_testhost + exit 0 +fi + +if [ -z "$testRootDir" ]; then + echo "--testRootDir is required." + print_usage + exit $EXIT_CODE_EXCEPTION +fi +if [ ! -d "$testRootDir" ]; then + echo "Directory specified by --testRootDir does not exist: $testRootDir" + exit $EXIT_CODE_EXCEPTION +fi + +# Copy native interop test libraries over to the mscorlib path in +# order for interop tests to run on linux. +if [ -z "$mscorlibDir" ]; then + mscorlibDir=$coreClrBinDir +fi + +if [ ! -z "$longgc" ]; then + echo "Running Long GC tests" + export RunningLongGCTests=1 +fi + +if [ ! -z "$gcsimulator" ]; then + echo "Running GC simulator tests" + export RunningGCSimulatorTests=1 +fi + +if [[ ! "$jitdisasm" -eq 0 ]]; then + echo "Running jit disasm" + export RunningJitDisasm=1 +fi + +if [ ! -z "$ilasmroundtrip" ]; then + echo "Running Ilasm round trip" + export RunningIlasmRoundTrip=1 +fi + +# If this is a coverage run, make sure the appropriate args have been passed +if [ "$CoreClrCoverage" == "ON" ] +then + echo "Code coverage is enabled for this run" + echo "" + if [ ! "$OSName" == "Darwin" ] && [ ! "$OSName" == "Linux" ] + then + echo "Code Coverage not supported on $OS" + exit 1 + fi + + if [ -z "$coreClrObjs" ] + then + echo "Coreclr obj files are required to generate code coverage reports" + echo "Coreclr obj files root path can be passed using '--coreclr-obj' argument" + exit 1 + fi + + if [ -z "$coreClrSrc" ] + then + echo "Coreclr src files are required to generate code coverage reports" + echo "Coreclr src files root path can be passed using '--coreclr-src' argument" + exit 1 + fi + + if [ -z "$coverageOutputDir" ] + then + echo "Output directory for coverage results must be specified" + echo "Output path can be specified '--coverage-output-dir' argument" + exit 1 + fi +fi + +xunit_output_begin +text_file_output_begin +create_core_overlay +precompile_overlay_assemblies + +if [ "$buildOverlayOnly" == "ON" ]; +then + echo "Build overlay directory '$coreOverlayDir' complete." + exit 0 +fi + +if [ -n "$playlistFile" ] +then + # Use a playlist file exclusively, if it was provided + echo "Executing playlist $playlistFile" + load_playlist_tests +else + load_unsupported_tests + load_failing_tests +fi + +# Other architectures are not supported yet. +if [ "$ARCH" == "x64" ] +then + scriptPath=$(dirname $0) + ${scriptPath}/setup-stress-dependencies.sh --outputDir=$coreOverlayDir +elif [ "$ARCH" != "arm64" ] && [ "$ARCH" != "arm" ]; then + echo "Skip preparing for GC stress test. Dependent package is not supported on this architecture." +fi + +export __TestEnv=$testEnv + +cd "$testRootDir" + +dumplingsListPath="$testRootDir/dumplings.txt" + +# clean up any existing dumpling remnants from previous runs. +rm -f "$dumplingsListPath" +find $testRootDir -type f -name "local_dumplings.txt" -exec rm {} \; + +time_start=$(date +"%s") +if [ -z "$testDirectories" ] +then + # No test directories were specified, so run everything in the current + # directory and its subdirectories. + run_tests_in_directory "." +else + # Otherwise, run all the tests in each specified test directory. + for testDir in "${testDirectories[@]}" + do + if [ ! -d "$testDir" ]; then + echo "Test directory does not exist: $testDir" + else + run_tests_in_directory "./$testDir" + fi + done +fi +finish_remaining_tests + +print_results + +find $testRootDir -type f -name "local_dumplings.txt" -exec cat {} \; > $dumplingsListPath + +if [ -s $dumplingsListPath ]; then + cat $dumplingsListPath +else + rm $dumplingsListPath +fi + +time_end=$(date +"%s") +time_diff=$(($time_end-$time_start)) +echo "$(($time_diff / 60)) minutes and $(($time_diff % 60)) seconds taken to run CoreCLR tests." + +xunit_output_end + +if [ "$CoreClrCoverage" == "ON" ] +then + coreclr_code_coverage +fi + +if ((countFailedTests > 0)); then + exit $EXIT_CODE_TEST_FAILURE +fi + +exit $EXIT_CODE_SUCCESS diff --git a/src/coreclr/tests/issues.targets b/src/coreclr/tests/issues.targets index aa379047df2..afae5fc1615 100644 --- a/src/coreclr/tests/issues.targets +++ b/src/coreclr/tests/issues.targets @@ -1,416 +1,636 @@ + - + 3392 - + 3392 - + 3392 - + 3392 - + 3392 - + 3392 - + 3392 - + 3392 - + 3392 - + 3392 - + 3392 - + 3392 - + 3392 - - 4851 + + 15353 - - 4851 + + 11408 - - 4851 + + + + + + 18381 - - 4851 + + Issue building native components for the test. - - 4849 + + + + + + needs triage - - 2451 + + needs triage - - 2451 + + needs triage + + + needs triage + + + needs triage - - 2451 + + needs triage + + + needs triage - - 2451 + + needs triage + + + needs triage - - 2451 + + needs triage - - 2451 + + needs triage - - 2451 + + needs triage - - 2451 + + needs triage - - 2451 + + needs triage - - 2451 + + needs triage - - 2451 + + needs triage - - 2451 + + needs triage - - 2451 + + needs triage - - 2451 + + - - 2451 + + times out - - 2451 + + needs triage - - 2451 + + needs triage - - 2451 + + needs triage - - 2451 + + times out - - 2451 + + times out - - 4851 + + needs triage - - 4851 + + times out - - 4851 + + times out - - 4851 + + needs triage - - 4851 + + times out - - 4851 + + times out - - 2434 + + needs triage - - 2441 + + times out - - 2441 + + times out - - 2441 + + needs triage - - 2441 + + times out - - 2444 + + times out - - 2444 + + times out - - 2444 + + times out - - 2444 + + + + + + 8648 - - 2445 + + needs triage - - 11408 + + needs triage + + + needs triage + + + needs triage - - 15353 + + needs triage + + + needs triage + + + needs triage + + + needs triage + + + needs triage + + + needs triage + + + 19441 - + + + + + 6707 - + 6707 - + 6707 - + 6707 - + 6707 - + 6707 - + 18056 - + Varargs supported on this platform - + Varargs supported on this platform 19164 - - - 19441 - - - - + + + 3392, test is useful to have because it can be run manually when making changes to the GC that can have effects in OOM scenarios, but not appropriate to run on our current test infrastructure. - + 3392, test is useful to have because it can be run manually when making changes to the GC that can have effects in OOM scenarios, but not appropriate to run on our current test infrastructure. - + 3392, test is useful to have because it can be run manually when making changes to the GC that can have effects in OOM scenarios, but not appropriate to run on our current test infrastructure. - + 3392, test is useful to have because it can be run manually when making changes to the GC that can have effects in OOM scenarios, but not appropriate to run on our current test infrastructure. - + 2420. x86 JIT doesn't support implicit tail call optimization or tail. call pop ret sequence - + 11469, The test causes OutOfMemory exception in crossgen mode. + + Varargs supported on this platform + + + Varargs supported on this platform + - + + + + 15016 + + + 15016 + + + 15016 + + + Uses illagal il tailcall pop ret + + + 9565 + + + 11534 + + + 10636 + + + 9565 + + + 9565 + + + 9565 + + + 9565 + + + 15494 + + + 9565 + + + 9565 + + + 9565 + + + 9565 + + + 9565 + + + 9565 + + + 9565 + + + 18895 + + + 9565 + + + 15494 + + + 15016 + + + 9565 + + + 9565 + + + - + 6217 - + 2420 - + + + + Varargs not supported on this platform + + + Varargs not supported on this platform + + + Varargs not supported on this platform + + + Varargs not supported on this platform + + + Varargs not supported on this platform + + + Varargs not supported on this platform + + + Varargs not supported on this platform + + + Varargs not supported on this platform + + + Varargs not supported on this platform + + + Varargs not supported on this platform + + + Issue building native components for the test. + + + Issue building native components for the test. + + + 15353 + + + 18381 + + + 18381 + + + Needs Triage + + + Needs Triage + + + Needs Triage + + + timeout + + + Needs Triage + + + + + + + Test times out + + + Test times out + + + Test times out + + + Test times out + + + Test times out + + - + + + + 19340 + + - - + + + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage @@ -418,1311 +638,1316 @@ - + needs triage - + 9314 - + 9314 - + 9314 - + 9314 - + 9314 - + 9314 + + + + Fails on Windows.Nano + - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + 3392 - + 3392 - + 3392 - + 3392 - + needs triage - + needs triage - + needs triage - + needs triage needs triage - + needs triage - + needs triage - + by design Windows only - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + needs triage - + by design Windows only @@ -1730,13 +1955,13 @@ - + By Test Infrastructure design - + Bug diff --git a/src/coreclr/tests/runtest.cmd b/src/coreclr/tests/runtest.cmd index fb19439527d..45e722f1e7b 100644 --- a/src/coreclr/tests/runtest.cmd +++ b/src/coreclr/tests/runtest.cmd @@ -41,6 +41,8 @@ set __CrossgenAltJit= set __PerfTests= set __CoreFXTests= set __CoreFXTestsRunAllAvailable= +set __SkipGenerateLayout= +set __BuildXUnitWrappers= :Arg_Loop if "%1" == "" goto ArgsDone @@ -78,6 +80,8 @@ if /i "%1" == "jitforcerelocs" (set COMPlus_ForceRelocs=1&shift&goto Arg_ if /i "%1" == "jitdisasm" (set __JitDisasm=1&shift&goto Arg_Loop) if /i "%1" == "ilasmroundtrip" (set __IlasmRoundTrip=1&shift&goto Arg_Loop) if /i "%1" == "GenerateLayoutOnly" (set __GenerateLayoutOnly=1&shift&goto Arg_Loop) +if /i "%1" == "skipgeneratelayout" (set __SkipGenerateLayout=1&shift&goto Arg_Loop) +if /i "%1" == "buildxunitwrappers" (set __BuildXunitWrappers=1&shift&goto Arg_Loop) if /i "%1" == "PerfTests" (set __PerfTests=true&shift&goto Arg_Loop) if /i "%1" == "CoreFXTests" (set __CoreFXTests=true&shift&goto Arg_Loop) if /i "%1" == "CoreFXTestsAll" (set __CoreFXTests=true&set __CoreFXTestsRunAllAvailable=true&shift&goto Arg_Loop) @@ -90,7 +94,7 @@ if /i "%1" == "gcname" (set COMPlus_GCName=%2&shift&shift&goto Ar if /i "%1" == "timeout" (set __TestTimeout=%2&shift&shift&goto Arg_Loop) REM change it to COMPlus_GCStress when we stop using xunit harness -if /i "%1" == "gcstresslevel" (set __GCSTRESSLEVEL=%2&set __TestTimeout=1800000&shift&shift&goto Arg_Loop) +if /i "%1" == "gcstresslevel" (set COMPlus_GCStress=%2&set __TestTimeout=1800000&shift&shift&goto Arg_Loop) if /i "%1" == "collectdumps" (set __CollectDumps=true&shift&goto Arg_Loop) if /i not "%1" == "msbuildargs" goto SkipMsbuildArgs @@ -132,6 +136,77 @@ set "__TestWorkingDir=%__RootBinDir%\tests\%__BuildOS%.%__BuildArch%.%__BuildTyp if not defined XunitTestBinBase set XunitTestBinBase=%__TestWorkingDir% if not defined XunitTestReportDirBase set XunitTestReportDirBase=%XunitTestBinBase%\Reports\ +REM At this point in the script there will be a divergence in how the tests are run. +REM For official builds we will continue to run tests using the un-unified scripting +REM which relies on msbuild and calls runtest.proj directly. For all other scenarios +REM runtest.py will handle setup and will then call runtest.proj + +if defined __AgainstPackages goto SetupMSBuildAndCallRuntestProj +if "%__CoreFXTests%"=="true" goto SetupMSBuildAndCallRuntestProj +if "%__PerfTests%"=="true" goto SetupMSBuildAndCallRuntestProj +if defined __GenerateLayoutOnly goto SetupMSBuildAndCallRuntestProj + +REM We are not running in the official build scenario, call runtest.py + +set __RuntestPyArgs=-arch %__BuildArch% -build_type %__BuildType% + +if defined DoLink ( + set __RuntestPyArgs=%__RuntestPyArgs% --il_link +) + +if defined __LongGCTests ( + set __RuntestPyArgs=%__RuntestPyArgs% --long_gc +) + +if defined __GCSimulatorTests ( + set __RuntestPyArgs=%__RuntestPyArgs% --gcsimulator +) + +if defined __JitDisasm ( + set __RuntestPyArgs=%__RuntestPyArgs% --jitdisasm +) + +if defined __IlasmRoundTrip ( + set __RuntestPyArgs=%__RuntestPyArgs% --ilasmroundtrip +) + +if defined __TestEnv ( + set __RuntestPyArgs=%__RuntestPyArgs% -test_env %__TestEnv% +) + +if defined __Sequential ( + set __RuntestPyArgs=%__RuntestPyArgs% --sequential +) + +if not defined __SkipGenerateLayout ( + set __RuntestPyArgs=%__RuntestPyArgs% --generate_layout +) + +if defined __GenerateLayoutOnly ( + set __RuntestPyArgs=%__RuntestPyArgs% --generate_layout_only +) + +if defined __BuildXUnitWrappers ( + set __RuntestPyArgs=%__RuntestPyArgs% --build_xunit_test_wrappers +) + +if defined RunCrossGen ( + set __RuntestPyArgs=%__RuntestPyArgs% --run_crossgen_tests +) + +if defined __DoCrossgen ( + set __RuntestPyArgs=%__RuntestPyArgs% --precompile_core_root +) + +REM __ProjectDir is poorly named, it is actually /tests +set NEXTCMD=python "%__ProjectDir%\runtest.py" %__RuntestPyArgs% +echo !NEXTCMD! +!NEXTCMD! + +exit /b %ERRORLEVEL% + +:SetupMSBuildAndCallRuntestProj + :: Set up msbuild and tools environment. Check if msbuild and VS exist. set _msbuildexe= diff --git a/src/coreclr/tests/runtest.proj b/src/coreclr/tests/runtest.proj index 52eeaaf1e56..ea9a0d15ec5 100644 --- a/src/coreclr/tests/runtest.proj +++ b/src/coreclr/tests/runtest.proj @@ -316,6 +316,9 @@ namespace $([System.String]::Copy($(Category)).Replace(".","_").Replace("\",""). + + + diff --git a/src/coreclr/tests/runtest.py b/src/coreclr/tests/runtest.py index 7cadfb4b108..6d0d30eb380 100755 --- a/src/coreclr/tests/runtest.py +++ b/src/coreclr/tests/runtest.py @@ -1,12 +1,36 @@ #!/usr/bin/env python -################################################################################ -################################################################################ # -# Module: runtest.py +## Licensed to the .NET Foundation under one or more agreements. +## The .NET Foundation licenses this file to you under the MIT license. +## See the LICENSE file in the project root for more information. +# +## +# Title :runtest.py # # Notes: # -# Universal script to setup and run the xunit msbuild test runner. +# Universal script to setup and run the xunit console runner. The script relies +# on runtest.proj and the bash and batch wrappers. All test excludes will also +# come from issues.targets. If there is a jit stress or gc stress exclude, +# please add GCStressIncompatible or JitOptimizationSensitive to the test's +# ilproj or csproj. +# +# The xunit runner currently relies on tests being built on the same host as the +# target platform. This requires all tests run on linux x64 to be built by the +# same platform and arch. If this is not done, the tests will run correctly; +# however, expect failures due to incorrect exclusions in the xunit +# wrappers setup at build time. +# +# Note that for linux targets the native components to the tests are still built +# by the product build. This requires all native components to be either copied +# into the Core_Root directory or the test's managed directory. The latter is +# prone to failure; however, copying into the Core_Root directory may create +# naming conflicts. +# +# If you are running tests on a different target than the host that built, the +# native tests components must be copied from: +# bin/obj/.... 0: + # Force the build type to be capitalized + build_type = build_type.capitalize() + + if not build_type in valid_build_types: + print "Unsupported configuration: %s." % build_type + print "Supported configurations: %s" % "[%s]" % ", ".join(valid_build_types) + sys.exit(1) + + return build_type + + build_type = check_build_type(build_type) + if test_location is None: - print "Using default test location." - test_location = os.path.join(coreclr_repo_location, "bin", "tests", "%s.%s.%s" % (host_os, arch, build_type)) - print "TestLocation: %s" % test_location - print + default_test_location = os.path.join(coreclr_repo_location, "bin", "tests", "%s.%s.%s" % (host_os, arch, build_type)) + + if os.path.isdir(default_test_location): + test_location = default_test_location + + print "Using default test location." + print "TestLocation: %s" % default_test_location + print + + else: + # The tests for the default location have not been built. + print "Error, unable to find the tests at %s" % default_test_location + + suggested_location = None + possible_test_locations = [item for item in os.listdir(os.path.join(coreclr_repo_location, "bin", "tests")) if host_os in item and arch in item] + if len(possible_test_locations) > 0: + print "Tests are built for the following:" + for item in possible_test_locations: + print item.replace(".", " ") + + print "Please run runtest.py again with the correct build-type by passing -build_type" + else: + print "No tests have been built for this host and arch. Please run build-test.%s" % ("cmd" if host_os == "Windows_NT" else "sh") + + sys.exit(1) + else: + # If we have supplied our own test location then we need to create a test location + # that the scripting will expect. As it is now, there is a dependency on the + # test location being under test/.. + + # Make sure that we are using the correct build_type. This is a test drop, it is possible + # that we are inferring the build type to be Debug incorrectly. + + if build_type not in test_location: + # Remove punctuation + corrected_build_type = re.sub("[%s]" % string.punctuation, "", test_location.split(".")[-1]) + build_type = check_build_type(corrected_build_type) + + default_test_location = os.path.join(coreclr_repo_location, "bin", "tests", "%s.%s.%s" % (host_os, arch, build_type)) + + # Remove optional end os.path.sep + if test_location[-1] == os.path.sep: + test_location = test_location[:-1] + + if test_location != default_test_location and os.path.isdir(default_test_location): + # Remove the existing directory if there is one. + shutil.rmtree(default_test_location) + + print "Non-standard test location being used." + print "Overwrite the standard location with these tests." + print "TODO: Change runtest.proj to allow running from non-standard test location." + print "" + + print "cp -r %s %s" % (test_location, default_test_location) + shutil.copytree(test_location, default_test_location) + + test_location = default_test_location + + # unset core_root so it can be put in the default location + core_root = None + + # Force the core_root to be setup again. + args.generate_layout = True + + else: + test_location = default_test_location + + print "Using default test location." + print "TestLocation: %s" % default_test_location + print if core_root is None: - print "Using default location for core_root." - core_root = os.path.join(test_location, "Tests", "Core_Root") + default_core_root = os.path.join(test_location, "Tests", "Core_Root") + + if os.path.isdir(default_core_root): + core_root = default_core_root + + print "Using default location for core_root." + print "Core_Root: %s" % core_root + print + + elif args.generate_layout is False: + # CORE_ROOT has not been setup correctly. + print "Error, unable to find CORE_ROOT at %s" % default_core_root + print "Please run runtest.py with --generate_layout specified." + + sys.exit(1) + + else: + print "--generate_layout passed. Core_Root will be populated at: %s" % default_core_root + core_root = default_core_root + else: print "Core_Root: %s" % core_root - print if host_os != "Windows_NT": if test_native_bin_location is None: @@ -349,33 +919,23 @@ def setup_args(args): test_native_bin_location = os.path.join(os.path.join(coreclr_repo_location, "bin", "obj", "%s.%s.%s" % (host_os, arch, build_type), "tests")) print "Native bin location: %s" % test_native_bin_location print - - valid_arches = ["x64", "x86", "arm", "arm64"] - if not arch in valid_arches: - print "Unsupported architecture: %s." % arch - print "Supported architectures: %s" % "[%s]" % ", ".join(valid_arches) - sys.exit(1) - - valid_build_types = ["Debug", "Checked", "Release"] - if not build_type in valid_build_types: - print "Unsupported configuration: %s." % build_type - print "Supported configurations: %s" % "[%s]" % ", ".join(valid_build_types) - sys.exit(1) - - if not os.path.isdir(test_location): - print "Error, test location: %s, does not exist." % test_location - sys.exit(1) - - if not os.path.isdir(core_root): - print "Error, core_root: %s, does not exist." % core_root - sys.exit(1) - - if host_os != "Windows_NT": + if not os.path.isdir(test_native_bin_location): print "Error, test_native_bin_location: %s, does not exist." % test_native_bin_location sys.exit(1) - return host_os, arch, build_type, coreclr_repo_location, core_root, test_location, test_native_bin_location + if args.product_location is None and args.generate_layout: + product_location = os.path.join(coreclr_repo_location, "bin", "Product", "%s.%s.%s" % (host_os, arch, build_type)) + if not os.path.isdir(product_location): + print "Error, unable to determine the product location. This is most likely because build_type was" + print "incorrectly passed. Or the product is not built. Please explicitely pass -product_location" + + sys.exit(1) + + else: + product_location = args.product_location + + return host_os, arch, build_type, coreclr_repo_location, product_location, core_root, test_location, test_native_bin_location def setup_tools(host_os, coreclr_repo_location): """ Setup the tools for the repo @@ -392,16 +952,18 @@ def setup_tools(host_os, coreclr_repo_location): is_windows = host_os == "Windows_NT" - if os.path.isfile(os.path.join(tools_dir, "msbuild.%s" % ("cmd" if is_windows else "sh"))): + dotnetcli_location = os.path.join(coreclr_repo_location, "Tools", "dotnetcli", "dotnet%s" % (".exe" if host_os == "Windows_NT" else "")) + + if os.path.isfile(dotnetcli_location): setup = True # init the tools for the repo if not setup: command = None if is_windows: - command = [os.path.join(coreclr_repo_location, "init_tools.cmd")] + command = [os.path.join(coreclr_repo_location, "init-tools.cmd")] else: - command = ["sh", os.path.join(coreclr_repo_location, "init_tools.sh")] + command = ["bash", os.path.join(coreclr_repo_location, "init-tools.sh")] print " ".join(command) subprocess.check_output(command) @@ -410,27 +972,1008 @@ def setup_tools(host_os, coreclr_repo_location): return setup -################################################################################ -# Main -################################################################################ +def setup_coredis_tools(coreclr_repo_location, host_os, arch, core_root): + """ Setup CoreDisTools if needed -def main(args): - host_os, arch, build_type, coreclr_repo_location, core_root, test_location, test_native_bin_location = setup_args(args) + Args: + coreclr_repo_location(str) : coreclr repo location + host_os(str) : os + arch(str) : arch + core_root(str) : core_root + """ + + test_location = os.path.join(coreclr_repo_location, "tests") + + def is_coredis_tools_supported(host_os, arch): + """ Is coredis tools supported on this os/arch + + Args: + host_os(str): os + arch(str) : arch + + """ + unsupported_unix_arches = ["arm", "arm64"] + + if host_os.lower() == "osx": + return False + + return True + + if host_os != "Windows_NT" and arch in unsupported_unix_arches: + return False + + return True + + if is_coredis_tools_supported(host_os, arch): + command = None + if host_os == "Windows_NT": + command = [os.path.join(test_location, "setup-stress-dependencies.cmd"), "/arch", arch, "/outputdir", core_root] + else: + command = [os.path.join(test_location, "setup-stress-dependencies.sh"), "--outputDir=%s" % core_root] + + proc = subprocess.Popen(command) + proc.communicate() + + if proc.returncode != 0: + print "setup_stress_dependencies.sh failed." + sys.exit(1) + else: + print "GCStress C is not supported on your platform." + sys.exit(1) + +def precompile_core_root(test_location, + host_os, + arch, + core_root, + use_jit_disasm=False, + altjit_name=False): + """ Precompile all of the assemblies in the core_root directory + + Args: + test_location(str) : test location + host_os(str) : os + core_root(str) : location of core_root + use_jit_disasm(Bool) : use jit disasm + altjit_name(str) : name of the altjit + + """ + + skip_list = [ + ".*xunit.*", + ".*api-ms-win-core.*", + ".*api-ms-win.*", + ".*System.Private.CoreLib.*" + ] + + unix_skip_list = [ + ".*mscorlib.*", + ".*System.Runtime.WindowsRuntime.*", + ".*System.Runtime.WindowsRuntime.UI.Xaml.*", + ".*R2RDump.dll.*" + ] + + arm64_unix_skip_list = [ + ".*Microsoft.CodeAnalysis.VisualBasic.*", + ".*System.Net.NameResolution.*", + ".*System.Net.Sockets.*", + ".*System.Net.Primitives.*" + ] + + if host_os != "Windows_NT": + skip_list += unix_skip_list + + if arch == "arm64": + skip_list += arm64_unix_skip_list + + assert os.path.isdir(test_location) + assert os.path.isdir(core_root) + + crossgen = os.path.join(core_root, "crossgen%s" % (".exe" if host_os == "Windows_NT" else "")) + assert os.path.isfile(crossgen) + + def call_crossgen(file, env): + assert os.path.isfile(crossgen) + command = [crossgen, "/Platform_Assemblies_Paths", core_root, file] + + if use_jit_disasm: + core_run = os.path.join(core_root, "corerun%s" % (".exe" if host_os == "Windows_NT" else "")) + assert os.path.isfile(core_run) + + command = [core_run, + os.path.join(core_root, "jit-dasm.dll"), + "--crossgen", + crossgen, + "--platform", + core_root, + "--output", + os.path.join(test_location, "dasm"), + file] + + proc = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, env=env) + proc.communicate() + + return_code = proc.returncode + + passed = False + if return_code == -2146230517: + print "%s is not a managed assembly." % file + return passed + + if return_code != 0: + print "Unable to precompile %s" % file + return passed + + print "Successfully precompiled %s" % file + passed = True + + return passed + + print "Precompiling all assemblies in %s" % core_root + print + + env = os.environ.copy() + + if not altjit_name is None: + env["COMPlus_AltJit"]="*" + env["COMPlus_AltJitNgen"]="*" + env["COMPlus_AltJitName"]=altjit_name + env["COMPlus_AltJitAssertOnNYI"]="1" + env["COMPlus_NoGuiOnAssert"]="1" + env["COMPlus_ContinueOnAssert"]="0" + + dlls = [os.path.join(core_root, item) for item in os.listdir(core_root) if item.endswith("dll") and "mscorlib" not in item] + + def in_skip_list(item): + found = False + for skip_re in skip_list: + if re.match(skip_re, item.lower()) is not None: + found = True + return found + + dlls = [dll for dll in dlls if not in_skip_list(dll)] + + for dll in dlls: + call_crossgen(dll, env) + + print + +def setup_core_root(host_os, + arch, + build_type, + coreclr_repo_location, + test_native_bin_location, + product_location, + test_location, + core_root, + is_corefx=False, + generate_layout=True): + """ Setup the core root + + Args: + host_os(str) : os + arch(str) : architecture + build_type(str) : build configuration + coreclr_repo_location(str) : coreclr repo location + product_location(str) : Product location + core_root(str) : Location for core_root + is_corefx : Building corefx core_root + + Optional Args: + is_corefx(Bool) : Pass if planning on running corex + : tests + + """ + global g_verbose + + assert os.path.isdir(product_location) + + # Create core_root if it does not exist + if os.path.isdir(core_root): + shutil.rmtree(core_root) + + os.makedirs(core_root) + + # Setup the dotnetcli location + dotnetcli_location = os.path.join(coreclr_repo_location, "Tools", "dotnetcli", "dotnet%s" % (".exe" if host_os == "Windows_NT" else "")) + + # Set global env variables. + os.environ["__BuildLogRootName"] = "Restore_Product" + + if host_os != "Windows_NT": + os.environ["__DistroRid"] = "%s-%s" % ("osx" if sys.platform == "darwin" else "linux", arch) + + command = [os.path.join(coreclr_repo_location, "run.%s" % ("cmd" if host_os == "Windows_NT" else "sh")), + "build", + "-Project=%s" % os.path.join(coreclr_repo_location, "tests", "build.proj")] + + logs_dir = os.path.join(coreclr_repo_location, "bin", "Logs") + if not os.path.isdir(logs_dir): + os.makedirs(logs_dir) + + log_path = os.path.join(logs_dir, "Restore_Product%s_%s_%s" % (host_os, arch, build_type)) + build_log = log_path + ".log" + wrn_log = log_path + ".wrn" + err_log = log_path + ".err" + + msbuild_log_params = "/fileloggerparameters:\"Verbosity=normal;LogFile=%s\"" % build_log + msbuild_wrn_params = "/fileloggerparameters1:\"WarningsOnly;LogFile=%s\"" % wrn_log + msbuild_err_params = "/fileloggerparameters2:\"ErrorsOnly;LogFile=%s\"" % err_log + + command += ["-MsBuildLog=%s" % msbuild_log_params, + "-MsBuildWrn=%s" % msbuild_wrn_params, + "-MsBuildErr=%s" % msbuild_err_params] + + if host_os != "Windows_NT": + command = ["bash"] + command + command += ["-MsBuildEventLogging=\"/l:BinClashLogger,Tools/Microsoft.DotNet.Build.Tasks.dll;LogFile=binclash.log\""] + + if g_verbose: + command += ["-verbose"] + + command += [ "-BatchRestorePackages", + "-BuildType=%s" % build_type, + "-BuildArch=%s" % arch, + "-BuildOS=%s" % host_os] + + print "Restoring packages..." + print " ".join(command) + + if not g_verbose: + proc = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE) + else: + proc = subprocess.Popen(command) + + try: + proc.communicate() + except KeyboardInterrupt: + proc.kill() + sys.exit(1) + + if proc.returncode == 1: + "Error test dependency resultion failed." + return False + + os.environ["__BuildLogRootName"] = "" + + # Copy restored packages to core_root + # Set global env variables. + os.environ["__BuildLogRootName"] = "Tests_Overlay_Managed" + + if host_os != "Windows_NT": + os.environ["__DistroRid"] = "%s-%s" % ("osx" if sys.platform == "darwin" else "linux", arch) + os.environ["__RuntimeId"] = os.environ["__DistroRid"] + + os.environ["Core_Root"] = core_root + os.environ["xUnitTestBinBase"] = os.path.dirname(os.path.dirname(core_root)) + + command = [os.path.join(coreclr_repo_location, "run.%s" % ("cmd" if host_os == "Windows_NT" else "sh")), + "build", + "-Project=%s" % os.path.join(coreclr_repo_location, "tests", "runtest.proj")] + + logs_dir = os.path.join(coreclr_repo_location, "bin", "Logs") + if not os.path.isdir(logs_dir): + os.makedirs(logs_dir) + + log_path = os.path.join(logs_dir, "Tests_Overlay_Managed%s_%s_%s" % (host_os, arch, build_type)) + build_log = log_path + ".log" + wrn_log = log_path + ".wrn" + err_log = log_path + ".err" + + msbuild_log_params = "/fileloggerparameters:\"Verbosity=normal;LogFile=%s\"" % build_log + msbuild_wrn_params = "/fileloggerparameters1:\"WarningsOnly;LogFile=%s\"" % wrn_log + msbuild_err_params = "/fileloggerparameters2:\"ErrorsOnly;LogFile=%s\"" % err_log + + command += ["-MsBuildLog=%s" % msbuild_log_params, + "-MsBuildWrn=%s" % msbuild_wrn_params, + "-MsBuildErr=%s" % msbuild_err_params] + + if host_os != "Windows_NT": + command = ["bash"] + command + command += ["-MsBuildEventLogging=\"/l:BinClashLogger,Tools/Microsoft.DotNet.Build.Tasks.dll;LogFile=binclash.log\""] + + if g_verbose: + command += ["-verbose"] + + command += [ "-testOverlay", + "-BuildType=%s" % build_type, + "-BuildArch=%s" % arch, + "-BuildOS=%s" % host_os] + + print "" + print "Creating Core_Root..." + print " ".join(command) + + if not g_verbose: + proc = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE) + else: + proc = subprocess.Popen(command) + + try: + proc.communicate() + except KeyboardInterrupt: + proc.kill() + sys.exit(1) + + if proc.returncode == 1: + "Error test dependency resultion failed." + return False + + os.environ["__BuildLogRootName"] = "" + os.environ["xUnitTestBinBase"] = "" + os.environ["__RuntimeId"] = "" + + def copy_tree(src, dest): + """ Simple copy from src to dest + """ + assert os.path.isdir(src) + assert os.path.isdir(dest) + + for item in os.listdir(src): + if ".nuget" in item: + pass + item = os.path.join(src, item) + + if os.path.isfile(item): + shutil.copy2(item, dest) + + if host_os != "Windows_NT": + # Set executable bit + os.chmod(os.path.join(dest, item), 0774) + else: + new_dir = os.path.join(dest, os.path.basename(item)) + if os.path.isdir(new_dir): + shutil.rmtree(new_dir) + + shutil.copytree(item, new_dir) + + # Copy the product dir to the core_root directory + print + print "Copying Product Bin to Core_Root:" + print "cp -r %s%s* %s" % (product_location, os.path.sep, core_root) + copy_tree(product_location, core_root) + print "---------------------------------------------------------------------" + print + + if is_corefx: + corefx_utility_setup = os.path.join(coreclr_repo_location, + "src", + "Common", + "CoreFX", + "TestFileSetup", + "CoreFX.TestUtils.TestFileSetup.csproj") + + os.environ["__BuildLogRootName"] = "Tests_GenerateTestHost" + msbuild_command = [dotnetcli_location, + "msbuild", + os.path.join(coreclr_repo_location, "tests", "runtest.proj"), + "/p:GenerateRuntimeLayout=true"] + proc = subprocess.Popen(msbuild_command) + proc.communicate() + + if not proc.returncode == 0: + "Error test dependency resultion failed." + return False + + os.environ["__BuildLogRootName"] = "" + + msbuild_command = [dotnetcli_location, + "msbuild", + "/t:Restore", + corefx_utility_setup] + + proc = subprocess.Popen(msbuild_command) + proc.communicate() + + if proc.returncode == 1: + "Error test dependency resultion failed." + return False + + corefx_logpath = os.path.join(coreclr_repo_location, + "bin", + "tests", + "%s.%s.%s" % (host_os, arch, build_type), + "CoreFX", + "CoreFXTestUtilities") + + msbuild_command = [dotnetcli_location, + "msbuild", + "/p:Configuration=%s" % build_type, + "/p:OSGroup=%s" % host_os, + "/p:Platform=%s" % arch, + "/p:OutputPath=%s" % corefx_logpath, + corefx_utility_setup] + + proc = subprocess.Popen(msbuild_command) + proc.communicate() + + if proc.returncode == 1: + "Error test dependency resultion failed." + return False + + print "Core_Root setup." + print "" + + return True + +def delete_existing_wrappers(test_location): + """ Delete the existing xunit wrappers + + Args: + test_location(str) : location of the test + """ + + assert os.path.isdir(test_location) or os.path.isfile(test_location) + + extension = "dll" + + if os.path.isdir(test_location): + for item in os.listdir(test_location): + delete_existing_wrappers(os.path.join(test_location, item)) + elif test_location.endswith(extension) and "xunitwrapper" in test_location.lower(): + # Delete the test wrapper. + + print "rm %s" % test_location + os.remove(test_location) + +def build_test_wrappers(host_os, + arch, + build_type, + coreclr_repo_location, + test_location): + """ Build the coreclr test wrappers + + Args: + host_os(str) : os + arch(str) : architecture + build_type(str) : build configuration + coreclr_repo_location(str) : coreclr repo location + test_location(str) : location of the test + + Notes: + Build the xUnit test wrappers. Note that this will have been done as a + part of build-test.cmd/sh. It is possible that the host has a different + set of dependencies from the target or the exclude list has changed + after building. + + """ + global g_verbose + + delete_existing_wrappers(test_location) + + # Setup the dotnetcli location + dotnetcli_location = os.path.join(coreclr_repo_location, "Tools", "dotnetcli", "dotnet%s" % (".exe" if host_os == "Windows_NT" else "")) + + # Set global env variables. + os.environ["__BuildLogRootName"] = "Tests_XunitWrapper" + os.environ["__Exclude"] = os.path.join(coreclr_repo_location, "tests", "issues.targets") + + command = [dotnetcli_location, + "msbuild", + os.path.join(coreclr_repo_location, "tests", "runtest.proj"), + "/p:RestoreAdditionalProjectSources=https://dotnet.myget.org/F/dotnet-core/", + "/p:BuildWrappers=true", + "/p:TargetsWindows=%s" % ("true" if host_os == "Windows_NT" else "false")] + + logs_dir = os.path.join(coreclr_repo_location, "bin", "Logs") + if not os.path.isdir(logs_dir): + os.makedirs(logs_dir) + + log_path = os.path.join(logs_dir, "Tests_XunitWrapper%s_%s_%s" % (host_os, arch, build_type)) + build_log = log_path + ".log" + wrn_log = log_path + ".wrn" + err_log = log_path + ".err" + + command += ["/fileloggerparameters:\"Verbosity=normal;LogFile=%s\"" % build_log, + "/fileloggerparameters1:\"WarningsOnly;LogFile=%s\"" % wrn_log, + "/fileloggerparameters2:\"ErrorsOnly;LogFile=%s\"" % err_log, + "/consoleloggerparameters:Summary"] + + command += ["/p:__BuildOS=%s" % host_os, + "/p:__BuildArch=%s" % arch, + "/p:__BuildType=%s" % build_type, + "/p:__LogsDir=%s" % logs_dir] + + print "Creating test wrappers..." + print " ".join(command) + + if not g_verbose: + proc = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE) + + if not running_in_ci(): + try: + expected_time_to_complete = 60*5 # 5 Minutes + estimated_time_running = 0 + + time_delta = 1 + + while True: + time_remaining = expected_time_to_complete - estimated_time_running + time_in_minutes = math.floor(time_remaining / 60) + remaining_seconds = time_remaining % 60 + + sys.stdout.write("\rEstimated time remaining: %d minutes %d seconds" % (time_in_minutes, remaining_seconds)) + sys.stdout.flush() + + time.sleep(time_delta) + estimated_time_running += time_delta + + if estimated_time_running == expected_time_to_complete: + break + if proc.poll() is not None: + break + + except KeyboardInterrupt: + proc.kill() + sys.exit(1) + else: + proc = subprocess.Popen(command) + + try: + proc.communicate() + except KeyboardInterrupt: + proc.kill() + sys.exit(1) + + if proc.returncode == 1: + "Error test dependency resultion failed." + return False + +def find_test_from_name(host_os, test_location, test_name): + """ Given a test's name return the location on disk + + Args: + host_os (str) : os + test_location (str) :path to the coreclr tests + test_name (str) : Name of the test, all special characters will have + : been replaced with underscores. + + Return: + test_path (str): Path of the test based on its name + """ + + location = test_name + + # Lambdas and helpers + is_file_or_dir = lambda path : os.path.isdir(path) or os.path.isfile(path) + def match_filename(test_path): + # Scan through the test directory looking for a similar + # file + global file_name_cache + + if not os.path.isdir(os.path.dirname(test_path)): + pass + + assert os.path.isdir(os.path.dirname(test_path)) + size_of_largest_name_file = 0 + + dir_contents = file_name_cache[os.path.dirname(test_path)] + + if dir_contents is None: + dir_contents = defaultdict(lambda: None) + for item in os.listdir(os.path.dirname(test_path)): + dir_contents[re.sub("[%s]" % string.punctuation, "_", item)] = item + + file_name_cache[os.path.dirname(test_path)] = dir_contents + + # It is possible there has already been a match + # therefore we need to remove the punctuation again. + basename_to_match = re.sub("[%s]" % string.punctuation, "_", os.path.basename(test_path)) + if basename_to_match in dir_contents: + test_path = os.path.join(os.path.dirname(test_path), dir_contents[basename_to_match]) + + size_of_largest_name_file = len(max(dir_contents, key=len)) + + return test_path, size_of_largest_name_file + + def dir_has_nested_substrings(test_path, test_item): + """ A directory has multiple paths where one path is a substring of another + """ + + dir_contents = file_name_cache[os.path.dirname(test_path)] + + if dir_contents is None: + dir_contents = defaultdict(lambda: None) + for item in os.listdir(os.path.dirname(test_path)): + dir_contents[re.sub("[%s]" % string.punctuation, "_", item)] = item + + file_name_cache[os.path.dirname(test_path)] = dir_contents + + test_item = re.sub("[%s]" % string.punctuation, "_", test_item) + + count = 0 + for item in dir_contents: + if test_item in item: + count += 1 + + return count > 1 + + # Find the test by searching down the directory list. + starting_path = test_location + loc_split = location.split("_") + append = False + for index, item in enumerate(loc_split): + if not append: + test_path = os.path.join(starting_path, item) + else: + append = False + test_path, size_of_largest_name_file = match_filename(starting_path + "_" + item) + + if not is_file_or_dir(test_path): + append = True + + # It is possible that there is another directory that is named + # without an underscore. + elif index + 1 < len(loc_split) and os.path.isdir(test_path): + next_test_path = os.path.join(test_path, loc_split[index + 1]) + + if not is_file_or_dir(next_test_path) or dir_has_nested_substrings(test_path, item): + added_path = test_path + for forward_index in range(index + 1, len(loc_split)): + added_path, size_of_largest_name_file = match_filename(added_path + "_" + loc_split[forward_index]) + if is_file_or_dir(added_path): + append = True + break + elif size_of_largest_name_file < len(os.path.basename(added_path)): + break + + starting_path = test_path + + location = starting_path + if not os.path.isfile(location): + pass + + assert(os.path.isfile(location)) + + return location + +def parse_test_results(host_os, arch, build_type, coreclr_repo_location, test_location): + """ Parse the test results for test execution information + + Args: + host_os : os + arch : architecture run on + build_type : build configuration (debug, checked, release) + coreclr_repo_location : coreclr repo location + test_location : path to coreclr tests + + """ + logs_dir = os.path.join(coreclr_repo_location, "bin", "Logs") + log_path = os.path.join(logs_dir, "TestRunResults_%s_%s_%s" % (host_os, arch, build_type)) + print "Parsing test results from (%s)" % log_path + + test_run_location = os.path.join(coreclr_repo_location, "bin", "Logs", "testRun.xml") + + if not os.path.isfile(test_run_location): + # Check if this is a casing issue + + found = False + for item in os.listdir(os.path.dirname(test_run_location)): + item_lower = item.lower() + if item_lower == "testrun.xml": + # Correct the name. + os.rename(os.path.join(coreclr_repo_location, "bin", "Logs", item), test_run_location) + found = True + break + + if not found: + print "Unable to find testRun.xml. This normally means the tests did not run." + print "It could also mean there was a problem logging. Please run the tests again." + + return + + if host_os != "Windows_NT" and running_in_ci(): + # Huge hack. + # TODO change netci to parse testRun.xml + shutil.copy2(test_run_location, os.path.join(os.path.dirname(test_run_location), "coreclrtests.xml")) + + assemblies = xml.etree.ElementTree.parse(test_run_location).getroot() + + tests = defaultdict(lambda: None) + for assembly in assemblies: + for collection in assembly: + if collection.tag == "errors" and collection.text != None: + # Something went wrong during running the tests. + print "Error running the tests, please run runtest.py again." + sys.exit(1) + elif collection.tag != "errors": + test_name = None + for test in collection: + type = test.attrib["type"] + method = test.attrib["method"] + + type = type.split("._")[0] + test_name = type + method + + assert test_name != None + + failed = collection.attrib["failed"] + skipped = collection.attrib["skipped"] + passed = collection.attrib["passed"] + time = float(collection.attrib["time"]) + + test_output = None + + if failed == "1": + failure_info = collection[0][0] + + test_output = failure_info[0].text + + test_location_on_filesystem = find_test_from_name(host_os, test_location, test_name) + + assert os.path.isfile(test_location_on_filesystem) + + assert tests[test_name] == None + tests[test_name] = defaultdict(lambda: None, { + "name": test_name, + "test_path": test_location_on_filesystem, + "failed": failed, + "skipped": skipped, + "passed": passed, + "time": time, + "test_output": test_output + }) + + return tests + +def print_summary(tests): + """ Print a summary of the test results + + Args: + tests (defaultdict[String]: { }): The tests that were reported by + : xunit + + """ + + assert tests is not None + + failed_tests = [] + passed_tests = [] + skipped_tests = [] + + for test in tests: + test = tests[test] + + if test["failed"] == "1": + failed_tests.append(test) + elif test["passed"] == "1": + passed_tests.append(test) + else: + skipped_tests.append(test) + + print + print "Total tests run: %d" % len(tests) + print + print "Total passing tests: %d" % len(passed_tests) + print "Total failed tests: %d" % len(failed_tests) + print "Total skipped tests: %d" % len(skipped_tests) + print + + failed_tests.sort(key=lambda item: item["time"], reverse=True) + passed_tests.sort(key=lambda item: item["time"], reverse=True) + skipped_tests.sort(key=lambda item: item["time"], reverse=True) + + def print_tests_helper(tests, stop_count): + for index, item in enumerate(tests): + time = item["time"] + unit = "seconds" + time_remainder = "" + second_unit = "" + saved_time = time + remainder_str = "" + + # If it can be expressed in hours + if time > 60**2: + time = saved_time / (60**2) + time_remainder = saved_time % (60**2) + time_remainder /= 60 + time_remainder = math.floor(time_remainder) + unit = "hours" + second_unit = "minutes" + + remainder_str = " %s %s" % (int(time_remainder), second_unit) + + elif time > 60 and time < 60**2: + time = saved_time / 60 + time_remainder = saved_time % 60 + time_remainder = math.floor(time_remainder) + unit = "minutes" + second_unit = "seconds" + + remainder_str = " %s %s" % (int(time_remainder), second_unit) + + print "%s (%d %s%s)" % (item["test_path"], time, unit, remainder_str) + + if stop_count != None: + if index >= stop_count: + break + + if len(failed_tests) > 0: + print "Failed tests:" + print + print_tests_helper(failed_tests, None) + + + if len(passed_tests) > 50: + print + print "50 slowest passing tests:" + print + print_tests_helper(passed_tests, 50) + + if len(failed_tests) > 0: + print + print "#################################################################" + print "Output of failing tests:" + print + + for item in failed_tests: + print "[%s]: " % item["test_path"] + print + + test_output = item["test_output"] + + # XUnit results are captured as escaped, escaped characters. + test_output = test_output.replace("\\r", "\r") + test_output = test_output.replace("\\n", "\n") + + print test_output + print + + print + print "#################################################################" + print "End of output of failing tests" + print "#################################################################" + print + +def create_repro(host_os, arch, build_type, env, core_root, coreclr_repo_location, tests): + """ Go through the failing tests and create repros for them + + Args: + host_os (String) : os + arch (String) : architecture + build_type (String) : build configuration (debug, checked, release) + core_root (String) : Core_Root path + coreclr_repo_location (String) : Location of coreclr git repo + tests (defaultdict[String]: { }): The tests that were reported by + : xunit + + """ + assert tests is not None + + failed_tests = [tests[item] for item in tests if tests[item]["failed"] == "1"] + if len(failed_tests) == 0: + return + + bin_location = os.path.join(coreclr_repo_location, "bin") + assert os.path.isdir(bin_location) + + repro_location = os.path.join(bin_location, "repro", "%s.%s.%s" % (host_os, arch, build_type)) + if os.path.isdir(repro_location): + shutil.rmtree(repro_location) + + print "mkdir %s" % repro_location + os.makedirs(repro_location) + + print + print "Creating repo files, they can be found at: %s" % repro_location + + assert os.path.isdir(repro_location) + + # Now that the repro_location exists under /bin/repro + # create wrappers which will simply run the test with the correct environment + for test in failed_tests: + debug_env = DebugEnv(host_os, arch, build_type, env, core_root, coreclr_repo_location, test) + debug_env.write_repro() + + print "Repro files written." + print "They can be found at %s" % repro_location + +def do_setup(host_os, + arch, + build_type, + coreclr_repo_location, + product_location, + test_location, + test_native_bin_location, + core_root, + unprocessed_args, + test_env): + global gc_stress_c # Setup the tools for the repo. setup_tools(host_os, coreclr_repo_location) - env = get_environment() - ret_code = create_and_use_test_env(host_os, - env, - lambda path: run_tests(host_os, - arch, - build_type, - core_root, - coreclr_repo_location, - test_location, - test_native_bin_location, - test_env=path)) + if unprocessed_args.generate_layout: + success = setup_core_root(host_os, + arch, + build_type, + coreclr_repo_location, + test_native_bin_location, + product_location, + test_location, + core_root) + + if not success: + print "Error GenerateLayout has failed." + sys.exit(1) + + if unprocessed_args.generate_layout_only: + sys.exit(0) + + if unprocessed_args.precompile_core_root: + precompile_core_root(test_location, host_os, arch, core_root, use_jit_disasm=args.jitdisasm, altjit_name=unprocessed_args.crossgen_altjit) + + # If COMPlus_GCStress is set then we need to setup cordistools + if gc_stress_c: + setup_coredis_tools(coreclr_repo_location, host_os, arch, core_root) + + # Copy all the native libs to core_root + if host_os != "Windows_NT": + copy_native_test_bin_to_core_root(host_os, os.path.join(test_native_bin_location, "src"), core_root) + + correct_line_endings(host_os, test_location) + + if unprocessed_args.build_test_wrappers: + build_test_wrappers(host_os, arch, build_type, coreclr_repo_location, test_location) + + run_tests(host_os, + arch, + build_type, + core_root, + coreclr_repo_location, + test_location, + test_native_bin_location, + is_illink=unprocessed_args.il_link, + is_long_gc=unprocessed_args.long_gc, + is_gcsimulator=unprocessed_args.gcsimulator, + is_jitdasm=unprocessed_args.jitdisasm, + is_ilasm=unprocessed_args.ilasmroundtrip, + run_sequential=unprocessed_args.sequential, + run_crossgen_tests=unprocessed_args.run_crossgen_tests, + test_env=test_env) + +################################################################################ +# Main +################################################################################ + +def main(args): + global g_verbose + g_verbose = args.verbose + + host_os, arch, build_type, coreclr_repo_location, product_location, core_root, test_location, test_native_bin_location = setup_args(args) + + env = get_environment(test_env=args.test_env) + if not args.analyze_results_only: + if args.test_env is not None: + ret_code = do_setup(host_os, + arch, + build_type, + coreclr_repo_location, + product_location, + test_location, + test_native_bin_location, + core_root, + args, + args.test_env) + else: + ret_code = create_and_use_test_env(host_os, + env, + lambda path: do_setup(host_os, + arch, + build_type, + coreclr_repo_location, + product_location, + test_location, + test_native_bin_location, + core_root, + args, + path)) + print "Test run finished." + + tests = parse_test_results(host_os, arch, build_type, coreclr_repo_location, test_location) + + if tests is not None: + print_summary(tests) + create_repro(host_os, arch, build_type, env, core_root, coreclr_repo_location, tests) ################################################################################ # __main__ @@ -438,4 +1981,4 @@ def main(args): if __name__ == "__main__": args = parser.parse_args() - sys.exit(main(args)) \ No newline at end of file + sys.exit(main(args)) diff --git a/src/coreclr/tests/runtest.sh b/src/coreclr/tests/runtest.sh index a4631a72c93..614692e4f83 100755 --- a/src/coreclr/tests/runtest.sh +++ b/src/coreclr/tests/runtest.sh @@ -6,44 +6,22 @@ function print_usage { echo '' echo 'Typical command line:' echo '' - echo 'coreclr/tests/runtest.sh' - echo ' --testRootDir="temp/Windows_NT.x64.Debug"' - echo ' --testNativeBinDir="coreclr/bin/obj/Linux.x64.Debug/tests"' - echo ' --coreOverlayDir="coreclr/bin/tests/Linux.x64.Debug/Tests/Core_Root"' - echo ' --copyNativeTestBin' + echo 'coreclr/tests/runtest.sh ' echo '' - echo 'Required arguments:' + echo 'Optional arguments:' echo ' --testRootDir= : Root directory of the test build (e.g. coreclr/bin/tests/Windows_NT.x64.Debug).' echo ' --testNativeBinDir= : Directory of the native CoreCLR test build (e.g. coreclr/bin/obj/Linux.x64.Debug/tests).' - echo ' (Also required: Either --coreOverlayDir, or all of the switches --coreOverlayDir overrides)' - echo '' - echo 'Optional arguments:' - echo ' --coreOverlayDir= : Directory containing core binaries and test dependencies. If not specified, the' - echo ' default is testRootDir/Tests/coreoverlay. This switch overrides --coreClrBinDir,' - echo ' --mscorlibDir, and --coreFxBinDir.' + echo ' --coreOverlayDir= : Directory containing core binaries and test dependencies.' echo ' --coreClrBinDir= : Directory of the CoreCLR build (e.g. coreclr/bin/Product/Linux.x64.Debug).' - echo ' --mscorlibDir= : Directory containing the built mscorlib.dll. If not specified, it is expected to be' - echo ' in the directory specified by --coreClrBinDir.' - echo ' --coreFxBinDir="" : Directory with CoreFX build outputs' - echo ' (e.g. "corefx/bin/runtime/netcoreapp-Linux-Debug-x64")' - echo ' If files with the same name are present in multiple directories, the first one wins.' - echo ' --testDir= : Run tests only in the specified directory. The path is relative to the directory' - echo ' specified by --testRootDir. Multiple of this switch may be specified.' - echo ' --testDirFile= : Run tests only in the directories specified by the file at . Paths are listed' - echo ' one line, relative to the directory specified by --testRootDir.' echo ' --build-overlay-only : Build coreoverlay only, and skip running tests.' - echo ' --runFailingTestsOnly : Run only the tests that are disabled on this platform due to unexpected failures.' - echo ' Failing tests are listed in coreclr/tests/failingTestsOutsideWindows.txt, one per' - echo ' line, as paths to .sh files relative to the directory specified by --testRootDir.' + echo ' --generateLayoutOnly : Build Core_Root only and skip running tests' + echo ' --generateLayout : Force generating layout, even if core_root is passed.' echo ' --disableEventLogging : Disable the events logged by both VM and Managed Code' echo ' --sequential : Run tests sequentially (default is to run in parallel).' - echo ' --playlist= : Run only the tests that are specified in the file at , in the same format as' - echo ' runFailingTestsOnly' echo ' -v, --verbose : Show output from each test.' echo ' -h|--help : Show usage information.' echo ' --useServerGC : Enable server GC for this test run' echo ' --test-env : Script to set environment variables for tests' - echo ' --copyNativeTestBin : Explicitly copy native test components into the test dir' echo ' --crossgen : Precompiles the framework managed assemblies' echo ' --runcrossgentests : Runs the ready to run tests' echo ' --jitstress= : Runs the tests with COMPlus_JitStress=n' @@ -61,11 +39,9 @@ function print_usage { echo ' --gcsimulator : Runs the GCSimulator tests' echo ' --tieredcompilation : Runs the tests with COMPlus_TieredCompilation=1' echo ' --link : Runs the tests after linking via ILlink' - echo ' --show-time : Print execution sequence and running time for each test' - echo ' --no-lf-conversion : Do not execute LF conversion before running test script' - echo ' --limitedDumpGeneration : Enables the generation of a limited number of core dumps if test(s) crash, even if ulimit' - echo ' is zero when launching this script. This option is intended for use in CI.' echo ' --xunitOutputPath= : Create xUnit XML report at the specifed path (default: /coreclrtests.xml)' + echo ' --skipXunitWrapperBuild : Skip creating the xunit wrapper' + echo ' --printLastResultsOnly : Print the results of the last run' echo '' echo 'CoreFX Test Options ' echo ' --corefxtests : Runs CoreFX tests' @@ -73,372 +49,6 @@ function print_usage { echo ' --corefxtestlist= : Runs the CoreFX tests specified in the passed list' echo ' --testHostDir= : Directory containing a built test host including core binaries, test dependencies' echo ' and a dotnet executable' - echo '' - echo 'Runtime Code Coverage options:' - echo ' --coreclr-coverage : Optional argument to get coreclr code coverage reports' - echo ' --coreclr-objs= : Location of root of the object directory' - echo ' containing the linux/mac coreclr build' - echo ' --coreclr-src= : Location of root of the directory' - echo ' containing the coreclr source files' - echo ' --coverage-output-dir= : Directory where coverage output will be written to' - echo '' -} - -function print_results { - echo "" - echo "=======================" - echo " Test Results" - echo "=======================" - echo "# CoreCLR Bin Dir : $coreClrBinDir" - echo "# Tests Discovered : $countTotalTests" - echo "# Passed : $countPassedTests" - echo "# Failed : $countFailedTests" - echo "# Skipped : $countSkippedTests" - echo "=======================" -} - -# Initialize counters for bookkeeping. -countTotalTests=0 -countPassedTests=0 -countFailedTests=0 -countSkippedTests=0 - -# Variables for xUnit-style XML output. XML format: https://xunit.github.io/docs/format-xml-v2.html -xunitOutputPath= -xunitTestOutputPath= - -# Variables for text file output. These can be passed back to runtest.sh using the "--playlist" argument -# to rerun specific tests. -testsPassOutputPath= -testsFailOutputPath= -testsSkipOutputPath= - -# libExtension determines extension for dynamic library files -# runtimeName determines where CoreFX Runtime files will be located -OSName=$(uname -s) -libExtension= -case $OSName in - Darwin) - libExtension="dylib" - ;; - - Linux) - libExtension="so" - ;; - - NetBSD) - libExtension="so" - ;; - - *) - echo "Unsupported OS $OSName detected, configuring as if for Linux" - libExtension="so" - ;; -esac - -function xunit_output_begin { - if [ -z "$xunitOutputPath" ]; then - xunitOutputPath=$testRootDir/coreclrtests.xml - fi - if ! [ -e $(basename "$xunitOutputPath") ]; then - xunitOutputPath=$testRootDir/coreclrtests.xml - fi - xunitTestOutputPath=${xunitOutputPath}.test - if [ -e "$xunitOutputPath" ]; then - rm -f -r "$xunitOutputPath" - fi - if [ -e "$xunitTestOutputPath" ]; then - rm -f -r "$xunitTestOutputPath" - fi -} - -function xunit_output_add_test { - # - # - # - # - - local scriptFilePath=$1 - local outputFilePath=$2 - local testResult=$3 # Pass, Fail, or Skip - local testScriptExitCode=$4 - local testRunningTime=$5 - - local testPath=${scriptFilePath%.sh} # Remove trailing ".sh" - local testDir=$(dirname "$testPath") - local testName=$(basename "$testPath") - - # Replace '/' with '.' - testPath=$(echo "$testPath" | tr / .) - testDir=$(echo "$testDir" | tr / .) - - local line - - line=" " - line="${line}>"$xunitTestOutputPath" - return - fi - - line="${line}>" - echo "$line" >>"$xunitTestOutputPath" - - line=" " - if [ "$testResult" == "Skip" ]; then - line="${line}" - echo "$line" >>"$xunitTestOutputPath" - else - line="${line}" - echo "$line" >>"$xunitTestOutputPath" - - line=" " - line="${line}" - echo "$line" >>"$xunitTestOutputPath" - line=" " - line="${line}>"$xunitTestOutputPath" - cat "$outputFilePath" >>"$xunitTestOutputPath" - line=" " - line="${line}]]>" - echo "$line" >>"$xunitTestOutputPath" - line=" " - line="${line}" - echo "$line" >>"$xunitTestOutputPath" - - line=" " - line="${line}" - echo "$line" >>"$xunitTestOutputPath" - fi - - line=" " - line="${line}" - echo "$line" >>"$xunitTestOutputPath" -} - -function xunit_output_end { - local errorSource=$1 - local errorMessage=$2 - - local errorCount - if [ -z "$errorSource" ]; then - ((errorCount = 0)) - else - ((errorCount = 1)) - fi - - echo '' >>"$xunitOutputPath" - echo '' >>"$xunitOutputPath" - - local line - - # - line=" " - line="${line}>"$xunitOutputPath" - - # - line=" " - line="${line}>"$xunitOutputPath" - - # ... - if [ -f "$xunitTestOutputPath" ]; then - cat "$xunitTestOutputPath" >>"$xunitOutputPath" - rm -f "$xunitTestOutputPath" - fi - - # - line=" " - line="${line}" - echo "$line" >>"$xunitOutputPath" - - if [ -n "$errorSource" ]; then - # - line=" " - line="${line}" - echo "$line" >>"$xunitOutputPath" - - # - line=" " - line="${line}>"$xunitOutputPath" - - # - line=" " - line="${line}${errorMessage}" - echo "$line" >>"$xunitOutputPath" - - # - line=" " - line="${line}" - echo "$line" >>"$xunitOutputPath" - - # - line=" " - line="${line}" - echo "$line" >>"$xunitOutputPath" - fi - - # - line=" " - line="${line}" - echo "$line" >>"$xunitOutputPath" - - # - echo '' >>"$xunitOutputPath" -} - -function text_file_output_begin { - if [ -z "$testsPassOutputPath" ]; then - testsPassOutputPath=$testRootDir/coreclrtests.pass.txt - fi - if ! [ -e $(basename "$testsPassOutputPath") ]; then - testsPassOutputPath=$testRootDir/coreclrtests.pass.txt - fi - if [ -e "$testsPassOutputPath" ]; then - rm -f "$testsPassOutputPath" - fi - if [ -z "$testsFailOutputPath" ]; then - testsFailOutputPath=$testRootDir/coreclrtests.fail.txt - fi - if ! [ -e $(basename "$testsFailOutputPath") ]; then - testsFailOutputPath=$testRootDir/coreclrtests.fail.txt - fi - if [ -e "$testsFailOutputPath" ]; then - rm -f "$testsFailOutputPath" - fi - if [ -z "$testsSkipOutputPath" ]; then - testsSkipOutputPath=$testRootDir/coreclrtests.skip.txt - fi - if ! [ -e $(basename "$testsSkipOutputPath") ]; then - testsSkipOutputPath=$testRootDir/coreclrtests.skip.txt - fi - if [ -e "$testsSkipOutputPath" ]; then - rm -f "$testsSkipOutputPath" - fi -} - -function text_file_output_add_test { - local scriptFilePath=$1 - local testResult=$2 # Pass, Fail, or Skip - - if [ "$testResult" == "Pass" ]; then - echo "$scriptFilePath" >>"$testsPassOutputPath" - elif [ "$testResult" == "Skip" ]; then - echo "$scriptFilePath" >>"$testsSkipOutputPath" - else - echo "$scriptFilePath" >>"$testsFailOutputPath" - fi -} - -function exit_with_error { - local errorSource=$1 - local errorMessage=$2 - local printUsage=$3 - - if [ -z "$printUsage" ]; then - ((printUsage = 0)) - fi - - echo "$errorMessage" - xunit_output_end "$errorSource" "$errorMessage" - if ((printUsage != 0)); then - print_usage - fi - exit $EXIT_CODE_EXCEPTION -} - -# Handle Ctrl-C. We will stop execution and print the results that -# we gathered so far. -function handle_ctrl_c { - local errorSource='handle_ctrl_c' - - echo "" - echo "*** Stopping... ***" - print_results - exit_with_error "$errorSource" "Test run aborted by Ctrl+C." -} - -# Register the Ctrl-C handler -trap handle_ctrl_c INT - -function create_core_overlay { - local errorSource='create_core_overlay' - local printUsage=1 - - if [ -n "$coreOverlayDir" ]; then - export CORE_ROOT="$coreOverlayDir" - - if [ -n "$copyNativeTestBin" ]; then - copy_test_native_bin_to_test_root $coreOverlayDir - fi - - return - fi - - # Check inputs to make sure we have enough information to create the core layout. $testRootDir/Tests/Core_Root should - # already exist and contain test dependencies that are not built. - local testDependenciesDir=$testRootDir/Tests/Core_Root - if [ ! -d "$testDependenciesDir" ]; then - exit_with_error "$errorSource" "Did not find the test dependencies directory: $testDependenciesDir" - fi - if [ -z "$coreClrBinDir" ]; then - exit_with_error "$errorSource" "One of --coreOverlayDir or --coreClrBinDir must be specified." "$printUsage" - fi - if [ ! -d "$coreClrBinDir" ]; then - exit_with_error "$errorSource" "Directory specified by --coreClrBinDir does not exist: $coreClrBinDir" - fi - - # Create the overlay - coreOverlayDir=$testRootDir/Tests/coreoverlay - export CORE_ROOT="$coreOverlayDir" - if [ -e "$coreOverlayDir" ]; then - rm -f -r "$coreOverlayDir" - fi - mkdir "$coreOverlayDir" - - cp -f -v "$coreFxBinDir/"* "$coreOverlayDir/" 2>/dev/null - cp -f -p -v "$coreClrBinDir/"* "$coreOverlayDir/" 2>/dev/null - if [ -d "$mscorlibDir/bin" ]; then - cp -f -v "$mscorlibDir/bin/"* "$coreOverlayDir/" 2>/dev/null - fi - cp -f -v "$testDependenciesDir/"xunit* "$coreOverlayDir/" 2>/dev/null - cp -n -v "$testDependenciesDir/"* "$coreOverlayDir/" 2>/dev/null - if [ -f "$coreOverlayDir/mscorlib.ni.dll" ]; then - # Test dependencies come from a Windows build, and mscorlib.ni.dll would be the one from Windows - rm -f "$coreOverlayDir/mscorlib.ni.dll" - fi - if [ -f "$coreOverlayDir/System.Private.CoreLib.ni.dll" ]; then - # Test dependencies come from a Windows build, and System.Private.CoreLib.ni.dll would be the one from Windows - rm -f "$coreOverlayDir/System.Private.CoreLib.ni.dll" - fi - copy_test_native_bin_to_test_root $coreOverlayDir } function create_testhost @@ -516,181 +126,6 @@ function create_testhost exit ${exitCode} } -declare -a skipCrossGenFiles - -function is_skip_crossgen_test { - for skip in "${skipCrossGenFiles[@]}"; do - if [ "$1" == "$skip" ]; then - return 0 - fi - done - return 1 -} - -function precompile_overlay_assemblies { - skipCrossGenFiles=($(read_array "$(dirname "$0")/skipCrossGenFiles.$ARCH.txt")) - - if [ $doCrossgen == 1 ]; then - local overlayDir=$CORE_ROOT - - filesToPrecompile=$(find -L $overlayDir -iname \*.dll -not -iname \*.ni.dll -not -iname \*-ms-win-\* -type f ) - for fileToPrecompile in ${filesToPrecompile} - do - local filename=${fileToPrecompile} - if [ $jitdisasm == 1 ]; then - $overlayDir/corerun $overlayDir/jit-dasm.dll --crossgen $overlayDir/crossgen --platform $overlayDir --output $testRootDir/dasm $filename - local exitCode=$? - if [ $exitCode != 0 ]; then - echo Unable to generate dasm for $filename - fi - else - if is_skip_crossgen_test "$(basename $filename)"; then - continue - fi - echo Precompiling $filename - $overlayDir/crossgen /Platform_Assemblies_Paths $overlayDir $filename 1> $filename.stdout 2>$filename.stderr - local exitCode=$? - if [[ $exitCode != 0 ]]; then - if grep -q -e '0x80131018' $filename.stderr; then - printf "\n\t$filename is not a managed assembly.\n\n" - else - echo Unable to precompile $filename. - cat $filename.stdout - cat $filename.stderr - exit $exitCode - fi - else - rm $filename.{stdout,stderr} - fi - fi - done - else - echo Skipping crossgen of FX assemblies. - fi -} - -function copy_test_native_bin_to_test_root { - local errorSource='copy_test_native_bin_to_test_root' - local coreRootDir=$1 - - if [ -z "$testNativeBinDir" ]; then - exit_with_error "$errorSource" "--testNativeBinDir is required." - fi - testNativeBinDir=$testNativeBinDir/src - if [ ! -d "$testNativeBinDir" ]; then - exit_with_error "$errorSource" "Directory specified by --testNativeBinDir does not exist: $testNativeBinDir" - fi - - # Copy native test components from the native test build into the respective test directory in the test root directory - find "$testNativeBinDir" -type f -iname "*.$libExtension" | - while IFS='' read -r filePath || [ -n "$filePath" ]; do - local dirPath=$(dirname "$filePath") - cp -f "$filePath" "$coreRootDir" - done -} - -# Variables for unsupported and failing tests -declare -a unsupportedTests -declare -a failingTests -declare -a playlistTests -((runFailingTestsOnly = 0)) - -# Get an array of items by reading the specified file line by line. -function read_array { - local theArray=() - - if [ ! -f "$1" ]; then - return - fi - - # bash in Mac OS X doesn't support 'readarray', so using alternate way instead. - # readarray -t theArray < "$1" - # Any line that starts with '#' is ignored. - while IFS='' read -r line || [ -n "$line" ]; do - if [[ $line != "#"* ]]; then - theArray[${#theArray[@]}]=$line - fi - done < "$1" - echo ${theArray[@]} -} - -function load_unsupported_tests { - # Load the list of tests that are not supported on this platform. These tests are disabled (skipped) permanently. - unsupportedTests=($(read_array "$(dirname "$0")/testsUnsupportedOutsideWindows.txt")) - unsupportedTests+=($(read_array "$(dirname "$0")/testsUnsupported.$ARCH.txt")) -} - -function load_failing_tests { - # Load the list of tests that fail on this platform. These tests are disabled (skipped) temporarily, pending investigation. - failingTests=($(read_array "$(dirname "$0")/testsFailingOutsideWindows.txt")) - failingTests+=($(read_array "$(dirname "$0")/testsFailing.$ARCH.txt")) -} - -function load_playlist_tests { - # Load the list of tests that are enabled as a part of this test playlist. - playlistTests=($(read_array "${playlistFile}")) -} - -function is_unsupported_test { - for unsupportedTest in "${unsupportedTests[@]}"; do - if [ "$1" == "$unsupportedTest" ]; then - return 0 - fi - done - return 1 -} - -function is_failing_test { - for failingTest in "${failingTests[@]}"; do - if [ "$1" == "$failingTest" ]; then - return 0 - fi - done - return 1 -} - -function is_playlist_test { - for playlistTest in "${playlistTests[@]}"; do - if [ "$1" == "$playlistTest" ]; then - return 0 - fi - done - return 1 -} - -function skip_unsupported_test { - # This function runs in a background process. It should not echo anything, and should not use global variables. This - # function is analogous to run_test, and causes the test to be skipped with the message below. - - local scriptFilePath=$1 - local outputFilePath=$2 - - echo "Not supported on this platform." >"$outputFilePath" - return 2 # skip the test -} - -function skip_failing_test { - # This function runs in a background process. It should not echo anything, and should not use global variables. This - # function is analogous to run_test, and causes the test to be skipped with the message below. - - local scriptFilePath=$1 - local outputFilePath=$2 - - echo "Temporarily disabled on this platform due to unexpected failures." >"$outputFilePath" - return 2 # skip the test -} - -function skip_non_playlist_test { - # This function runs in a background process. It should not echo anything, and should not use global variables. This - # function is analogous to run_test, and causes the test to be skipped with the message below. - - local scriptFilePath=$1 - local outputFilePath=$2 - - echo "Test is not included in the running playlist." >"$outputFilePath" - return 2 # skip the test -} - function set_up_core_dump_generation { # We will only enable dump generation here if we're on Mac or Linux if [[ ! ( "$(uname -s)" == "Darwin" || "$(uname -s)" == "Linux" ) ]]; then @@ -717,400 +152,6 @@ function set_up_core_dump_generation { fi } -function print_info_from_core_file { - - #### temporary - if [ "$ARCH" == "arm64" ]; then - echo "Not inspecting core dumps on arm64 at the moment." - return - fi - #### - - local core_file_name=$1 - local executable_name=$2 - - if ! [ -e $executable_name ]; then - echo "Unable to find executable $executable_name" - return - elif ! [ -e $core_file_name ]; then - echo "Unable to find core file $core_file_name" - return - fi - - # Use LLDB to inspect the core dump on Mac, and GDB everywhere else. - if [[ "$OSName" == "Darwin" ]]; then - hash lldb 2>/dev/null || { echo >&2 "LLDB was not found. Unable to print core file."; return; } - - echo "Printing info from core file $core_file_name" - lldb -c $core_file_name -b -o 'bt' - else - # Use GDB to print the backtrace from the core file. - hash gdb 2>/dev/null || { echo >&2 "GDB was not found. Unable to print core file."; return; } - - echo "Printing info from core file $core_file_name" - gdb --batch -ex "thread apply all bt full" -ex "quit" $executable_name $core_file_name - fi -} - -function download_dumpling_script { - echo "Downloading latest version of dumpling script." - wget "https://dumpling.azurewebsites.net/api/client/dumpling.py" - - local dumpling_script="dumpling.py" - chmod +x $dumpling_script -} - -function upload_core_file_to_dumpling { - local core_file_name=$1 - local dumpling_script="dumpling.py" - local dumpling_file="local_dumplings.txt" - - # dumpling requires that the file exist before appending. - touch ./$dumpling_file - - if [ ! -x $dumpling_script ]; then - download_dumpling_script - fi - - if [ ! -x $dumpling_script ]; then - echo "Failed to download dumpling script. Dump cannot be uploaded." - return - fi - - echo "Uploading $core_file_name to dumpling service." - - local paths_to_add="" - if [ -d "$coreClrBinDir" ]; then - echo "Uploading CoreCLR binaries with dump." - paths_to_add=$coreClrBinDir - fi - - # Ensure the script has Unix line endings - perl -pi -e 's/\r\n|\n|\r/\n/g' "$dumpling_script" - - # The output from this will include a unique ID for this dump. - ./$dumpling_script "upload" "--dumppath" "$core_file_name" "--incpaths" $paths_to_add "--properties" "Project=CoreCLR" "--squelch" | tee -a $dumpling_file -} - -function preserve_core_file { - local core_file_name=$1 - local storage_location="/tmp/coredumps_coreclr" - - # Create the directory (this shouldn't fail even if it already exists). - mkdir -p $storage_location - - # Only preserve the dump if the directory is empty. Otherwise, do nothing. - # This is a way to prevent us from storing/uploading too many dumps. - if [ ! "$(ls -A $storage_location)" ]; then - echo "Copying core file $core_file_name to $storage_location" - cp $core_file_name $storage_location - - upload_core_file_to_dumpling $core_file_name - fi -} - -function inspect_and_delete_core_files { - # This function prints some basic information from core files in the current - # directory and deletes them immediately. Based on the state of the system, it may - # also upload a core file to the dumpling service. - # (see preserve_core_file). - - # Depending on distro/configuration, the core files may either be named "core" - # or "core." by default. We will read /proc/sys/kernel/core_uses_pid to - # determine which one it is. - # On OS X/macOS, we checked the kern.corefile value before enabling core dump - # generation, so we know it always includes the PID. - local core_name_uses_pid=0 - if [[ (( -e /proc/sys/kernel/core_uses_pid ) && ( "1" == $(cat /proc/sys/kernel/core_uses_pid) )) - || ( "$(uname -s)" == "Darwin" ) ]]; then - core_name_uses_pid=1 - fi - - if [ $core_name_uses_pid == "1" ]; then - # We don't know what the PID of the process was, so let's look at all core - # files whose name matches core.NUMBER - for f in core.*; do - [[ $f =~ core.[0-9]+ ]] && print_info_from_core_file "$f" $CORE_ROOT/"corerun" && preserve_core_file "$f" && rm "$f" - done - elif [ -f core ]; then - print_info_from_core_file "core" $CORE_ROOT/"corerun" - preserve_core_file "core" - rm "core" - fi -} - -function run_test { - # This function runs in a background process. It should not echo anything, and should not use global variables. - - local scriptFilePath=$1 - local outputFilePath=$2 - - # Switch to directory where the script is - cd "$(dirname "$scriptFilePath")" - - local scriptFileName=$(basename "$scriptFilePath") - local outputFileName=$(basename "$outputFilePath") - - if [ "$limitedCoreDumps" == "ON" ]; then - set_up_core_dump_generation - fi - - "./$scriptFileName" >"$outputFileName" 2>&1 - local testScriptExitCode=$? - - # We will try to print some information from generated core dumps if a debugger - # is available, and possibly store a dump in a non-transient location. - if [ "$limitedCoreDumps" == "ON" ]; then - inspect_and_delete_core_files - fi - - return $testScriptExitCode -} - -# Variables for running tests in the background -if [ `uname` = "NetBSD" ]; then - NumProc=$(getconf NPROCESSORS_ONLN) -elif [ `uname` = "Darwin" ]; then - NumProc=$(getconf _NPROCESSORS_ONLN) -else - if [ -x "$(command -v nproc)" ]; then - NumProc=$(nproc --all) - elif [ -x "$(command -v getconf)" ]; then - NumProc=$(getconf _NPROCESSORS_ONLN) - else - NumProc=1 - fi -fi -((maxProcesses = $NumProc * 3 / 2)) # long tests delay process creation, use a few more processors - -((processCount = 0)) -declare -a scriptFilePaths -declare -a outputFilePaths -declare -a processIds -declare -a testStartTimes -waitProcessIndex= -pidNone=0 - -function waitany { - local pid - local exitcode - while true; do - for (( i=0; i<$maxProcesses; i++ )); do - pid=${processIds[$i]} - if [ -z "$pid" ] || [ "$pid" == "$pidNone" ]; then - continue - fi - if ! kill -0 $pid 2>/dev/null; then - wait $pid - exitcode=$? - waitProcessIndex=$i - processIds[$i]=$pidNone - return $exitcode - fi - done - sleep 0.1 - done -} - -function get_available_process_index { - local pid - local i=0 - for (( i=0; i<$maxProcesses; i++ )); do - pid=${processIds[$i]} - if [ -z "$pid" ] || [ "$pid" == "$pidNone" ]; then - break - fi - done - echo $i -} - -function finish_test { - waitany - local testScriptExitCode=$? - local finishedProcessIndex=$waitProcessIndex - ((--processCount)) - - local scriptFilePath=${scriptFilePaths[$finishedProcessIndex]} - local outputFilePath=${outputFilePaths[$finishedProcessIndex]} - local scriptFileName=$(basename "$scriptFilePath") - - local testEndTime= - local testRunningTime= - local header= - - if ((verbose == 1)); then - header=$(printf "[%4d]" $countTotalTests) - fi - - if [ "$showTime" == "ON" ]; then - testEndTime=$(date +%s) - testRunningTime=$(( $testEndTime - ${testStartTimes[$finishedProcessIndex]} )) - header=$header$(printf "[%4ds]" $testRunningTime) - fi - - local testResult - case $testScriptExitCode in - 0) - let countPassedTests++ - testResult='Pass' - if ((verbose == 1 || runFailingTestsOnly == 1)); then - echo "PASSED - ${header}${scriptFilePath}" - else - echo " - ${header}${scriptFilePath}" - fi - ;; - 2) - let countSkippedTests++ - testResult='Skip' - echo "SKIPPED - ${header}${scriptFilePath}" - ;; - *) - let countFailedTests++ - testResult='Fail' - echo "FAILED - ${header}${scriptFilePath}" - ;; - esac - let countTotalTests++ - - if ((verbose == 1 || testScriptExitCode != 0)); then - while IFS='' read -r line || [ -n "$line" ]; do - echo " $line" - done <"$outputFilePath" - fi - - xunit_output_add_test "$scriptFilePath" "$outputFilePath" "$testResult" "$testScriptExitCode" "$testRunningTime" - text_file_output_add_test "$scriptFilePath" "$testResult" -} - -function finish_remaining_tests { - # Finish the remaining tests in the order in which they were started - while ((processCount > 0)); do - finish_test - done -} - -function prep_test { - local scriptFilePath=$1 - local scriptFileDir=$(dirname "$scriptFilePath") - - test "$verbose" == 1 && echo "Preparing $scriptFilePath" - - if [ ! "$noLFConversion" == "ON" ]; then - # Convert DOS line endings to Unix if needed - perl -pi -e 's/\r\n|\n|\r/\n/g' "$scriptFilePath" - fi - - # Add executable file mode bit if needed - chmod +x "$scriptFilePath" - - #remove any NI and Locks - rm -f $scriptFileDir/*.ni.* - rm -rf $scriptFileDir/lock -} - -function start_test { - local nextProcessIndex=$(get_available_process_index) - local scriptFilePath=$1 - if ((runFailingTestsOnly == 1)) && ! is_failing_test "$scriptFilePath"; then - return - fi - - # Skip any test that's not in the current playlist, if a playlist was - # given to us. - if [ -n "$playlistFile" ] && ! is_playlist_test "$scriptFilePath"; then - return - fi - - if ((nextProcessIndex == maxProcesses)); then - finish_test - nextProcessIndex=$(get_available_process_index) - fi - - scriptFilePaths[$nextProcessIndex]=$scriptFilePath - local scriptFileName=$(basename "$scriptFilePath") - local outputFilePath=$(dirname "$scriptFilePath")/${scriptFileName}.out - outputFilePaths[$nextProcessIndex]=$outputFilePath - - if [ "$showTime" == "ON" ]; then - testStartTimes[$nextProcessIndex]=$(date +%s) - fi - - test "$verbose" == 1 && echo "Starting $scriptFilePath" - if is_unsupported_test "$scriptFilePath"; then - skip_unsupported_test "$scriptFilePath" "$outputFilePath" & - elif ((runFailingTestsOnly == 0)) && is_failing_test "$scriptFilePath"; then - skip_failing_test "$scriptFilePath" "$outputFilePath" & - else - run_test "$scriptFilePath" "$outputFilePath" & - fi - processIds[$nextProcessIndex]=$! - - ((++processCount)) -} - -# Get a list of directories in which to scan for tests by reading the -# specified file line by line. -function set_test_directories { - local errorSource='set_test_directories' - - local listFileName=$1 - - if [ ! -f "$listFileName" ] - then - exit_with_error "$errorSource" "Test directories file not found at $listFileName" - fi - testDirectories=($(read_array "$listFileName")) -} - -function run_tests_in_directory { - local testDir=$1 - - # Recursively search through directories for .sh files to prepare them. - # Note: This needs to occur before any test runs as some of the .sh files - # depend on other .sh files - for scriptFilePath in $(find "$testDir" -type f -iname '*.sh' | sort) - do - prep_test "${scriptFilePath:2}" - done - echo "The tests have been prepared" - # Recursively search through directories for .sh files to run. - for scriptFilePath in $(find "$testDir" -type f -iname '*.sh' | sort) - do - start_test "${scriptFilePath:2}" - done -} - -function coreclr_code_coverage { - local coverageDir="$coverageOutputDir/Coverage" - local toolsDir="$coverageOutputDir/Coverage/tools" - local reportsDir="$coverageOutputDir/Coverage/reports" - local packageName="unix-code-coverage-tools.1.0.0.nupkg" - - rm -rf $coverageDir - mkdir -p $coverageDir - mkdir -p $toolsDir - mkdir -p $reportsDir - pushd $toolsDir > /dev/null - - echo "Pulling down code coverage tools" - wget -q https://www.myget.org/F/dotnet-buildtools/api/v2/package/unix-code-coverage-tools/1.0.0 -O $packageName - echo "Unzipping to $toolsDir" - unzip -q -o $packageName - - # Invoke gcovr - chmod a+rwx ./gcovr - chmod a+rwx ./$OSName/llvm-cov - - echo - echo "Generating coreclr code coverage reports at $reportsDir/coreclr.html" - echo "./gcovr $coreClrObjs --gcov-executable=$toolsDir/$OS/llvm-cov -r $coreClrSrc --html --html-details -o $reportsDir/coreclr.html" - echo - ./gcovr $coreClrObjs --gcov-executable=$toolsDir/$OSName/llvm-cov -r $coreClrSrc --html --html-details -o $reportsDir/coreclr.html - exitCode=$? - popd > /dev/null - exit $exitCode -} - function check_cpu_architecture { local CPUName=$(uname -m) local __arch= @@ -1137,6 +178,10 @@ function check_cpu_architecture { echo "$__arch" } +################################################################################ +# Handle Arguments +################################################################################ + ARCH=$(check_cpu_architecture) echo "Running on CPU- $ARCH" @@ -1146,6 +191,8 @@ readonly EXIT_CODE_EXCEPTION=1 # Script exited because something exceptional readonly EXIT_CODE_TEST_FAILURE=2 # Script completed successfully, but one or more tests failed. # Argument variables +buildArch=$ARCH +buildConfiguration="Debug" testRootDir= testNativeBinDir= coreOverlayDir= @@ -1172,6 +219,10 @@ verbose=0 doCrossgen=0 jitdisasm=0 ilasmroundtrip= +skipXunitWrapperBuild= +printLastResultsOnly= +generateLayoutOnly= +generateLayout= for i in "$@" do @@ -1183,6 +234,33 @@ do -v|--verbose) verbose=1 ;; + x64) + buildArch="x64" + ;; + x86) + buildArch="x86" + ;; + arm) + buildArch="arm" + ;; + arm64) + buildArch="arm64" + ;; + debug|Debug) + buildConfiguration="Debug" + ;; + checked|Checked) + buildConfiguration="Checked" + ;; + release|Release) + buildConfiguration="Release" + ;; + --skipXunitWrapperBuild) + skipXunitWrapperBuild=1 + ;; + --printLastResultsOnly) + printLastResultsOnly=1 + ;; --crossgen) doCrossgen=1 ;; @@ -1306,6 +384,12 @@ do --build-overlay-only) buildOverlayOnly=ON ;; + --generateLayoutOnly) + generateLayoutOnly=1 + ;; + --generateLayout) + generateLayout=1 + ;; --limitedDumpGeneration) limitedCoreDumps=ON ;; @@ -1320,10 +404,9 @@ do esac done -if [ -n "$coreOverlayDir" ] && [ "$buildOverlayOnly" == "ON" ]; then - echo "Can not use \'--coreOverlayDir=\' and \'--build-overlay-only\' at the same time." - exit $EXIT_CODE_EXCEPTION -fi +################################################################################ +# Runtests +################################################################################ if ((disableEventLogging == 0)); then export COMPlus_EnableEventLog=1 @@ -1331,6 +414,10 @@ fi export COMPlus_gcServer="$serverGC" +################################################################################ +# CoreFX +################################################################################ + if [ "$RunCoreFXTests" == 1 ]; then if [ -z "$coreClrSrc" ] @@ -1361,157 +448,120 @@ then exit 0 fi +################################################################################ +# Runtest.py +################################################################################ + +runtestPyArguments=("-arch" "${buildArch}" "-build_type" "${buildConfiguration}") +scriptPath="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )" + if [ -z "$testRootDir" ]; then - echo "--testRootDir is required." - print_usage - exit $EXIT_CODE_EXCEPTION + echo "testRootDir and other existing arguments is no longer required. If the " + echo "default location is incorrect or does not exist, please use " + echo "--testRootDir to explicitly override the defaults." + + echo "" fi -if [ ! -d "$testRootDir" ]; then - echo "Directory specified by --testRootDir does not exist: $testRootDir" - exit $EXIT_CODE_EXCEPTION + +echo "Build Architecture : ${buildArch}" +echo "Build Configuration : ${buildConfiguration}" + +if [ ! -z "$testRootDir" ]; then + runtestPyArguments+=("-test_location" "$testRootDir") + echo "Test Location : ${testRootDir}" fi -# Copy native interop test libraries over to the mscorlib path in -# order for interop tests to run on linux. -if [ -z "$mscorlibDir" ]; then - mscorlibDir=$coreClrBinDir +if [ ! -z "$coreClrBinDir" ]; then + runtestPyArguments+=("-product_location" "$coreClrBinDir") + echo "Product Location : ${coreClrBinDir}" fi +if [ -z "$coreOverlayDir" ]; then + runtestPyArguments+=("--generate_layout") +else + runtestPyArguments+=("-core_root" "$coreOverlayDir") + echo "Core Root Location : ${coreOverlayDir}" +fi + +if [ ! -z "$testNativeBinDir" ]; then + runtestPyArguments+=("-test_native_bin_location" "$testNativeBinDir") + echo "Test Native Bin Location : ${testNativeBinDir}" +fi + +if [ ! -z "${testEnv}" ]; then + runtestPyArguments+=("-test_env" "${testEnv}") + echo "Test Env : ${testEnv}" +fi + +echo "" + if [ ! -z "$longgc" ]; then echo "Running Long GC tests" - export RunningLongGCTests=1 + runtestPyArguments+=("--long_gc") fi if [ ! -z "$gcsimulator" ]; then echo "Running GC simulator tests" - export RunningGCSimulatorTests=1 + runtestPyArguments+=("--gcsimulator") fi if [[ ! "$jitdisasm" -eq 0 ]]; then echo "Running jit disasm" - export RunningJitDisasm=1 + runtestPyArguments+=("--jitdisasm") fi if [ ! -z "$ilasmroundtrip" ]; then echo "Running Ilasm round trip" - export RunningIlasmRoundTrip=1 + runtestPyArguments+=("--ilasmroundtrip") fi -# If this is a coverage run, make sure the appropriate args have been passed -if [ "$CoreClrCoverage" == "ON" ] -then - echo "Code coverage is enabled for this run" - echo "" - if [ ! "$OSName" == "Darwin" ] && [ ! "$OSName" == "Linux" ] - then - echo "Code Coverage not supported on $OS" - exit 1 - fi - - if [ -z "$coreClrObjs" ] - then - echo "Coreclr obj files are required to generate code coverage reports" - echo "Coreclr obj files root path can be passed using '--coreclr-obj' argument" - exit 1 - fi - - if [ -z "$coreClrSrc" ] - then - echo "Coreclr src files are required to generate code coverage reports" - echo "Coreclr src files root path can be passed using '--coreclr-src' argument" - exit 1 - fi - - if [ -z "$coverageOutputDir" ] - then - echo "Output directory for coverage results must be specified" - echo "Output path can be specified '--coverage-output-dir' argument" - exit 1 - fi +if [ ! -z "$skipXunitWrapperBuild" ]; then + echo "Skipping xunit wrapper build. If build-test was called on a different" + echo "host_os or arch the test run will most likely have failures." +else + # By default rebuild the test wrappers, as we cannot gaurentee the following + # is true: + # 1) There are no added or removed excludes since the tests were built + # 2) That the wrapper generation happened on the same host_os and arch + # as where we are running now + # + # Note that the wrapper generation is slow. To skip this pass --skipXunitWrapperBuild + # if the above requirements are met. + + runtestPyArguments+=("--build_xunit_test_wrappers") fi -xunit_output_begin -text_file_output_begin -create_core_overlay -precompile_overlay_assemblies - -if [ "$buildOverlayOnly" == "ON" ]; -then - echo "Build overlay directory '$coreOverlayDir' complete." - exit 0 +if (($verbose!=0)); then + runtestPyArguments+=("--verbose") fi -if [ -n "$playlistFile" ] -then - # Use a playlist file exclusively, if it was provided - echo "Executing playlist $playlistFile" - load_playlist_tests -else - load_unsupported_tests - load_failing_tests +if [ ! -z "$buildOverlayOnly" ] || [ ! -z "$generateLayoutOnly" ]; then + echo "Will only Generate Core_Root" + runtestPyArguments+=("--generate_layout_only") fi -# Other architectures are not supported yet. -if [ "$ARCH" == "x64" ] -then - scriptPath=$(dirname $0) - ${scriptPath}/setup-stress-dependencies.sh --outputDir=$coreOverlayDir -elif [ "$ARCH" != "arm64" ] && [ "$ARCH" != "arm" ]; then - echo "Skip preparing for GC stress test. Dependent package is not supported on this architecture." +if [ ! -z "$generateLayout" ]; then + runtestPyArguments+=("--generate_layout") fi -export __TestEnv=$testEnv - -cd "$testRootDir" - -dumplingsListPath="$testRootDir/dumplings.txt" - -# clean up any existing dumpling remnants from previous runs. -rm -f "$dumplingsListPath" -find $testRootDir -type f -name "local_dumplings.txt" -exec rm {} \; - -time_start=$(date +"%s") -if [ -z "$testDirectories" ] -then - # No test directories were specified, so run everything in the current - # directory and its subdirectories. - run_tests_in_directory "." -else - # Otherwise, run all the tests in each specified test directory. - for testDir in "${testDirectories[@]}" - do - if [ ! -d "$testDir" ]; then - echo "Test directory does not exist: $testDir" - else - run_tests_in_directory "./$testDir" - fi - done +if [ ! -z "$sequential" ]; then + echo "Run tests sequentially." + runtestPyArguments+=("--sequential") fi -finish_remaining_tests -print_results - -find $testRootDir -type f -name "local_dumplings.txt" -exec cat {} \; > $dumplingsListPath - -if [ -s $dumplingsListPath ]; then - cat $dumplingsListPath -else - rm $dumplingsListPath +if [ ! -z "$printLastResultsOnly" ]; then + runtestPyArguments+=("--analyze_results_only") fi -time_end=$(date +"%s") -time_diff=$(($time_end-$time_start)) -echo "$(($time_diff / 60)) minutes and $(($time_diff % 60)) seconds taken to run CoreCLR tests." - -xunit_output_end - -if [ "$CoreClrCoverage" == "ON" ] -then - coreclr_code_coverage +if [ ! -z "$RunCrossGen" ]; then + runtestPyArguments+=("--run_crossgen_tests") fi -if ((countFailedTests > 0)); then - exit $EXIT_CODE_TEST_FAILURE +if (($doCrossgen!=0)); then + runtestPyArguments+=("--precompile_core_root") fi -exit $EXIT_CODE_SUCCESS +# Run the tests using cross platform runtest.py +echo "python ${scriptPath}/runtest.py ${runtestPyArguments[@]}" +python "${scriptPath}/runtest.py" "${runtestPyArguments[@]}" +exit "$?" diff --git a/src/coreclr/tests/scripts/arm32_ci_script.sh b/src/coreclr/tests/scripts/arm32_ci_script.sh index 51a54947e01..ff4231435f9 100755 --- a/src/coreclr/tests/scripts/arm32_ci_script.sh +++ b/src/coreclr/tests/scripts/arm32_ci_script.sh @@ -353,7 +353,7 @@ function copy_to_emulator { function run_tests { sudo chroot $__ARMEmulRootfs /bin/bash -x < - - 2 - 0 + 0 + diff --git a/src/coreclr/tests/src/CLRTest.GC.targets b/src/coreclr/tests/src/CLRTest.GC.targets index f959aaf6e00..f28eca4b99d 100644 --- a/src/coreclr/tests/src/CLRTest.GC.targets +++ b/src/coreclr/tests/src/CLRTest.GC.targets @@ -18,10 +18,7 @@ WARNING: When setting properties based on their current state (for example: --> - - 2 - 0 - + 0 true BuildAndRun 1 + + + true + true diff --git a/src/coreclr/tests/src/CoreMangLib/cti/system/decimal/DecimalToInt32.csproj b/src/coreclr/tests/src/CoreMangLib/cti/system/decimal/DecimalToInt32.csproj index 1a383a73b55..599c3d61133 100644 --- a/src/coreclr/tests/src/CoreMangLib/cti/system/decimal/DecimalToInt32.csproj +++ b/src/coreclr/tests/src/CoreMangLib/cti/system/decimal/DecimalToInt32.csproj @@ -12,6 +12,10 @@ true BuildAndRun 1 + + + true + true diff --git a/src/coreclr/tests/src/CoreMangLib/cti/system/reflection/emit/DynMethodJumpStubTests/DynMethodJumpStubTests.csproj b/src/coreclr/tests/src/CoreMangLib/cti/system/reflection/emit/DynMethodJumpStubTests/DynMethodJumpStubTests.csproj index 0f358866a4c..2fe258684ba 100644 --- a/src/coreclr/tests/src/CoreMangLib/cti/system/reflection/emit/DynMethodJumpStubTests/DynMethodJumpStubTests.csproj +++ b/src/coreclr/tests/src/CoreMangLib/cti/system/reflection/emit/DynMethodJumpStubTests/DynMethodJumpStubTests.csproj @@ -8,6 +8,10 @@ {742D9E05-668D-4B90-97F9-717A7572FE6C} Exe 1 + + + true + true diff --git a/src/coreclr/tests/src/CoreMangLib/system/collections/generic/hashset/Regression_Dev10_609271.csproj b/src/coreclr/tests/src/CoreMangLib/system/collections/generic/hashset/Regression_Dev10_609271.csproj index 920d19f2142..13c106880fc 100644 --- a/src/coreclr/tests/src/CoreMangLib/system/collections/generic/hashset/Regression_Dev10_609271.csproj +++ b/src/coreclr/tests/src/CoreMangLib/system/collections/generic/hashset/Regression_Dev10_609271.csproj @@ -12,6 +12,10 @@ true BuildAndRun 1 + + + true + true diff --git a/src/coreclr/tests/src/CoreMangLib/system/collections/generic/hashset/Regression_Dev10_624201.csproj b/src/coreclr/tests/src/CoreMangLib/system/collections/generic/hashset/Regression_Dev10_624201.csproj index 6464b17f3ba..e9e5186cfe8 100644 --- a/src/coreclr/tests/src/CoreMangLib/system/collections/generic/hashset/Regression_Dev10_624201.csproj +++ b/src/coreclr/tests/src/CoreMangLib/system/collections/generic/hashset/Regression_Dev10_624201.csproj @@ -12,6 +12,10 @@ true BuildAndRun 1 + + + true + true diff --git a/src/coreclr/tests/src/GC/Coverage/smalloom.csproj b/src/coreclr/tests/src/GC/Coverage/smalloom.csproj index 5d12fc2fb70..225b7441601 100644 --- a/src/coreclr/tests/src/GC/Coverage/smalloom.csproj +++ b/src/coreclr/tests/src/GC/Coverage/smalloom.csproj @@ -11,6 +11,10 @@ ..\..\ true 1 + + + true + true diff --git a/src/coreclr/tests/src/GC/Features/HeapExpansion/bestfit-threaded.csproj b/src/coreclr/tests/src/GC/Features/HeapExpansion/bestfit-threaded.csproj index 02771005132..979bccfd403 100644 --- a/src/coreclr/tests/src/GC/Features/HeapExpansion/bestfit-threaded.csproj +++ b/src/coreclr/tests/src/GC/Features/HeapExpansion/bestfit-threaded.csproj @@ -10,6 +10,9 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ true + + + true diff --git a/src/coreclr/tests/src/GC/Features/LOHCompaction/lohcompactapi.csproj b/src/coreclr/tests/src/GC/Features/LOHCompaction/lohcompactapi.csproj index a10bed150d6..40839267f31 100644 --- a/src/coreclr/tests/src/GC/Features/LOHCompaction/lohcompactapi.csproj +++ b/src/coreclr/tests/src/GC/Features/LOHCompaction/lohcompactapi.csproj @@ -10,6 +10,9 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ true + + + true diff --git a/src/coreclr/tests/src/Interop/COM/NETClients/Primitives/NETClientPrimitives.csproj b/src/coreclr/tests/src/Interop/COM/NETClients/Primitives/NETClientPrimitives.csproj index 0bb40d739bf..094bea90639 100644 --- a/src/coreclr/tests/src/Interop/COM/NETClients/Primitives/NETClientPrimitives.csproj +++ b/src/coreclr/tests/src/Interop/COM/NETClients/Primitives/NETClientPrimitives.csproj @@ -10,9 +10,10 @@ Exe {209912F9-0DA1-4184-9CC1-8D583BAF4A28};{87799F5D-CEBD-499D-BDBA-B2C6105CD766} App.manifest - - - true + + + true + true diff --git a/src/coreclr/tests/src/Interop/MarshalAPI/IUnknown/IUnknownTest.csproj b/src/coreclr/tests/src/Interop/MarshalAPI/IUnknown/IUnknownTest.csproj index b02b40ca2bc..66154907572 100644 --- a/src/coreclr/tests/src/Interop/MarshalAPI/IUnknown/IUnknownTest.csproj +++ b/src/coreclr/tests/src/Interop/MarshalAPI/IUnknown/IUnknownTest.csproj @@ -12,6 +12,10 @@ ..\..\ $(DefineConstants);STATIC + + + true + true diff --git a/src/coreclr/tests/src/Interop/SizeConst/SizeConstTest.csproj b/src/coreclr/tests/src/Interop/SizeConst/SizeConstTest.csproj index 3d333736f94..d8718bd907d 100644 --- a/src/coreclr/tests/src/Interop/SizeConst/SizeConstTest.csproj +++ b/src/coreclr/tests/src/Interop/SizeConst/SizeConstTest.csproj @@ -12,6 +12,10 @@ ..\..\ $(DefineConstants);STATIC 1 + + + true + true diff --git a/src/coreclr/tests/src/Interop/StructMarshalling/PInvoke/MarshalStructAsLayoutExp.csproj b/src/coreclr/tests/src/Interop/StructMarshalling/PInvoke/MarshalStructAsLayoutExp.csproj index 56484d4aacc..2a38e61fbe9 100644 --- a/src/coreclr/tests/src/Interop/StructMarshalling/PInvoke/MarshalStructAsLayoutExp.csproj +++ b/src/coreclr/tests/src/Interop/StructMarshalling/PInvoke/MarshalStructAsLayoutExp.csproj @@ -13,6 +13,10 @@ true $(DefineConstants);STATIC 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/Directed/IL/PInvokeTail/PInvokeTail.ilproj b/src/coreclr/tests/src/JIT/Directed/IL/PInvokeTail/PInvokeTail.ilproj index f91fe084297..06f8aa889bf 100644 --- a/src/coreclr/tests/src/JIT/Directed/IL/PInvokeTail/PInvokeTail.ilproj +++ b/src/coreclr/tests/src/JIT/Directed/IL/PInvokeTail/PInvokeTail.ilproj @@ -12,6 +12,10 @@ ..\..\ true 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/Directed/IL/PInvokeTail/TailWinApi.ilproj b/src/coreclr/tests/src/JIT/Directed/IL/PInvokeTail/TailWinApi.ilproj index 59f063e83f0..1a54638c33b 100644 --- a/src/coreclr/tests/src/JIT/Directed/IL/PInvokeTail/TailWinApi.ilproj +++ b/src/coreclr/tests/src/JIT/Directed/IL/PInvokeTail/TailWinApi.ilproj @@ -10,6 +10,10 @@ Exe {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ + + + true + true diff --git a/src/coreclr/tests/src/JIT/Directed/RVAInit/extended.ilproj b/src/coreclr/tests/src/JIT/Directed/RVAInit/extended.ilproj index b760bfe130f..ceee9feab2b 100644 --- a/src/coreclr/tests/src/JIT/Directed/RVAInit/extended.ilproj +++ b/src/coreclr/tests/src/JIT/Directed/RVAInit/extended.ilproj @@ -11,6 +11,9 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true diff --git a/src/coreclr/tests/src/JIT/Directed/RVAInit/overlap.ilproj b/src/coreclr/tests/src/JIT/Directed/RVAInit/overlap.ilproj index e0d8699c027..edac1051d30 100644 --- a/src/coreclr/tests/src/JIT/Directed/RVAInit/overlap.ilproj +++ b/src/coreclr/tests/src/JIT/Directed/RVAInit/overlap.ilproj @@ -11,6 +11,9 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true diff --git a/src/coreclr/tests/src/JIT/Directed/UnrollLoop/loop2_cs_d.csproj b/src/coreclr/tests/src/JIT/Directed/UnrollLoop/loop2_cs_d.csproj index 7bf84d4d23c..e65be2c3cb5 100644 --- a/src/coreclr/tests/src/JIT/Directed/UnrollLoop/loop2_cs_d.csproj +++ b/src/coreclr/tests/src/JIT/Directed/UnrollLoop/loop2_cs_d.csproj @@ -12,6 +12,10 @@ ..\..\ false 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/Directed/UnrollLoop/loop2_cs_do.csproj b/src/coreclr/tests/src/JIT/Directed/UnrollLoop/loop2_cs_do.csproj index 74af92dfd3a..4e26179428f 100644 --- a/src/coreclr/tests/src/JIT/Directed/UnrollLoop/loop2_cs_do.csproj +++ b/src/coreclr/tests/src/JIT/Directed/UnrollLoop/loop2_cs_do.csproj @@ -12,6 +12,10 @@ ..\..\ false 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/Directed/UnrollLoop/loop2_cs_r.csproj b/src/coreclr/tests/src/JIT/Directed/UnrollLoop/loop2_cs_r.csproj index c1531e99815..756cb493a97 100644 --- a/src/coreclr/tests/src/JIT/Directed/UnrollLoop/loop2_cs_r.csproj +++ b/src/coreclr/tests/src/JIT/Directed/UnrollLoop/loop2_cs_r.csproj @@ -12,6 +12,10 @@ ..\..\ false 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/Directed/UnrollLoop/loop2_cs_ro.csproj b/src/coreclr/tests/src/JIT/Directed/UnrollLoop/loop2_cs_ro.csproj index d44913ee5e7..14b453f3645 100644 --- a/src/coreclr/tests/src/JIT/Directed/UnrollLoop/loop2_cs_ro.csproj +++ b/src/coreclr/tests/src/JIT/Directed/UnrollLoop/loop2_cs_ro.csproj @@ -12,6 +12,10 @@ ..\..\ false 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/Directed/coverage/importer/Desktop/bleref_il_d.ilproj b/src/coreclr/tests/src/JIT/Directed/coverage/importer/Desktop/bleref_il_d.ilproj index 1a95d063242..8b46a1108be 100644 --- a/src/coreclr/tests/src/JIT/Directed/coverage/importer/Desktop/bleref_il_d.ilproj +++ b/src/coreclr/tests/src/JIT/Directed/coverage/importer/Desktop/bleref_il_d.ilproj @@ -11,6 +11,9 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true diff --git a/src/coreclr/tests/src/JIT/Directed/coverage/importer/Desktop/bleref_il_r.ilproj b/src/coreclr/tests/src/JIT/Directed/coverage/importer/Desktop/bleref_il_r.ilproj index 51fc8ca58e5..488abd841b0 100644 --- a/src/coreclr/tests/src/JIT/Directed/coverage/importer/Desktop/bleref_il_r.ilproj +++ b/src/coreclr/tests/src/JIT/Directed/coverage/importer/Desktop/bleref_il_r.ilproj @@ -11,6 +11,9 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true diff --git a/src/coreclr/tests/src/JIT/Directed/coverage/importer/Desktop/ldelemnullarr1_il_d.ilproj b/src/coreclr/tests/src/JIT/Directed/coverage/importer/Desktop/ldelemnullarr1_il_d.ilproj index db1f6d2576e..9f9a0fec42d 100644 --- a/src/coreclr/tests/src/JIT/Directed/coverage/importer/Desktop/ldelemnullarr1_il_d.ilproj +++ b/src/coreclr/tests/src/JIT/Directed/coverage/importer/Desktop/ldelemnullarr1_il_d.ilproj @@ -11,6 +11,9 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true diff --git a/src/coreclr/tests/src/JIT/Directed/coverage/importer/Desktop/ldelemnullarr1_il_r.ilproj b/src/coreclr/tests/src/JIT/Directed/coverage/importer/Desktop/ldelemnullarr1_il_r.ilproj index 3110cd22ea0..9eb3d4dc557 100644 --- a/src/coreclr/tests/src/JIT/Directed/coverage/importer/Desktop/ldelemnullarr1_il_r.ilproj +++ b/src/coreclr/tests/src/JIT/Directed/coverage/importer/Desktop/ldelemnullarr1_il_r.ilproj @@ -11,6 +11,9 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true diff --git a/src/coreclr/tests/src/JIT/Directed/coverage/importer/Desktop/nonrefsdarr_il_d.ilproj b/src/coreclr/tests/src/JIT/Directed/coverage/importer/Desktop/nonrefsdarr_il_d.ilproj index 42ca4d643a6..15c5250d230 100644 --- a/src/coreclr/tests/src/JIT/Directed/coverage/importer/Desktop/nonrefsdarr_il_d.ilproj +++ b/src/coreclr/tests/src/JIT/Directed/coverage/importer/Desktop/nonrefsdarr_il_d.ilproj @@ -11,6 +11,9 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true diff --git a/src/coreclr/tests/src/JIT/Directed/coverage/importer/Desktop/nonrefsdarr_il_r.ilproj b/src/coreclr/tests/src/JIT/Directed/coverage/importer/Desktop/nonrefsdarr_il_r.ilproj index 9df84e4fb99..23de8ebd647 100644 --- a/src/coreclr/tests/src/JIT/Directed/coverage/importer/Desktop/nonrefsdarr_il_r.ilproj +++ b/src/coreclr/tests/src/JIT/Directed/coverage/importer/Desktop/nonrefsdarr_il_r.ilproj @@ -11,6 +11,9 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true diff --git a/src/coreclr/tests/src/JIT/Directed/coverage/oldtests/Desktop/callipinvoke_il_d.ilproj b/src/coreclr/tests/src/JIT/Directed/coverage/oldtests/Desktop/callipinvoke_il_d.ilproj index 75fd1946386..520b055be40 100644 --- a/src/coreclr/tests/src/JIT/Directed/coverage/oldtests/Desktop/callipinvoke_il_d.ilproj +++ b/src/coreclr/tests/src/JIT/Directed/coverage/oldtests/Desktop/callipinvoke_il_d.ilproj @@ -10,6 +10,10 @@ Exe {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ + + + true + true diff --git a/src/coreclr/tests/src/JIT/Directed/coverage/oldtests/Desktop/callipinvoke_il_r.ilproj b/src/coreclr/tests/src/JIT/Directed/coverage/oldtests/Desktop/callipinvoke_il_r.ilproj index 8425399eda2..c775fc63899 100644 --- a/src/coreclr/tests/src/JIT/Directed/coverage/oldtests/Desktop/callipinvoke_il_r.ilproj +++ b/src/coreclr/tests/src/JIT/Directed/coverage/oldtests/Desktop/callipinvoke_il_r.ilproj @@ -10,6 +10,10 @@ Exe {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ + + + true + true diff --git a/src/coreclr/tests/src/JIT/Directed/coverage/oldtests/callipinvoke.ilproj b/src/coreclr/tests/src/JIT/Directed/coverage/oldtests/callipinvoke.ilproj index 88f2d6b4fbc..05307fdbde7 100644 --- a/src/coreclr/tests/src/JIT/Directed/coverage/oldtests/callipinvoke.ilproj +++ b/src/coreclr/tests/src/JIT/Directed/coverage/oldtests/callipinvoke.ilproj @@ -10,6 +10,10 @@ Exe {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ + + + true + true diff --git a/src/coreclr/tests/src/JIT/Directed/intrinsic/interlocked/rva_rvastatic1.ilproj b/src/coreclr/tests/src/JIT/Directed/intrinsic/interlocked/rva_rvastatic1.ilproj index 7bafa42efbf..04d0eef8c09 100644 --- a/src/coreclr/tests/src/JIT/Directed/intrinsic/interlocked/rva_rvastatic1.ilproj +++ b/src/coreclr/tests/src/JIT/Directed/intrinsic/interlocked/rva_rvastatic1.ilproj @@ -11,6 +11,9 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true diff --git a/src/coreclr/tests/src/JIT/Directed/intrinsic/interlocked/rva_rvastatic2.ilproj b/src/coreclr/tests/src/JIT/Directed/intrinsic/interlocked/rva_rvastatic2.ilproj index d0a33c94292..2ff4801a0c9 100644 --- a/src/coreclr/tests/src/JIT/Directed/intrinsic/interlocked/rva_rvastatic2.ilproj +++ b/src/coreclr/tests/src/JIT/Directed/intrinsic/interlocked/rva_rvastatic2.ilproj @@ -11,6 +11,9 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true diff --git a/src/coreclr/tests/src/JIT/Directed/intrinsic/interlocked/rva_rvastatic3.ilproj b/src/coreclr/tests/src/JIT/Directed/intrinsic/interlocked/rva_rvastatic3.ilproj index 698d0015dec..7ba339ab020 100644 --- a/src/coreclr/tests/src/JIT/Directed/intrinsic/interlocked/rva_rvastatic3.ilproj +++ b/src/coreclr/tests/src/JIT/Directed/intrinsic/interlocked/rva_rvastatic3.ilproj @@ -11,6 +11,9 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true diff --git a/src/coreclr/tests/src/JIT/Directed/intrinsic/interlocked/rva_rvastatic4.ilproj b/src/coreclr/tests/src/JIT/Directed/intrinsic/interlocked/rva_rvastatic4.ilproj index 466559cad9e..2b9c717398f 100644 --- a/src/coreclr/tests/src/JIT/Directed/intrinsic/interlocked/rva_rvastatic4.ilproj +++ b/src/coreclr/tests/src/JIT/Directed/intrinsic/interlocked/rva_rvastatic4.ilproj @@ -11,6 +11,9 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true diff --git a/src/coreclr/tests/src/JIT/Directed/pinvoke/calli_excep.ilproj b/src/coreclr/tests/src/JIT/Directed/pinvoke/calli_excep.ilproj index 35d185a3865..138068f3288 100644 --- a/src/coreclr/tests/src/JIT/Directed/pinvoke/calli_excep.ilproj +++ b/src/coreclr/tests/src/JIT/Directed/pinvoke/calli_excep.ilproj @@ -11,6 +11,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ true + + + true + true diff --git a/src/coreclr/tests/src/JIT/Directed/pinvoke/jump.ilproj b/src/coreclr/tests/src/JIT/Directed/pinvoke/jump.ilproj index 56b98933c4c..dfc750c0d42 100644 --- a/src/coreclr/tests/src/JIT/Directed/pinvoke/jump.ilproj +++ b/src/coreclr/tests/src/JIT/Directed/pinvoke/jump.ilproj @@ -11,6 +11,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/Directed/pinvoke/pinvoke-bug.csproj b/src/coreclr/tests/src/JIT/Directed/pinvoke/pinvoke-bug.csproj index d63f7003797..dc790f93b0e 100644 --- a/src/coreclr/tests/src/JIT/Directed/pinvoke/pinvoke-bug.csproj +++ b/src/coreclr/tests/src/JIT/Directed/pinvoke/pinvoke-bug.csproj @@ -11,6 +11,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/Directed/pinvoke/pinvoke-examples.csproj b/src/coreclr/tests/src/JIT/Directed/pinvoke/pinvoke-examples.csproj index 3b273fab4d5..c53e99d7725 100644 --- a/src/coreclr/tests/src/JIT/Directed/pinvoke/pinvoke-examples.csproj +++ b/src/coreclr/tests/src/JIT/Directed/pinvoke/pinvoke-examples.csproj @@ -11,6 +11,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/Directed/pinvoke/preemptive_cooperative.ilproj b/src/coreclr/tests/src/JIT/Directed/pinvoke/preemptive_cooperative.ilproj index 20f09948415..13709460e78 100644 --- a/src/coreclr/tests/src/JIT/Directed/pinvoke/preemptive_cooperative.ilproj +++ b/src/coreclr/tests/src/JIT/Directed/pinvoke/preemptive_cooperative.ilproj @@ -11,6 +11,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/Directed/pinvoke/sin.csproj b/src/coreclr/tests/src/JIT/Directed/pinvoke/sin.csproj index b467bae0e82..96d7e9d15f1 100644 --- a/src/coreclr/tests/src/JIT/Directed/pinvoke/sin.csproj +++ b/src/coreclr/tests/src/JIT/Directed/pinvoke/sin.csproj @@ -11,6 +11,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/Directed/pinvoke/sysinfo_cs.csproj b/src/coreclr/tests/src/JIT/Directed/pinvoke/sysinfo_cs.csproj index b7bfffb2a59..195f64d1ffb 100644 --- a/src/coreclr/tests/src/JIT/Directed/pinvoke/sysinfo_cs.csproj +++ b/src/coreclr/tests/src/JIT/Directed/pinvoke/sysinfo_cs.csproj @@ -11,6 +11,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/Directed/pinvoke/sysinfo_il.ilproj b/src/coreclr/tests/src/JIT/Directed/pinvoke/sysinfo_il.ilproj index c522536a165..0619cd29213 100644 --- a/src/coreclr/tests/src/JIT/Directed/pinvoke/sysinfo_il.ilproj +++ b/src/coreclr/tests/src/JIT/Directed/pinvoke/sysinfo_il.ilproj @@ -11,6 +11,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/Directed/pinvoke/tail.ilproj b/src/coreclr/tests/src/JIT/Directed/pinvoke/tail.ilproj index 3f00df9d377..45e12b0d202 100644 --- a/src/coreclr/tests/src/JIT/Directed/pinvoke/tail.ilproj +++ b/src/coreclr/tests/src/JIT/Directed/pinvoke/tail.ilproj @@ -11,6 +11,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ true + + + true + true diff --git a/src/coreclr/tests/src/JIT/Directed/rvastatics/rvastatic1.ilproj b/src/coreclr/tests/src/JIT/Directed/rvastatics/rvastatic1.ilproj index d8fc5f5da3d..51b199fe722 100644 --- a/src/coreclr/tests/src/JIT/Directed/rvastatics/rvastatic1.ilproj +++ b/src/coreclr/tests/src/JIT/Directed/rvastatics/rvastatic1.ilproj @@ -11,6 +11,9 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true diff --git a/src/coreclr/tests/src/JIT/Directed/rvastatics/rvastatic2.ilproj b/src/coreclr/tests/src/JIT/Directed/rvastatics/rvastatic2.ilproj index 9b8f43dc7d4..76bb474b54c 100644 --- a/src/coreclr/tests/src/JIT/Directed/rvastatics/rvastatic2.ilproj +++ b/src/coreclr/tests/src/JIT/Directed/rvastatics/rvastatic2.ilproj @@ -11,6 +11,9 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true diff --git a/src/coreclr/tests/src/JIT/Directed/rvastatics/rvastatic3.ilproj b/src/coreclr/tests/src/JIT/Directed/rvastatics/rvastatic3.ilproj index 905335f29fd..496ea3a0947 100644 --- a/src/coreclr/tests/src/JIT/Directed/rvastatics/rvastatic3.ilproj +++ b/src/coreclr/tests/src/JIT/Directed/rvastatics/rvastatic3.ilproj @@ -11,6 +11,9 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true diff --git a/src/coreclr/tests/src/JIT/Directed/rvastatics/rvastatic4.ilproj b/src/coreclr/tests/src/JIT/Directed/rvastatics/rvastatic4.ilproj index d93887501e6..983fd8fcf35 100644 --- a/src/coreclr/tests/src/JIT/Directed/rvastatics/rvastatic4.ilproj +++ b/src/coreclr/tests/src/JIT/Directed/rvastatics/rvastatic4.ilproj @@ -11,6 +11,9 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true diff --git a/src/coreclr/tests/src/JIT/Directed/rvastatics/rvastatic5.ilproj b/src/coreclr/tests/src/JIT/Directed/rvastatics/rvastatic5.ilproj index 5e8db6395b8..ded7b0d0d26 100644 --- a/src/coreclr/tests/src/JIT/Directed/rvastatics/rvastatic5.ilproj +++ b/src/coreclr/tests/src/JIT/Directed/rvastatics/rvastatic5.ilproj @@ -11,6 +11,9 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true diff --git a/src/coreclr/tests/src/JIT/Directed/tls/mutualrecurthd-tls.ilproj b/src/coreclr/tests/src/JIT/Directed/tls/mutualrecurthd-tls.ilproj index 77a02ef230c..3c164cab4fe 100644 --- a/src/coreclr/tests/src/JIT/Directed/tls/mutualrecurthd-tls.ilproj +++ b/src/coreclr/tests/src/JIT/Directed/tls/mutualrecurthd-tls.ilproj @@ -11,6 +11,9 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true diff --git a/src/coreclr/tests/src/JIT/Directed/tls/test-tls.ilproj b/src/coreclr/tests/src/JIT/Directed/tls/test-tls.ilproj index e08518b00d1..7e8d3e066b1 100644 --- a/src/coreclr/tests/src/JIT/Directed/tls/test-tls.ilproj +++ b/src/coreclr/tests/src/JIT/Directed/tls/test-tls.ilproj @@ -11,6 +11,9 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true diff --git a/src/coreclr/tests/src/JIT/Generics/Fields/getclassfrommethodparam.csproj b/src/coreclr/tests/src/JIT/Generics/Fields/getclassfrommethodparam.csproj index ac84fe97a25..67f5640c47b 100644 --- a/src/coreclr/tests/src/JIT/Generics/Fields/getclassfrommethodparam.csproj +++ b/src/coreclr/tests/src/JIT/Generics/Fields/getclassfrommethodparam.csproj @@ -11,6 +11,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/Generics/pinvoke/instance01.csproj b/src/coreclr/tests/src/JIT/Generics/pinvoke/instance01.csproj index 204e6256be6..fbda58b7c82 100644 --- a/src/coreclr/tests/src/JIT/Generics/pinvoke/instance01.csproj +++ b/src/coreclr/tests/src/JIT/Generics/pinvoke/instance01.csproj @@ -11,6 +11,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/Generics/pinvoke/instance02.csproj b/src/coreclr/tests/src/JIT/Generics/pinvoke/instance02.csproj index 2f0fa0e8bc8..4c5299049a4 100644 --- a/src/coreclr/tests/src/JIT/Generics/pinvoke/instance02.csproj +++ b/src/coreclr/tests/src/JIT/Generics/pinvoke/instance02.csproj @@ -11,6 +11,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/Generics/pinvoke/instance03.csproj b/src/coreclr/tests/src/JIT/Generics/pinvoke/instance03.csproj index 6065c48163c..8ae4b0a7533 100644 --- a/src/coreclr/tests/src/JIT/Generics/pinvoke/instance03.csproj +++ b/src/coreclr/tests/src/JIT/Generics/pinvoke/instance03.csproj @@ -11,6 +11,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/Generics/pinvoke/static01.csproj b/src/coreclr/tests/src/JIT/Generics/pinvoke/static01.csproj index 0d2ad1249b9..a8d0135714d 100644 --- a/src/coreclr/tests/src/JIT/Generics/pinvoke/static01.csproj +++ b/src/coreclr/tests/src/JIT/Generics/pinvoke/static01.csproj @@ -11,6 +11,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/Generics/pinvoke/static02.csproj b/src/coreclr/tests/src/JIT/Generics/pinvoke/static02.csproj index 5049b07211c..0d0cabcf1f9 100644 --- a/src/coreclr/tests/src/JIT/Generics/pinvoke/static02.csproj +++ b/src/coreclr/tests/src/JIT/Generics/pinvoke/static02.csproj @@ -11,6 +11,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/Methodical/cctor/misc/global_il_d.ilproj b/src/coreclr/tests/src/JIT/Methodical/cctor/misc/global_il_d.ilproj index e955807e56d..96ab267f6a9 100644 --- a/src/coreclr/tests/src/JIT/Methodical/cctor/misc/global_il_d.ilproj +++ b/src/coreclr/tests/src/JIT/Methodical/cctor/misc/global_il_d.ilproj @@ -11,6 +11,9 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true diff --git a/src/coreclr/tests/src/JIT/Methodical/cctor/misc/global_il_r.ilproj b/src/coreclr/tests/src/JIT/Methodical/cctor/misc/global_il_r.ilproj index 8024636ea3a..0a54f7d8b52 100644 --- a/src/coreclr/tests/src/JIT/Methodical/cctor/misc/global_il_r.ilproj +++ b/src/coreclr/tests/src/JIT/Methodical/cctor/misc/global_il_r.ilproj @@ -11,6 +11,9 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true diff --git a/src/coreclr/tests/src/JIT/Methodical/eh/deadcode/badcodeafterfinally_d.ilproj b/src/coreclr/tests/src/JIT/Methodical/eh/deadcode/badcodeafterfinally_d.ilproj index 4f54d9f4b04..fa45ece1237 100644 --- a/src/coreclr/tests/src/JIT/Methodical/eh/deadcode/badcodeafterfinally_d.ilproj +++ b/src/coreclr/tests/src/JIT/Methodical/eh/deadcode/badcodeafterfinally_d.ilproj @@ -11,6 +11,9 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true diff --git a/src/coreclr/tests/src/JIT/Methodical/eh/deadcode/badcodeafterfinally_r.ilproj b/src/coreclr/tests/src/JIT/Methodical/eh/deadcode/badcodeafterfinally_r.ilproj index 0ded8304d02..26357394e3e 100644 --- a/src/coreclr/tests/src/JIT/Methodical/eh/deadcode/badcodeafterfinally_r.ilproj +++ b/src/coreclr/tests/src/JIT/Methodical/eh/deadcode/badcodeafterfinally_r.ilproj @@ -11,6 +11,9 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true diff --git a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_byte_1_d.csproj b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_byte_1_d.csproj index 57e09e18e75..46b9ab4e7a2 100644 --- a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_byte_1_d.csproj +++ b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_byte_1_d.csproj @@ -11,6 +11,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ false + + + true + true diff --git a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_byte_1_r.csproj b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_byte_1_r.csproj index 95b48e38770..02f2ea65d50 100644 --- a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_byte_1_r.csproj +++ b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_byte_1_r.csproj @@ -11,6 +11,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ false + + + true + true diff --git a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_double_1_d.csproj b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_double_1_d.csproj index f33ccb8b959..77ed359ca39 100644 --- a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_double_1_d.csproj +++ b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_double_1_d.csproj @@ -12,6 +12,10 @@ ..\..\ false 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_double_1_r.csproj b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_double_1_r.csproj index 364a86c231e..069b60b752d 100644 --- a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_double_1_r.csproj +++ b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_double_1_r.csproj @@ -12,6 +12,10 @@ ..\..\ false 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_float_1_d.csproj b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_float_1_d.csproj index 0f1627b0572..39f90314dad 100644 --- a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_float_1_d.csproj +++ b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_float_1_d.csproj @@ -12,6 +12,10 @@ ..\..\ false 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_float_1_r.csproj b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_float_1_r.csproj index f25107dee39..07f5c5edc3b 100644 --- a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_float_1_r.csproj +++ b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_float_1_r.csproj @@ -12,6 +12,10 @@ ..\..\ false 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_gc_byte_1_d.csproj b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_gc_byte_1_d.csproj index 1237990e232..894825dca19 100644 --- a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_gc_byte_1_d.csproj +++ b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_gc_byte_1_d.csproj @@ -11,6 +11,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ false + + + true + true diff --git a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_gc_byte_1_r.csproj b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_gc_byte_1_r.csproj index 9beec0ce9dd..ad37a58f929 100644 --- a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_gc_byte_1_r.csproj +++ b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_gc_byte_1_r.csproj @@ -11,6 +11,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ false + + + true + true diff --git a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_gc_double_1_d.csproj b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_gc_double_1_d.csproj index e999b97a71b..e0eabce6d3a 100644 --- a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_gc_double_1_d.csproj +++ b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_gc_double_1_d.csproj @@ -12,6 +12,10 @@ ..\..\ false 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_gc_double_1_r.csproj b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_gc_double_1_r.csproj index b471590f7ca..0b36f15c1b2 100644 --- a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_gc_double_1_r.csproj +++ b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_gc_double_1_r.csproj @@ -12,6 +12,10 @@ ..\..\ false 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_gc_float_1_d.csproj b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_gc_float_1_d.csproj index fa6cb4ceef5..4231e6799b8 100644 --- a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_gc_float_1_d.csproj +++ b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_gc_float_1_d.csproj @@ -12,6 +12,10 @@ ..\..\ false 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_gc_float_1_r.csproj b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_gc_float_1_r.csproj index da8c547870f..c882be5321d 100644 --- a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_gc_float_1_r.csproj +++ b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_gc_float_1_r.csproj @@ -12,6 +12,10 @@ ..\..\ false 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_gc_int_1_d.csproj b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_gc_int_1_d.csproj index f346359c099..ccf4fc02916 100644 --- a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_gc_int_1_d.csproj +++ b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_gc_int_1_d.csproj @@ -12,6 +12,10 @@ ..\..\ false 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_gc_int_1_r.csproj b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_gc_int_1_r.csproj index 15e392ed6c9..a925e5de8d8 100644 --- a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_gc_int_1_r.csproj +++ b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_gc_int_1_r.csproj @@ -12,6 +12,10 @@ ..\..\ false 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_gc_long_1_d.csproj b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_gc_long_1_d.csproj index 33684a999fa..4622d7bb9ed 100644 --- a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_gc_long_1_d.csproj +++ b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_gc_long_1_d.csproj @@ -12,6 +12,10 @@ ..\..\ false 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_gc_long_1_r.csproj b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_gc_long_1_r.csproj index 8a491c3ccfe..d127438ca9a 100644 --- a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_gc_long_1_r.csproj +++ b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_gc_long_1_r.csproj @@ -12,6 +12,10 @@ ..\..\ false 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_gc_obj_1_d.csproj b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_gc_obj_1_d.csproj index a6a09ce82dd..578b4d67eef 100644 --- a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_gc_obj_1_d.csproj +++ b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_gc_obj_1_d.csproj @@ -12,6 +12,10 @@ ..\..\ false 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_gc_obj_1_r.csproj b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_gc_obj_1_r.csproj index 1518108329b..64aee6d1b28 100644 --- a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_gc_obj_1_r.csproj +++ b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_gc_obj_1_r.csproj @@ -12,6 +12,10 @@ ..\..\ false 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_gc_short_1_d.csproj b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_gc_short_1_d.csproj index 2c12738a5e8..ec7340a44c1 100644 --- a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_gc_short_1_d.csproj +++ b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_gc_short_1_d.csproj @@ -12,6 +12,10 @@ ..\..\ false 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_gc_short_1_r.csproj b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_gc_short_1_r.csproj index b4fd9b9c0cd..852192bd431 100644 --- a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_gc_short_1_r.csproj +++ b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_gc_short_1_r.csproj @@ -12,6 +12,10 @@ ..\..\ false 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_gc_val_1_d.csproj b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_gc_val_1_d.csproj index cc6db5b6e70..646dd9632cf 100644 --- a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_gc_val_1_d.csproj +++ b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_gc_val_1_d.csproj @@ -12,6 +12,10 @@ ..\..\ false 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_gc_val_1_r.csproj b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_gc_val_1_r.csproj index 4915874c6bf..3a26adf3692 100644 --- a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_gc_val_1_r.csproj +++ b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_gc_val_1_r.csproj @@ -12,6 +12,10 @@ ..\..\ false 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_int_1_d.csproj b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_int_1_d.csproj index 44720bdadbe..ce8dab8d197 100644 --- a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_int_1_d.csproj +++ b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_int_1_d.csproj @@ -12,6 +12,10 @@ ..\..\ false 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_int_1_r.csproj b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_int_1_r.csproj index 92639917aeb..e9342594878 100644 --- a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_int_1_r.csproj +++ b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_int_1_r.csproj @@ -12,6 +12,10 @@ ..\..\ false 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_long_1_d.csproj b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_long_1_d.csproj index 7a3a22f5510..eaa8d6943da 100644 --- a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_long_1_d.csproj +++ b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_long_1_d.csproj @@ -12,6 +12,10 @@ ..\..\ false 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_long_1_r.csproj b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_long_1_r.csproj index 5ba095a4c8b..e968c94abb9 100644 --- a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_long_1_r.csproj +++ b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_long_1_r.csproj @@ -12,6 +12,10 @@ ..\..\ false 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_obj_1_d.csproj b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_obj_1_d.csproj index a744c5c9d01..a187787b9a5 100644 --- a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_obj_1_d.csproj +++ b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_obj_1_d.csproj @@ -12,6 +12,10 @@ ..\..\ false 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_obj_1_r.csproj b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_obj_1_r.csproj index d6c6193413c..bf60fa8b170 100644 --- a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_obj_1_r.csproj +++ b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_obj_1_r.csproj @@ -12,6 +12,10 @@ ..\..\ false 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_short_1_d.csproj b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_short_1_d.csproj index 31e78376318..4077cb7856b 100644 --- a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_short_1_d.csproj +++ b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_short_1_d.csproj @@ -12,6 +12,10 @@ ..\..\ false 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_short_1_r.csproj b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_short_1_r.csproj index 34e57bf7a82..64f5ad2b8eb 100644 --- a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_short_1_r.csproj +++ b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_short_1_r.csproj @@ -12,6 +12,10 @@ ..\..\ false 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_val_1_d.csproj b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_val_1_d.csproj index 18d6bbad1cb..e235345ed45 100644 --- a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_val_1_d.csproj +++ b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_val_1_d.csproj @@ -12,6 +12,10 @@ ..\..\ false 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_val_1_r.csproj b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_val_1_r.csproj index ea71f3e8ba0..1871e288358 100644 --- a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_val_1_r.csproj +++ b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/expl_val_1_r.csproj @@ -12,6 +12,10 @@ ..\..\ false 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_byte_1_d.csproj b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_byte_1_d.csproj index 887797e3a7d..9870d3a724c 100644 --- a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_byte_1_d.csproj +++ b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_byte_1_d.csproj @@ -11,6 +11,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ false + + + true + true diff --git a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_byte_1_r.csproj b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_byte_1_r.csproj index f48e0a3b9ef..4a647d2ce6b 100644 --- a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_byte_1_r.csproj +++ b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_byte_1_r.csproj @@ -11,6 +11,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ false + + + true + true diff --git a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_double_1_d.csproj b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_double_1_d.csproj index ae6f842036a..450dbe443da 100644 --- a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_double_1_d.csproj +++ b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_double_1_d.csproj @@ -12,6 +12,10 @@ ..\..\ false 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_double_1_r.csproj b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_double_1_r.csproj index 3a9feed3408..0bb8b46d05f 100644 --- a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_double_1_r.csproj +++ b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_double_1_r.csproj @@ -12,6 +12,10 @@ ..\..\ false 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_float_1_d.csproj b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_float_1_d.csproj index 434e98b66ea..806adadb9bf 100644 --- a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_float_1_d.csproj +++ b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_float_1_d.csproj @@ -12,6 +12,10 @@ ..\..\ false 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_float_1_r.csproj b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_float_1_r.csproj index b2ea622f172..c09562b99ac 100644 --- a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_float_1_r.csproj +++ b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_float_1_r.csproj @@ -12,6 +12,10 @@ ..\..\ false 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_gc_byte_1_d.csproj b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_gc_byte_1_d.csproj index 036e0608e9d..15bb2f0c583 100644 --- a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_gc_byte_1_d.csproj +++ b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_gc_byte_1_d.csproj @@ -11,6 +11,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ false + + + true + true diff --git a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_gc_byte_1_r.csproj b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_gc_byte_1_r.csproj index 75f2b4166f1..e7ddf16b550 100644 --- a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_gc_byte_1_r.csproj +++ b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_gc_byte_1_r.csproj @@ -11,6 +11,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ false + + + true + true diff --git a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_gc_double_1_d.csproj b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_gc_double_1_d.csproj index a3eb9f5e2a7..9b0fc200bea 100644 --- a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_gc_double_1_d.csproj +++ b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_gc_double_1_d.csproj @@ -12,6 +12,10 @@ ..\..\ false 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_gc_double_1_r.csproj b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_gc_double_1_r.csproj index bc8e0200ce0..f3e5f993268 100644 --- a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_gc_double_1_r.csproj +++ b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_gc_double_1_r.csproj @@ -12,6 +12,10 @@ ..\..\ false 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_gc_float_1_d.csproj b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_gc_float_1_d.csproj index 3451a12e8bd..7d1edd786b4 100644 --- a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_gc_float_1_d.csproj +++ b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_gc_float_1_d.csproj @@ -12,6 +12,10 @@ ..\..\ false 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_gc_float_1_r.csproj b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_gc_float_1_r.csproj index 5642a0ab705..fbf0e2cc561 100644 --- a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_gc_float_1_r.csproj +++ b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_gc_float_1_r.csproj @@ -12,6 +12,10 @@ ..\..\ false 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_gc_int_1_d.csproj b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_gc_int_1_d.csproj index 518ded14a44..b9f86856e18 100644 --- a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_gc_int_1_d.csproj +++ b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_gc_int_1_d.csproj @@ -12,6 +12,10 @@ ..\..\ false 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_gc_int_1_r.csproj b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_gc_int_1_r.csproj index 7ac731c2b05..4aee1cbc047 100644 --- a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_gc_int_1_r.csproj +++ b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_gc_int_1_r.csproj @@ -12,6 +12,10 @@ ..\..\ false 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_gc_long_1_d.csproj b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_gc_long_1_d.csproj index 26bab64ca90..a85e7f0243a 100644 --- a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_gc_long_1_d.csproj +++ b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_gc_long_1_d.csproj @@ -12,6 +12,10 @@ ..\..\ false 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_gc_long_1_r.csproj b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_gc_long_1_r.csproj index 87a35f28375..f523c18fc16 100644 --- a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_gc_long_1_r.csproj +++ b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_gc_long_1_r.csproj @@ -12,6 +12,10 @@ ..\..\ false 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_gc_obj_1_d.csproj b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_gc_obj_1_d.csproj index 01e4d644a9a..7cde0d9ed49 100644 --- a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_gc_obj_1_d.csproj +++ b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_gc_obj_1_d.csproj @@ -12,6 +12,10 @@ ..\..\ false 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_gc_obj_1_r.csproj b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_gc_obj_1_r.csproj index 62920a9a6aa..0b85f2fd02a 100644 --- a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_gc_obj_1_r.csproj +++ b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_gc_obj_1_r.csproj @@ -12,6 +12,10 @@ ..\..\ false 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_gc_short_1_d.csproj b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_gc_short_1_d.csproj index 7cacea7e29d..b760ed05d23 100644 --- a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_gc_short_1_d.csproj +++ b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_gc_short_1_d.csproj @@ -12,6 +12,10 @@ ..\..\ false 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_gc_short_1_r.csproj b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_gc_short_1_r.csproj index 86c0723a1c5..fdb045fd1ce 100644 --- a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_gc_short_1_r.csproj +++ b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_gc_short_1_r.csproj @@ -12,6 +12,10 @@ ..\..\ false 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_gc_val_1_d.csproj b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_gc_val_1_d.csproj index e28c957e695..52569b94445 100644 --- a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_gc_val_1_d.csproj +++ b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_gc_val_1_d.csproj @@ -12,6 +12,10 @@ ..\..\ false 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_gc_val_1_r.csproj b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_gc_val_1_r.csproj index 3c780641704..0452b9cee68 100644 --- a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_gc_val_1_r.csproj +++ b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_gc_val_1_r.csproj @@ -12,6 +12,10 @@ ..\..\ false 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_int_1_d.csproj b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_int_1_d.csproj index c26e68bc386..9001cfd91fd 100644 --- a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_int_1_d.csproj +++ b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_int_1_d.csproj @@ -12,6 +12,10 @@ ..\..\ false 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_int_1_r.csproj b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_int_1_r.csproj index 49b92fb27eb..80917950528 100644 --- a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_int_1_r.csproj +++ b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_int_1_r.csproj @@ -12,6 +12,10 @@ ..\..\ false 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_long_1_d.csproj b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_long_1_d.csproj index 5af197febc5..5bbe27e8b30 100644 --- a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_long_1_d.csproj +++ b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_long_1_d.csproj @@ -12,6 +12,10 @@ ..\..\ false 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_long_1_r.csproj b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_long_1_r.csproj index 2b113545dee..da666277f76 100644 --- a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_long_1_r.csproj +++ b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_long_1_r.csproj @@ -12,6 +12,10 @@ ..\..\ false 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_obj_1_d.csproj b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_obj_1_d.csproj index 4f4bb158d11..9830ff51df1 100644 --- a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_obj_1_d.csproj +++ b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_obj_1_d.csproj @@ -12,6 +12,10 @@ ..\..\ false 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_obj_1_r.csproj b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_obj_1_r.csproj index 0ac43dcea2a..4dc9a5171e1 100644 --- a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_obj_1_r.csproj +++ b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_obj_1_r.csproj @@ -12,6 +12,10 @@ ..\..\ false 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_short_1_d.csproj b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_short_1_d.csproj index 6c2cb27645a..990a926144f 100644 --- a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_short_1_d.csproj +++ b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_short_1_d.csproj @@ -12,6 +12,10 @@ ..\..\ false 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_short_1_r.csproj b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_short_1_r.csproj index 9dd538dbfe8..059b624673f 100644 --- a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_short_1_r.csproj +++ b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_short_1_r.csproj @@ -12,6 +12,10 @@ ..\..\ false 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_val_1_d.csproj b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_val_1_d.csproj index a914bea349a..14b8c69cee8 100644 --- a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_val_1_d.csproj +++ b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_val_1_d.csproj @@ -12,6 +12,10 @@ ..\..\ false 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_val_1_r.csproj b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_val_1_r.csproj index 2b2ade5d91e..4c7548557d9 100644 --- a/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_val_1_r.csproj +++ b/src/coreclr/tests/src/JIT/Methodical/explicit/coverage/seq_val_1_r.csproj @@ -12,6 +12,10 @@ ..\..\ false 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/Methodical/tailcall/_il_dbgpointer.ilproj b/src/coreclr/tests/src/JIT/Methodical/tailcall/_il_dbgpointer.ilproj index 634f34a27bb..4c721cf5747 100644 --- a/src/coreclr/tests/src/JIT/Methodical/tailcall/_il_dbgpointer.ilproj +++ b/src/coreclr/tests/src/JIT/Methodical/tailcall/_il_dbgpointer.ilproj @@ -11,6 +11,9 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true diff --git a/src/coreclr/tests/src/JIT/Methodical/tailcall/_il_dbgpointer_i.ilproj b/src/coreclr/tests/src/JIT/Methodical/tailcall/_il_dbgpointer_i.ilproj index f26becade4f..8795713dd93 100644 --- a/src/coreclr/tests/src/JIT/Methodical/tailcall/_il_dbgpointer_i.ilproj +++ b/src/coreclr/tests/src/JIT/Methodical/tailcall/_il_dbgpointer_i.ilproj @@ -11,6 +11,9 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true diff --git a/src/coreclr/tests/src/JIT/Methodical/tailcall/_il_relpointer.ilproj b/src/coreclr/tests/src/JIT/Methodical/tailcall/_il_relpointer.ilproj index 5f03b1fd81b..795b964fdfe 100644 --- a/src/coreclr/tests/src/JIT/Methodical/tailcall/_il_relpointer.ilproj +++ b/src/coreclr/tests/src/JIT/Methodical/tailcall/_il_relpointer.ilproj @@ -11,6 +11,9 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true diff --git a/src/coreclr/tests/src/JIT/Methodical/tailcall/_il_relpointer_i.ilproj b/src/coreclr/tests/src/JIT/Methodical/tailcall/_il_relpointer_i.ilproj index 13a4ebb9ff4..53c40d3b61a 100644 --- a/src/coreclr/tests/src/JIT/Methodical/tailcall/_il_relpointer_i.ilproj +++ b/src/coreclr/tests/src/JIT/Methodical/tailcall/_il_relpointer_i.ilproj @@ -11,6 +11,9 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true diff --git a/src/coreclr/tests/src/JIT/Methodical/xxobj/operand/_il_dbglocalloc.ilproj b/src/coreclr/tests/src/JIT/Methodical/xxobj/operand/_il_dbglocalloc.ilproj index 420692e283e..a338809dbf2 100644 --- a/src/coreclr/tests/src/JIT/Methodical/xxobj/operand/_il_dbglocalloc.ilproj +++ b/src/coreclr/tests/src/JIT/Methodical/xxobj/operand/_il_dbglocalloc.ilproj @@ -11,6 +11,9 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true diff --git a/src/coreclr/tests/src/JIT/Methodical/xxobj/operand/_il_rellocalloc.ilproj b/src/coreclr/tests/src/JIT/Methodical/xxobj/operand/_il_rellocalloc.ilproj index f99329a0c3f..0663dd85671 100644 --- a/src/coreclr/tests/src/JIT/Methodical/xxobj/operand/_il_rellocalloc.ilproj +++ b/src/coreclr/tests/src/JIT/Methodical/xxobj/operand/_il_rellocalloc.ilproj @@ -11,6 +11,9 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true diff --git a/src/coreclr/tests/src/JIT/Regression/CLR-x86-EJIT/v1-m10/b07847/b07847.ilproj b/src/coreclr/tests/src/JIT/Regression/CLR-x86-EJIT/v1-m10/b07847/b07847.ilproj index fd2beb14c98..9c5d30e3b88 100644 --- a/src/coreclr/tests/src/JIT/Regression/CLR-x86-EJIT/v1-m10/b07847/b07847.ilproj +++ b/src/coreclr/tests/src/JIT/Regression/CLR-x86-EJIT/v1-m10/b07847/b07847.ilproj @@ -11,6 +11,9 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true diff --git a/src/coreclr/tests/src/JIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b26324/b26324a.ilproj b/src/coreclr/tests/src/JIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b26324/b26324a.ilproj index ff863cf7f65..8a40c155cc5 100644 --- a/src/coreclr/tests/src/JIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b26324/b26324a.ilproj +++ b/src/coreclr/tests/src/JIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b26324/b26324a.ilproj @@ -11,6 +11,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b26324/b26324b.ilproj b/src/coreclr/tests/src/JIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b26324/b26324b.ilproj index 41d11997c56..d328463d58c 100644 --- a/src/coreclr/tests/src/JIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b26324/b26324b.ilproj +++ b/src/coreclr/tests/src/JIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b26324/b26324b.ilproj @@ -11,6 +11,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b28901/b28901.ilproj b/src/coreclr/tests/src/JIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b28901/b28901.ilproj index 952931b6ebc..93e9326b1b2 100644 --- a/src/coreclr/tests/src/JIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b28901/b28901.ilproj +++ b/src/coreclr/tests/src/JIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b28901/b28901.ilproj @@ -11,6 +11,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b30838/b30838.ilproj b/src/coreclr/tests/src/JIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b30838/b30838.ilproj index eff989c03cd..b0b589059d3 100644 --- a/src/coreclr/tests/src/JIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b30838/b30838.ilproj +++ b/src/coreclr/tests/src/JIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b30838/b30838.ilproj @@ -11,6 +11,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b30864/b30864.ilproj b/src/coreclr/tests/src/JIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b30864/b30864.ilproj index ac0c9838220..64cbef64361 100644 --- a/src/coreclr/tests/src/JIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b30864/b30864.ilproj +++ b/src/coreclr/tests/src/JIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b30864/b30864.ilproj @@ -11,6 +11,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b32374/b32374.ilproj b/src/coreclr/tests/src/JIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b32374/b32374.ilproj index c3fe21506b6..78b2ad2fbf8 100644 --- a/src/coreclr/tests/src/JIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b32374/b32374.ilproj +++ b/src/coreclr/tests/src/JIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b32374/b32374.ilproj @@ -11,6 +11,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/Regression/CLR-x86-JIT/V1-M11-Beta1/b35784/b35784.ilproj b/src/coreclr/tests/src/JIT/Regression/CLR-x86-JIT/V1-M11-Beta1/b35784/b35784.ilproj index 78010e59dd6..f801161000b 100644 --- a/src/coreclr/tests/src/JIT/Regression/CLR-x86-JIT/V1-M11-Beta1/b35784/b35784.ilproj +++ b/src/coreclr/tests/src/JIT/Regression/CLR-x86-JIT/V1-M11-Beta1/b35784/b35784.ilproj @@ -11,6 +11,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/Regression/CLR-x86-JIT/V1-M11-Beta1/b36472/b36472.csproj b/src/coreclr/tests/src/JIT/Regression/CLR-x86-JIT/V1-M11-Beta1/b36472/b36472.csproj index a15a6bbee19..2119b713967 100644 --- a/src/coreclr/tests/src/JIT/Regression/CLR-x86-JIT/V1-M11-Beta1/b36472/b36472.csproj +++ b/src/coreclr/tests/src/JIT/Regression/CLR-x86-JIT/V1-M11-Beta1/b36472/b36472.csproj @@ -11,6 +11,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/Regression/CLR-x86-JIT/V1-M11-Beta1/b37598/b37598.csproj b/src/coreclr/tests/src/JIT/Regression/CLR-x86-JIT/V1-M11-Beta1/b37598/b37598.csproj index ddb5cbd509a..370f644d159 100644 --- a/src/coreclr/tests/src/JIT/Regression/CLR-x86-JIT/V1-M11-Beta1/b37598/b37598.csproj +++ b/src/coreclr/tests/src/JIT/Regression/CLR-x86-JIT/V1-M11-Beta1/b37598/b37598.csproj @@ -11,6 +11,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/Regression/CLR-x86-JIT/V1-M11-Beta1/b46867/b46867.csproj b/src/coreclr/tests/src/JIT/Regression/CLR-x86-JIT/V1-M11-Beta1/b46867/b46867.csproj index 76615bc6060..9fe04285758 100644 --- a/src/coreclr/tests/src/JIT/Regression/CLR-x86-JIT/V1-M11-Beta1/b46867/b46867.csproj +++ b/src/coreclr/tests/src/JIT/Regression/CLR-x86-JIT/V1-M11-Beta1/b46867/b46867.csproj @@ -11,6 +11,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/Regression/CLR-x86-JIT/V1-M11-Beta1/b49644/b49644.ilproj b/src/coreclr/tests/src/JIT/Regression/CLR-x86-JIT/V1-M11-Beta1/b49644/b49644.ilproj index 6df2d0063fc..bb3b87e4d7d 100644 --- a/src/coreclr/tests/src/JIT/Regression/CLR-x86-JIT/V1-M11-Beta1/b49644/b49644.ilproj +++ b/src/coreclr/tests/src/JIT/Regression/CLR-x86-JIT/V1-M11-Beta1/b49644/b49644.ilproj @@ -11,6 +11,9 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true diff --git a/src/coreclr/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b31745/b31745.csproj b/src/coreclr/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b31745/b31745.csproj index df9593a79cd..53826d6c50c 100644 --- a/src/coreclr/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b31745/b31745.csproj +++ b/src/coreclr/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b31745/b31745.csproj @@ -11,6 +11,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b79250/b79250.ilproj b/src/coreclr/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b79250/b79250.ilproj index 0a65dc6de19..4b4027e8e45 100644 --- a/src/coreclr/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b79250/b79250.ilproj +++ b/src/coreclr/tests/src/JIT/Regression/CLR-x86-JIT/V1-M12-Beta2/b79250/b79250.ilproj @@ -10,6 +10,10 @@ Exe {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ + + + true + true diff --git a/src/coreclr/tests/src/JIT/Regression/CLR-x86-JIT/V1-M13-RTM/b88793/b88793.csproj b/src/coreclr/tests/src/JIT/Regression/CLR-x86-JIT/V1-M13-RTM/b88793/b88793.csproj index 82daf384823..6bbee1e2266 100644 --- a/src/coreclr/tests/src/JIT/Regression/CLR-x86-JIT/V1-M13-RTM/b88793/b88793.csproj +++ b/src/coreclr/tests/src/JIT/Regression/CLR-x86-JIT/V1-M13-RTM/b88793/b88793.csproj @@ -11,6 +11,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/Regression/CLR-x86-JIT/V1-M13-RTM/b91248/b91248.csproj b/src/coreclr/tests/src/JIT/Regression/CLR-x86-JIT/V1-M13-RTM/b91248/b91248.csproj index 7d4c5344fff..084ab416243 100644 --- a/src/coreclr/tests/src/JIT/Regression/CLR-x86-JIT/V1-M13-RTM/b91248/b91248.csproj +++ b/src/coreclr/tests/src/JIT/Regression/CLR-x86-JIT/V1-M13-RTM/b91248/b91248.csproj @@ -11,6 +11,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-Beta1/b102637/b102637.ilproj b/src/coreclr/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-Beta1/b102637/b102637.ilproj index b021b316368..a53f73f2088 100644 --- a/src/coreclr/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-Beta1/b102637/b102637.ilproj +++ b/src/coreclr/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-Beta1/b102637/b102637.ilproj @@ -11,6 +11,9 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true diff --git a/src/coreclr/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-M01/b03689/b03689.ilproj b/src/coreclr/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-M01/b03689/b03689.ilproj index 3034d902caf..f8928a5581f 100644 --- a/src/coreclr/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-M01/b03689/b03689.ilproj +++ b/src/coreclr/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-M01/b03689/b03689.ilproj @@ -11,6 +11,9 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true diff --git a/src/coreclr/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-M01/b08046/b08046.ilproj b/src/coreclr/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-M01/b08046/b08046.ilproj index b8784dc2f8c..ea236aa5269 100644 --- a/src/coreclr/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-M01/b08046/b08046.ilproj +++ b/src/coreclr/tests/src/JIT/Regression/CLR-x86-JIT/V1.2-M01/b08046/b08046.ilproj @@ -11,6 +11,9 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true diff --git a/src/coreclr/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b409748/b409748.ilproj b/src/coreclr/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b409748/b409748.ilproj index eb9a1dad353..5b89ff0fafc 100644 --- a/src/coreclr/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b409748/b409748.ilproj +++ b/src/coreclr/tests/src/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b409748/b409748.ilproj @@ -11,6 +11,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/Regression/Dev11/dev10_865840/dev10_865840.ilproj b/src/coreclr/tests/src/JIT/Regression/Dev11/dev10_865840/dev10_865840.ilproj index aac5aa4ea87..f20d1e4888d 100644 --- a/src/coreclr/tests/src/JIT/Regression/Dev11/dev10_865840/dev10_865840.ilproj +++ b/src/coreclr/tests/src/JIT/Regression/Dev11/dev10_865840/dev10_865840.ilproj @@ -11,6 +11,9 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true diff --git a/src/coreclr/tests/src/JIT/Regression/JitBlue/GitHub_17777/GitHub_17777.csproj b/src/coreclr/tests/src/JIT/Regression/JitBlue/GitHub_17777/GitHub_17777.csproj index 5bd417ae6c7..272e875d686 100644 --- a/src/coreclr/tests/src/JIT/Regression/JitBlue/GitHub_17777/GitHub_17777.csproj +++ b/src/coreclr/tests/src/JIT/Regression/JitBlue/GitHub_17777/GitHub_17777.csproj @@ -14,6 +14,9 @@ $(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages ..\..\ 7a9bfb7d + + + true diff --git a/src/coreclr/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M02/b12011/b12011.ilproj b/src/coreclr/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M02/b12011/b12011.ilproj index 0f1c133187c..2f7bdaae22d 100644 --- a/src/coreclr/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M02/b12011/b12011.ilproj +++ b/src/coreclr/tests/src/JIT/Regression/VS-ia64-JIT/V1.2-M02/b12011/b12011.ilproj @@ -11,6 +11,9 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ true + + + true diff --git a/src/coreclr/tests/src/JIT/Regression/VS-ia64-JIT/V2.0-Beta2/b410474/b410474.ilproj b/src/coreclr/tests/src/JIT/Regression/VS-ia64-JIT/V2.0-Beta2/b410474/b410474.ilproj index 66c7a74d73c..b072e953f00 100644 --- a/src/coreclr/tests/src/JIT/Regression/VS-ia64-JIT/V2.0-Beta2/b410474/b410474.ilproj +++ b/src/coreclr/tests/src/JIT/Regression/VS-ia64-JIT/V2.0-Beta2/b410474/b410474.ilproj @@ -11,6 +11,9 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true diff --git a/src/coreclr/tests/src/JIT/Regression/VS-ia64-JIT/V2.0-RTM/b286991/b286991.ilproj b/src/coreclr/tests/src/JIT/Regression/VS-ia64-JIT/V2.0-RTM/b286991/b286991.ilproj index a1d2d499c10..da2f6f643df 100644 --- a/src/coreclr/tests/src/JIT/Regression/VS-ia64-JIT/V2.0-RTM/b286991/b286991.ilproj +++ b/src/coreclr/tests/src/JIT/Regression/VS-ia64-JIT/V2.0-RTM/b286991/b286991.ilproj @@ -12,6 +12,10 @@ ..\..\ true 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/Regression/clr-x64-JIT/v2.1/b173569/b173569.ilproj b/src/coreclr/tests/src/JIT/Regression/clr-x64-JIT/v2.1/b173569/b173569.ilproj index cd6637377c5..5eb287d2ba1 100644 --- a/src/coreclr/tests/src/JIT/Regression/clr-x64-JIT/v2.1/b173569/b173569.ilproj +++ b/src/coreclr/tests/src/JIT/Regression/clr-x64-JIT/v2.1/b173569/b173569.ilproj @@ -11,6 +11,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/Regression/clr-x64-JIT/v4.0/devdiv374539/DevDiv_374539.csproj b/src/coreclr/tests/src/JIT/Regression/clr-x64-JIT/v4.0/devdiv374539/DevDiv_374539.csproj index 6e4aa76ce85..66b4fa3bdf1 100644 --- a/src/coreclr/tests/src/JIT/Regression/clr-x64-JIT/v4.0/devdiv374539/DevDiv_374539.csproj +++ b/src/coreclr/tests/src/JIT/Regression/clr-x64-JIT/v4.0/devdiv374539/DevDiv_374539.csproj @@ -13,6 +13,10 @@ 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/jit64/gc/misc/funclet.csproj b/src/coreclr/tests/src/JIT/jit64/gc/misc/funclet.csproj index 5dc7e500256..7ab17cc627e 100644 --- a/src/coreclr/tests/src/JIT/jit64/gc/misc/funclet.csproj +++ b/src/coreclr/tests/src/JIT/jit64/gc/misc/funclet.csproj @@ -11,6 +11,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/jit64/localloc/verify/verify01_dynamic.ilproj b/src/coreclr/tests/src/JIT/jit64/localloc/verify/verify01_dynamic.ilproj index 25820075fd2..fc9f2808290 100644 --- a/src/coreclr/tests/src/JIT/jit64/localloc/verify/verify01_dynamic.ilproj +++ b/src/coreclr/tests/src/JIT/jit64/localloc/verify/verify01_dynamic.ilproj @@ -11,6 +11,9 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true diff --git a/src/coreclr/tests/src/JIT/jit64/localloc/verify/verify01_large.ilproj b/src/coreclr/tests/src/JIT/jit64/localloc/verify/verify01_large.ilproj index 9c971212565..1182f98c349 100644 --- a/src/coreclr/tests/src/JIT/jit64/localloc/verify/verify01_large.ilproj +++ b/src/coreclr/tests/src/JIT/jit64/localloc/verify/verify01_large.ilproj @@ -11,6 +11,9 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true diff --git a/src/coreclr/tests/src/JIT/jit64/localloc/verify/verify01_small.ilproj b/src/coreclr/tests/src/JIT/jit64/localloc/verify/verify01_small.ilproj index 6803b3f7753..014796d8cb9 100644 --- a/src/coreclr/tests/src/JIT/jit64/localloc/verify/verify01_small.ilproj +++ b/src/coreclr/tests/src/JIT/jit64/localloc/verify/verify01_small.ilproj @@ -11,6 +11,9 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true diff --git a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i01.ilproj b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i01.ilproj index aafaca36864..b5f25d3ea54 100644 --- a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i01.ilproj +++ b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i01.ilproj @@ -11,6 +11,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i02.ilproj b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i02.ilproj index 9c445a6713c..4102fed9410 100644 --- a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i02.ilproj +++ b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i02.ilproj @@ -11,6 +11,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i03.ilproj b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i03.ilproj index 43580c7a72f..a65947da67c 100644 --- a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i03.ilproj +++ b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i03.ilproj @@ -11,6 +11,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i04.ilproj b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i04.ilproj index 8961104760e..978de3f1d5e 100644 --- a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i04.ilproj +++ b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i04.ilproj @@ -11,6 +11,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i05.ilproj b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i05.ilproj index 8cb2b9bf6ef..7b530a7f835 100644 --- a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i05.ilproj +++ b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i05.ilproj @@ -11,6 +11,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i06.ilproj b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i06.ilproj index bc18ec8c266..8b0ef2d52e1 100644 --- a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i06.ilproj +++ b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i06.ilproj @@ -10,6 +10,10 @@ Exe {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ + + + true + true diff --git a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i07.ilproj b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i07.ilproj index 4927701d58d..690142ba7d2 100644 --- a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i07.ilproj +++ b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i07.ilproj @@ -10,6 +10,10 @@ Exe {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ + + + true + true diff --git a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i10.ilproj b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i10.ilproj index 8ed3ebac5c1..f65d6e0e185 100644 --- a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i10.ilproj +++ b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i10.ilproj @@ -11,6 +11,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i11.ilproj b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i11.ilproj index f970593e987..053d45dd666 100644 --- a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i11.ilproj +++ b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i11.ilproj @@ -11,6 +11,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i12.ilproj b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i12.ilproj index e0159627ada..fae559f9034 100644 --- a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i12.ilproj +++ b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i12.ilproj @@ -11,6 +11,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i13.ilproj b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i13.ilproj index 23d16ec5007..aa8d74d31b3 100644 --- a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i13.ilproj +++ b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i13.ilproj @@ -11,6 +11,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i14.ilproj b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i14.ilproj index 9d0b68b148d..9442042af38 100644 --- a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i14.ilproj +++ b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i14.ilproj @@ -11,6 +11,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i15.ilproj b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i15.ilproj index 8445bdaa98b..c5787367306 100644 --- a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i15.ilproj +++ b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i15.ilproj @@ -11,6 +11,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i16.ilproj b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i16.ilproj index 01991bd1ecb..0df7c51e967 100644 --- a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i16.ilproj +++ b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i16.ilproj @@ -10,6 +10,10 @@ Exe {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ + + + true + true diff --git a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i17.ilproj b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i17.ilproj index b8394e6933b..3db24063c69 100644 --- a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i17.ilproj +++ b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i17.ilproj @@ -10,6 +10,10 @@ Exe {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ + + + true + true diff --git a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i30.ilproj b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i30.ilproj index 75e291ca3e9..1636d099def 100644 --- a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i30.ilproj +++ b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i30.ilproj @@ -11,6 +11,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i31.ilproj b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i31.ilproj index 4460df7bb35..ac2a4765169 100644 --- a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i31.ilproj +++ b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i31.ilproj @@ -11,6 +11,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i32.ilproj b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i32.ilproj index 6a5b859f63a..56ef1e2fd93 100644 --- a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i32.ilproj +++ b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i32.ilproj @@ -11,6 +11,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i33.ilproj b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i33.ilproj index 6b367a016c5..91d4833c592 100644 --- a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i33.ilproj +++ b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i33.ilproj @@ -11,6 +11,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i34.ilproj b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i34.ilproj index c6fd8accfaa..45e4d7df1cd 100644 --- a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i34.ilproj +++ b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i34.ilproj @@ -11,6 +11,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i35.ilproj b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i35.ilproj index 546e95fc178..166c08f503c 100644 --- a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i35.ilproj +++ b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i35.ilproj @@ -11,6 +11,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i36.ilproj b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i36.ilproj index 019c1a5e803..577da7279bd 100644 --- a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i36.ilproj +++ b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i36.ilproj @@ -10,6 +10,10 @@ Exe {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ + + + true + true diff --git a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i37.ilproj b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i37.ilproj index 2b7c93deb23..aa41c4355f9 100644 --- a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i37.ilproj +++ b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i37.ilproj @@ -10,6 +10,10 @@ Exe {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ + + + true + true diff --git a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i50.ilproj b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i50.ilproj index 6769938a116..5936a1ac839 100644 --- a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i50.ilproj +++ b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i50.ilproj @@ -11,6 +11,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i51.ilproj b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i51.ilproj index 298bde1ba2d..b604120d108 100644 --- a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i51.ilproj +++ b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i51.ilproj @@ -11,6 +11,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i52.ilproj b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i52.ilproj index 50195cfd66e..63f1df7c785 100644 --- a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i52.ilproj +++ b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i52.ilproj @@ -11,6 +11,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i53.ilproj b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i53.ilproj index cce1234b10d..6e69083db56 100644 --- a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i53.ilproj +++ b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i53.ilproj @@ -11,6 +11,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i54.ilproj b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i54.ilproj index cf80fb5077d..07842714399 100644 --- a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i54.ilproj +++ b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i54.ilproj @@ -11,6 +11,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i55.ilproj b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i55.ilproj index 21b4c7bbc8e..a125e6ed99c 100644 --- a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i55.ilproj +++ b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i55.ilproj @@ -11,6 +11,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i56.ilproj b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i56.ilproj index c15d0248590..3f3ed3737ab 100644 --- a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i56.ilproj +++ b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i56.ilproj @@ -10,6 +10,10 @@ Exe {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ + + + true + true diff --git a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i57.ilproj b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i57.ilproj index 2c3705afc8d..a12a1f14abe 100644 --- a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i57.ilproj +++ b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i57.ilproj @@ -10,6 +10,10 @@ Exe {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ + + + true + true diff --git a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i60.ilproj b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i60.ilproj index 3306d1f1d78..5e130a3c1e3 100644 --- a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i60.ilproj +++ b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i60.ilproj @@ -11,6 +11,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i61.ilproj b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i61.ilproj index 875a398e965..16e1e56580d 100644 --- a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i61.ilproj +++ b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i61.ilproj @@ -11,6 +11,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i62.ilproj b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i62.ilproj index ba54aac8716..2669a5ceb97 100644 --- a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i62.ilproj +++ b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i62.ilproj @@ -11,6 +11,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i63.ilproj b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i63.ilproj index 07fdbd51264..a9cbbce326d 100644 --- a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i63.ilproj +++ b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i63.ilproj @@ -11,6 +11,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i64.ilproj b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i64.ilproj index cef4778ff39..79b555f2dbb 100644 --- a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i64.ilproj +++ b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i64.ilproj @@ -11,6 +11,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i65.ilproj b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i65.ilproj index 6d4b787c5e0..771aca90ecb 100644 --- a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i65.ilproj +++ b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i65.ilproj @@ -11,6 +11,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i66.ilproj b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i66.ilproj index d24686cfff1..9de92883ab5 100644 --- a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i66.ilproj +++ b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i66.ilproj @@ -10,6 +10,10 @@ Exe {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ + + + true + true diff --git a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i67.ilproj b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i67.ilproj index 4be027f3bf7..5c9f301b7ff 100644 --- a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i67.ilproj +++ b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i67.ilproj @@ -10,6 +10,10 @@ Exe {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ + + + true + true diff --git a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i70.ilproj b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i70.ilproj index ef9996d5673..28c3d2cafeb 100644 --- a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i70.ilproj +++ b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i70.ilproj @@ -11,6 +11,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i71.ilproj b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i71.ilproj index 65c1a8176a2..1bb6ab6c520 100644 --- a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i71.ilproj +++ b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i71.ilproj @@ -11,6 +11,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i72.ilproj b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i72.ilproj index 281f275a82e..f7cc5d38062 100644 --- a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i72.ilproj +++ b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i72.ilproj @@ -11,6 +11,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i73.ilproj b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i73.ilproj index 436dda1dd71..2a4a4c367e0 100644 --- a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i73.ilproj +++ b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i73.ilproj @@ -11,6 +11,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i74.ilproj b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i74.ilproj index 7e86001f0bb..abe6c535f02 100644 --- a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i74.ilproj +++ b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i74.ilproj @@ -11,6 +11,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i75.ilproj b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i75.ilproj index 2de84d35f52..021eca2caca 100644 --- a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i75.ilproj +++ b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i75.ilproj @@ -11,6 +11,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i76.ilproj b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i76.ilproj index 8a312cac76f..ca9ca928904 100644 --- a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i76.ilproj +++ b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i76.ilproj @@ -10,6 +10,10 @@ Exe {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ + + + true + true diff --git a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i77.ilproj b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i77.ilproj index 478afc5f889..0be1d28c5c9 100644 --- a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i77.ilproj +++ b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i77.ilproj @@ -10,6 +10,10 @@ Exe {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ + + + true + true diff --git a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i80.ilproj b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i80.ilproj index b8296515f10..d675576b8d1 100644 --- a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i80.ilproj +++ b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i80.ilproj @@ -11,6 +11,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i81.ilproj b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i81.ilproj index 9d3f6e09381..a63de2312cf 100644 --- a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i81.ilproj +++ b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i81.ilproj @@ -11,6 +11,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i82.ilproj b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i82.ilproj index 043c0f3d724..0d10d0bb6c5 100644 --- a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i82.ilproj +++ b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i82.ilproj @@ -11,6 +11,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i83.ilproj b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i83.ilproj index 0cd0fb1e838..b78d4378767 100644 --- a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i83.ilproj +++ b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i83.ilproj @@ -11,6 +11,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i84.ilproj b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i84.ilproj index a56fae22e52..ae0e47d158c 100644 --- a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i84.ilproj +++ b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i84.ilproj @@ -11,6 +11,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i85.ilproj b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i85.ilproj index b1c1b0475cf..94898c19d70 100644 --- a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i85.ilproj +++ b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i85.ilproj @@ -11,6 +11,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i86.ilproj b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i86.ilproj index b690ba91f07..5096492b0f2 100644 --- a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i86.ilproj +++ b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i86.ilproj @@ -10,6 +10,10 @@ Exe {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ + + + true + true diff --git a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i87.ilproj b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i87.ilproj index 16af55fcc36..b42ba9fcea3 100644 --- a/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i87.ilproj +++ b/src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i87.ilproj @@ -10,6 +10,10 @@ Exe {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ + + + true + true diff --git a/src/coreclr/tests/src/JIT/jit64/opt/cse/hugeSimpleExpr1.csproj b/src/coreclr/tests/src/JIT/jit64/opt/cse/hugeSimpleExpr1.csproj index 07365609ec7..0784ebdd299 100644 --- a/src/coreclr/tests/src/JIT/jit64/opt/cse/hugeSimpleExpr1.csproj +++ b/src/coreclr/tests/src/JIT/jit64/opt/cse/hugeSimpleExpr1.csproj @@ -10,6 +10,9 @@ Exe {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ + + + true diff --git a/src/coreclr/tests/src/JIT/jit64/opt/rngchk/ArrayWithThread_o.csproj b/src/coreclr/tests/src/JIT/jit64/opt/rngchk/ArrayWithThread_o.csproj index fde489d9f49..992ac1c5229 100644 --- a/src/coreclr/tests/src/JIT/jit64/opt/rngchk/ArrayWithThread_o.csproj +++ b/src/coreclr/tests/src/JIT/jit64/opt/rngchk/ArrayWithThread_o.csproj @@ -10,6 +10,9 @@ Exe {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ + + + true diff --git a/src/coreclr/tests/src/JIT/jit64/regress/ndpw/21220/b21220.ilproj b/src/coreclr/tests/src/JIT/jit64/regress/ndpw/21220/b21220.ilproj index 50f2b455b07..36ce9e3afe2 100644 --- a/src/coreclr/tests/src/JIT/jit64/regress/ndpw/21220/b21220.ilproj +++ b/src/coreclr/tests/src/JIT/jit64/regress/ndpw/21220/b21220.ilproj @@ -11,6 +11,9 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true diff --git a/src/coreclr/tests/src/JIT/jit64/regress/vsw/286991/test.ilproj b/src/coreclr/tests/src/JIT/jit64/regress/vsw/286991/test.ilproj index b1788a5a350..47af7182002 100644 --- a/src/coreclr/tests/src/JIT/jit64/regress/vsw/286991/test.ilproj +++ b/src/coreclr/tests/src/JIT/jit64/regress/vsw/286991/test.ilproj @@ -12,6 +12,10 @@ ..\..\ true 1 + + + true + true diff --git a/src/coreclr/tests/src/JIT/opt/Tailcall/TailcallVerifyWithPrefix.ilproj b/src/coreclr/tests/src/JIT/opt/Tailcall/TailcallVerifyWithPrefix.ilproj index 169e8aed37e..dd5c6bb0f3e 100644 --- a/src/coreclr/tests/src/JIT/opt/Tailcall/TailcallVerifyWithPrefix.ilproj +++ b/src/coreclr/tests/src/JIT/opt/Tailcall/TailcallVerifyWithPrefix.ilproj @@ -11,6 +11,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ $(DefineConstants);STATIC + + + true + true diff --git a/src/coreclr/tests/src/Regressions/coreclr/0584/Test584.csproj b/src/coreclr/tests/src/Regressions/coreclr/0584/Test584.csproj index 65a6eb81383..431ef3283df 100644 --- a/src/coreclr/tests/src/Regressions/coreclr/0584/Test584.csproj +++ b/src/coreclr/tests/src/Regressions/coreclr/0584/Test584.csproj @@ -12,6 +12,10 @@ true BuildAndRun 1 + + + true + true diff --git a/src/coreclr/tests/src/baseservices/exceptions/regressions/Dev11/147911/test147911.csproj b/src/coreclr/tests/src/baseservices/exceptions/regressions/Dev11/147911/test147911.csproj index ca6facd7658..4feae8cbced 100644 --- a/src/coreclr/tests/src/baseservices/exceptions/regressions/Dev11/147911/test147911.csproj +++ b/src/coreclr/tests/src/baseservices/exceptions/regressions/Dev11/147911/test147911.csproj @@ -12,6 +12,9 @@ true BuildAndRun 1 + + + true diff --git a/src/coreclr/tests/src/baseservices/exceptions/regressions/V1/SEH/VJ/UnmanagedToManaged.csproj b/src/coreclr/tests/src/baseservices/exceptions/regressions/V1/SEH/VJ/UnmanagedToManaged.csproj index a473e87c800..882764f9d84 100644 --- a/src/coreclr/tests/src/baseservices/exceptions/regressions/V1/SEH/VJ/UnmanagedToManaged.csproj +++ b/src/coreclr/tests/src/baseservices/exceptions/regressions/V1/SEH/VJ/UnmanagedToManaged.csproj @@ -12,6 +12,9 @@ true BuildAndRun 1 + + + true diff --git a/src/coreclr/tests/src/baseservices/threading/commitstackonlyasneeded/DefaultStackCommit.csproj b/src/coreclr/tests/src/baseservices/threading/commitstackonlyasneeded/DefaultStackCommit.csproj index fe215363fad..d3142735ff6 100644 --- a/src/coreclr/tests/src/baseservices/threading/commitstackonlyasneeded/DefaultStackCommit.csproj +++ b/src/coreclr/tests/src/baseservices/threading/commitstackonlyasneeded/DefaultStackCommit.csproj @@ -12,6 +12,10 @@ true BuildAndRun 1 + + + true + true diff --git a/src/coreclr/tests/src/baseservices/threading/mutex/abandonedmutex/am04waitany.csproj b/src/coreclr/tests/src/baseservices/threading/mutex/abandonedmutex/am04waitany.csproj index 5b221edb1ae..1938baaa017 100644 --- a/src/coreclr/tests/src/baseservices/threading/mutex/abandonedmutex/am04waitany.csproj +++ b/src/coreclr/tests/src/baseservices/threading/mutex/abandonedmutex/am04waitany.csproj @@ -12,6 +12,10 @@ 1 /size:10 /pos:0 true + + + true + true diff --git a/src/coreclr/tests/src/baseservices/threading/mutex/abandonedmutex/am05waitanymutex.csproj b/src/coreclr/tests/src/baseservices/threading/mutex/abandonedmutex/am05waitanymutex.csproj index 1ee5aac4425..68409e01e5a 100644 --- a/src/coreclr/tests/src/baseservices/threading/mutex/abandonedmutex/am05waitanymutex.csproj +++ b/src/coreclr/tests/src/baseservices/threading/mutex/abandonedmutex/am05waitanymutex.csproj @@ -12,6 +12,10 @@ 1 /size:64 /pos:63 true + + + true + true diff --git a/src/coreclr/tests/src/baseservices/threading/mutex/abandonedmutex/am06abandonall.csproj b/src/coreclr/tests/src/baseservices/threading/mutex/abandonedmutex/am06abandonall.csproj index f439180bea3..a6891800448 100644 --- a/src/coreclr/tests/src/baseservices/threading/mutex/abandonedmutex/am06abandonall.csproj +++ b/src/coreclr/tests/src/baseservices/threading/mutex/abandonedmutex/am06abandonall.csproj @@ -11,6 +11,10 @@ ..\..\ 1 true + + + true + true diff --git a/src/coreclr/tests/src/baseservices/threading/mutex/abandonedmutex/am07abandonmultiplemutex.csproj b/src/coreclr/tests/src/baseservices/threading/mutex/abandonedmutex/am07abandonmultiplemutex.csproj index 2456bb8e45d..7660c8de57a 100644 --- a/src/coreclr/tests/src/baseservices/threading/mutex/abandonedmutex/am07abandonmultiplemutex.csproj +++ b/src/coreclr/tests/src/baseservices/threading/mutex/abandonedmutex/am07abandonmultiplemutex.csproj @@ -11,6 +11,10 @@ ..\..\ 1 true + + + true + true diff --git a/src/coreclr/tests/src/baseservices/threading/mutex/abandonedmutex/am08mixedarray.csproj b/src/coreclr/tests/src/baseservices/threading/mutex/abandonedmutex/am08mixedarray.csproj index 804b758c690..2f7bf9d8b56 100644 --- a/src/coreclr/tests/src/baseservices/threading/mutex/abandonedmutex/am08mixedarray.csproj +++ b/src/coreclr/tests/src/baseservices/threading/mutex/abandonedmutex/am08mixedarray.csproj @@ -11,6 +11,10 @@ ..\..\ 1 true + + + true + true diff --git a/src/coreclr/tests/src/baseservices/threading/mutex/openexisting/openmutexneg1.csproj b/src/coreclr/tests/src/baseservices/threading/mutex/openexisting/openmutexneg1.csproj index 37a09059d71..3998bd00140 100644 --- a/src/coreclr/tests/src/baseservices/threading/mutex/openexisting/openmutexneg1.csproj +++ b/src/coreclr/tests/src/baseservices/threading/mutex/openexisting/openmutexneg1.csproj @@ -10,6 +10,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/baseservices/threading/mutex/openexisting/openmutexneg2.csproj b/src/coreclr/tests/src/baseservices/threading/mutex/openexisting/openmutexneg2.csproj index e7a6eba461e..f91785574c6 100644 --- a/src/coreclr/tests/src/baseservices/threading/mutex/openexisting/openmutexneg2.csproj +++ b/src/coreclr/tests/src/baseservices/threading/mutex/openexisting/openmutexneg2.csproj @@ -10,6 +10,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/baseservices/threading/mutex/openexisting/openmutexneg3.csproj b/src/coreclr/tests/src/baseservices/threading/mutex/openexisting/openmutexneg3.csproj index e5136f995d2..e626463cb96 100644 --- a/src/coreclr/tests/src/baseservices/threading/mutex/openexisting/openmutexneg3.csproj +++ b/src/coreclr/tests/src/baseservices/threading/mutex/openexisting/openmutexneg3.csproj @@ -10,6 +10,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/baseservices/threading/mutex/openexisting/openmutexneg4.csproj b/src/coreclr/tests/src/baseservices/threading/mutex/openexisting/openmutexneg4.csproj index 3c718faceae..1bc0e8c6653 100644 --- a/src/coreclr/tests/src/baseservices/threading/mutex/openexisting/openmutexneg4.csproj +++ b/src/coreclr/tests/src/baseservices/threading/mutex/openexisting/openmutexneg4.csproj @@ -10,6 +10,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/baseservices/threading/mutex/openexisting/openmutexneg5.csproj b/src/coreclr/tests/src/baseservices/threading/mutex/openexisting/openmutexneg5.csproj index 21a481cced5..fe01bb8bdc8 100644 --- a/src/coreclr/tests/src/baseservices/threading/mutex/openexisting/openmutexneg5.csproj +++ b/src/coreclr/tests/src/baseservices/threading/mutex/openexisting/openmutexneg5.csproj @@ -10,6 +10,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/baseservices/threading/mutex/openexisting/openmutexneg6.csproj b/src/coreclr/tests/src/baseservices/threading/mutex/openexisting/openmutexneg6.csproj index 91d4792eb93..7810ed57811 100644 --- a/src/coreclr/tests/src/baseservices/threading/mutex/openexisting/openmutexneg6.csproj +++ b/src/coreclr/tests/src/baseservices/threading/mutex/openexisting/openmutexneg6.csproj @@ -10,6 +10,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/baseservices/threading/mutex/openexisting/openmutexneg7.csproj b/src/coreclr/tests/src/baseservices/threading/mutex/openexisting/openmutexneg7.csproj index 042084ab86f..14de86a7fc7 100644 --- a/src/coreclr/tests/src/baseservices/threading/mutex/openexisting/openmutexneg7.csproj +++ b/src/coreclr/tests/src/baseservices/threading/mutex/openexisting/openmutexneg7.csproj @@ -10,6 +10,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/baseservices/threading/mutex/openexisting/openmutexneg8.csproj b/src/coreclr/tests/src/baseservices/threading/mutex/openexisting/openmutexneg8.csproj index 02906017e37..fc86ed5d29b 100644 --- a/src/coreclr/tests/src/baseservices/threading/mutex/openexisting/openmutexneg8.csproj +++ b/src/coreclr/tests/src/baseservices/threading/mutex/openexisting/openmutexneg8.csproj @@ -10,6 +10,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/baseservices/threading/mutex/openexisting/openmutexpos1.csproj b/src/coreclr/tests/src/baseservices/threading/mutex/openexisting/openmutexpos1.csproj index 2fd73f9aede..eb655b6f128 100644 --- a/src/coreclr/tests/src/baseservices/threading/mutex/openexisting/openmutexpos1.csproj +++ b/src/coreclr/tests/src/baseservices/threading/mutex/openexisting/openmutexpos1.csproj @@ -10,6 +10,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/baseservices/threading/mutex/openexisting/openmutexpos2.csproj b/src/coreclr/tests/src/baseservices/threading/mutex/openexisting/openmutexpos2.csproj index a432e1f8b30..2e7db2880ec 100644 --- a/src/coreclr/tests/src/baseservices/threading/mutex/openexisting/openmutexpos2.csproj +++ b/src/coreclr/tests/src/baseservices/threading/mutex/openexisting/openmutexpos2.csproj @@ -10,6 +10,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/baseservices/threading/mutex/openexisting/openmutexpos3.csproj b/src/coreclr/tests/src/baseservices/threading/mutex/openexisting/openmutexpos3.csproj index c0a6aeb97ed..40e11361171 100644 --- a/src/coreclr/tests/src/baseservices/threading/mutex/openexisting/openmutexpos3.csproj +++ b/src/coreclr/tests/src/baseservices/threading/mutex/openexisting/openmutexpos3.csproj @@ -10,6 +10,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/baseservices/threading/mutex/openexisting/openmutexpos4.csproj b/src/coreclr/tests/src/baseservices/threading/mutex/openexisting/openmutexpos4.csproj index f219be12823..beecf83af5f 100644 --- a/src/coreclr/tests/src/baseservices/threading/mutex/openexisting/openmutexpos4.csproj +++ b/src/coreclr/tests/src/baseservices/threading/mutex/openexisting/openmutexpos4.csproj @@ -10,6 +10,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/baseservices/threading/regressions/whidbey_m3/200176.csproj b/src/coreclr/tests/src/baseservices/threading/regressions/whidbey_m3/200176.csproj index a45b526a88e..44114682a64 100644 --- a/src/coreclr/tests/src/baseservices/threading/regressions/whidbey_m3/200176.csproj +++ b/src/coreclr/tests/src/baseservices/threading/regressions/whidbey_m3/200176.csproj @@ -10,6 +10,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/baseservices/threading/semaphore/ctoropen/semaphorector2.csproj b/src/coreclr/tests/src/baseservices/threading/semaphore/ctoropen/semaphorector2.csproj index 3301e9e6f87..cdb3297c654 100644 --- a/src/coreclr/tests/src/baseservices/threading/semaphore/ctoropen/semaphorector2.csproj +++ b/src/coreclr/tests/src/baseservices/threading/semaphore/ctoropen/semaphorector2.csproj @@ -11,6 +11,10 @@ ..\..\ 1 /iCount:0 /mCount:1 /semName:MySemaphoreName + + + true + true diff --git a/src/coreclr/tests/src/baseservices/threading/semaphore/ctoropen/semaphorector3.csproj b/src/coreclr/tests/src/baseservices/threading/semaphore/ctoropen/semaphorector3.csproj index 061528bc54d..0494fecc4a9 100644 --- a/src/coreclr/tests/src/baseservices/threading/semaphore/ctoropen/semaphorector3.csproj +++ b/src/coreclr/tests/src/baseservices/threading/semaphore/ctoropen/semaphorector3.csproj @@ -11,6 +11,10 @@ ..\..\ 1 /iCount:10 /mCount:10 /semname:abcdefghijklmnopqrstuvwxyz + + + true + true diff --git a/src/coreclr/tests/src/baseservices/threading/semaphore/ctoropen/semaphorector4.csproj b/src/coreclr/tests/src/baseservices/threading/semaphore/ctoropen/semaphorector4.csproj index 7273b602dcd..14a554d1cbc 100644 --- a/src/coreclr/tests/src/baseservices/threading/semaphore/ctoropen/semaphorector4.csproj +++ b/src/coreclr/tests/src/baseservices/threading/semaphore/ctoropen/semaphorector4.csproj @@ -11,6 +11,10 @@ ..\..\ 1 /iCount:3 /mCount:5 /iRandom:260 + + + true + true diff --git a/src/coreclr/tests/src/baseservices/threading/semaphore/ctoropen/semaphorector5.csproj b/src/coreclr/tests/src/baseservices/threading/semaphore/ctoropen/semaphorector5.csproj index 4ceecac734b..760e56c86e0 100644 --- a/src/coreclr/tests/src/baseservices/threading/semaphore/ctoropen/semaphorector5.csproj +++ b/src/coreclr/tests/src/baseservices/threading/semaphore/ctoropen/semaphorector5.csproj @@ -11,6 +11,10 @@ ..\..\ 1 /iCount:2147483647 /mCount:2147483647 /iRandom:220 + + + true + true diff --git a/src/coreclr/tests/src/baseservices/threading/semaphore/ctoropen/semaphoreopenneg1.csproj b/src/coreclr/tests/src/baseservices/threading/semaphore/ctoropen/semaphoreopenneg1.csproj index 2384490b581..6bf5930fe43 100644 --- a/src/coreclr/tests/src/baseservices/threading/semaphore/ctoropen/semaphoreopenneg1.csproj +++ b/src/coreclr/tests/src/baseservices/threading/semaphore/ctoropen/semaphoreopenneg1.csproj @@ -10,6 +10,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/baseservices/threading/semaphore/ctoropen/semaphoreopenneg2.csproj b/src/coreclr/tests/src/baseservices/threading/semaphore/ctoropen/semaphoreopenneg2.csproj index db61bfc0bd6..955e8e8ae4f 100644 --- a/src/coreclr/tests/src/baseservices/threading/semaphore/ctoropen/semaphoreopenneg2.csproj +++ b/src/coreclr/tests/src/baseservices/threading/semaphore/ctoropen/semaphoreopenneg2.csproj @@ -10,6 +10,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/baseservices/threading/semaphore/ctoropen/semaphoreopenneg3.csproj b/src/coreclr/tests/src/baseservices/threading/semaphore/ctoropen/semaphoreopenneg3.csproj index 7ad6cd105af..07e35cf868a 100644 --- a/src/coreclr/tests/src/baseservices/threading/semaphore/ctoropen/semaphoreopenneg3.csproj +++ b/src/coreclr/tests/src/baseservices/threading/semaphore/ctoropen/semaphoreopenneg3.csproj @@ -10,6 +10,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/baseservices/threading/semaphore/ctoropen/semaphoreopenneg4.csproj b/src/coreclr/tests/src/baseservices/threading/semaphore/ctoropen/semaphoreopenneg4.csproj index d69032eb72d..8ab7a32c520 100644 --- a/src/coreclr/tests/src/baseservices/threading/semaphore/ctoropen/semaphoreopenneg4.csproj +++ b/src/coreclr/tests/src/baseservices/threading/semaphore/ctoropen/semaphoreopenneg4.csproj @@ -10,6 +10,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/baseservices/threading/semaphore/ctoropen/semaphoreopenneg5.csproj b/src/coreclr/tests/src/baseservices/threading/semaphore/ctoropen/semaphoreopenneg5.csproj index 15b1ff59cb9..34ba4e327f0 100644 --- a/src/coreclr/tests/src/baseservices/threading/semaphore/ctoropen/semaphoreopenneg5.csproj +++ b/src/coreclr/tests/src/baseservices/threading/semaphore/ctoropen/semaphoreopenneg5.csproj @@ -10,6 +10,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/baseservices/threading/semaphore/ctoropen/semaphoreopenneg6.csproj b/src/coreclr/tests/src/baseservices/threading/semaphore/ctoropen/semaphoreopenneg6.csproj index 817aca2ae09..5f401a226b5 100644 --- a/src/coreclr/tests/src/baseservices/threading/semaphore/ctoropen/semaphoreopenneg6.csproj +++ b/src/coreclr/tests/src/baseservices/threading/semaphore/ctoropen/semaphoreopenneg6.csproj @@ -10,6 +10,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/baseservices/threading/semaphore/ctoropen/semaphoreopenneg7.csproj b/src/coreclr/tests/src/baseservices/threading/semaphore/ctoropen/semaphoreopenneg7.csproj index 2155e221a20..b2e5f253198 100644 --- a/src/coreclr/tests/src/baseservices/threading/semaphore/ctoropen/semaphoreopenneg7.csproj +++ b/src/coreclr/tests/src/baseservices/threading/semaphore/ctoropen/semaphoreopenneg7.csproj @@ -10,6 +10,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/baseservices/threading/semaphore/unit/semtest.csproj b/src/coreclr/tests/src/baseservices/threading/semaphore/unit/semtest.csproj index 48ce59c2a40..91a6ffd110a 100644 --- a/src/coreclr/tests/src/baseservices/threading/semaphore/unit/semtest.csproj +++ b/src/coreclr/tests/src/baseservices/threading/semaphore/unit/semtest.csproj @@ -10,6 +10,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/baseservices/threading/threadpool/bindhandle/bindhandle1.csproj b/src/coreclr/tests/src/baseservices/threading/threadpool/bindhandle/bindhandle1.csproj index cafede0e809..b76a4e48619 100644 --- a/src/coreclr/tests/src/baseservices/threading/threadpool/bindhandle/bindhandle1.csproj +++ b/src/coreclr/tests/src/baseservices/threading/threadpool/bindhandle/bindhandle1.csproj @@ -10,6 +10,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/baseservices/threading/threadpool/bindhandle/bindhandleinvalid.csproj b/src/coreclr/tests/src/baseservices/threading/threadpool/bindhandle/bindhandleinvalid.csproj index 4936eb1c91e..18ff388c352 100644 --- a/src/coreclr/tests/src/baseservices/threading/threadpool/bindhandle/bindhandleinvalid.csproj +++ b/src/coreclr/tests/src/baseservices/threading/threadpool/bindhandle/bindhandleinvalid.csproj @@ -10,6 +10,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/baseservices/threading/threadpool/bindhandle/bindhandleinvalid3.csproj b/src/coreclr/tests/src/baseservices/threading/threadpool/bindhandle/bindhandleinvalid3.csproj index 40a45e35624..e0df2548632 100644 --- a/src/coreclr/tests/src/baseservices/threading/threadpool/bindhandle/bindhandleinvalid3.csproj +++ b/src/coreclr/tests/src/baseservices/threading/threadpool/bindhandle/bindhandleinvalid3.csproj @@ -10,6 +10,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/baseservices/threading/threadpool/bindhandle/bindhandleinvalid4.csproj b/src/coreclr/tests/src/baseservices/threading/threadpool/bindhandle/bindhandleinvalid4.csproj index b4680468a99..2c5d161c1ed 100644 --- a/src/coreclr/tests/src/baseservices/threading/threadpool/bindhandle/bindhandleinvalid4.csproj +++ b/src/coreclr/tests/src/baseservices/threading/threadpool/bindhandle/bindhandleinvalid4.csproj @@ -10,6 +10,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/baseservices/threading/threadpool/bindhandle/bindhandleinvalid5.csproj b/src/coreclr/tests/src/baseservices/threading/threadpool/bindhandle/bindhandleinvalid5.csproj index f612e480db5..bf9bd985b2a 100644 --- a/src/coreclr/tests/src/baseservices/threading/threadpool/bindhandle/bindhandleinvalid5.csproj +++ b/src/coreclr/tests/src/baseservices/threading/threadpool/bindhandle/bindhandleinvalid5.csproj @@ -10,6 +10,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/baseservices/threading/threadpool/bindhandle/bindhandleinvalid6.csproj b/src/coreclr/tests/src/baseservices/threading/threadpool/bindhandle/bindhandleinvalid6.csproj index 3bd9e99769e..d5ddd04bd24 100644 --- a/src/coreclr/tests/src/baseservices/threading/threadpool/bindhandle/bindhandleinvalid6.csproj +++ b/src/coreclr/tests/src/baseservices/threading/threadpool/bindhandle/bindhandleinvalid6.csproj @@ -10,6 +10,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/baseservices/threading/waithandle/waitall/waitallex1.csproj b/src/coreclr/tests/src/baseservices/threading/waithandle/waitall/waitallex1.csproj index 64bc02b7c17..7239c414ddd 100644 --- a/src/coreclr/tests/src/baseservices/threading/waithandle/waitall/waitallex1.csproj +++ b/src/coreclr/tests/src/baseservices/threading/waithandle/waitall/waitallex1.csproj @@ -11,6 +11,10 @@ ..\..\ 1 true + + + true + true diff --git a/src/coreclr/tests/src/baseservices/threading/waithandle/waitall/waitallex10.csproj b/src/coreclr/tests/src/baseservices/threading/waithandle/waitall/waitallex10.csproj index 1afd2ab08ff..973d2b52d98 100644 --- a/src/coreclr/tests/src/baseservices/threading/waithandle/waitall/waitallex10.csproj +++ b/src/coreclr/tests/src/baseservices/threading/waithandle/waitall/waitallex10.csproj @@ -12,6 +12,10 @@ 1 /size:64 /pos:63 true + + + true + true diff --git a/src/coreclr/tests/src/baseservices/threading/waithandle/waitall/waitallex11.csproj b/src/coreclr/tests/src/baseservices/threading/waithandle/waitall/waitallex11.csproj index 8e16927f4c9..e2a47fc8537 100644 --- a/src/coreclr/tests/src/baseservices/threading/waithandle/waitall/waitallex11.csproj +++ b/src/coreclr/tests/src/baseservices/threading/waithandle/waitall/waitallex11.csproj @@ -10,6 +10,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/baseservices/threading/waithandle/waitall/waitallex2.csproj b/src/coreclr/tests/src/baseservices/threading/waithandle/waitall/waitallex2.csproj index 2402f87dd88..c7fbc269a9a 100644 --- a/src/coreclr/tests/src/baseservices/threading/waithandle/waitall/waitallex2.csproj +++ b/src/coreclr/tests/src/baseservices/threading/waithandle/waitall/waitallex2.csproj @@ -11,6 +11,10 @@ ..\..\ 1 true + + + true + true diff --git a/src/coreclr/tests/src/baseservices/threading/waithandle/waitall/waitallex3.csproj b/src/coreclr/tests/src/baseservices/threading/waithandle/waitall/waitallex3.csproj index 96103d0a3b6..23eda26db1a 100644 --- a/src/coreclr/tests/src/baseservices/threading/waithandle/waitall/waitallex3.csproj +++ b/src/coreclr/tests/src/baseservices/threading/waithandle/waitall/waitallex3.csproj @@ -11,6 +11,10 @@ ..\..\ 1 true + + + true + true diff --git a/src/coreclr/tests/src/baseservices/threading/waithandle/waitall/waitallex4.csproj b/src/coreclr/tests/src/baseservices/threading/waithandle/waitall/waitallex4.csproj index 3384e91a202..8eb3b5acd94 100644 --- a/src/coreclr/tests/src/baseservices/threading/waithandle/waitall/waitallex4.csproj +++ b/src/coreclr/tests/src/baseservices/threading/waithandle/waitall/waitallex4.csproj @@ -11,6 +11,10 @@ ..\..\ 1 true + + + true + true diff --git a/src/coreclr/tests/src/baseservices/threading/waithandle/waitall/waitallex5.csproj b/src/coreclr/tests/src/baseservices/threading/waithandle/waitall/waitallex5.csproj index 64c39d767a0..7c89c3685f5 100644 --- a/src/coreclr/tests/src/baseservices/threading/waithandle/waitall/waitallex5.csproj +++ b/src/coreclr/tests/src/baseservices/threading/waithandle/waitall/waitallex5.csproj @@ -11,6 +11,10 @@ ..\..\ 1 true + + + true + true diff --git a/src/coreclr/tests/src/baseservices/threading/waithandle/waitall/waitallex6.csproj b/src/coreclr/tests/src/baseservices/threading/waithandle/waitall/waitallex6.csproj index 8fe852d3580..0d80f5a9a1b 100644 --- a/src/coreclr/tests/src/baseservices/threading/waithandle/waitall/waitallex6.csproj +++ b/src/coreclr/tests/src/baseservices/threading/waithandle/waitall/waitallex6.csproj @@ -12,6 +12,10 @@ 1 /size:2 /pos:0 true + + + true + true diff --git a/src/coreclr/tests/src/baseservices/threading/waithandle/waitall/waitallex7.csproj b/src/coreclr/tests/src/baseservices/threading/waithandle/waitall/waitallex7.csproj index 98af403de8d..ba160f7f7ae 100644 --- a/src/coreclr/tests/src/baseservices/threading/waithandle/waitall/waitallex7.csproj +++ b/src/coreclr/tests/src/baseservices/threading/waithandle/waitall/waitallex7.csproj @@ -11,6 +11,10 @@ ..\..\ 1 true + + + true + true diff --git a/src/coreclr/tests/src/baseservices/threading/waithandle/waitall/waitallex8.csproj b/src/coreclr/tests/src/baseservices/threading/waithandle/waitall/waitallex8.csproj index f871aa6ee88..3ab4ca24381 100644 --- a/src/coreclr/tests/src/baseservices/threading/waithandle/waitall/waitallex8.csproj +++ b/src/coreclr/tests/src/baseservices/threading/waithandle/waitall/waitallex8.csproj @@ -11,6 +11,10 @@ ..\..\ 1 true + + + true + true diff --git a/src/coreclr/tests/src/baseservices/threading/waithandle/waitall/waitallex8a.csproj b/src/coreclr/tests/src/baseservices/threading/waithandle/waitall/waitallex8a.csproj index 96cc5ebf500..23b2d204e31 100644 --- a/src/coreclr/tests/src/baseservices/threading/waithandle/waitall/waitallex8a.csproj +++ b/src/coreclr/tests/src/baseservices/threading/waithandle/waitall/waitallex8a.csproj @@ -11,6 +11,10 @@ ..\..\ 1 true + + + true + true diff --git a/src/coreclr/tests/src/baseservices/threading/waithandle/waitall/waitallex9.csproj b/src/coreclr/tests/src/baseservices/threading/waithandle/waitall/waitallex9.csproj index f1de7e9d9f4..dacc4e1fd7d 100644 --- a/src/coreclr/tests/src/baseservices/threading/waithandle/waitall/waitallex9.csproj +++ b/src/coreclr/tests/src/baseservices/threading/waithandle/waitall/waitallex9.csproj @@ -11,6 +11,10 @@ ..\..\ 1 /size:64 /pos:63 + + + true + true true diff --git a/src/coreclr/tests/src/baseservices/threading/waithandle/waitany/waitanyex1.csproj b/src/coreclr/tests/src/baseservices/threading/waithandle/waitany/waitanyex1.csproj index ebbfc6f9f1a..2d647dfb412 100644 --- a/src/coreclr/tests/src/baseservices/threading/waithandle/waitany/waitanyex1.csproj +++ b/src/coreclr/tests/src/baseservices/threading/waithandle/waitany/waitanyex1.csproj @@ -11,6 +11,10 @@ ..\..\ 1 true + + + true + true diff --git a/src/coreclr/tests/src/baseservices/threading/waithandle/waitany/waitanyex10.csproj b/src/coreclr/tests/src/baseservices/threading/waithandle/waitany/waitanyex10.csproj index 0ce38e97359..833c64246cb 100644 --- a/src/coreclr/tests/src/baseservices/threading/waithandle/waitany/waitanyex10.csproj +++ b/src/coreclr/tests/src/baseservices/threading/waithandle/waitany/waitanyex10.csproj @@ -12,6 +12,10 @@ 1 /size:2 /pos:1 true + + + true + true diff --git a/src/coreclr/tests/src/baseservices/threading/waithandle/waitany/waitanyex2.csproj b/src/coreclr/tests/src/baseservices/threading/waithandle/waitany/waitanyex2.csproj index 00d6b1f86cc..3eb50623605 100644 --- a/src/coreclr/tests/src/baseservices/threading/waithandle/waitany/waitanyex2.csproj +++ b/src/coreclr/tests/src/baseservices/threading/waithandle/waitany/waitanyex2.csproj @@ -10,6 +10,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/baseservices/threading/waithandle/waitany/waitanyex3.csproj b/src/coreclr/tests/src/baseservices/threading/waithandle/waitany/waitanyex3.csproj index f5d085809a4..b770b216d48 100644 --- a/src/coreclr/tests/src/baseservices/threading/waithandle/waitany/waitanyex3.csproj +++ b/src/coreclr/tests/src/baseservices/threading/waithandle/waitany/waitanyex3.csproj @@ -11,6 +11,10 @@ ..\..\ 1 true + + + true + true diff --git a/src/coreclr/tests/src/baseservices/threading/waithandle/waitany/waitanyex4.csproj b/src/coreclr/tests/src/baseservices/threading/waithandle/waitany/waitanyex4.csproj index e2ff2e100cc..b6dcbc11917 100644 --- a/src/coreclr/tests/src/baseservices/threading/waithandle/waitany/waitanyex4.csproj +++ b/src/coreclr/tests/src/baseservices/threading/waithandle/waitany/waitanyex4.csproj @@ -10,6 +10,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/baseservices/threading/waithandle/waitany/waitanyex5.csproj b/src/coreclr/tests/src/baseservices/threading/waithandle/waitany/waitanyex5.csproj index e2582518974..ac57e6231c3 100644 --- a/src/coreclr/tests/src/baseservices/threading/waithandle/waitany/waitanyex5.csproj +++ b/src/coreclr/tests/src/baseservices/threading/waithandle/waitany/waitanyex5.csproj @@ -10,6 +10,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/baseservices/threading/waithandle/waitany/waitanyex6.csproj b/src/coreclr/tests/src/baseservices/threading/waithandle/waitany/waitanyex6.csproj index f668197ff9a..e1a3aad3f80 100644 --- a/src/coreclr/tests/src/baseservices/threading/waithandle/waitany/waitanyex6.csproj +++ b/src/coreclr/tests/src/baseservices/threading/waithandle/waitany/waitanyex6.csproj @@ -11,6 +11,10 @@ ..\..\ 1 /size:2 /pos:1 + + + true + true diff --git a/src/coreclr/tests/src/baseservices/threading/waithandle/waitany/waitanyex7.csproj b/src/coreclr/tests/src/baseservices/threading/waithandle/waitany/waitanyex7.csproj index de9c88c44df..bd55fe9e1e6 100644 --- a/src/coreclr/tests/src/baseservices/threading/waithandle/waitany/waitanyex7.csproj +++ b/src/coreclr/tests/src/baseservices/threading/waithandle/waitany/waitanyex7.csproj @@ -11,6 +11,10 @@ ..\..\ 1 true + + + true + true diff --git a/src/coreclr/tests/src/baseservices/threading/waithandle/waitany/waitanyex8.csproj b/src/coreclr/tests/src/baseservices/threading/waithandle/waitany/waitanyex8.csproj index d49015a362c..0f8c05e3676 100644 --- a/src/coreclr/tests/src/baseservices/threading/waithandle/waitany/waitanyex8.csproj +++ b/src/coreclr/tests/src/baseservices/threading/waithandle/waitany/waitanyex8.csproj @@ -10,6 +10,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/baseservices/threading/waithandle/waitany/waitanyex8a.csproj b/src/coreclr/tests/src/baseservices/threading/waithandle/waitany/waitanyex8a.csproj index ab055d1f547..4811890ac8c 100644 --- a/src/coreclr/tests/src/baseservices/threading/waithandle/waitany/waitanyex8a.csproj +++ b/src/coreclr/tests/src/baseservices/threading/waithandle/waitany/waitanyex8a.csproj @@ -10,6 +10,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/baseservices/threading/waithandle/waitany/waitanyex9.csproj b/src/coreclr/tests/src/baseservices/threading/waithandle/waitany/waitanyex9.csproj index 9f17ad6e236..dabb01e94ae 100644 --- a/src/coreclr/tests/src/baseservices/threading/waithandle/waitany/waitanyex9.csproj +++ b/src/coreclr/tests/src/baseservices/threading/waithandle/waitany/waitanyex9.csproj @@ -12,6 +12,10 @@ 1 /size:2 /pos:1 true + + + true + true diff --git a/src/coreclr/tests/src/baseservices/threading/waithandle/waitone/waitoneex1.csproj b/src/coreclr/tests/src/baseservices/threading/waithandle/waitone/waitoneex1.csproj index 071412e0bd5..a055dad299c 100644 --- a/src/coreclr/tests/src/baseservices/threading/waithandle/waitone/waitoneex1.csproj +++ b/src/coreclr/tests/src/baseservices/threading/waithandle/waitone/waitoneex1.csproj @@ -11,6 +11,10 @@ ..\..\ 1 true + + + true + true diff --git a/src/coreclr/tests/src/baseservices/threading/waithandle/waitone/waitoneex2.csproj b/src/coreclr/tests/src/baseservices/threading/waithandle/waitone/waitoneex2.csproj index 79649b48977..bba539ccdd4 100644 --- a/src/coreclr/tests/src/baseservices/threading/waithandle/waitone/waitoneex2.csproj +++ b/src/coreclr/tests/src/baseservices/threading/waithandle/waitone/waitoneex2.csproj @@ -11,6 +11,10 @@ ..\..\ 1 true + + + true + true diff --git a/src/coreclr/tests/src/baseservices/threading/waithandle/waitone/waitoneex3.csproj b/src/coreclr/tests/src/baseservices/threading/waithandle/waitone/waitoneex3.csproj index 176e3f5a65d..0ffbf626144 100644 --- a/src/coreclr/tests/src/baseservices/threading/waithandle/waitone/waitoneex3.csproj +++ b/src/coreclr/tests/src/baseservices/threading/waithandle/waitone/waitoneex3.csproj @@ -11,6 +11,10 @@ ..\..\ 1 true + + + true + true diff --git a/src/coreclr/tests/src/baseservices/threading/waithandle/waitone/waitoneex4.csproj b/src/coreclr/tests/src/baseservices/threading/waithandle/waitone/waitoneex4.csproj index a3c992cd42d..ecc910bcfd8 100644 --- a/src/coreclr/tests/src/baseservices/threading/waithandle/waitone/waitoneex4.csproj +++ b/src/coreclr/tests/src/baseservices/threading/waithandle/waitone/waitoneex4.csproj @@ -10,6 +10,10 @@ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ..\..\ 1 + + + true + true diff --git a/src/coreclr/tests/src/managed/Compilation/Compilation.csproj b/src/coreclr/tests/src/managed/Compilation/Compilation.csproj index 7a2b31bb284..e0c369e9c6e 100644 --- a/src/coreclr/tests/src/managed/Compilation/Compilation.csproj +++ b/src/coreclr/tests/src/managed/Compilation/Compilation.csproj @@ -13,6 +13,10 @@ $(DefineConstants);STATIC true + + + true + true diff --git a/src/coreclr/tests/src/readytorun/r2rdump/R2RDumpTest.csproj b/src/coreclr/tests/src/readytorun/r2rdump/R2RDumpTest.csproj index 104f2291c83..410620a6eb1 100644 --- a/src/coreclr/tests/src/readytorun/r2rdump/R2RDumpTest.csproj +++ b/src/coreclr/tests/src/readytorun/r2rdump/R2RDumpTest.csproj @@ -16,7 +16,11 @@ $(BashCoreClrDir)bin/Product/$(BuildOS).$(BuildArch).$(BuildType)/netcoreapp2.0/R2RDump.dll $(BashCoreClrDir)Tools/dotnetcli/dotnet $(CoreClrDir)tests\src\readytorun\r2rdump\files\$(BuildOS).$(BuildArch).$(BuildType)\ - true + + + + true + true diff --git a/src/coreclr/tests/src/tracing/eventsource/eventpipeandetw/eventpipeandetw.csproj b/src/coreclr/tests/src/tracing/eventsource/eventpipeandetw/eventpipeandetw.csproj index 31c9137ca35..d8e0b99d385 100644 --- a/src/coreclr/tests/src/tracing/eventsource/eventpipeandetw/eventpipeandetw.csproj +++ b/src/coreclr/tests/src/tracing/eventsource/eventpipeandetw/eventpipeandetw.csproj @@ -13,6 +13,10 @@ $(DefineConstants);STATIC true 0 + + + true + true diff --git a/src/coreclr/tests/tests.targets b/src/coreclr/tests/tests.targets index e1e6f58ba80..6c3afcd7f13 100644 --- a/src/coreclr/tests/tests.targets +++ b/src/coreclr/tests/tests.targets @@ -65,7 +65,7 @@ $(CorerunExecutable) $(XunitConsoleRunner) @(TestAssemblies->'%(Identity)', ' ') $(XunitArgs) - +