diff --git a/docs/workflow/testing/mono/testing.md b/docs/workflow/testing/mono/testing.md index fcb0650fd58655..57b9aa42fb9f84 100644 --- a/docs/workflow/testing/mono/testing.md +++ b/docs/workflow/testing/mono/testing.md @@ -82,11 +82,11 @@ $(REPO_ROOT)/dotnet.sh build /t:Test /p:RuntimeFlavor=mono /p:Configuration= +make run-tests-libs- ``` For example, the following command is for running System.Runtime tests: ``` -make run-tests-corefx-System.Runtime +make run-tests-libs-System.Runtime ``` ### Debugging libraries tests on Desktop Mono diff --git a/eng/docker/libraries-sdk.linux.Dockerfile b/eng/docker/libraries-sdk.linux.Dockerfile index 72426fd95fb74d..0c4ec433f5e30e 100644 --- a/eng/docker/libraries-sdk.linux.Dockerfile +++ b/eng/docker/libraries-sdk.linux.Dockerfile @@ -2,7 +2,7 @@ ARG BUILD_BASE_IMAGE=mcr.microsoft.com/dotnet-buildtools/prereqs:centos-stream8 ARG SDK_BASE_IMAGE=mcr.microsoft.com/dotnet/nightly/sdk:8.0 -FROM $BUILD_BASE_IMAGE as corefxbuild +FROM $BUILD_BASE_IMAGE as libsbuild ARG CONFIGURATION=Release @@ -28,23 +28,23 @@ RUN bash ./dotnet-install.sh --channel $_DOTNET_INSTALL_CHANNEL --quality daily # 4. testhost # 5. msquic interop sources (needed for HttpStress) -COPY --from=corefxbuild \ +COPY --from=libsbuild \ /repo/artifacts/bin/microsoft.netcore.app.ref \ /live-runtime-artifacts/microsoft.netcore.app.ref -COPY --from=corefxbuild \ +COPY --from=libsbuild \ /repo/artifacts/bin/microsoft.netcore.app.runtime.linux-x64 \ /live-runtime-artifacts/microsoft.netcore.app.runtime.linux-x64 -COPY --from=corefxbuild \ +COPY --from=libsbuild \ /repo/eng/targetingpacks.targets \ /live-runtime-artifacts/targetingpacks.targets -COPY --from=corefxbuild \ +COPY --from=libsbuild \ /repo/artifacts/bin/testhost \ /live-runtime-artifacts/testhost -COPY --from=corefxbuild \ +COPY --from=libsbuild \ /repo/src/libraries/System.Net.Quic/src/System/Net/Quic/Interop \ /live-runtime-artifacts/msquic-interop diff --git a/src/coreclr/jit/fgehopt.cpp b/src/coreclr/jit/fgehopt.cpp index 743559717e47cb..e9a705b4bf188d 100644 --- a/src/coreclr/jit/fgehopt.cpp +++ b/src/coreclr/jit/fgehopt.cpp @@ -758,7 +758,7 @@ PhaseStatus Compiler::fgCloneFinally() continue; } - // Empirical studies from CoreCLR and CoreFX show that less + // Empirical studies from runtime repo show that less // that 1% of finally regions have more than 15 // statements. So, to avoid potentially excessive code growth, // only clone finallys that have 15 or fewer statements. diff --git a/src/coreclr/nativeaot/Runtime.Base/src/System/Runtime/CompilerServices/Unsafe.cs b/src/coreclr/nativeaot/Runtime.Base/src/System/Runtime/CompilerServices/Unsafe.cs index 89eedc1638a723..f4400f37c283f7 100644 --- a/src/coreclr/nativeaot/Runtime.Base/src/System/Runtime/CompilerServices/Unsafe.cs +++ b/src/coreclr/nativeaot/Runtime.Base/src/System/Runtime/CompilerServices/Unsafe.cs @@ -8,7 +8,6 @@ namespace System.Runtime.CompilerServices { // // Subsetted clone of System.Runtime.CompilerServices.Unsafe for internal runtime use. - // Keep in sync with https://github.com/dotnet/corefx/tree/master/src/System.Runtime.CompilerServices.Unsafe. // /// diff --git a/src/coreclr/pal/src/init/pal.cpp b/src/coreclr/pal/src/init/pal.cpp index 7a8fc556724c1f..045ad4f0fc30c7 100644 --- a/src/coreclr/pal/src/init/pal.cpp +++ b/src/coreclr/pal/src/init/pal.cpp @@ -240,7 +240,7 @@ PAL_SetInitializeDLLFlags( pthread_attr_getstack is about 128kB, but this limit is not fixed and the stack can grow dynamically. The problem is that it makes the functions ReflectionInvocation::[Try]EnsureSufficientExecutionStack - to fail for real life scenarios like e.g. compilation of corefx. + to fail for real life scenarios like e.g. compilation of runtime libraries. Since there is no real fixed limit for the stack, the code below ensures moving the stack limit to a value that makes reasonable real life scenarios work. diff --git a/src/coreclr/tools/r2rtest/BuildOptions.cs b/src/coreclr/tools/r2rtest/BuildOptions.cs index 9c7deffe42e0dd..4b62f7cd70c114 100644 --- a/src/coreclr/tools/r2rtest/BuildOptions.cs +++ b/src/coreclr/tools/r2rtest/BuildOptions.cs @@ -72,7 +72,7 @@ public string CoreRootOutputPath(CompilerIndex index, bool isFramework) /// /// Creates compiler runner instances for each supported compiler based on the populated BuildOptions. /// - /// True if compiling the CoreFX framework assemblies + /// True if compiling the runtime libraries assemblies /// Optional set of reference paths to use instead of BuildOptions.ReferencePaths() public IEnumerable CompilerRunners(bool isFramework, IEnumerable overrideReferencePaths = null, string overrideOutputPath = null) { diff --git a/src/libraries/System.Diagnostics.DiagnosticSource/src/System.Diagnostics.DiagnosticSource.csproj b/src/libraries/System.Diagnostics.DiagnosticSource/src/System.Diagnostics.DiagnosticSource.csproj index 62a37ab56e29fe..6df895ed05fc9d 100644 --- a/src/libraries/System.Diagnostics.DiagnosticSource/src/System.Diagnostics.DiagnosticSource.csproj +++ b/src/libraries/System.Diagnostics.DiagnosticSource/src/System.Diagnostics.DiagnosticSource.csproj @@ -124,7 +124,7 @@ System.Diagnostics.DiagnosticSource - + diff --git a/src/libraries/System.Diagnostics.DiagnosticSource/src/System/Diagnostics/Activity.DateTime.corefx.cs b/src/libraries/System.Diagnostics.DiagnosticSource/src/System/Diagnostics/Activity.DateTime.netcore.cs similarity index 100% rename from src/libraries/System.Diagnostics.DiagnosticSource/src/System/Diagnostics/Activity.DateTime.corefx.cs rename to src/libraries/System.Diagnostics.DiagnosticSource/src/System/Diagnostics/Activity.DateTime.netcore.cs diff --git a/src/libraries/System.Net.Http/tests/StressTests/HttpStress/load-corefx-testhost.ps1 b/src/libraries/System.Net.Http/tests/StressTests/HttpStress/load-netcore-testhost.ps1 similarity index 97% rename from src/libraries/System.Net.Http/tests/StressTests/HttpStress/load-corefx-testhost.ps1 rename to src/libraries/System.Net.Http/tests/StressTests/HttpStress/load-netcore-testhost.ps1 index 48168f4ee76b8c..93af94a08ef33e 100755 --- a/src/libraries/System.Net.Http/tests/StressTests/HttpStress/load-corefx-testhost.ps1 +++ b/src/libraries/System.Net.Http/tests/StressTests/HttpStress/load-netcore-testhost.ps1 @@ -2,7 +2,7 @@ # The .NET Foundation licenses this file to you under the MIT license. # Helper script used for pointing the current powershell environment -# to the testhost sdk built by the corefx build script. +# to the testhost sdk built by the netcore build script. [CmdletBinding(PositionalBinding=$false)] Param( @@ -21,7 +21,7 @@ if ($MyInvocation.InvocationName -ne ".") exit } -# find corefx root, assuming script lives in the git repo +# find netcore root, assuming script lives in the git repo $SOURCE_DIR="$(split-path -Parent $MyInvocation.MyCommand.Definition)" $DOTNET_TEST_ROOT_DIR=$(git -C "$SOURCE_DIR" rev-parse --show-toplevel) diff --git a/src/mono/Makefile b/src/mono/Makefile index e4c6727b00ad46..839314840c9c2c 100644 --- a/src/mono/Makefile +++ b/src/mono/Makefile @@ -51,8 +51,8 @@ run-tests-coreclr-all: $(DOTNET) msbuild /t:RunCoreClrTests $(MONO_PROJ) # run tests for a bcl lib, e.g.: -# make run-tests-corefx-System.Runtime +# make run-tests-libs-System.Runtime # for `System.Runtime.Tests` (the rule builds both the lib and the test if needed) -run-tests-corefx-%: +run-tests-libs-%: $(DOTNET) build ../../src/libraries/$*/tests -c $(LIBRARIES_TESTS_CONFIG) /p:RuntimeFlavor=mono /t:Test diff --git a/src/mono/mono/metadata/debug-mono-ppdb.c b/src/mono/mono/metadata/debug-mono-ppdb.c index 3ed40e9243dad3..21c71b7bdde107 100644 --- a/src/mono/mono/metadata/debug-mono-ppdb.c +++ b/src/mono/mono/metadata/debug-mono-ppdb.c @@ -110,7 +110,7 @@ mono_get_pe_debug_info_full (MonoImage *image, guint8 *out_guid, gint32 *out_age } if (debug_dir.type == DEBUG_DIR_ENTRY_PPDB && debug_dir.major_version >= 0x100 && debug_dir.minor_version == 0x100) { /* Embedded PPDB blob */ - /* See src/System.Reflection.Metadata/src/System/Reflection/PortableExecutable/PEReader.EmbeddedPortablePdb.cs in corefx */ + /* See src/libraries/System.Reflection.Metadata/src/System/Reflection/PortableExecutable/PEReader.EmbeddedPortablePdb.cs */ data = (guint8*)(image->raw_data + debug_dir.pointer); guint32 magic = read32 (data); g_assert (magic == EMBEDDED_PPDB_MAGIC); diff --git a/src/mono/mono/mini/mini-runtime.c b/src/mono/mono/mini/mini-runtime.c index f431897becd001..d0b44f25af2a2e 100644 --- a/src/mono/mono/mini/mini-runtime.c +++ b/src/mono/mono/mini/mini-runtime.c @@ -4568,7 +4568,7 @@ mini_llvm_init (void) pthread_attr_getstack is about 128kB, but this limit is not fixed and the stack can grow dynamically. The problem is that it makes the functions ReflectionInvocation::[Try]EnsureSufficientExecutionStack - to fail for real life scenarios like e.g. compilation of corefx. + to fail for real life scenarios like e.g. compilation of runtime libraries. Since there is no real fixed limit for the stack, the code below ensures moving the stack limit to a value that makes reasonable real life scenarios work. diff --git a/src/mono/mono/utils/mono-compiler.h b/src/mono/mono/utils/mono-compiler.h index f8df4d8284a29a..34c30f2f99a92c 100644 --- a/src/mono/mono/utils/mono-compiler.h +++ b/src/mono/mono/utils/mono-compiler.h @@ -80,7 +80,7 @@ typedef ptrdiff_t ssize_t; /* Used to mark internal functions used by the profiler modules */ #define MONO_PROFILER_API MONO_API -/* Used to mark internal functions used by the CoreFX PAL library */ +/* Used to mark internal functions used by the src/native/libs */ #define MONO_PAL_API MONO_API /* Mono components */ diff --git a/src/native/libs/CMakeLists.txt b/src/native/libs/CMakeLists.txt index eb1df8fa2a2107..590e5fd57ecf7f 100644 --- a/src/native/libs/CMakeLists.txt +++ b/src/native/libs/CMakeLists.txt @@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.20) include(CheckCCompilerFlag) -project(CoreFX C) +project(RuntimeLibraries C) include(../../../eng/native/configurepaths.cmake) include(${CLR_ENG_NATIVE_DIR}/configurecompiler.cmake) diff --git a/src/native/libs/System.Native/pal_io.h b/src/native/libs/System.Native/pal_io.h index 03fd94cea25417..e35ece498d758d 100644 --- a/src/native/libs/System.Native/pal_io.h +++ b/src/native/libs/System.Native/pal_io.h @@ -134,8 +134,8 @@ enum * Constants for interpreting the flags passed to Open or ShmOpen. * There are several other values defined by POSIX but not implemented * everywhere. The set below is restricted to the current needs of - * COREFX, which increases portability and speeds up conversion. We - * can add more as needed. + * runtime libraries, which increases portability and speeds up + * conversion. We can add more as needed. */ enum { diff --git a/src/native/libs/build-native.sh b/src/native/libs/build-native.sh index fa259dd5bae8fe..2147d08920bb65 100755 --- a/src/native/libs/build-native.sh +++ b/src/native/libs/build-native.sh @@ -173,5 +173,5 @@ setup_dirs # Check prereqs. check_prereqs -# Build the corefx native components. +# Build the libraries native components. build_native "$__TargetOS" "$__TargetArch" "$__nativeroot" "$__IntermediatesDir" "install" "$__CMakeArgs" "native libraries component" diff --git a/src/native/libs/configure.cmake b/src/native/libs/configure.cmake index 871e5bd2ea8099..28867a07253444 100644 --- a/src/native/libs/configure.cmake +++ b/src/native/libs/configure.cmake @@ -583,11 +583,11 @@ else() int main(void) { - int fd = shm_open(\"/corefx_configure_shm_open\", O_CREAT | O_RDWR, 0777); + int fd = shm_open(\"/dotnet_configure_shm_open\", O_CREAT | O_RDWR, 0777); if (fd == -1) return -1; - shm_unlink(\"/corefx_configure_shm_open\"); + shm_unlink(\"/dotnet_configure_shm_open\"); // NOTE: PROT_EXEC and MAP_PRIVATE don't work well with shm_open // on at least the current version of Mac OS X diff --git a/src/tests/Common/scripts/bringup_runtest.sh b/src/tests/Common/scripts/bringup_runtest.sh deleted file mode 100755 index 1197fb668ffd34..00000000000000 --- a/src/tests/Common/scripts/bringup_runtest.sh +++ /dev/null @@ -1,1325 +0,0 @@ -#!/usr/bin/env bash - -function print_usage { - echo '' - echo 'CoreCLR test runner script.' - echo '' - echo 'Typical command line:' - echo '' - echo 'src/tests/run.sh' - echo ' --testRootDir="temp/windows.x64.Debug"' - echo ' --testNativeBinDir="runtime/artifacts/obj/Linux.x64.Debug/tests"' - echo ' --coreOverlayDir="runtime/artifacts/tests/Linux.x64.Debug/Tests/Core_Root"' - echo ' --copyNativeTestBin' - echo '' - echo 'Required arguments:' - echo ' --testRootDir= : Root directory of the test build (e.g. runtime/artifacts/tests/windows.x64.Debug).' - echo ' --testNativeBinDir= : Directory of the native CoreCLR test build (e.g. runtime/artifacts/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. runtime/artifacts/bin/coreclr/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/artifacts/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 ' --jobs= : Set the maximum number of processes the scheduler can create.' - 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 DOTNET_JitStress=n' - echo ' --jitstressregs= : Runs the tests with DOTNET_JitStressRegs=n' - echo ' --jitminopts : Runs the tests with DOTNET_JITMinOpts=1' - echo ' --jitforcerelocs : Runs the tests with DOTNET_ForceRelocs=1' - echo ' --jitdisasm : Runs jit-dasm on the tests' - echo ' --gcstresslevel= : Runs the tests with DOTNET_GCStress=n' - echo ' --gcname= : Runs the tests with DOTNET_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 DOTNET_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 specified path (default: /coreclrtests.xml)' - 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 run.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/artifacts/"* "$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 -} - -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 "${BASH_SOURCE[0]}")/testsUnsupportedOutsideWindows.txt")) - unsupportedTests+=($(read_array "$(dirname "${BASH_SOURCE[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 "${BASH_SOURCE[0]}")/testsFailingOutsideWindows.txt")) - failingTests+=($(read_array "$(dirname "${BASH_SOURCE[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 inspect_and_delete_core_files { - # This function prints some basic information from core files in the current - # directory and deletes them immediately. - - # 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" && rm "$f" - done - elif [ -f core ]; then - print_info_from_core_file "core" $CORE_ROOT/"corerun" - 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 -} - -# Get the number of processors available to the scheduler -platform="$(uname -s | tr '[:upper:]' '[:lower:]')" -if [[ "$platform" == "freebsd" ]]; then - NumProc="$(($(sysctl -n hw.ncpu)+1))" -elif [[ "$platform" == "netbsd" || "$platform" == "sunos" ]]; then - NumProc="$(($(getconf NPROCESSORS_ONLN)+1))" -elif [[ "$platform" == "darwin" ]]; then - NumProc="$(($(getconf _NPROCESSORS_ONLN)+1))" -elif command -v nproc > /dev/null 2>&1; then - NumProc="$(nproc)" -elif (NAME=""; . /etc/os-release; test "$NAME" = "Tizen"); then - NumProc="$(getconf _NPROCESSORS_ONLN)" -else - NumProc=1 -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|arm64) - __arch=arm64 - ;; - loongarch64) - __arch=loongarch64 - ;; - riscv64) - __arch=riscv64 - ;; - *) - 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 DOTNET_JitStress=${i#*=} - ;; - --jitstressregs=*) - export DOTNET_JitStressRegs=${i#*=} - ;; - --jitminopts) - export DOTNET_JITMinOpts=1 - ;; - --copyNativeTestBin) - export copyNativeTestBin=1 - ;; - --jitforcerelocs) - export DOTNET_ForceRelocs=1 - ;; - --link=*) - export ILLINK=${i#*=} - export DoLink=true - ;; - --tieredcompilation) - export DOTNET_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 RunCrossGen2=1 - ;; - --jobs=*) - maxProcesses=${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 DOTNET_GCStress=${i#*=} - ;; - --gcname=*) - export DOTNET_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 DOTNET_EnableEventLog=1 -fi - -export DOTNET_gcServer="$serverGC" - -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 [[ -n "$longgc" ]]; then - echo "Running Long GC tests" - export RunningLongGCTests=1 -fi - -if [[ -n "$gcsimulator" ]]; then - echo "Running GC simulator tests" - export RunningGCSimulatorTests=1 -fi - -if [[ "$jitdisasm" -ne 0 ]]; then - echo "Running jit disasm" - export RunningJitDisasm=1 -fi - -if [[ -n "$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 - -scriptPath=$(dirname $0) - -export __TestEnv=$testEnv - -cd "$testRootDir" - - -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 - -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/tests/Common/scripts/crossgen2_comparison.py b/src/tests/Common/scripts/crossgen2_comparison.py index 65b0e062726a0e..46cfd74d4ea37f 100644 --- a/src/tests/Common/scripts/crossgen2_comparison.py +++ b/src/tests/Common/scripts/crossgen2_comparison.py @@ -10,7 +10,7 @@ # Notes: # # Script that -# 1) runs crossgen on System.Private.CoreLib.dll and CoreFX assemblies and +# 1) runs crossgen on System.Private.CoreLib.dll, runtime libraries assemblies and # collects information about the crossgen behaviour (such as the return code, # stdout/stderr streams, SHA256 hash sum of the resulting file). # 2) compares the collected information from two crossgen scenarios (e.g. diff --git a/src/tests/JIT/Methodical/structs/valuetuple.cs b/src/tests/JIT/Methodical/structs/valuetuple.cs index e0b27ff9087b8c..b7a0db9c0f5671 100644 --- a/src/tests/JIT/Methodical/structs/valuetuple.cs +++ b/src/tests/JIT/Methodical/structs/valuetuple.cs @@ -2,7 +2,7 @@ // The .NET Foundation licenses this file to you under the MIT license. // -// This test is extracted and simplified from the corefx tests for the ValueTuple class. +// This test is extracted and simplified from the libraries tests for the ValueTuple class. // It exposed an issue with assertion propagation not validating the assertions // for a containing struct when a field lclVar is defined. diff --git a/src/tests/JIT/Regression/JitBlue/GitHub_18884/GitHub_18884.cs b/src/tests/JIT/Regression/JitBlue/GitHub_18884/GitHub_18884.cs index ed38232b14d3e8..baffa817a5daa8 100644 --- a/src/tests/JIT/Regression/JitBlue/GitHub_18884/GitHub_18884.cs +++ b/src/tests/JIT/Regression/JitBlue/GitHub_18884/GitHub_18884.cs @@ -67,7 +67,7 @@ internal static void CheckValue(int value, int expectedValue) } } - // While fixing the above failures, this test (from corefx) failed. + // While fixing the above failures, this test (from runtime libraries) failed. internal static void Set_Mask_AllTest() { BitVector32 flip = new BitVector32(); diff --git a/src/tests/JIT/Regression/JitBlue/GitHub_19197/GitHub_19197.cs b/src/tests/JIT/Regression/JitBlue/GitHub_19197/GitHub_19197.cs index b08973efe96743..465961af8c1abe 100644 --- a/src/tests/JIT/Regression/JitBlue/GitHub_19197/GitHub_19197.cs +++ b/src/tests/JIT/Regression/JitBlue/GitHub_19197/GitHub_19197.cs @@ -1,7 +1,7 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. // -// This test was extracted from the corefx System.Numerics.Vectors tests, +// This test was extracted from System.Numerics.Vectors tests, // and was failing with minOpts because a SIMD12 was being spilled using // a 16-byte load, but only a 12-byte location had been allocated. diff --git a/src/tests/JIT/Regression/JitBlue/GitHub_19537/GitHub_19537.cs b/src/tests/JIT/Regression/JitBlue/GitHub_19537/GitHub_19537.cs index a7f4f1c4764261..229f0c9cb180aa 100644 --- a/src/tests/JIT/Regression/JitBlue/GitHub_19537/GitHub_19537.cs +++ b/src/tests/JIT/Regression/JitBlue/GitHub_19537/GitHub_19537.cs @@ -7,7 +7,7 @@ using System.Collections.Generic; using Xunit; -// Test derived from dotnet/corefx src\System.Numerics.Vectors\src\System\Numerics\Matrix4x4.cs, op_Multiply(). +// Test derived from src/libraries/System.Private.CoreLib/src/System/Numerics/Matrix4x4.cs, op_Multiply(). // This was an ARM32-specific bug for addressing local variables as floats. ARM32 floating-point instructions // have a different offset range than integer instructions. If the local variable itself is a struct, but the // instruction generated is a float local field, then we were computing the offset as integer, but the actual diff --git a/src/tests/JIT/Regression/JitBlue/CoreFX_15913/CoreFX_15913.cs b/src/tests/JIT/Regression/JitBlue/libraries_20135/libraries_20135.cs similarity index 95% rename from src/tests/JIT/Regression/JitBlue/CoreFX_15913/CoreFX_15913.cs rename to src/tests/JIT/Regression/JitBlue/libraries_20135/libraries_20135.cs index 4be5d6e02588f4..0bd2ff21bdc258 100644 --- a/src/tests/JIT/Regression/JitBlue/CoreFX_15913/CoreFX_15913.cs +++ b/src/tests/JIT/Regression/JitBlue/libraries_20135/libraries_20135.cs @@ -10,7 +10,7 @@ // On x86, we must ensure that we properly treat an outgoing Vector3 as a 12-byte value // when pushing it onto the stack. -public static class CoreFX15913 +public static class Issue20135 { [MethodImpl(MethodImplOptions.NoInlining)] static float Sum(float v3, Vector3 v) diff --git a/src/tests/JIT/Regression/JitBlue/CoreFX_15913/CoreFX_15913.csproj b/src/tests/JIT/Regression/JitBlue/libraries_20135/libraries_20135.csproj similarity index 100% rename from src/tests/JIT/Regression/JitBlue/CoreFX_15913/CoreFX_15913.csproj rename to src/tests/JIT/Regression/JitBlue/libraries_20135/libraries_20135.csproj diff --git a/src/tests/JIT/SIMD/Vector3GetHash.cs b/src/tests/JIT/SIMD/Vector3GetHash.cs index e67e209ece3350..fd17a3dc75f2f6 100644 --- a/src/tests/JIT/SIMD/Vector3GetHash.cs +++ b/src/tests/JIT/SIMD/Vector3GetHash.cs @@ -1,7 +1,7 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. -// This was copied from corefx\src\System.Numerics.Vectors\tests\Vector3Tests.cs. +// This was copied from src/libraries/System.Numerics.Vectors/tests/Vector3Tests.cs. // It exposed a bug in morph, in which a SIMD field was being morphed in // a MACK_Ind context, even though it was under a GT_IND(G_ADDR()). // This was https://github.com/dotnet/runtime/issues/20080, and was "fixed" with diff --git a/src/tests/JIT/superpmi/collect_alltests.sh b/src/tests/JIT/superpmi/collect_alltests.sh deleted file mode 100644 index 72a839b1849eb8..00000000000000 --- a/src/tests/JIT/superpmi/collect_alltests.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/usr/bin/env bash - -CORECLRROOT=~/src/coreclr -TESTROOT=~/test -MCHFILE=${TESTROOT}/alltests_linux.mch -FLAVOR=windows.x64.Debug - -pushd ${TESTROOT}/${FLAVOR}/superpmi/superpmicollect -${TESTROOT}/${FLAVOR}/Tests/coreoverlay/corerun ${TESTROOT}/${FLAVOR}/JIT/superpmi/superpmicollect/superpmicollect.exe -mch ${MCHFILE} -run ${CORECLRROOT}/tests/src/JIT/superpmi/runtests.sh -popd diff --git a/src/tests/JIT/superpmi/collect_runtest.cmd b/src/tests/JIT/superpmi/collect_runtest.cmd deleted file mode 100644 index 8f91727f636518..00000000000000 --- a/src/tests/JIT/superpmi/collect_runtest.cmd +++ /dev/null @@ -1,41 +0,0 @@ -@echo off -setlocal - -goto :start -:usage -echo Set up for individual test execution, with SuperPMI collection. -echo. -echo Usage: collect_runtest.cmd ^ [optional args] -echo. -echo We can't set the SuperPMI collection variables before runtest.cmd executes, -echo because it runs other managed apps, including desktop apps, that are also -echo affected by these variables. For SuperPMI collection, we only want the test -echo itself to be collected. So, create a temporary script that just sets the -echo SuperPMI collection variables, and pass that as the "TestEnv" argument to -echo runtest.cmd, which uses it to set the environment for running an individual -echo test. -echo. -echo Example usage of this script: -echo %CORE_ROOT%\corerun superpmicollect.exe -mch alltests.mch -run collect_runtest.cmd c:\repos\coreclr\tests\runtest.cmd -goto :eof - -:start -if "%1"=="" echo ERROR: missing argument.&goto usage - -set runtestscript=%* - -set testenvfile=%TEMP%\superpmitestenv_%RANDOM%.cmd - -echo set SuperPMIShimLogPath=%SuperPMIShimLogPath%> %testenvfile% -echo set SuperPMIShimPath=%SuperPMIShimPath%>> %testenvfile% -echo set DOTNET_JitName=%DOTNET_JitName%>> %testenvfile% - -set SuperPMIShimLogPath= -set SuperPMIShimPath= -set DOTNET_JitName= - -set _nextcmd=call %runtestscript% testEnv %testenvfile% -echo %0: Running: %_nextcmd% -%_nextcmd% - -del /f /q %testenvfile% diff --git a/src/tests/JIT/superpmi/runtests.sh b/src/tests/JIT/superpmi/runtests.sh deleted file mode 100644 index 06c2fbe7bef7bb..00000000000000 --- a/src/tests/JIT/superpmi/runtests.sh +++ /dev/null @@ -1,41 +0,0 @@ -#!/usr/bin/env bash - -# Run CoreCLR OSS tests on Linux or Mac -# Use the instructions here: -# https://github.com/dotnet/runtime/blob/main/docs/workflow/building/coreclr/unix-test-instructions.md -# -# Summary: -# 1. On Linux/Mac, in coreclr, ./build.sh -# 2. On Linux/Mac, in corefx, ./build.sh -# 3. On Linux/Mac, in corefx, "build-native.sh" -# 4. On Windows, build Linux mscorlib: build.cmd linuxmscorlib -# 5. Mount Windows shares on Linux -# 6. Copy tests to Linux/Mac: -# Linux: cp --recursive ~/brucefo1/ManagedCodeGen/artifacts/tests/windows.x64.Debug ~/test/windows.x64.Debug -# Mac : cp -R ~/brucefo1/ManagedCodeGen/artifacts/tests/windows.x64.Debug ~/test/windows.x64.Debug -# 7. Run this script -# -# If you pass "--testDir=NONE" to runtest.sh, it will create the "test overlay" (i.e., core_root directory) -# and exit. This is a hack because runtest.sh doesn't have a separate argument to just do this. - -TESTROOT=~/test -CORECLRROOT=~/src/coreclr -COREFXROOT=~/src/corefx -WINDOWSCORECLRROOT=~/WindowsMachine/coreclr -WINDOWSFLAVOR=windows.x64.Debug -UNIXANYFLAVOR=osx.AnyCPU.Debug -UNIXARCHFLAVOR=osx.x64.Debug - -ARGS="\ ---testRootDir=${TESTROOT}/${WINDOWSFLAVOR} \ ---testNativeBinDir=${CORECLRROOT}/artifacts/obj/${UNIXARCHFLAVOR}/tests \ ---coreClrBinDir=${CORECLRROOT}/artifacts/bin/coreclr/${UNIXARCHFLAVOR} \ ---mscorlibDir=${WINDOWSCORECLRROOT}/artifacts/bin/coreclr/${UNIXARCHFLAVOR} \ ---coreFxBinDir=${COREFXROOT}/artifacts/${UNIXANYFLAVOR};${COREFXROOT}/artifacts/Unix.AnyCPU.Debug;${COREFXROOT}/artifacts/AnyOS.AnyCPU.Debug \ ---coreFxNativeBinDir=${COREFXROOT}/artifacts/${UNIXARCHFLAVOR}" - -pushd ${CORECLRROOT} -echo ${CORECLRROOT}/tests/runtest.sh ${ARGS} -#${CORECLRROOT}/tests/runtest.sh ${ARGS} --testDir=NONE -${CORECLRROOT}/tests/runtest.sh ${ARGS} -popd diff --git a/src/tests/nativeaot/SmokeTests/DynamicGenerics/Assertion.cs b/src/tests/nativeaot/SmokeTests/DynamicGenerics/Assertion.cs index 9e5fd6d009ea0c..3536646bb4c5e9 100644 --- a/src/tests/nativeaot/SmokeTests/DynamicGenerics/Assertion.cs +++ b/src/tests/nativeaot/SmokeTests/DynamicGenerics/Assertion.cs @@ -7,7 +7,7 @@ using System.Collections.Generic; using System.Threading.Tasks; -namespace CoreFXTestLibrary +namespace RuntimeLibrariesTest { /// /// A collection of helper classes to test various conditions within diff --git a/src/tests/nativeaot/SmokeTests/DynamicGenerics/B279085.cs b/src/tests/nativeaot/SmokeTests/DynamicGenerics/B279085.cs index 5c8ea4a66a5192..af46d28e4dd74b 100644 --- a/src/tests/nativeaot/SmokeTests/DynamicGenerics/B279085.cs +++ b/src/tests/nativeaot/SmokeTests/DynamicGenerics/B279085.cs @@ -4,7 +4,7 @@ using System; using System.Collections; using System.Collections.Generic; -using CoreFXTestLibrary; +using RuntimeLibrariesTest; using System.Runtime.CompilerServices; using System.Threading; using System.Threading.Tasks; diff --git a/src/tests/nativeaot/SmokeTests/DynamicGenerics/B282745.cs b/src/tests/nativeaot/SmokeTests/DynamicGenerics/B282745.cs index 3b4579b63404cb..1a3297588cf080 100644 --- a/src/tests/nativeaot/SmokeTests/DynamicGenerics/B282745.cs +++ b/src/tests/nativeaot/SmokeTests/DynamicGenerics/B282745.cs @@ -4,7 +4,7 @@ using System; using System.Collections; using System.Collections.Generic; -using CoreFXTestLibrary; +using RuntimeLibrariesTest; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Threading; diff --git a/src/tests/nativeaot/SmokeTests/DynamicGenerics/DynamicGenerics.main.cs b/src/tests/nativeaot/SmokeTests/DynamicGenerics/DynamicGenerics.main.cs index c1b59061534fcb..3a1bb7df2ffefd 100644 --- a/src/tests/nativeaot/SmokeTests/DynamicGenerics/DynamicGenerics.main.cs +++ b/src/tests/nativeaot/SmokeTests/DynamicGenerics/DynamicGenerics.main.cs @@ -2,174 +2,174 @@ public class EntryPointMain { public static int Main(string[] args) { - CoreFXTestLibrary.Internal.TestInfo[] tests = new CoreFXTestLibrary.Internal.TestInfo[]{new CoreFXTestLibrary.Internal.TestInfo("My.TestActivatorCreateInstance", () => global::My.TestActivatorCreateInstance(), null), -new CoreFXTestLibrary.Internal.TestInfo("My.TestDefaultCtorInLazyGenerics", () => global::My.TestDefaultCtorInLazyGenerics(), null), -new CoreFXTestLibrary.Internal.TestInfo("Expressions.ExpressionsTesting.TestLdTokenResults", () => global::Expressions.ExpressionsTesting.TestLdTokenResults(), null), -new CoreFXTestLibrary.Internal.TestInfo("Expressions.ExpressionsTesting.TestLdTokenResultsWithStructTypes", () => global::Expressions.ExpressionsTesting.TestLdTokenResultsWithStructTypes(), null), -new CoreFXTestLibrary.Internal.TestInfo("MakeGenMethod.Test.TestInstanceMethod", () => global::MakeGenMethod.Test.TestInstanceMethod(), null), -new CoreFXTestLibrary.Internal.TestInfo("MakeGenMethod.Test.TestStaticMethod", () => global::MakeGenMethod.Test.TestStaticMethod(), null), -new CoreFXTestLibrary.Internal.TestInfo("MakeGenMethod.Test.TestGenericMethodsWithEnumParametersHavingDefaultValues", () => global::MakeGenMethod.Test.TestGenericMethodsWithEnumParametersHavingDefaultValues(), null), -new CoreFXTestLibrary.Internal.TestInfo("MakeGenMethod.Test.TestNoDictionaries", () => global::MakeGenMethod.Test.TestNoDictionaries(), null), -new CoreFXTestLibrary.Internal.TestInfo("MakeGenMethod.Test.TestGenMethodOnGenType", () => global::MakeGenMethod.Test.TestGenMethodOnGenType(), null), -new CoreFXTestLibrary.Internal.TestInfo("MakeGenMethod.Test.TestReverseLookups", () => global::MakeGenMethod.Test.TestReverseLookups(), null), -new CoreFXTestLibrary.Internal.TestInfo("MakeGenMethod.Test.TestReverseLookupsWithArrayArg", () => global::MakeGenMethod.Test.TestReverseLookupsWithArrayArg(), null), -new CoreFXTestLibrary.Internal.TestInfo("ArrayTests.ArrayTests.TestArrays", () => global::ArrayTests.ArrayTests.TestArrays(), null), -new CoreFXTestLibrary.Internal.TestInfo("ArrayTests.ArrayTests.TestDynamicArrays", () => global::ArrayTests.ArrayTests.TestDynamicArrays(), null), -new CoreFXTestLibrary.Internal.TestInfo("ArrayTests.ArrayTests.TestMDArrays", () => global::ArrayTests.ArrayTests.TestMDArrays(), null), -new CoreFXTestLibrary.Internal.TestInfo("ArrayTests.ArrayTests.TestArrayIndexOfNullableStructOfCanon_USG", () => global::ArrayTests.ArrayTests.TestArrayIndexOfNullableStructOfCanon_USG(), null), -new CoreFXTestLibrary.Internal.TestInfo("ArrayTests.ArrayTests.TestArrayIndexOfNullableStructOfCanon_Canon", () => global::ArrayTests.ArrayTests.TestArrayIndexOfNullableStructOfCanon_Canon(), null), -new CoreFXTestLibrary.Internal.TestInfo("BlockedTypesTests.TestBlockedTypes", () => global::BlockedTypesTests.TestBlockedTypes(), null), -new CoreFXTestLibrary.Internal.TestInfo("ConstraintsTests.TestInvalidInstantiations", () => global::ConstraintsTests.TestInvalidInstantiations(), null), -new CoreFXTestLibrary.Internal.TestInfo("ConstraintsTests.TestSpecialConstraints", () => global::ConstraintsTests.TestSpecialConstraints(), null), -new CoreFXTestLibrary.Internal.TestInfo("ConstraintsTests.TestTypeConstraints", () => global::ConstraintsTests.TestTypeConstraints(), null), -new CoreFXTestLibrary.Internal.TestInfo("MethodConstraintsTests.TestInvalidInstantiations", () => global::MethodConstraintsTests.TestInvalidInstantiations(), null), -new CoreFXTestLibrary.Internal.TestInfo("MethodConstraintsTests.TestSpecialConstraints", () => global::MethodConstraintsTests.TestSpecialConstraints(), null), -new CoreFXTestLibrary.Internal.TestInfo("MethodConstraintsTests.TestTypeConstraints", () => global::MethodConstraintsTests.TestTypeConstraints(), null), -new CoreFXTestLibrary.Internal.TestInfo("MethodConstraintsTests.TestMDTypeConstraints", () => global::MethodConstraintsTests.TestMDTypeConstraints(), null), -new CoreFXTestLibrary.Internal.TestInfo("Dictionaries.DictionariesTest.TestBasicDictionaryEntryTypes", () => global::Dictionaries.DictionariesTest.TestBasicDictionaryEntryTypes(), null), -new CoreFXTestLibrary.Internal.TestInfo("Dictionaries.DictionariesTest.StaticMethodFolding_Test", () => global::Dictionaries.DictionariesTest.StaticMethodFolding_Test(), null), -new CoreFXTestLibrary.Internal.TestInfo("Dictionaries.DictionariesTest.NullableTesting", () => global::Dictionaries.DictionariesTest.NullableTesting(), null), -new CoreFXTestLibrary.Internal.TestInfo("TypeDictTestTypes.DictionariesTest.TestGenericTypeDictionary", () => global::TypeDictTestTypes.DictionariesTest.TestGenericTypeDictionary(), null), -new CoreFXTestLibrary.Internal.TestInfo("MethodDictionaryTest.DictionariesTest.TestMethodDictionaries", () => global::MethodDictionaryTest.DictionariesTest.TestMethodDictionaries(), null), -new CoreFXTestLibrary.Internal.TestInfo("BaseTypeDict.Test.TestVirtCallTwoGenParams", () => global::BaseTypeDict.Test.TestVirtCallTwoGenParams(), null), -new CoreFXTestLibrary.Internal.TestInfo("BaseTypeDict.Test.TestUsingPrimitiveTypes", () => global::BaseTypeDict.Test.TestUsingPrimitiveTypes(), null), -new CoreFXTestLibrary.Internal.TestInfo("BaseTypeDict.Test.TestBaseTypeDictionaries", () => global::BaseTypeDict.Test.TestBaseTypeDictionaries(), null), -new CoreFXTestLibrary.Internal.TestInfo("DictDependency.Test.TestIndirectDictionaryDependencies", () => global::DictDependency.Test.TestIndirectDictionaryDependencies(), null), -new CoreFXTestLibrary.Internal.TestInfo("CtorDict.DictionaryTesting.TestAllocationDictionaryEntryTypes", () => global::CtorDict.DictionaryTesting.TestAllocationDictionaryEntryTypes(), null), -new CoreFXTestLibrary.Internal.TestInfo("MethodAndUnboxingStubTesting.Test.TestNoConstraints", () => global::MethodAndUnboxingStubTesting.Test.TestNoConstraints(), null), -new CoreFXTestLibrary.Internal.TestInfo("ExistingInstantiations.Test.TestWithExistingInst", () => global::ExistingInstantiations.Test.TestWithExistingInst(), null), -new CoreFXTestLibrary.Internal.TestInfo("ExistingInstantiations.Test.TestInstantiationsWithExistingArrayTypeArgs", () => global::ExistingInstantiations.Test.TestInstantiationsWithExistingArrayTypeArgs(), null), -new CoreFXTestLibrary.Internal.TestInfo("TemplateDependencyFromGenArgs.TestRunner.TemplateDependencyFromGenArgsTest", () => global::TemplateDependencyFromGenArgs.TestRunner.TemplateDependencyFromGenArgsTest(), null), + RuntimeLibrariesTest.Internal.TestInfo[] tests = new RuntimeLibrariesTest.Internal.TestInfo[]{new RuntimeLibrariesTest.Internal.TestInfo("My.TestActivatorCreateInstance", () => global::My.TestActivatorCreateInstance(), null), +new RuntimeLibrariesTest.Internal.TestInfo("My.TestDefaultCtorInLazyGenerics", () => global::My.TestDefaultCtorInLazyGenerics(), null), +new RuntimeLibrariesTest.Internal.TestInfo("Expressions.ExpressionsTesting.TestLdTokenResults", () => global::Expressions.ExpressionsTesting.TestLdTokenResults(), null), +new RuntimeLibrariesTest.Internal.TestInfo("Expressions.ExpressionsTesting.TestLdTokenResultsWithStructTypes", () => global::Expressions.ExpressionsTesting.TestLdTokenResultsWithStructTypes(), null), +new RuntimeLibrariesTest.Internal.TestInfo("MakeGenMethod.Test.TestInstanceMethod", () => global::MakeGenMethod.Test.TestInstanceMethod(), null), +new RuntimeLibrariesTest.Internal.TestInfo("MakeGenMethod.Test.TestStaticMethod", () => global::MakeGenMethod.Test.TestStaticMethod(), null), +new RuntimeLibrariesTest.Internal.TestInfo("MakeGenMethod.Test.TestGenericMethodsWithEnumParametersHavingDefaultValues", () => global::MakeGenMethod.Test.TestGenericMethodsWithEnumParametersHavingDefaultValues(), null), +new RuntimeLibrariesTest.Internal.TestInfo("MakeGenMethod.Test.TestNoDictionaries", () => global::MakeGenMethod.Test.TestNoDictionaries(), null), +new RuntimeLibrariesTest.Internal.TestInfo("MakeGenMethod.Test.TestGenMethodOnGenType", () => global::MakeGenMethod.Test.TestGenMethodOnGenType(), null), +new RuntimeLibrariesTest.Internal.TestInfo("MakeGenMethod.Test.TestReverseLookups", () => global::MakeGenMethod.Test.TestReverseLookups(), null), +new RuntimeLibrariesTest.Internal.TestInfo("MakeGenMethod.Test.TestReverseLookupsWithArrayArg", () => global::MakeGenMethod.Test.TestReverseLookupsWithArrayArg(), null), +new RuntimeLibrariesTest.Internal.TestInfo("ArrayTests.ArrayTests.TestArrays", () => global::ArrayTests.ArrayTests.TestArrays(), null), +new RuntimeLibrariesTest.Internal.TestInfo("ArrayTests.ArrayTests.TestDynamicArrays", () => global::ArrayTests.ArrayTests.TestDynamicArrays(), null), +new RuntimeLibrariesTest.Internal.TestInfo("ArrayTests.ArrayTests.TestMDArrays", () => global::ArrayTests.ArrayTests.TestMDArrays(), null), +new RuntimeLibrariesTest.Internal.TestInfo("ArrayTests.ArrayTests.TestArrayIndexOfNullableStructOfCanon_USG", () => global::ArrayTests.ArrayTests.TestArrayIndexOfNullableStructOfCanon_USG(), null), +new RuntimeLibrariesTest.Internal.TestInfo("ArrayTests.ArrayTests.TestArrayIndexOfNullableStructOfCanon_Canon", () => global::ArrayTests.ArrayTests.TestArrayIndexOfNullableStructOfCanon_Canon(), null), +new RuntimeLibrariesTest.Internal.TestInfo("BlockedTypesTests.TestBlockedTypes", () => global::BlockedTypesTests.TestBlockedTypes(), null), +new RuntimeLibrariesTest.Internal.TestInfo("ConstraintsTests.TestInvalidInstantiations", () => global::ConstraintsTests.TestInvalidInstantiations(), null), +new RuntimeLibrariesTest.Internal.TestInfo("ConstraintsTests.TestSpecialConstraints", () => global::ConstraintsTests.TestSpecialConstraints(), null), +new RuntimeLibrariesTest.Internal.TestInfo("ConstraintsTests.TestTypeConstraints", () => global::ConstraintsTests.TestTypeConstraints(), null), +new RuntimeLibrariesTest.Internal.TestInfo("MethodConstraintsTests.TestInvalidInstantiations", () => global::MethodConstraintsTests.TestInvalidInstantiations(), null), +new RuntimeLibrariesTest.Internal.TestInfo("MethodConstraintsTests.TestSpecialConstraints", () => global::MethodConstraintsTests.TestSpecialConstraints(), null), +new RuntimeLibrariesTest.Internal.TestInfo("MethodConstraintsTests.TestTypeConstraints", () => global::MethodConstraintsTests.TestTypeConstraints(), null), +new RuntimeLibrariesTest.Internal.TestInfo("MethodConstraintsTests.TestMDTypeConstraints", () => global::MethodConstraintsTests.TestMDTypeConstraints(), null), +new RuntimeLibrariesTest.Internal.TestInfo("Dictionaries.DictionariesTest.TestBasicDictionaryEntryTypes", () => global::Dictionaries.DictionariesTest.TestBasicDictionaryEntryTypes(), null), +new RuntimeLibrariesTest.Internal.TestInfo("Dictionaries.DictionariesTest.StaticMethodFolding_Test", () => global::Dictionaries.DictionariesTest.StaticMethodFolding_Test(), null), +new RuntimeLibrariesTest.Internal.TestInfo("Dictionaries.DictionariesTest.NullableTesting", () => global::Dictionaries.DictionariesTest.NullableTesting(), null), +new RuntimeLibrariesTest.Internal.TestInfo("TypeDictTestTypes.DictionariesTest.TestGenericTypeDictionary", () => global::TypeDictTestTypes.DictionariesTest.TestGenericTypeDictionary(), null), +new RuntimeLibrariesTest.Internal.TestInfo("MethodDictionaryTest.DictionariesTest.TestMethodDictionaries", () => global::MethodDictionaryTest.DictionariesTest.TestMethodDictionaries(), null), +new RuntimeLibrariesTest.Internal.TestInfo("BaseTypeDict.Test.TestVirtCallTwoGenParams", () => global::BaseTypeDict.Test.TestVirtCallTwoGenParams(), null), +new RuntimeLibrariesTest.Internal.TestInfo("BaseTypeDict.Test.TestUsingPrimitiveTypes", () => global::BaseTypeDict.Test.TestUsingPrimitiveTypes(), null), +new RuntimeLibrariesTest.Internal.TestInfo("BaseTypeDict.Test.TestBaseTypeDictionaries", () => global::BaseTypeDict.Test.TestBaseTypeDictionaries(), null), +new RuntimeLibrariesTest.Internal.TestInfo("DictDependency.Test.TestIndirectDictionaryDependencies", () => global::DictDependency.Test.TestIndirectDictionaryDependencies(), null), +new RuntimeLibrariesTest.Internal.TestInfo("CtorDict.DictionaryTesting.TestAllocationDictionaryEntryTypes", () => global::CtorDict.DictionaryTesting.TestAllocationDictionaryEntryTypes(), null), +new RuntimeLibrariesTest.Internal.TestInfo("MethodAndUnboxingStubTesting.Test.TestNoConstraints", () => global::MethodAndUnboxingStubTesting.Test.TestNoConstraints(), null), +new RuntimeLibrariesTest.Internal.TestInfo("ExistingInstantiations.Test.TestWithExistingInst", () => global::ExistingInstantiations.Test.TestWithExistingInst(), null), +new RuntimeLibrariesTest.Internal.TestInfo("ExistingInstantiations.Test.TestInstantiationsWithExistingArrayTypeArgs", () => global::ExistingInstantiations.Test.TestInstantiationsWithExistingArrayTypeArgs(), null), +new RuntimeLibrariesTest.Internal.TestInfo("TemplateDependencyFromGenArgs.TestRunner.TemplateDependencyFromGenArgsTest", () => global::TemplateDependencyFromGenArgs.TestRunner.TemplateDependencyFromGenArgsTest(), null), #if UNIVERSAL_GENERICS -new CoreFXTestLibrary.Internal.TestInfo("FieldLayoutTests.TestFieldLayoutMatchesBetweenStaticAndDynamic_Long", () => global::FieldLayoutTests.TestFieldLayoutMatchesBetweenStaticAndDynamic_Long(), null), -new CoreFXTestLibrary.Internal.TestInfo("FieldLayoutTests.TestFieldLayoutMatchesBetweenStaticAndDynamic_Int64Enum", () => global::FieldLayoutTests.TestFieldLayoutMatchesBetweenStaticAndDynamic_Int64Enum(), null), -new CoreFXTestLibrary.Internal.TestInfo("FieldLayoutTests.TestBoxingUSGCreatedNullable", () => global::FieldLayoutTests.TestBoxingUSGCreatedNullable(), null), +new RuntimeLibrariesTest.Internal.TestInfo("FieldLayoutTests.TestFieldLayoutMatchesBetweenStaticAndDynamic_Long", () => global::FieldLayoutTests.TestFieldLayoutMatchesBetweenStaticAndDynamic_Long(), null), +new RuntimeLibrariesTest.Internal.TestInfo("FieldLayoutTests.TestFieldLayoutMatchesBetweenStaticAndDynamic_Int64Enum", () => global::FieldLayoutTests.TestFieldLayoutMatchesBetweenStaticAndDynamic_Int64Enum(), null), +new RuntimeLibrariesTest.Internal.TestInfo("FieldLayoutTests.TestBoxingUSGCreatedNullable", () => global::FieldLayoutTests.TestBoxingUSGCreatedNullable(), null), #endif -new CoreFXTestLibrary.Internal.TestInfo("FieldReflectionTests.TestInstanceFieldsOnDerivedType", () => global::FieldReflectionTests.TestInstanceFieldsOnDerivedType(), null), -new CoreFXTestLibrary.Internal.TestInfo("FieldReflectionTests.TestInstanceFields", () => global::FieldReflectionTests.TestInstanceFields(), null), -new CoreFXTestLibrary.Internal.TestInfo("FieldReflectionTests.TestStaticFields", () => global::FieldReflectionTests.TestStaticFields(), null), -new CoreFXTestLibrary.Internal.TestInfo("FieldReflectionTests.TestInitializedStaticFields", () => global::FieldReflectionTests.TestInitializedStaticFields(), null), -new CoreFXTestLibrary.Internal.TestInfo("FieldReflectionTests.TestFieldSetValueOnInstantiationsThatAlreadyExistButAreNotKnownToReflection", () => global::FieldReflectionTests.TestFieldSetValueOnInstantiationsThatAlreadyExistButAreNotKnownToReflection(), null), -new CoreFXTestLibrary.Internal.TestInfo("InterfacesTests.TestGenericCollapsingInInterfaceMap", () => global::InterfacesTests.TestGenericCollapsingInInterfaceMap(), null), -new CoreFXTestLibrary.Internal.TestInfo("InterfacesTests.TestImplementedInterfaces", () => global::InterfacesTests.TestImplementedInterfaces(), null), -new CoreFXTestLibrary.Internal.TestInfo("InterfacesTests.TestBaseType", () => global::InterfacesTests.TestBaseType(), null), -new CoreFXTestLibrary.Internal.TestInfo("InterfacesTests.TestInterfaceInvoke", () => global::InterfacesTests.TestInterfaceInvoke(), null), -new CoreFXTestLibrary.Internal.TestInfo("InterfacesTests.TestConstrainedCall", () => global::InterfacesTests.TestConstrainedCall(), null), +new RuntimeLibrariesTest.Internal.TestInfo("FieldReflectionTests.TestInstanceFieldsOnDerivedType", () => global::FieldReflectionTests.TestInstanceFieldsOnDerivedType(), null), +new RuntimeLibrariesTest.Internal.TestInfo("FieldReflectionTests.TestInstanceFields", () => global::FieldReflectionTests.TestInstanceFields(), null), +new RuntimeLibrariesTest.Internal.TestInfo("FieldReflectionTests.TestStaticFields", () => global::FieldReflectionTests.TestStaticFields(), null), +new RuntimeLibrariesTest.Internal.TestInfo("FieldReflectionTests.TestInitializedStaticFields", () => global::FieldReflectionTests.TestInitializedStaticFields(), null), +new RuntimeLibrariesTest.Internal.TestInfo("FieldReflectionTests.TestFieldSetValueOnInstantiationsThatAlreadyExistButAreNotKnownToReflection", () => global::FieldReflectionTests.TestFieldSetValueOnInstantiationsThatAlreadyExistButAreNotKnownToReflection(), null), +new RuntimeLibrariesTest.Internal.TestInfo("InterfacesTests.TestGenericCollapsingInInterfaceMap", () => global::InterfacesTests.TestGenericCollapsingInInterfaceMap(), null), +new RuntimeLibrariesTest.Internal.TestInfo("InterfacesTests.TestImplementedInterfaces", () => global::InterfacesTests.TestImplementedInterfaces(), null), +new RuntimeLibrariesTest.Internal.TestInfo("InterfacesTests.TestBaseType", () => global::InterfacesTests.TestBaseType(), null), +new RuntimeLibrariesTest.Internal.TestInfo("InterfacesTests.TestInterfaceInvoke", () => global::InterfacesTests.TestInterfaceInvoke(), null), +new RuntimeLibrariesTest.Internal.TestInfo("InterfacesTests.TestConstrainedCall", () => global::InterfacesTests.TestConstrainedCall(), null), #if !MULTIMODULE_BUILD -new CoreFXTestLibrary.Internal.TestInfo("DynamicListTests.TestGetRange", () => global::DynamicListTests.TestGetRange(), null), -new CoreFXTestLibrary.Internal.TestInfo("DynamicListTests.TestAddRange", () => global::DynamicListTests.TestAddRange(), null), -new CoreFXTestLibrary.Internal.TestInfo("DynamicListTests.TestAddRemove", () => global::DynamicListTests.TestAddRemove(), null), -new CoreFXTestLibrary.Internal.TestInfo("DynamicListTests.TestIListOfT", () => global::DynamicListTests.TestIListOfT(), null), -new CoreFXTestLibrary.Internal.TestInfo("DynamicListTests.TestICollectionOfT", () => global::DynamicListTests.TestICollectionOfT(), null), -new CoreFXTestLibrary.Internal.TestInfo("DynamicListTests.TestIList", () => global::DynamicListTests.TestIList(), null), -new CoreFXTestLibrary.Internal.TestInfo("DynamicListTests.TestICollection", () => global::DynamicListTests.TestICollection(), null), -new CoreFXTestLibrary.Internal.TestInfo("DynamicListTests.TestIReadOnlyListOfT", () => global::DynamicListTests.TestIReadOnlyListOfT(), null), -new CoreFXTestLibrary.Internal.TestInfo("DynamicListTests.TestIReadOnlyCollectionOfT", () => global::DynamicListTests.TestIReadOnlyCollectionOfT(), null), -new CoreFXTestLibrary.Internal.TestInfo("DynamicListTests.TestToArray", () => global::DynamicListTests.TestToArray(), null), -new CoreFXTestLibrary.Internal.TestInfo("DynamicListTests.TestContains", () => global::DynamicListTests.TestContains(), null), -new CoreFXTestLibrary.Internal.TestInfo("DynamicListTests.TestSortWithComparison", () => global::DynamicListTests.TestSortWithComparison(), null), -new CoreFXTestLibrary.Internal.TestInfo("DynamicListTests.TestSortWithComparer", () => global::DynamicListTests.TestSortWithComparer(), null), +new RuntimeLibrariesTest.Internal.TestInfo("DynamicListTests.TestGetRange", () => global::DynamicListTests.TestGetRange(), null), +new RuntimeLibrariesTest.Internal.TestInfo("DynamicListTests.TestAddRange", () => global::DynamicListTests.TestAddRange(), null), +new RuntimeLibrariesTest.Internal.TestInfo("DynamicListTests.TestAddRemove", () => global::DynamicListTests.TestAddRemove(), null), +new RuntimeLibrariesTest.Internal.TestInfo("DynamicListTests.TestIListOfT", () => global::DynamicListTests.TestIListOfT(), null), +new RuntimeLibrariesTest.Internal.TestInfo("DynamicListTests.TestICollectionOfT", () => global::DynamicListTests.TestICollectionOfT(), null), +new RuntimeLibrariesTest.Internal.TestInfo("DynamicListTests.TestIList", () => global::DynamicListTests.TestIList(), null), +new RuntimeLibrariesTest.Internal.TestInfo("DynamicListTests.TestICollection", () => global::DynamicListTests.TestICollection(), null), +new RuntimeLibrariesTest.Internal.TestInfo("DynamicListTests.TestIReadOnlyListOfT", () => global::DynamicListTests.TestIReadOnlyListOfT(), null), +new RuntimeLibrariesTest.Internal.TestInfo("DynamicListTests.TestIReadOnlyCollectionOfT", () => global::DynamicListTests.TestIReadOnlyCollectionOfT(), null), +new RuntimeLibrariesTest.Internal.TestInfo("DynamicListTests.TestToArray", () => global::DynamicListTests.TestToArray(), null), +new RuntimeLibrariesTest.Internal.TestInfo("DynamicListTests.TestContains", () => global::DynamicListTests.TestContains(), null), +new RuntimeLibrariesTest.Internal.TestInfo("DynamicListTests.TestSortWithComparison", () => global::DynamicListTests.TestSortWithComparison(), null), +new RuntimeLibrariesTest.Internal.TestInfo("DynamicListTests.TestSortWithComparer", () => global::DynamicListTests.TestSortWithComparer(), null), #endif -//new CoreFXTestLibrary.Internal.TestInfo("RdExperienceTests.TestRdExperience", () => global::RdExperienceTests.TestRdExperience(), null), -new CoreFXTestLibrary.Internal.TestInfo("StaticsTests.TestStatics", () => global::StaticsTests.TestStatics(), null), -new CoreFXTestLibrary.Internal.TestInfo("ThreadLocalStatics.TLSTesting.ThreadLocalStatics_Test", () => global::ThreadLocalStatics.TLSTesting.ThreadLocalStatics_Test(), null), +//new RuntimeLibrariesTest.Internal.TestInfo("RdExperienceTests.TestRdExperience", () => global::RdExperienceTests.TestRdExperience(), null), +new RuntimeLibrariesTest.Internal.TestInfo("StaticsTests.TestStatics", () => global::StaticsTests.TestStatics(), null), +new RuntimeLibrariesTest.Internal.TestInfo("ThreadLocalStatics.TLSTesting.ThreadLocalStatics_Test", () => global::ThreadLocalStatics.TLSTesting.ThreadLocalStatics_Test(), null), #if UNIVERSAL_GENERICS -new CoreFXTestLibrary.Internal.TestInfo("UnivConstCalls.Test.TestRefTypeCallsOnNonGenClass", () => global::UnivConstCalls.Test.TestRefTypeCallsOnNonGenClass(), null), -new CoreFXTestLibrary.Internal.TestInfo("UnivConstCalls.Test.TestUSCCallsOnNonGenStruct", () => global::UnivConstCalls.Test.TestUSCCallsOnNonGenStruct(), null), -new CoreFXTestLibrary.Internal.TestInfo("UnivConstCalls.Test.TestUSCCallsOnSharedGenStruct", () => global::UnivConstCalls.Test.TestUSCCallsOnSharedGenStruct(), null), -new CoreFXTestLibrary.Internal.TestInfo("UnivConstCalls.Test.TestUSCCallsOnUSCGenStruct", () => global::UnivConstCalls.Test.TestUSCCallsOnUSCGenStruct(), null), -new CoreFXTestLibrary.Internal.TestInfo("UnivConstCalls.Test.TestUSCNonGenInterfaceCallsOnStructs", () => global::UnivConstCalls.Test.TestUSCNonGenInterfaceCallsOnStructs(), null), -new CoreFXTestLibrary.Internal.TestInfo("UniversalGen.Test.TestInterlockedPrimitives", () => global::UniversalGen.Test.TestInterlockedPrimitives(), null), -new CoreFXTestLibrary.Internal.TestInfo("UniversalGen.Test.TestArraysAndGC", () => global::UniversalGen.Test.TestArraysAndGC(), null), -new CoreFXTestLibrary.Internal.TestInfo("UniversalGen.Test.TestUSGByRefFunctionCalls", () => global::UniversalGen.Test.TestUSGByRefFunctionCalls(), null), -new CoreFXTestLibrary.Internal.TestInfo("UniversalGen.Test.TestUSGSamples", () => global::UniversalGen.Test.TestUSGSamples(), null), -new CoreFXTestLibrary.Internal.TestInfo("UniversalGen.Test.TestMakeGenericType", () => global::UniversalGen.Test.TestMakeGenericType(), null), -new CoreFXTestLibrary.Internal.TestInfo("UniversalGen.Test.TestUSCInstanceFieldUsage", () => global::UniversalGen.Test.TestUSCInstanceFieldUsage(), null), -new CoreFXTestLibrary.Internal.TestInfo("UniversalGen.Test.TestUSCStaticFieldUsage", () => global::UniversalGen.Test.TestUSCStaticFieldUsage(), null), -new CoreFXTestLibrary.Internal.TestInfo("UniversalGen.Test.TestUSCThreadStaticFieldUsage", () => global::UniversalGen.Test.TestUSCThreadStaticFieldUsage(), null), -new CoreFXTestLibrary.Internal.TestInfo("UniversalGen.Test.TestUSCStaticFieldLayoutCompat", () => global::UniversalGen.Test.TestUSCStaticFieldLayoutCompat(), null), -new CoreFXTestLibrary.Internal.TestInfo("UniversalGen.Test.TestUSCClassConstructorImplicit", () => global::UniversalGen.Test.TestUSCClassConstructorImplicit(), null), -new CoreFXTestLibrary.Internal.TestInfo("UniversalGen.Test.TestUSCClassConstructorExplicit", () => global::UniversalGen.Test.TestUSCClassConstructorExplicit(), null), -new CoreFXTestLibrary.Internal.TestInfo("UniversalGen.Test.TestUniversalGenericsGvmCall", () => global::UniversalGen.Test.TestUniversalGenericsGvmCall(), null), -new CoreFXTestLibrary.Internal.TestInfo("PartialUSC.Test.TestVirtualCallsPartialUSGVTableMismatch", () => global::PartialUSC.Test.TestVirtualCallsPartialUSGVTableMismatch(), null), -new CoreFXTestLibrary.Internal.TestInfo("PartialUSC.Test.TestVirtualCalls", () => global::PartialUSC.Test.TestVirtualCalls(), null), -new CoreFXTestLibrary.Internal.TestInfo("VirtualCalls.Test.TestVirtualCalls", () => global::VirtualCalls.Test.TestVirtualCalls(), null), -new CoreFXTestLibrary.Internal.TestInfo("CallingConvention.Test.TestInstancesOfKnownAndUnknownSizes", () => global::CallingConvention.Test.TestInstancesOfKnownAndUnknownSizes(), null), -new CoreFXTestLibrary.Internal.TestInfo("CallingConvention.Test.TestCallInstanceFunction", () => global::CallingConvention.Test.TestCallInstanceFunction(), null), -new CoreFXTestLibrary.Internal.TestInfo("CallingConvention.Test.TestCallInterface", () => global::CallingConvention.Test.TestCallInterface(), null), -new CoreFXTestLibrary.Internal.TestInfo("CallingConvention.Test.CallingConventionTest", () => global::CallingConvention.Test.CallingConventionTest(), null), -new CoreFXTestLibrary.Internal.TestInfo("DynamicInvoke.Test.TestDynamicInvoke", () => global::DynamicInvoke.Test.TestDynamicInvoke(), null), -new CoreFXTestLibrary.Internal.TestInfo("TypeLayout.Test.TestTypeGCDescs", () => global::TypeLayout.Test.TestTypeGCDescs(), null), -new CoreFXTestLibrary.Internal.TestInfo("TypeLayout.Test.StructsOfPrimitives", () => global::TypeLayout.Test.StructsOfPrimitives(), null), -new CoreFXTestLibrary.Internal.TestInfo("ActivatorCreateInstance.Test.TestCreateInstance", () => global::ActivatorCreateInstance.Test.TestCreateInstance(), null), -new CoreFXTestLibrary.Internal.TestInfo("MultiThreadUSCCall.Test.CallsWithGCCollects", () => global::MultiThreadUSCCall.Test.CallsWithGCCollects(), null), -new CoreFXTestLibrary.Internal.TestInfo("Heuristics.TestHeuristics.TestReflectionHeuristics", () => global::Heuristics.TestHeuristics.TestReflectionHeuristics(), null), -new CoreFXTestLibrary.Internal.TestInfo("ArrayVarianceTest.Test.RunTest", () => global::ArrayVarianceTest.Test.RunTest(), null), -new CoreFXTestLibrary.Internal.TestInfo("IsInstTest.TestRunner.RunIsInstAndCheckCastTest", () => global::IsInstTest.TestRunner.RunIsInstAndCheckCastTest(), null), -new CoreFXTestLibrary.Internal.TestInfo("DelegateCallTest.TestRunner.TestCallMethodThroughUsgDelegate", () => global::DelegateCallTest.TestRunner.TestCallMethodThroughUsgDelegate(), null), -new CoreFXTestLibrary.Internal.TestInfo("FieldLayoutBugRepro.Runner.EntryPoint", () => global::FieldLayoutBugRepro.Runner.EntryPoint(), null), -new CoreFXTestLibrary.Internal.TestInfo("DelegateTest.TestRunner.TestMethodCellsWithUSGTargetsUsedOnNonUSGInstantiations", () => global::DelegateTest.TestRunner.TestMethodCellsWithUSGTargetsUsedOnNonUSGInstantiations(), null), -new CoreFXTestLibrary.Internal.TestInfo("ArrayExceptionsTest.Runner.ArrayExceptionsTest_String_Object", () => global::ArrayExceptionsTest.Runner.ArrayExceptionsTest_String_Object(), null), -new CoreFXTestLibrary.Internal.TestInfo("ArrayExceptionsTest.Runner.ArrayExceptionsTest_Int32_Int32", () => global::ArrayExceptionsTest.Runner.ArrayExceptionsTest_Int32_Int32(), null), -new CoreFXTestLibrary.Internal.TestInfo("ArrayExceptionsTest.Runner.ArrayExceptionsTest_Int32_IntBasedEnum", () => global::ArrayExceptionsTest.Runner.ArrayExceptionsTest_Int32_IntBasedEnum(), null), -new CoreFXTestLibrary.Internal.TestInfo("ArrayExceptionsTest.Runner.ArrayExceptionsTest_UInt32_Int32", () => global::ArrayExceptionsTest.Runner.ArrayExceptionsTest_UInt32_Int32(), null), -new CoreFXTestLibrary.Internal.TestInfo("UnboxAnyTests.Runner.TestUnboxAnyToString", () => global::UnboxAnyTests.Runner.TestUnboxAnyToString(), null), -new CoreFXTestLibrary.Internal.TestInfo("UnboxAnyTests.Runner.TestUnboxAnyToInt", () => global::UnboxAnyTests.Runner.TestUnboxAnyToInt(), null), -new CoreFXTestLibrary.Internal.TestInfo("UnboxAnyTests.Runner.TestUnboxAnyToIntBasedEnum", () => global::UnboxAnyTests.Runner.TestUnboxAnyToIntBasedEnum(), null), -new CoreFXTestLibrary.Internal.TestInfo("UnboxAnyTests.Runner.TestUnboxAnyToNullableInt", () => global::UnboxAnyTests.Runner.TestUnboxAnyToNullableInt(), null), -new CoreFXTestLibrary.Internal.TestInfo("UnboxAnyTests.Runner.TestUnboxAnyToNullableIntBasedEnum", () => global::UnboxAnyTests.Runner.TestUnboxAnyToNullableIntBasedEnum(), null), -new CoreFXTestLibrary.Internal.TestInfo("UnboxAnyTests.Runner.TestUnboxAnyToShort_NonUSG", () => global::UnboxAnyTests.Runner.TestUnboxAnyToShort_NonUSG(), null), -new CoreFXTestLibrary.Internal.TestInfo("UnboxAnyTests.Runner.TestUnboxAnyToShortBasedEnum_NonUSG", () => global::UnboxAnyTests.Runner.TestUnboxAnyToShortBasedEnum_NonUSG(), null), -new CoreFXTestLibrary.Internal.TestInfo("UnboxAnyTests.Runner.TestUnboxAnyToNullableShort_NonUSG", () => global::UnboxAnyTests.Runner.TestUnboxAnyToNullableShort_NonUSG(), null), -new CoreFXTestLibrary.Internal.TestInfo("UnboxAnyTests.Runner.TestUnboxAnyToNullableShortBasedEnum_NonUSG", () => global::UnboxAnyTests.Runner.TestUnboxAnyToNullableShortBasedEnum_NonUSG(), null), -new CoreFXTestLibrary.Internal.TestInfo("HFATest.Runner.HFATestEntryPoint", () => global::HFATest.Runner.HFATestEntryPoint(), null), -new CoreFXTestLibrary.Internal.TestInfo("ComparerOfTTests.Runner.TestStructThatImplementsIComparable", () => global::ComparerOfTTests.Runner.TestStructThatImplementsIComparable(), null), -new CoreFXTestLibrary.Internal.TestInfo("ComparerOfTTests.Runner.TestStructThatImplementsIComparableOfObject", () => global::ComparerOfTTests.Runner.TestStructThatImplementsIComparableOfObject(), null), -new CoreFXTestLibrary.Internal.TestInfo("ComparerOfTTests.Runner.TestBoringStruct", () => global::ComparerOfTTests.Runner.TestBoringStruct(), null), -new CoreFXTestLibrary.Internal.TestInfo("DefaultValueDelegateParameterTests.Runner.TestCallUniversalGenericDelegate", () => global::DefaultValueDelegateParameterTests.Runner.TestCallUniversalGenericDelegate(), null), -new CoreFXTestLibrary.Internal.TestInfo("ArrayOfGenericStructGCTests.Runner.TestArrayOfGenericStructGCTests", () => global::ArrayOfGenericStructGCTests.Runner.TestArrayOfGenericStructGCTests(), null), -new CoreFXTestLibrary.Internal.TestInfo("ArrayOfGenericStructGCTests.Runner.TestNonPointerSizedFinalField", () => global::ArrayOfGenericStructGCTests.Runner.TestNonPointerSizedFinalField(), null), -new CoreFXTestLibrary.Internal.TestInfo("DelegatesToStructMethods.Runner.TestDelegateInvokeToMethods", () => global::DelegatesToStructMethods.Runner.TestDelegateInvokeToMethods(), null), -new CoreFXTestLibrary.Internal.TestInfo("PartialUniversalGen.Test.TestOverrideMethodOnDerivedTypeWhereInstantiationArgsAreDifferentThanBaseType", () => global::PartialUniversalGen.Test.TestOverrideMethodOnDerivedTypeWhereInstantiationArgsAreDifferentThanBaseType(), null), -new CoreFXTestLibrary.Internal.TestInfo("PartialUniversalGen.Test.TestUniversalGenericThatDerivesFromBaseInstantiatedOverArray", () => global::PartialUniversalGen.Test.TestUniversalGenericThatDerivesFromBaseInstantiatedOverArray(), null), -new CoreFXTestLibrary.Internal.TestInfo("PartialUniversalGen.Test.TestUniversalGenericThatUsesCanonicalGeneric", () => global::PartialUniversalGen.Test.TestUniversalGenericThatUsesCanonicalGeneric(), null), -new CoreFXTestLibrary.Internal.TestInfo("PartialUniversalGen.Test.TestUniversalGenericThatImplementsInterfaceOverArrayType", () => global::PartialUniversalGen.Test.TestUniversalGenericThatImplementsInterfaceOverArrayType(), null), -new CoreFXTestLibrary.Internal.TestInfo("PartialUniversalGen.Test.TestUniversalGenericThatUsesCanonicalGenericMethod", () => global::PartialUniversalGen.Test.TestUniversalGenericThatUsesCanonicalGenericMethod(), null), -new CoreFXTestLibrary.Internal.TestInfo("PartialUniversalGen.Test.TestUniversalGenericThatUsesCanonicalGenericMethodWithActivatorCreateInstance", () => global::PartialUniversalGen.Test.TestUniversalGenericThatUsesCanonicalGenericMethodWithActivatorCreateInstance(), null), -new CoreFXTestLibrary.Internal.TestInfo("PartialUniversalGen.Test.TestUniversalGenericThatUsesCanonicalGenericType", () => global::PartialUniversalGen.Test.TestUniversalGenericThatUsesCanonicalGenericType(), null), -new CoreFXTestLibrary.Internal.TestInfo("PartialUniversalGen.Test.TestUniversalGenericThatUsesCanonicalGenericMethodWithConstraints", () => global::PartialUniversalGen.Test.TestUniversalGenericThatUsesCanonicalGenericMethodWithConstraints(), null), -new CoreFXTestLibrary.Internal.TestInfo("PartialUniversalGen.Test.TestDependenciesOfPartialUniversalCanonicalCode", () => global::PartialUniversalGen.Test.TestDependenciesOfPartialUniversalCanonicalCode(), null), -new CoreFXTestLibrary.Internal.TestInfo("PartialUniversalGen.Test.TestCornerCaseSealedVTableSlot", () => global::PartialUniversalGen.Test.TestCornerCaseSealedVTableSlot(), null), +new RuntimeLibrariesTest.Internal.TestInfo("UnivConstCalls.Test.TestRefTypeCallsOnNonGenClass", () => global::UnivConstCalls.Test.TestRefTypeCallsOnNonGenClass(), null), +new RuntimeLibrariesTest.Internal.TestInfo("UnivConstCalls.Test.TestUSCCallsOnNonGenStruct", () => global::UnivConstCalls.Test.TestUSCCallsOnNonGenStruct(), null), +new RuntimeLibrariesTest.Internal.TestInfo("UnivConstCalls.Test.TestUSCCallsOnSharedGenStruct", () => global::UnivConstCalls.Test.TestUSCCallsOnSharedGenStruct(), null), +new RuntimeLibrariesTest.Internal.TestInfo("UnivConstCalls.Test.TestUSCCallsOnUSCGenStruct", () => global::UnivConstCalls.Test.TestUSCCallsOnUSCGenStruct(), null), +new RuntimeLibrariesTest.Internal.TestInfo("UnivConstCalls.Test.TestUSCNonGenInterfaceCallsOnStructs", () => global::UnivConstCalls.Test.TestUSCNonGenInterfaceCallsOnStructs(), null), +new RuntimeLibrariesTest.Internal.TestInfo("UniversalGen.Test.TestInterlockedPrimitives", () => global::UniversalGen.Test.TestInterlockedPrimitives(), null), +new RuntimeLibrariesTest.Internal.TestInfo("UniversalGen.Test.TestArraysAndGC", () => global::UniversalGen.Test.TestArraysAndGC(), null), +new RuntimeLibrariesTest.Internal.TestInfo("UniversalGen.Test.TestUSGByRefFunctionCalls", () => global::UniversalGen.Test.TestUSGByRefFunctionCalls(), null), +new RuntimeLibrariesTest.Internal.TestInfo("UniversalGen.Test.TestUSGSamples", () => global::UniversalGen.Test.TestUSGSamples(), null), +new RuntimeLibrariesTest.Internal.TestInfo("UniversalGen.Test.TestMakeGenericType", () => global::UniversalGen.Test.TestMakeGenericType(), null), +new RuntimeLibrariesTest.Internal.TestInfo("UniversalGen.Test.TestUSCInstanceFieldUsage", () => global::UniversalGen.Test.TestUSCInstanceFieldUsage(), null), +new RuntimeLibrariesTest.Internal.TestInfo("UniversalGen.Test.TestUSCStaticFieldUsage", () => global::UniversalGen.Test.TestUSCStaticFieldUsage(), null), +new RuntimeLibrariesTest.Internal.TestInfo("UniversalGen.Test.TestUSCThreadStaticFieldUsage", () => global::UniversalGen.Test.TestUSCThreadStaticFieldUsage(), null), +new RuntimeLibrariesTest.Internal.TestInfo("UniversalGen.Test.TestUSCStaticFieldLayoutCompat", () => global::UniversalGen.Test.TestUSCStaticFieldLayoutCompat(), null), +new RuntimeLibrariesTest.Internal.TestInfo("UniversalGen.Test.TestUSCClassConstructorImplicit", () => global::UniversalGen.Test.TestUSCClassConstructorImplicit(), null), +new RuntimeLibrariesTest.Internal.TestInfo("UniversalGen.Test.TestUSCClassConstructorExplicit", () => global::UniversalGen.Test.TestUSCClassConstructorExplicit(), null), +new RuntimeLibrariesTest.Internal.TestInfo("UniversalGen.Test.TestUniversalGenericsGvmCall", () => global::UniversalGen.Test.TestUniversalGenericsGvmCall(), null), +new RuntimeLibrariesTest.Internal.TestInfo("PartialUSC.Test.TestVirtualCallsPartialUSGVTableMismatch", () => global::PartialUSC.Test.TestVirtualCallsPartialUSGVTableMismatch(), null), +new RuntimeLibrariesTest.Internal.TestInfo("PartialUSC.Test.TestVirtualCalls", () => global::PartialUSC.Test.TestVirtualCalls(), null), +new RuntimeLibrariesTest.Internal.TestInfo("VirtualCalls.Test.TestVirtualCalls", () => global::VirtualCalls.Test.TestVirtualCalls(), null), +new RuntimeLibrariesTest.Internal.TestInfo("CallingConvention.Test.TestInstancesOfKnownAndUnknownSizes", () => global::CallingConvention.Test.TestInstancesOfKnownAndUnknownSizes(), null), +new RuntimeLibrariesTest.Internal.TestInfo("CallingConvention.Test.TestCallInstanceFunction", () => global::CallingConvention.Test.TestCallInstanceFunction(), null), +new RuntimeLibrariesTest.Internal.TestInfo("CallingConvention.Test.TestCallInterface", () => global::CallingConvention.Test.TestCallInterface(), null), +new RuntimeLibrariesTest.Internal.TestInfo("CallingConvention.Test.CallingConventionTest", () => global::CallingConvention.Test.CallingConventionTest(), null), +new RuntimeLibrariesTest.Internal.TestInfo("DynamicInvoke.Test.TestDynamicInvoke", () => global::DynamicInvoke.Test.TestDynamicInvoke(), null), +new RuntimeLibrariesTest.Internal.TestInfo("TypeLayout.Test.TestTypeGCDescs", () => global::TypeLayout.Test.TestTypeGCDescs(), null), +new RuntimeLibrariesTest.Internal.TestInfo("TypeLayout.Test.StructsOfPrimitives", () => global::TypeLayout.Test.StructsOfPrimitives(), null), +new RuntimeLibrariesTest.Internal.TestInfo("ActivatorCreateInstance.Test.TestCreateInstance", () => global::ActivatorCreateInstance.Test.TestCreateInstance(), null), +new RuntimeLibrariesTest.Internal.TestInfo("MultiThreadUSCCall.Test.CallsWithGCCollects", () => global::MultiThreadUSCCall.Test.CallsWithGCCollects(), null), +new RuntimeLibrariesTest.Internal.TestInfo("Heuristics.TestHeuristics.TestReflectionHeuristics", () => global::Heuristics.TestHeuristics.TestReflectionHeuristics(), null), +new RuntimeLibrariesTest.Internal.TestInfo("ArrayVarianceTest.Test.RunTest", () => global::ArrayVarianceTest.Test.RunTest(), null), +new RuntimeLibrariesTest.Internal.TestInfo("IsInstTest.TestRunner.RunIsInstAndCheckCastTest", () => global::IsInstTest.TestRunner.RunIsInstAndCheckCastTest(), null), +new RuntimeLibrariesTest.Internal.TestInfo("DelegateCallTest.TestRunner.TestCallMethodThroughUsgDelegate", () => global::DelegateCallTest.TestRunner.TestCallMethodThroughUsgDelegate(), null), +new RuntimeLibrariesTest.Internal.TestInfo("FieldLayoutBugRepro.Runner.EntryPoint", () => global::FieldLayoutBugRepro.Runner.EntryPoint(), null), +new RuntimeLibrariesTest.Internal.TestInfo("DelegateTest.TestRunner.TestMethodCellsWithUSGTargetsUsedOnNonUSGInstantiations", () => global::DelegateTest.TestRunner.TestMethodCellsWithUSGTargetsUsedOnNonUSGInstantiations(), null), +new RuntimeLibrariesTest.Internal.TestInfo("ArrayExceptionsTest.Runner.ArrayExceptionsTest_String_Object", () => global::ArrayExceptionsTest.Runner.ArrayExceptionsTest_String_Object(), null), +new RuntimeLibrariesTest.Internal.TestInfo("ArrayExceptionsTest.Runner.ArrayExceptionsTest_Int32_Int32", () => global::ArrayExceptionsTest.Runner.ArrayExceptionsTest_Int32_Int32(), null), +new RuntimeLibrariesTest.Internal.TestInfo("ArrayExceptionsTest.Runner.ArrayExceptionsTest_Int32_IntBasedEnum", () => global::ArrayExceptionsTest.Runner.ArrayExceptionsTest_Int32_IntBasedEnum(), null), +new RuntimeLibrariesTest.Internal.TestInfo("ArrayExceptionsTest.Runner.ArrayExceptionsTest_UInt32_Int32", () => global::ArrayExceptionsTest.Runner.ArrayExceptionsTest_UInt32_Int32(), null), +new RuntimeLibrariesTest.Internal.TestInfo("UnboxAnyTests.Runner.TestUnboxAnyToString", () => global::UnboxAnyTests.Runner.TestUnboxAnyToString(), null), +new RuntimeLibrariesTest.Internal.TestInfo("UnboxAnyTests.Runner.TestUnboxAnyToInt", () => global::UnboxAnyTests.Runner.TestUnboxAnyToInt(), null), +new RuntimeLibrariesTest.Internal.TestInfo("UnboxAnyTests.Runner.TestUnboxAnyToIntBasedEnum", () => global::UnboxAnyTests.Runner.TestUnboxAnyToIntBasedEnum(), null), +new RuntimeLibrariesTest.Internal.TestInfo("UnboxAnyTests.Runner.TestUnboxAnyToNullableInt", () => global::UnboxAnyTests.Runner.TestUnboxAnyToNullableInt(), null), +new RuntimeLibrariesTest.Internal.TestInfo("UnboxAnyTests.Runner.TestUnboxAnyToNullableIntBasedEnum", () => global::UnboxAnyTests.Runner.TestUnboxAnyToNullableIntBasedEnum(), null), +new RuntimeLibrariesTest.Internal.TestInfo("UnboxAnyTests.Runner.TestUnboxAnyToShort_NonUSG", () => global::UnboxAnyTests.Runner.TestUnboxAnyToShort_NonUSG(), null), +new RuntimeLibrariesTest.Internal.TestInfo("UnboxAnyTests.Runner.TestUnboxAnyToShortBasedEnum_NonUSG", () => global::UnboxAnyTests.Runner.TestUnboxAnyToShortBasedEnum_NonUSG(), null), +new RuntimeLibrariesTest.Internal.TestInfo("UnboxAnyTests.Runner.TestUnboxAnyToNullableShort_NonUSG", () => global::UnboxAnyTests.Runner.TestUnboxAnyToNullableShort_NonUSG(), null), +new RuntimeLibrariesTest.Internal.TestInfo("UnboxAnyTests.Runner.TestUnboxAnyToNullableShortBasedEnum_NonUSG", () => global::UnboxAnyTests.Runner.TestUnboxAnyToNullableShortBasedEnum_NonUSG(), null), +new RuntimeLibrariesTest.Internal.TestInfo("HFATest.Runner.HFATestEntryPoint", () => global::HFATest.Runner.HFATestEntryPoint(), null), +new RuntimeLibrariesTest.Internal.TestInfo("ComparerOfTTests.Runner.TestStructThatImplementsIComparable", () => global::ComparerOfTTests.Runner.TestStructThatImplementsIComparable(), null), +new RuntimeLibrariesTest.Internal.TestInfo("ComparerOfTTests.Runner.TestStructThatImplementsIComparableOfObject", () => global::ComparerOfTTests.Runner.TestStructThatImplementsIComparableOfObject(), null), +new RuntimeLibrariesTest.Internal.TestInfo("ComparerOfTTests.Runner.TestBoringStruct", () => global::ComparerOfTTests.Runner.TestBoringStruct(), null), +new RuntimeLibrariesTest.Internal.TestInfo("DefaultValueDelegateParameterTests.Runner.TestCallUniversalGenericDelegate", () => global::DefaultValueDelegateParameterTests.Runner.TestCallUniversalGenericDelegate(), null), +new RuntimeLibrariesTest.Internal.TestInfo("ArrayOfGenericStructGCTests.Runner.TestArrayOfGenericStructGCTests", () => global::ArrayOfGenericStructGCTests.Runner.TestArrayOfGenericStructGCTests(), null), +new RuntimeLibrariesTest.Internal.TestInfo("ArrayOfGenericStructGCTests.Runner.TestNonPointerSizedFinalField", () => global::ArrayOfGenericStructGCTests.Runner.TestNonPointerSizedFinalField(), null), +new RuntimeLibrariesTest.Internal.TestInfo("DelegatesToStructMethods.Runner.TestDelegateInvokeToMethods", () => global::DelegatesToStructMethods.Runner.TestDelegateInvokeToMethods(), null), +new RuntimeLibrariesTest.Internal.TestInfo("PartialUniversalGen.Test.TestOverrideMethodOnDerivedTypeWhereInstantiationArgsAreDifferentThanBaseType", () => global::PartialUniversalGen.Test.TestOverrideMethodOnDerivedTypeWhereInstantiationArgsAreDifferentThanBaseType(), null), +new RuntimeLibrariesTest.Internal.TestInfo("PartialUniversalGen.Test.TestUniversalGenericThatDerivesFromBaseInstantiatedOverArray", () => global::PartialUniversalGen.Test.TestUniversalGenericThatDerivesFromBaseInstantiatedOverArray(), null), +new RuntimeLibrariesTest.Internal.TestInfo("PartialUniversalGen.Test.TestUniversalGenericThatUsesCanonicalGeneric", () => global::PartialUniversalGen.Test.TestUniversalGenericThatUsesCanonicalGeneric(), null), +new RuntimeLibrariesTest.Internal.TestInfo("PartialUniversalGen.Test.TestUniversalGenericThatImplementsInterfaceOverArrayType", () => global::PartialUniversalGen.Test.TestUniversalGenericThatImplementsInterfaceOverArrayType(), null), +new RuntimeLibrariesTest.Internal.TestInfo("PartialUniversalGen.Test.TestUniversalGenericThatUsesCanonicalGenericMethod", () => global::PartialUniversalGen.Test.TestUniversalGenericThatUsesCanonicalGenericMethod(), null), +new RuntimeLibrariesTest.Internal.TestInfo("PartialUniversalGen.Test.TestUniversalGenericThatUsesCanonicalGenericMethodWithActivatorCreateInstance", () => global::PartialUniversalGen.Test.TestUniversalGenericThatUsesCanonicalGenericMethodWithActivatorCreateInstance(), null), +new RuntimeLibrariesTest.Internal.TestInfo("PartialUniversalGen.Test.TestUniversalGenericThatUsesCanonicalGenericType", () => global::PartialUniversalGen.Test.TestUniversalGenericThatUsesCanonicalGenericType(), null), +new RuntimeLibrariesTest.Internal.TestInfo("PartialUniversalGen.Test.TestUniversalGenericThatUsesCanonicalGenericMethodWithConstraints", () => global::PartialUniversalGen.Test.TestUniversalGenericThatUsesCanonicalGenericMethodWithConstraints(), null), +new RuntimeLibrariesTest.Internal.TestInfo("PartialUniversalGen.Test.TestDependenciesOfPartialUniversalCanonicalCode", () => global::PartialUniversalGen.Test.TestDependenciesOfPartialUniversalCanonicalCode(), null), +new RuntimeLibrariesTest.Internal.TestInfo("PartialUniversalGen.Test.TestCornerCaseSealedVTableSlot", () => global::PartialUniversalGen.Test.TestCornerCaseSealedVTableSlot(), null), #endif -new CoreFXTestLibrary.Internal.TestInfo("B282745.testIntMDArrayWithPointerLikeValues", () => global::B282745.testIntMDArrayWithPointerLikeValues(), null), -new CoreFXTestLibrary.Internal.TestInfo("B282745.testLongMDArrayWithPointerLikeValues", () => global::B282745.testLongMDArrayWithPointerLikeValues(), null), -new CoreFXTestLibrary.Internal.TestInfo("B282745.testMDArrayWithPointerLikeValuesOfKnownStructType", () => global::B282745.testMDArrayWithPointerLikeValuesOfKnownStructType(), null), -new CoreFXTestLibrary.Internal.TestInfo("B282745.testMDArrayWithPointerLikeValuesOfKnownStructTypeLargerType", () => global::B282745.testMDArrayWithPointerLikeValuesOfKnownStructTypeLargerType(), null), -new CoreFXTestLibrary.Internal.TestInfo("B282745.testMDArrayWithPointerLikeValuesOfUnknownStructTypeWithNonGCValuesAtZeroOffset", () => global::B282745.testMDArrayWithPointerLikeValuesOfUnknownStructTypeWithNonGCValuesAtZeroOffset(), null), -new CoreFXTestLibrary.Internal.TestInfo("B282745.testMDArrayWithPointerLikeValuesOfUnknownStructReferenceType", () => global::B282745.testMDArrayWithPointerLikeValuesOfUnknownStructReferenceType(), null), -new CoreFXTestLibrary.Internal.TestInfo("B282745.testMDArrayWithPointerLikeValuesOfUnknownStructPrimitiveType", () => global::B282745.testMDArrayWithPointerLikeValuesOfUnknownStructPrimitiveType(), null), -new CoreFXTestLibrary.Internal.TestInfo("B282745.testMDArrayWith3Dimensions", () => global::B282745.testMDArrayWith3Dimensions(), null), +new RuntimeLibrariesTest.Internal.TestInfo("B282745.testIntMDArrayWithPointerLikeValues", () => global::B282745.testIntMDArrayWithPointerLikeValues(), null), +new RuntimeLibrariesTest.Internal.TestInfo("B282745.testLongMDArrayWithPointerLikeValues", () => global::B282745.testLongMDArrayWithPointerLikeValues(), null), +new RuntimeLibrariesTest.Internal.TestInfo("B282745.testMDArrayWithPointerLikeValuesOfKnownStructType", () => global::B282745.testMDArrayWithPointerLikeValuesOfKnownStructType(), null), +new RuntimeLibrariesTest.Internal.TestInfo("B282745.testMDArrayWithPointerLikeValuesOfKnownStructTypeLargerType", () => global::B282745.testMDArrayWithPointerLikeValuesOfKnownStructTypeLargerType(), null), +new RuntimeLibrariesTest.Internal.TestInfo("B282745.testMDArrayWithPointerLikeValuesOfUnknownStructTypeWithNonGCValuesAtZeroOffset", () => global::B282745.testMDArrayWithPointerLikeValuesOfUnknownStructTypeWithNonGCValuesAtZeroOffset(), null), +new RuntimeLibrariesTest.Internal.TestInfo("B282745.testMDArrayWithPointerLikeValuesOfUnknownStructReferenceType", () => global::B282745.testMDArrayWithPointerLikeValuesOfUnknownStructReferenceType(), null), +new RuntimeLibrariesTest.Internal.TestInfo("B282745.testMDArrayWithPointerLikeValuesOfUnknownStructPrimitiveType", () => global::B282745.testMDArrayWithPointerLikeValuesOfUnknownStructPrimitiveType(), null), +new RuntimeLibrariesTest.Internal.TestInfo("B282745.testMDArrayWith3Dimensions", () => global::B282745.testMDArrayWith3Dimensions(), null), #if UNIVERSAL_GENERICS -new CoreFXTestLibrary.Internal.TestInfo("B279085.TestB279085Repro", () => global::B279085.TestB279085Repro(), null), +new RuntimeLibrariesTest.Internal.TestInfo("B279085.TestB279085Repro", () => global::B279085.TestB279085Repro(), null), #endif -new CoreFXTestLibrary.Internal.TestInfo("GenericVirtualMethods.TestCalls", () => global::GenericVirtualMethods.TestCalls(), null), -new CoreFXTestLibrary.Internal.TestInfo("GenericVirtualMethods.TestLdFtnToGetStaticMethodOnGenericType", () => global::GenericVirtualMethods.TestLdFtnToGetStaticMethodOnGenericType(), null), -new CoreFXTestLibrary.Internal.TestInfo("GenericVirtualMethods.TestLdFtnToInstanceGenericMethod", () => global::GenericVirtualMethods.TestLdFtnToInstanceGenericMethod(), null), +new RuntimeLibrariesTest.Internal.TestInfo("GenericVirtualMethods.TestCalls", () => global::GenericVirtualMethods.TestCalls(), null), +new RuntimeLibrariesTest.Internal.TestInfo("GenericVirtualMethods.TestLdFtnToGetStaticMethodOnGenericType", () => global::GenericVirtualMethods.TestLdFtnToGetStaticMethodOnGenericType(), null), +new RuntimeLibrariesTest.Internal.TestInfo("GenericVirtualMethods.TestLdFtnToInstanceGenericMethod", () => global::GenericVirtualMethods.TestLdFtnToInstanceGenericMethod(), null), // https://github.com/dotnet/corert/issues/3460 -//new CoreFXTestLibrary.Internal.TestInfo("GenericVirtualMethods.TestGenericExceptionType", () => global::GenericVirtualMethods.TestGenericExceptionType(), null), -new CoreFXTestLibrary.Internal.TestInfo("GenericVirtualMethods.TestCoAndContraVariantCalls", () => global::GenericVirtualMethods.TestCoAndContraVariantCalls(), null) +//new RuntimeLibrariesTest.Internal.TestInfo("GenericVirtualMethods.TestGenericExceptionType", () => global::GenericVirtualMethods.TestGenericExceptionType(), null), +new RuntimeLibrariesTest.Internal.TestInfo("GenericVirtualMethods.TestCoAndContraVariantCalls", () => global::GenericVirtualMethods.TestCoAndContraVariantCalls(), null) }; - bool passed = CoreFXTestLibrary.Internal.Runner.RunTests(tests, args); - CoreFXTestLibrary.Logger.LogInformation("Passed: {0}, Failed: {1}, Number of Tests Run: {2}", CoreFXTestLibrary.Internal.Runner.NumPassedTests, CoreFXTestLibrary.Internal.Runner.NumFailedTests, CoreFXTestLibrary.Internal.Runner.NumTests); - if (passed && CoreFXTestLibrary.Internal.Runner.NumPassedTests > 0) + bool passed = RuntimeLibrariesTest.Internal.Runner.RunTests(tests, args); + RuntimeLibrariesTest.Logger.LogInformation("Passed: {0}, Failed: {1}, Number of Tests Run: {2}", RuntimeLibrariesTest.Internal.Runner.NumPassedTests, RuntimeLibrariesTest.Internal.Runner.NumFailedTests, RuntimeLibrariesTest.Internal.Runner.NumTests); + if (passed && RuntimeLibrariesTest.Internal.Runner.NumPassedTests > 0) { - CoreFXTestLibrary.Logger.LogInformation("All tests PASSED."); + RuntimeLibrariesTest.Logger.LogInformation("All tests PASSED."); return 100; } else { - CoreFXTestLibrary.Logger.LogInformation("{0} tests FAILED!", CoreFXTestLibrary.Internal.Runner.NumFailedTests); - return CoreFXTestLibrary.Internal.Runner.NumFailedTests == 100 ? 101 : CoreFXTestLibrary.Internal.Runner.NumFailedTests; + RuntimeLibrariesTest.Logger.LogInformation("{0} tests FAILED!", RuntimeLibrariesTest.Internal.Runner.NumFailedTests); + return RuntimeLibrariesTest.Internal.Runner.NumFailedTests == 100 ? 101 : RuntimeLibrariesTest.Internal.Runner.NumFailedTests; } } } diff --git a/src/tests/nativeaot/SmokeTests/DynamicGenerics/GenericVirtualMethods.cs b/src/tests/nativeaot/SmokeTests/DynamicGenerics/GenericVirtualMethods.cs index 56533dc15ad8ba..6a72058e078ad9 100644 --- a/src/tests/nativeaot/SmokeTests/DynamicGenerics/GenericVirtualMethods.cs +++ b/src/tests/nativeaot/SmokeTests/DynamicGenerics/GenericVirtualMethods.cs @@ -4,7 +4,7 @@ using System; using System.Collections; using System.Collections.Generic; -using CoreFXTestLibrary; +using RuntimeLibrariesTest; using System.Runtime.CompilerServices; using System.Threading; using System.Threading.Tasks; diff --git a/src/tests/nativeaot/SmokeTests/DynamicGenerics/GitHub21379.cs b/src/tests/nativeaot/SmokeTests/DynamicGenerics/GitHub21379.cs index 5976d71dd7c96a..92f608b524c226 100644 --- a/src/tests/nativeaot/SmokeTests/DynamicGenerics/GitHub21379.cs +++ b/src/tests/nativeaot/SmokeTests/DynamicGenerics/GitHub21379.cs @@ -10,9 +10,9 @@ using System.Threading.Tasks; using System.Reflection; -using CoreFXTestLibrary; +using RuntimeLibrariesTest; -// Regression test for https://github.com/dotnet/corefx/issues/21379 +// Regression test for https://github.com/dotnet/runtime/issues/22427 public class GitHub21379 { public static IEnumerable BinarySearch_SZArray_TestData() diff --git a/src/tests/nativeaot/SmokeTests/DynamicGenerics/Internal/ClassInfo.cs b/src/tests/nativeaot/SmokeTests/DynamicGenerics/Internal/ClassInfo.cs index a17811c62e6574..38865f2682a77a 100644 --- a/src/tests/nativeaot/SmokeTests/DynamicGenerics/Internal/ClassInfo.cs +++ b/src/tests/nativeaot/SmokeTests/DynamicGenerics/Internal/ClassInfo.cs @@ -3,7 +3,7 @@ using System; -namespace CoreFXTestLibrary.Internal +namespace RuntimeLibrariesTest.Internal { // This is spread over two classes so the non-generic can be used in TestInfo // and the generic version can be used in the generated main when creating the diff --git a/src/tests/nativeaot/SmokeTests/DynamicGenerics/Internal/Runner.cs b/src/tests/nativeaot/SmokeTests/DynamicGenerics/Internal/Runner.cs index 091c0b15dae0ca..bbdd8a4c839242 100644 --- a/src/tests/nativeaot/SmokeTests/DynamicGenerics/Internal/Runner.cs +++ b/src/tests/nativeaot/SmokeTests/DynamicGenerics/Internal/Runner.cs @@ -5,7 +5,7 @@ using System.Threading.Tasks; using System.Reflection; -namespace CoreFXTestLibrary.Internal +namespace RuntimeLibrariesTest.Internal { public static class Runner { diff --git a/src/tests/nativeaot/SmokeTests/DynamicGenerics/Internal/TestInfo.cs b/src/tests/nativeaot/SmokeTests/DynamicGenerics/Internal/TestInfo.cs index 40d5c6a6cac9f2..949a5b90a2e174 100644 --- a/src/tests/nativeaot/SmokeTests/DynamicGenerics/Internal/TestInfo.cs +++ b/src/tests/nativeaot/SmokeTests/DynamicGenerics/Internal/TestInfo.cs @@ -4,7 +4,7 @@ using System; using System.Threading.Tasks; -namespace CoreFXTestLibrary.Internal +namespace RuntimeLibrariesTest.Internal { public class TestInfo { diff --git a/src/tests/nativeaot/SmokeTests/DynamicGenerics/Logger.cs b/src/tests/nativeaot/SmokeTests/DynamicGenerics/Logger.cs index 4dfa47899eae53..d11028477d1299 100644 --- a/src/tests/nativeaot/SmokeTests/DynamicGenerics/Logger.cs +++ b/src/tests/nativeaot/SmokeTests/DynamicGenerics/Logger.cs @@ -3,7 +3,7 @@ using System; -namespace CoreFXTestLibrary +namespace RuntimeLibrariesTest { public class Logger { diff --git a/src/tests/nativeaot/SmokeTests/DynamicGenerics/MetadataAttribs.cs b/src/tests/nativeaot/SmokeTests/DynamicGenerics/MetadataAttribs.cs index 7e2a5e81c641e7..2e4f30e7cd5849 100644 --- a/src/tests/nativeaot/SmokeTests/DynamicGenerics/MetadataAttribs.cs +++ b/src/tests/nativeaot/SmokeTests/DynamicGenerics/MetadataAttribs.cs @@ -3,7 +3,7 @@ using System; -namespace CoreFXTestLibrary +namespace RuntimeLibrariesTest { /// /// A method to be called before any tests in the assembly are executed. diff --git a/src/tests/nativeaot/SmokeTests/DynamicGenerics/UniversalConstrainedCalls.cs b/src/tests/nativeaot/SmokeTests/DynamicGenerics/UniversalConstrainedCalls.cs index dc9ed5e6ed8b4f..bb43799efd6028 100644 --- a/src/tests/nativeaot/SmokeTests/DynamicGenerics/UniversalConstrainedCalls.cs +++ b/src/tests/nativeaot/SmokeTests/DynamicGenerics/UniversalConstrainedCalls.cs @@ -5,7 +5,7 @@ using System.Collections.Generic; using System.Text; using System.Reflection; -using CoreFXTestLibrary; +using RuntimeLibrariesTest; using TypeOfRepo; using System.Runtime.CompilerServices; diff --git a/src/tests/nativeaot/SmokeTests/DynamicGenerics/activation.cs b/src/tests/nativeaot/SmokeTests/DynamicGenerics/activation.cs index 4e645560d6a0b8..476e2681a49ef5 100644 --- a/src/tests/nativeaot/SmokeTests/DynamicGenerics/activation.cs +++ b/src/tests/nativeaot/SmokeTests/DynamicGenerics/activation.cs @@ -4,7 +4,7 @@ using System; using System.Collections.Generic; using System.Reflection; -using CoreFXTestLibrary; +using RuntimeLibrariesTest; using TypeOfRepo; public class Foo diff --git a/src/tests/nativeaot/SmokeTests/DynamicGenerics/arrays.cs b/src/tests/nativeaot/SmokeTests/DynamicGenerics/arrays.cs index 7ae6279be552be..1dac518ba90feb 100644 --- a/src/tests/nativeaot/SmokeTests/DynamicGenerics/arrays.cs +++ b/src/tests/nativeaot/SmokeTests/DynamicGenerics/arrays.cs @@ -9,7 +9,7 @@ #if INTERNAL_CONTRACTS using Internal.Runtime.Augments; #endif -using CoreFXTestLibrary; +using RuntimeLibrariesTest; using TypeOfRepo; namespace ArrayTests diff --git a/src/tests/nativeaot/SmokeTests/DynamicGenerics/blockedtypes.cs b/src/tests/nativeaot/SmokeTests/DynamicGenerics/blockedtypes.cs index 09cfd0db6a47a9..4a170055f2ef21 100644 --- a/src/tests/nativeaot/SmokeTests/DynamicGenerics/blockedtypes.cs +++ b/src/tests/nativeaot/SmokeTests/DynamicGenerics/blockedtypes.cs @@ -4,7 +4,7 @@ using System; using System.Collections.Generic; using System.Reflection; -using CoreFXTestLibrary; +using RuntimeLibrariesTest; using TypeOfRepo; namespace System.Runtime.CompilerServices diff --git a/src/tests/nativeaot/SmokeTests/DynamicGenerics/constraints.cs b/src/tests/nativeaot/SmokeTests/DynamicGenerics/constraints.cs index 5824493b63a89b..2aef97563e5aae 100644 --- a/src/tests/nativeaot/SmokeTests/DynamicGenerics/constraints.cs +++ b/src/tests/nativeaot/SmokeTests/DynamicGenerics/constraints.cs @@ -4,7 +4,7 @@ using System; using System.Collections.Generic; using System.Reflection; -using CoreFXTestLibrary; +using RuntimeLibrariesTest; using TypeOfRepo; public class ConstraintsTests { diff --git a/src/tests/nativeaot/SmokeTests/DynamicGenerics/dictionaries.cs b/src/tests/nativeaot/SmokeTests/DynamicGenerics/dictionaries.cs index 6355dfc903ff92..74261657b1944e 100644 --- a/src/tests/nativeaot/SmokeTests/DynamicGenerics/dictionaries.cs +++ b/src/tests/nativeaot/SmokeTests/DynamicGenerics/dictionaries.cs @@ -7,7 +7,7 @@ using System.Text; using System.IO; using System.Runtime.CompilerServices; -using CoreFXTestLibrary; +using RuntimeLibrariesTest; using TypeOfRepo; diff --git a/src/tests/nativeaot/SmokeTests/DynamicGenerics/expressions.cs b/src/tests/nativeaot/SmokeTests/DynamicGenerics/expressions.cs index d29bc83d701b33..cdc308fc003e2c 100644 --- a/src/tests/nativeaot/SmokeTests/DynamicGenerics/expressions.cs +++ b/src/tests/nativeaot/SmokeTests/DynamicGenerics/expressions.cs @@ -7,7 +7,7 @@ using System.Reflection; using System.Runtime.CompilerServices; using System.Diagnostics; -using CoreFXTestLibrary; +using RuntimeLibrariesTest; using TypeOfRepo; diff --git a/src/tests/nativeaot/SmokeTests/DynamicGenerics/fieldlayout.cs b/src/tests/nativeaot/SmokeTests/DynamicGenerics/fieldlayout.cs index 6852e2e73b65bc..b5ce5e3484d757 100644 --- a/src/tests/nativeaot/SmokeTests/DynamicGenerics/fieldlayout.cs +++ b/src/tests/nativeaot/SmokeTests/DynamicGenerics/fieldlayout.cs @@ -1,7 +1,7 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. -using CoreFXTestLibrary; +using RuntimeLibrariesTest; using System; using System.Collections; using System.Collections.Generic; diff --git a/src/tests/nativeaot/SmokeTests/DynamicGenerics/fieldreflection.cs b/src/tests/nativeaot/SmokeTests/DynamicGenerics/fieldreflection.cs index 6e25c741371c4f..a03c00f43512bc 100644 --- a/src/tests/nativeaot/SmokeTests/DynamicGenerics/fieldreflection.cs +++ b/src/tests/nativeaot/SmokeTests/DynamicGenerics/fieldreflection.cs @@ -7,7 +7,7 @@ using System.Linq; using System.Text; using System.Runtime.CompilerServices; -using CoreFXTestLibrary; +using RuntimeLibrariesTest; using TypeOfRepo; diff --git a/src/tests/nativeaot/SmokeTests/DynamicGenerics/genericmethods.cs b/src/tests/nativeaot/SmokeTests/DynamicGenerics/genericmethods.cs index 9c029353f36ac2..cf54b04bffbdf4 100644 --- a/src/tests/nativeaot/SmokeTests/DynamicGenerics/genericmethods.cs +++ b/src/tests/nativeaot/SmokeTests/DynamicGenerics/genericmethods.cs @@ -7,7 +7,7 @@ using System.Text; using System.IO; using System.Runtime.CompilerServices; -using CoreFXTestLibrary; +using RuntimeLibrariesTest; using TypeOfRepo; diff --git a/src/tests/nativeaot/SmokeTests/DynamicGenerics/interfaces.cs b/src/tests/nativeaot/SmokeTests/DynamicGenerics/interfaces.cs index 7aa6edb8fafbd9..746dc5bd279232 100644 --- a/src/tests/nativeaot/SmokeTests/DynamicGenerics/interfaces.cs +++ b/src/tests/nativeaot/SmokeTests/DynamicGenerics/interfaces.cs @@ -6,7 +6,7 @@ using System.Reflection; using System.Linq; using System.Runtime.CompilerServices; -using CoreFXTestLibrary; +using RuntimeLibrariesTest; using TypeOfRepo; diff --git a/src/tests/nativeaot/SmokeTests/DynamicGenerics/list.cs b/src/tests/nativeaot/SmokeTests/DynamicGenerics/list.cs index a2dec41e941adf..02c47fb4a4070b 100644 --- a/src/tests/nativeaot/SmokeTests/DynamicGenerics/list.cs +++ b/src/tests/nativeaot/SmokeTests/DynamicGenerics/list.cs @@ -1,7 +1,7 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. -using CoreFXTestLibrary; +using RuntimeLibrariesTest; using System; using System.Collections; using System.Collections.Generic; diff --git a/src/tests/nativeaot/SmokeTests/DynamicGenerics/methodconstraints.cs b/src/tests/nativeaot/SmokeTests/DynamicGenerics/methodconstraints.cs index 62212984b878bf..2eb48fcba1bad9 100644 --- a/src/tests/nativeaot/SmokeTests/DynamicGenerics/methodconstraints.cs +++ b/src/tests/nativeaot/SmokeTests/DynamicGenerics/methodconstraints.cs @@ -4,7 +4,7 @@ using System; using System.Collections.Generic; using System.Reflection; -using CoreFXTestLibrary; +using RuntimeLibrariesTest; using TypeOfRepo; public class MethodConstraintsTests { diff --git a/src/tests/nativeaot/SmokeTests/DynamicGenerics/partial_universal_generics.cs b/src/tests/nativeaot/SmokeTests/DynamicGenerics/partial_universal_generics.cs index 0138c006b4bc68..73579370e66862 100644 --- a/src/tests/nativeaot/SmokeTests/DynamicGenerics/partial_universal_generics.cs +++ b/src/tests/nativeaot/SmokeTests/DynamicGenerics/partial_universal_generics.cs @@ -9,7 +9,7 @@ using System.Runtime.CompilerServices; using System.Threading; using System.Threading.Tasks; -using CoreFXTestLibrary; +using RuntimeLibrariesTest; using TypeOfRepo; // Test universal generics that have dependencies on non-universal canon generics diff --git a/src/tests/nativeaot/SmokeTests/DynamicGenerics/rdexperience.cs b/src/tests/nativeaot/SmokeTests/DynamicGenerics/rdexperience.cs index cdadc2351e1281..a112e0fbcefc78 100644 --- a/src/tests/nativeaot/SmokeTests/DynamicGenerics/rdexperience.cs +++ b/src/tests/nativeaot/SmokeTests/DynamicGenerics/rdexperience.cs @@ -1,7 +1,7 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. -using CoreFXTestLibrary; +using RuntimeLibrariesTest; using System; using System.Collections; using System.Collections.Generic; diff --git a/src/tests/nativeaot/SmokeTests/DynamicGenerics/statics.cs b/src/tests/nativeaot/SmokeTests/DynamicGenerics/statics.cs index 37e3073b849c0e..3b19bf1f66210b 100644 --- a/src/tests/nativeaot/SmokeTests/DynamicGenerics/statics.cs +++ b/src/tests/nativeaot/SmokeTests/DynamicGenerics/statics.cs @@ -7,7 +7,7 @@ using System.Linq; using System.Text; using System.Runtime.CompilerServices; -using CoreFXTestLibrary; +using RuntimeLibrariesTest; using TypeOfRepo; diff --git a/src/tests/nativeaot/SmokeTests/DynamicGenerics/threadstatics.cs b/src/tests/nativeaot/SmokeTests/DynamicGenerics/threadstatics.cs index 0a4ab0a4a2d2f1..9b641c2d06cee3 100644 --- a/src/tests/nativeaot/SmokeTests/DynamicGenerics/threadstatics.cs +++ b/src/tests/nativeaot/SmokeTests/DynamicGenerics/threadstatics.cs @@ -9,7 +9,7 @@ using System.Diagnostics; using System.Threading; using System.Threading.Tasks; -using CoreFXTestLibrary; +using RuntimeLibrariesTest; using TypeOfRepo; diff --git a/src/tests/nativeaot/SmokeTests/DynamicGenerics/universal_generics.cs b/src/tests/nativeaot/SmokeTests/DynamicGenerics/universal_generics.cs index 85fc88fb9058df..9e729d22d12545 100644 --- a/src/tests/nativeaot/SmokeTests/DynamicGenerics/universal_generics.cs +++ b/src/tests/nativeaot/SmokeTests/DynamicGenerics/universal_generics.cs @@ -10,7 +10,7 @@ using System.Runtime.InteropServices; using System.Threading; using System.Threading.Tasks; -using CoreFXTestLibrary; +using RuntimeLibrariesTest; using TypeOfRepo; namespace UniversalGen diff --git a/src/tests/nativeaot/SmokeTests/UnitTests/Threading.cs b/src/tests/nativeaot/SmokeTests/UnitTests/Threading.cs index b20f9556a40354..67aff0b42c5df1 100644 --- a/src/tests/nativeaot/SmokeTests/UnitTests/Threading.cs +++ b/src/tests/nativeaot/SmokeTests/UnitTests/Threading.cs @@ -7,8 +7,6 @@ using System.Threading; using System.Threading.Tasks; -// TODO: Move these tests to CoreFX once they can be run on CoreRT - internal static class Threading { private const int Pass = 100; diff --git a/src/tests/runparallel.sh b/src/tests/runparallel.sh deleted file mode 100755 index 0c0112f8baf4da..00000000000000 --- a/src/tests/runparallel.sh +++ /dev/null @@ -1,209 +0,0 @@ -#!/usr/bin/env bash - -function print_usage { - echo '' - echo 'CoreCLR parallel test runner script.' - echo '' - echo 'Required arguments:' - echo ' --testRootDir= : Root directory of the test build (e.g. coreclr/artifacts/tests/windows.x64.Debug).' - 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, --coreFxBinDir, and --coreFxNativeBinDir.' - echo ' --playlist= : Run only the tests that are specified in the file at , in the same format as' - echo '' - echo 'Optional arguments:' - echo ' -h|--help : Show usage information.' - echo ' --test-env : Script to set environment variables for tests' - echo '' -} - -function print_results { - echo -e \ - "Results @ $(date +%r)\n\t"\ - "Pass:$countPassedTests\t"\ - "Fail:$countFailedTests\n\t"\ - "Finish:$countFinishedTests\t"\ - "Incomplete: $countIncompleteTests\n\t"\ - "Total: $countTotalTests" -} - -function update_results { - # Initialize counters for bookkeeping. - countTotalTests=$(wc -l < $playlistFile) - - countPassedTests=$(cd results.int; grep -r 'RUN_TEST_EXIT_CODE=0' . | wc -l) - countFailedTests=$(cd results.int; grep -r 'RUN_TEST_EXIT_CODE=[^0]' . | wc -l) - countFinishedTests=$((countPassedTests + countFailedTests)) - countIncompleteTests=$((countTotalTests - countFinishedTests)) - - print_results -} - -function print_elapsed_time { - 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." -} - - - -# 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... ***" - - update_results - echo "$errorSource" "Test run aborted by Ctrl+C." - - print_elapsed_time - - exit 1 -} - -function cleanup -{ - kill -TERM % >/dev/null - mv results.int results.$(date +%F_%I%M%p) -} - - -prep_test() { - # This function runs in a background process. It should not echo anything, and should not use global variables. - - #remove any NI - rm -f $(dirname "$1")/*.ni.* -} - -run_test() { - # This function runs in a background process. It should not echo anything, and should not use global variables. - - local scriptFilePath=$1 - - local scriptFileName=$(basename "$scriptFilePath") - local outputFileName=$PWD/results.int/${scriptFilePath////.} - - nice "$scriptFilePath" -debug=$(which time) >"$outputFileName" 2>&1 - - echo RUN_TEST_EXIT_CODE="$?" >>"$outputFileName" -} - -# Argument variables -testRootDir= -coreOverlayDir= -testEnv= -playlistFile= - -for i in "$@" -do - case $i in - -h|--help) - print_usage - exit $EXIT_CODE_SUCCESS - ;; - --coreOverlayDir=*)# Exit code constants - coreOverlayDir=${i#*=} - ;; - --playlist=*) - playlistFile=${i#*=} - ;; - --testRootDir=*) - testRootDir=${i#*=} - ;; - --test-env=*) - testEnv=${i#*=} - ;; - *) - echo "Unknown switch: $i" - print_usage - exit $EXIT_CODE_SUCCESS - ;; - esac -done - -if [ -z "$coreOverlayDir" ]; then - echo "--coreOverlayDir is required." - print_usage - exit $EXIT_CODE_EXCEPTION -fi - -if [ ! -d "$coreOverlayDir" ]; then - echo "Directory specified by --coreOverlayDir does not exist: $coreOverlayDir" - exit $EXIT_CODE_EXCEPTION -fi - -if [ -z "$playlistFile" ]; then - echo "--playlist is required." - print_usage - exit $EXIT_CODE_EXCEPTION -fi - -if [ ! -e "$playlistFile" ]; then - echo "File specified by --playlist does not exist: $playlistFile" - exit $EXIT_CODE_EXCEPTION -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 - -if [[ -n "$testEnv" && ! -e "$testEnv" ]]; then - echo "File specified by --playlist does not exist: $testEnv" - exit $EXIT_CODE_EXCEPTION -fi - -export CORE_ROOT="$coreOverlayDir" -export __TestEnv=$testEnv - - -# Variables for running tests in the background -if [ `uname` = "NetBSD" ]; then - NumProc=$(getconf NPROCESSORS_ONLN) -else - NumProc=$(getconf _NPROCESSORS_ONLN) -fi - -export TIME='' - -export -f prep_test -export -f run_test - -cd $testRootDir -time_start=$(date +"%s") - -rm -rf results.int/* results.int - -echo "Prepping tests $(date +%r)" -xargs -L 1 -P $NumProc -I{} bash -c prep_test {} < $playlistFile - - -trap cleanup EXIT -mkdir results.int -echo $$ > results.int/pid -cp $testEnv results.int - -trap handle_ctrl_c INT TERM - -xargs -L 1 -P $NumProc -I{} bash -c 'run_test "{}" >/dev/null 2>&1' < $playlistFile & - -while true -do - update_results - if (( countIncompleteTests == 0 )) ; - then - break - fi - sleep 60 - jobs -p > /dev/null -done - -print_elapsed_time