diff --git a/netci.groovy b/netci.groovy index c67fa6a5510b..97b1e3a6bf0f 100755 --- a/netci.groovy +++ b/netci.groovy @@ -1586,10 +1586,8 @@ def static addNonPRTriggers(def job, def branch, def isPR, def architecture, def break } if (jobRequiresLimitedHardware(architecture, os)) { - if ((architecture == 'arm64') && (os == 'Ubuntu16.04') && !isCoreFxScenario(scenario)) { + if ((architecture == 'arm64') && (os == 'Ubuntu16.04')) { // These jobs are very fast on Linux/arm64 hardware, so run them daily. - // TODO: When the corefx jobs are made to run in parallel, run those - // jobs daily as well. addPeriodicTriggerHelper(job, '@daily') } else { @@ -2487,7 +2485,6 @@ def static calculateBuildCommands(def newJob, def scenario, def branch, def isPR Utilities.addArchival(newJob, "${workspaceRelativeFxRootLinux}/fxruntime.zip") Utilities.addArchival(newJob, "${workspaceRelativeFxRootLinux}/fxtests.zip") - Utilities.addArchival(newJob, "${workspaceRelativeFxRootLinux}/run-test.sh") } else if (isCrossGenComparisonScenario(scenario)) { buildCommands += "${dockerCmd}\${WORKSPACE}/build-test.sh ${lowerConfiguration} ${architecture} cross generatelayoutonly" @@ -3358,8 +3355,6 @@ def static CreateOtherTestJob(def dslFactory, def project, def branch, def archi shell("mkdir -p ${workspaceRelativeFxRootLinux}") shell("wget --progress=dot:giga --directory-prefix=${workspaceRelativeFxRootLinux} ${inputUrlRoot}/${workspaceRelativeFxRootLinux}/fxtests.zip") shell("wget --progress=dot:giga --directory-prefix=${workspaceRelativeFxRootLinux} ${inputUrlRoot}/${workspaceRelativeFxRootLinux}/fxruntime.zip") - shell("wget --progress=dot:giga --directory-prefix=${workspaceRelativeFxRootLinux} ${inputUrlRoot}/${workspaceRelativeFxRootLinux}/run-test.sh") - shell("chmod +x ${workspaceRelativeFxRootLinux}/run-test.sh") } else { shell("wget --progress=dot:giga ${inputUrlRoot}/testnativebin.${lowerConfiguration}.zip") @@ -3455,7 +3450,7 @@ def static CreateOtherTestJob(def dslFactory, def project, def branch, def archi if (doCoreFxTesting) { shell("""\ -\${WORKSPACE}/${workspaceRelativeFxRootLinux}/run-test.sh --sequential --test-exclude-file \${WORKSPACE}/tests/${architecture}/corefx_linux_test_exclusions.txt --runtime \${WORKSPACE}/${workspaceRelativeFxRootLinux}/bin/testhost/netcoreapp-Linux-Release-${architecture} --arch ${architecture} --corefx-tests \${WORKSPACE}/${workspaceRelativeFxRootLinux}/bin --configurationGroup Release""") +\${WORKSPACE}/tests/scripts/run-corefx-tests.sh --test-exclude-file \${WORKSPACE}/tests/${architecture}/corefx_linux_test_exclusions.txt --runtime \${WORKSPACE}/${workspaceRelativeFxRootLinux}/bin/testhost/netcoreapp-Linux-Release-${architecture} --arch ${architecture} --corefx-tests \${WORKSPACE}/${workspaceRelativeFxRootLinux}/bin --configurationGroup Release""") } else { def runScript = "${dockerCmd}./tests/runtest.sh" diff --git a/tests/scripts/run-corefx-tests.sh b/tests/scripts/run-corefx-tests.sh new file mode 100755 index 000000000000..2d1dcb86048c --- /dev/null +++ b/tests/scripts/run-corefx-tests.sh @@ -0,0 +1,560 @@ +#!/usr/bin/env bash + +usage() +{ + echo "Runs .NET CoreFX tests on FreeBSD, Linux, NetBSD or OSX" + echo "usage: run-corefx-tests [options]" + echo + echo "Input sources:" + echo " --runtime Location of root of the binaries directory" + echo " containing the FreeBSD, Linux, NetBSD or OSX runtime" + echo " default: /bin/testhost/netcoreapp---" + echo " --corefx-tests Location of the root binaries location containing" + echo " the tests to run" + echo " default: /bin" + echo + echo "Flavor/OS/Architecture options:" + echo " --configurationGroup ConfigurationGroup to run (Debug/Release)" + echo " default: Debug" + echo " --os OS to run (FreeBSD, Linux, NetBSD or OSX)" + echo " default: detect current OS" + echo " --arch Architecture to run (x64, arm, armel, x86, arm64)" + echo " default: detect current architecture" + echo + echo "Execution options:" + echo " --sequential Run tests sequentially (default is to run in parallel)." + echo " --restrict-proj Run test projects that match regex" + echo " default: .* (all projects)" + echo " --useServerGC Enable Server GC for this test run" + echo " --test-dir Run tests only in the specified directory. Path is relative to the directory" + echo " specified by --corefx-tests" + echo " --test-dir-file Run tests only in the directories specified by the file at . Paths are" + echo " listed one line, relative to the directory specified by --corefx-tests" + echo " --test-exclude-file Do not run tests in the directories specified by the file at . Paths are" + echo " listed one line, relative to the directory specified by --corefx-tests" + echo " --timeout