def static envScriptCreate(def os, def stepScriptLocation) {
def stepScript = ''
if (os == 'Windows_NT') {
- // Timeout in ms, default is 10 minutes. For stress modes up this to 30 minutes.
- // BUG?: it seems this is ignored, as this script will be run in an environment where
- // environment variables will be discarded before this is used.
- def timeout = 1800000
- stepScript += "set __TestTimeout=${timeout}\r\n"
-
stepScript += "echo Creating TestEnv script\r\n"
stepScript += "if exist ${stepScriptLocation} del ${stepScriptLocation}\r\n"
testOpts += " link %WORKSPACE%\\linker\\linker\\bin\\netcore_Release\\netcoreapp2.0\\win10-${arch}\\publish\\illink.exe"
}
+ // Default per-test timeout is 10 minutes. For stress modes and Debug scenarios, increase this
+ // to 30 minutes (30 * 60 * 1000 = 180000). The "timeout" argument to runtest.cmd sets this, by
+ // taking a timeout value in milliseconds. (Note that it sets the __TestTimeout environment variable,
+ // which is read by the xunit harness.)
+ if (isJitStressScenario(scenario) || isR2RStressScenario(scenario) || (lowerConfiguration == 'debug'))
+ {
+ def timeout = 1800000
+ testOpts += " timeout ${timeout}"
+ }
+
// If we are running a stress mode, we should write out the set of key
// value env pairs to a file at this point and then we'll pass that to runtest.cmd
if /i "%1" == "link" (set DoLink=true&set ILLINK=%2&shift&shift&goto Arg_Loop)
if /i "%1" == "tieredcompilation" (set COMPLUS_EXPERIMENTAL_TieredCompilation=1&shift&goto Arg_Loop)
if /i "%1" == "gcname" (set COMPlus_GCName=%2&shift&shift&goto Arg_Loop)
+if /i "%1" == "timeout" (set __TestTimeout=%2&shift&shift&goto Arg_Loop)
REM change it to COMPlus_GCStress when we stop using xunit harness
if /i "%1" == "gcstresslevel" (set __GCSTRESSLEVEL=%2&set __TestTimeout=1800000&shift&shift&goto Arg_Loop)
echo 8: GC on every allowable NGEN instruction
echo 16: GC only on a unique stack trace
echo tieredcompilation - Run the tests with COMPlus_EXPERIMENTAL_TieredCompilation=1
-echo gcname ^<n^> - Runs the tests with COMPlus_GCName=n
+echo gcname ^<name^> - Runs the tests with COMPlus_GCName=name
+echo timeout ^<n^> - Sets the per-test timeout in milliseconds ^(default is 10 minutes = 10 * 60 * 1000 = 600000^).
+echo Note: some options override this ^(gcstresslevel, longgc, gcsimulator^).
echo msbuildargs ^<args...^> - Pass all subsequent args directly to msbuild invocations.
echo ^<CORE_ROOT^> - Path to the runtime to test (if specified).
echo.