diff options
author | Sean Gillespie <sean.william.g@gmail.com> | 2016-05-03 15:09:06 -0700 |
---|---|---|
committer | Sean Gillespie <sean.william.g@gmail.com> | 2016-05-03 15:09:06 -0700 |
commit | 09043c6a8b4c32607ce0625bcca4567b7c4e7349 (patch) | |
tree | 831b8e181ec12494e26cfabcbc06cdcdb822088b /netci.groovy | |
parent | 92f671fe9f0fc583805d4f9c3116126444dabcf4 (diff) | |
parent | 87b1d117ed005e0719e857b10d2be92436ba999b (diff) | |
download | coreclr-09043c6a8b4c32607ce0625bcca4567b7c4e7349.tar.gz coreclr-09043c6a8b4c32607ce0625bcca4567b7c4e7349.tar.bz2 coreclr-09043c6a8b4c32607ce0625bcca4567b7c4e7349.zip |
Merge pull request #4721 from swgillespie/gcsimulator
Add a "GCSimulator" CI run
Diffstat (limited to 'netci.groovy')
-rwxr-xr-x | netci.groovy | 57 |
1 files changed, 47 insertions, 10 deletions
diff --git a/netci.groovy b/netci.groovy index faf191f64f..05034800f5 100755 --- a/netci.groovy +++ b/netci.groovy @@ -68,7 +68,7 @@ class Constants { 'gcstress0xc_minopts_heapverify1' : ['COMPlus_GCStress' : '0xC', 'COMPlus_JITMinOpts' : '1', 'COMPlus_HeapVerify' : '1'] ] // This is the basic set of scenarios - def static basicScenarios = ['default', 'pri1', 'ilrt', 'r2r', 'pri1r2r', 'gcstress15_pri1r2r', 'longgc', 'coverage'] + def static basicScenarios = ['default', 'pri1', 'ilrt', 'r2r', 'pri1r2r', 'gcstress15_pri1r2r', 'longgc', 'coverage', 'gcsimulator'] // This is the set of configurations def static configurationList = ['Debug', 'Checked', 'Release'] // This is the set of architectures @@ -116,6 +116,10 @@ def static isCoverage(def scenario) { return (scenario == 'coverage') } +def static isLongGc(def scenario) { + return (scenario == 'longgc' || scenario == 'gcsimulator') +} + def static setTestJobTimeOut(newJob, scenario) { if (isGCStressRelatedTesting(scenario)) { Utilities.setJobTimeout(newJob, 1440) @@ -363,6 +367,9 @@ def static addTriggers(def job, def branch, def isPR, def architecture, def os, Utilities.addPeriodicTrigger(job, '@daily') addEmailPublisher(job, 'dotnetgctests@microsoft.com') break + case 'gcsimulator': + // GCSimulator is currently only triggered by PR + break case 'ilrt': assert !(os in bidailyCrossList) // ILASM/ILDASM roundtrip one gets a daily build, and only for release @@ -512,6 +519,11 @@ def static addTriggers(def job, def branch, def isPR, def architecture, def os, Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${architecture} ${configuration} Long-Running GC Build & Test", "(?i).*test\\W+${os}\\W+${configuration}\\W+${scenario}.*") } break + case 'gcsimulator': + if (configuration == 'Release') { + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${architecture} ${configuration} GC Simulator", "(?i).*test\\W+${os}\\W+${configuration}\\W+${scenario}.*") + } + break case 'minopts': assert (os == 'Windows_NT') || (os in Constants.crossList) Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${architecture} ${configuration} Build and Test (Jit - MinOpts)", @@ -674,6 +686,11 @@ def static addTriggers(def job, def branch, def isPR, def architecture, def os, Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${architecture} ${configuration} Long-Running GC Build & Test", "(?i).*test\\W+${os}\\W+${configuration}\\W+${scenario}.*") } break + case 'gcsimulator': + if (configuration == 'Release') { + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${architecture} ${configuration} GC Simulator", "(?i).*test\\W+${os}\\W+${configuration}\\W+${scenario}.*") + } + break case 'minopts': assert (os == 'Windows_NT') || (os in Constants.crossList) Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${architecture} ${configuration} Build and Test (Jit - MinOpts)", @@ -825,7 +842,7 @@ def static addTriggers(def job, def branch, def isPR, def architecture, def os, } break case 'x86': - assert (scenario == 'default' || scenario == 'r2r' || scenario == 'pri1r2r' || scenario == 'gcstress15_pri1r2r' || scenario == 'longgc') + assert (scenario == 'default' || scenario == 'r2r' || scenario == 'pri1r2r' || scenario == 'gcstress15_pri1r2r' || scenario == 'longgc' || scenario == 'gcsimulator') // For windows, x86 runs by default if (scenario == 'default') { if (os == 'Windows_NT') { @@ -858,13 +875,21 @@ def static addTriggers(def job, def branch, def isPR, def architecture, def os, Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${architecture} ${configuration} GCStress 15 R2R pri1 Build & Test", "(?i).*test\\W+${os}\\W+${architecture}\\W+${configuration}\\W+${scenario}.*") } } - } else if (scenario == 'longgc') { + } + else if (scenario == 'longgc') { if (os == 'Windows_NT'){ if (configuration == 'Release'){ Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${architecture} ${configuration} Long-Running GC Build & Test", "(?i).*test\\W+${os}\\W+${architecture}\\W+${configuration}\\W+${scenario}.*") } } } + else if (scenario == 'gcsimulator') { + if (os == 'Windows_NT') { + if (configuration == 'Release') { + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${architecture} ${configuration} GC Simulator", "(?i).*test\\W+${os}\\W+${architecture}\\W+${configuration}\\W+${scenario}.*") + } + } + } break default: println("Unknown architecture: ${architecture}"); @@ -1011,6 +1036,7 @@ combinedScenarios.each { scenario -> } break case 'longgc': + case 'gcsimulator': if (os != 'Windows_NT' && os != 'Ubuntu' && os != 'OSX') { return } @@ -1102,6 +1128,10 @@ combinedScenarios.each { scenario -> buildCommands += "build.cmd ${lowerConfiguration} ${architecture} skiptests" buildCommands += "set __TestIntermediateDir=int&&tests\\buildtest.cmd ${lowerConfiguration} ${architecture} longgctests" } + else if (scenario == 'gcsimulator') { + buildCommands += "build.cmd ${lowerConfiguration} ${architecture} skiptests" + buildCommands += "set __TestIntermediateDir=int&&tests\\buildtest.cmd ${lowerConfiguration} ${architecture} gcsimulator" + } else if (scenario == 'coverage') { buildCommands += "build.cmd ${lowerConfiguration} ${architecture} skiptests" buildCommands += "set __TestIntermediateDir=int&&tests\\buildtest.cmd ${lowerConfiguration} ${architecture} crossgen Priority 1" @@ -1144,15 +1174,15 @@ combinedScenarios.each { scenario -> } } else if (architecture == 'x64') { - if (scenario == 'longgc') { - buildCommands += "tests\\runtest.cmd ${lowerConfiguration} ${architecture} longgctests sequential Exclude0" + if (isLongGc(scenario)) { + buildCommands += "tests\\runtest.cmd ${lowerConfiguration} ${architecture} longgctests sequential" } else { buildCommands += "tests\\runtest.cmd ${lowerConfiguration} ${architecture}" } } else if (architecture == 'x86') { - if (scenario == 'longgc') { - buildCommands += "tests\\runtest.cmd ${lowerConfiguration} ${architecture} longgctests sequential Exclude0" + if (isLongGc(scenario)) { + buildCommands += "tests\\runtest.cmd ${lowerConfiguration} ${architecture} longgctests sequential" } else { buildCommands += "tests\\runtest.cmd ${lowerConfiguration} ${architecture} Exclude0 x86_legacy_backend_issues.targets" } @@ -1440,6 +1470,7 @@ combinedScenarios.each { scenario -> } break case 'longgc': + case 'gcsimulator': // Long GC tests take a long time on non-Release builds if (configuration != 'Release') { return @@ -1506,14 +1537,20 @@ combinedScenarios.each { scenario -> crossgenStr = '--crossgen' } - if (scenario == 'longgc') { + if (isLongGc(scenario)) { // Long GC tests behave very poorly when they are not // the only test running (many of them allocate until OOM). sequentialString = '--sequential' // The Long GC playlist contains all of the tests that are - // going to be run. - playlistString = '--playlist=./tests/longRunningGcTests.txt' + // going to be run. The GCSimulator playlist contains all of + // the GC simulator tests. + if (scenario == 'longgc') { + playlistString = '--playlist=./tests/longRunningGcTests.txt' + } + else if (scenario == 'gcsimulator') { + playlistString = '--playlist=./tests/gcSimulatorTests.txt' + } } |