summaryrefslogtreecommitdiff
path: root/netci.groovy
diff options
context:
space:
mode:
authorBruce Forstall <brucefo@microsoft.com>2017-12-20 22:04:25 (GMT)
committerGitHub <noreply@github.com>2017-12-20 22:04:25 (GMT)
commit698264b3683e28aa25dc4061e136fc9d58af2beb (patch)
tree57deed89ec7f68e796b140a89bf6f65476c7f24c /netci.groovy
parent804c505301692d96ec590de013996a17c7eba422 (diff)
parent7a87eb21c63e8894d4c885594882b00d5da1c543 (diff)
downloadcoreclr-698264b3683e28aa25dc4061e136fc9d58af2beb.zip
coreclr-698264b3683e28aa25dc4061e136fc9d58af2beb.tar.gz
coreclr-698264b3683e28aa25dc4061e136fc9d58af2beb.tar.bz2
Merge pull request #15594 from BruceForstall/TestTimeout
Fix per-test timeout
Diffstat (limited to 'netci.groovy')
-rwxr-xr-xnetci.groovy16
1 files changed, 10 insertions, 6 deletions
diff --git a/netci.groovy b/netci.groovy
index dc4251a..10661e5 100755
--- a/netci.groovy
+++ b/netci.groovy
@@ -477,12 +477,6 @@ def static getR2RDisplayName(def scenario) {
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"
@@ -1541,6 +1535,16 @@ def static calculateBuildCommands(def newJob, def scenario, def branch, def isPR
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