Skip to content
This repository was archived by the owner on Jan 23, 2023. It is now read-only.

Commit 09bd376

Browse files
committed
Merge pull request #3050 from sejongoh/add_more_stress_modes_to_corefx_windows_testing
Add more JIT stress modes to corefx testing
2 parents d53cbfb + 718f279 commit 09bd376

File tree

1 file changed

+30
-11
lines changed

1 file changed

+30
-11
lines changed

netci.groovy

Lines changed: 30 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,9 @@ class Constants {
4444
'jitstressregs3' : ['COMPlus_JitStressRegs' : '3'], 'jitstressregs4' : ['COMPlus_JitStressRegs' : '4'],
4545
'jitstressregs8' : ['COMPlus_JitStressRegs' : '8'], 'jitstressregs0x10' : ['COMPlus_JitStressRegs' : '0x10'],
4646
'jitstressregs0x80' : ['COMPlus_JitStressRegs' : '0x80'],
47-
'corefx_jitstress1' : ['COMPlus_JitStress' : '1']]
47+
'fx' : ['' : ''], // corefx baseline
48+
'fxjs1' : ['COMPlus_JitStress' : '1'],
49+
'fxjs2' : ['COMPlus_JitStress' : '2']]
4850
// This is the basic set of scenarios
4951
def static basicScenarios = ['default', 'pri1', 'ilrt']
5052
// This is the set of configurations
@@ -67,7 +69,7 @@ def static setMachineAffinity(def job, def os, def architecture) {
6769
}
6870

6971
def static isCorefxTesting(def scenario) {
70-
return scenario.substring(0,6) == 'corefx'
72+
return scenario.substring(0,2) == 'fx'
7173
}
7274

7375
// Generates the string for creating a file that sets environment variables
@@ -207,7 +209,9 @@ def static addTriggers(def job, def isPR, def architecture, def os, def configur
207209
case 'forcerelocs':
208210
case 'jitstress1':
209211
case 'jitstress2':
210-
case 'corefx_jitstress1':
212+
case 'fx':
213+
case 'fxjs1':
214+
case 'fxjs2':
211215
assert (os == 'Windows_NT') || (os in Constants.crossList)
212216
Utilities.addPeriodicTrigger(job, '@daily')
213217
break
@@ -317,7 +321,9 @@ def static addTriggers(def job, def isPR, def architecture, def os, def configur
317321
Utilities.addGithubPRTrigger(job, "${os} ${architecture} ${configuration} Build and Test (Jit - JitStressRegs=0x80)",
318322
"(?i).*test\\W+${os}\\W+${scenario}.*")
319323
break
320-
case 'corefx_jitstress1':
324+
case 'fx':
325+
case 'fxjs1':
326+
case 'fxjs2':
321327
// No Linux support is needed now
322328
break
323329
default:
@@ -407,11 +413,21 @@ def static addTriggers(def job, def isPR, def architecture, def os, def configur
407413
Utilities.addGithubPRTrigger(job, "${os} ${architecture} ${configuration} Build and Test (Jit - JitStressRegs=0x80)",
408414
"(?i).*test\\W+${os}\\W+${scenario}.*")
409415
break
410-
case 'corefx_jitstress1':
416+
case 'fx':
417+
assert (os == 'Windows_NT') || (os in Constants.crossList)
418+
Utilities.addGithubPRTrigger(job, "${os} ${architecture} ${configuration} Build and Test (Jit - CoreFx Baseline)",
419+
"(?i).*test\\W+${os}\\W+${scenario}.*")
420+
break
421+
case 'fxjs1':
411422
assert (os == 'Windows_NT') || (os in Constants.crossList)
412423
Utilities.addGithubPRTrigger(job, "${os} ${architecture} ${configuration} Build and Test (Jit - CoreFx JitStress=1)",
413424
"(?i).*test\\W+${os}\\W+${scenario}.*")
414425
break
426+
case 'fxjs2':
427+
assert (os == 'Windows_NT') || (os in Constants.crossList)
428+
Utilities.addGithubPRTrigger(job, "${os} ${architecture} ${configuration} Build and Test (Jit - CoreFx JitStress=2)",
429+
"(?i).*test\\W+${os}\\W+${scenario}.*")
430+
break
415431
default:
416432
println("Unknown scenario: ${scenario}");
417433
assert false
@@ -592,7 +608,8 @@ combinedScenarios.each { scenario ->
592608
case 'x86':
593609

594610
if (scenario == 'default' || Constants.jitStressModeScenarios.containsKey(scenario)) {
595-
buildCommands += "build.cmd ${lowerConfiguration} ${architecture}"
611+
buildOpts = enableCorefxTesting ? 'skiptests' : ''
612+
buildCommands += "build.cmd ${lowerConfiguration} ${architecture} ${buildOpts}"
596613
}
597614

598615
// For Pri 1 tests, we must shorten the output test binary path names.
@@ -621,16 +638,18 @@ combinedScenarios.each { scenario ->
621638
if (Constants.jitStressModeScenarios.containsKey(scenario)) {
622639
if (enableCorefxTesting) {
623640
// Sync to corefx repo
624-
buildCommands += "git clone https://github.com/dotnet/corefx corefx"
641+
buildCommands += "git clone https://github.com/dotnet/corefx fx"
625642

626643
def setEnvVar = ''
627644
def envVars = Constants.jitStressModeScenarios[scenario]
628645
envVars.each{ VarName, Value ->
629-
setEnvVar += "&& set ${VarName}=${Value} "
646+
if (VarName != '') {
647+
setEnvVar += "&& set ${VarName}=${Value} "
648+
}
630649
}
631650

632651
// Run corefx testing
633-
buildCommands += "cd corefx && call \"C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\vcvarsall.bat\" x86 ${setEnvVar} && Build.cmd /p:ConfigurationGroup=Release /p:WithCategories=\"InnerLoop;OuterLoop\" /p:BUILDTOOLS_OVERRIDE_RUNTIME=%WORKSPACE%\\bin\\Product\\Windows_NT.x64.Checked /p:TestWithLocalLibraries=true"
652+
buildCommands += "cd fx && call \"C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\vcvarsall.bat\" x86 ${setEnvVar} && Build.cmd /p:ConfigurationGroup=Release /p:WithCategories=\"InnerLoop;OuterLoop\" /p:BUILDTOOLS_OVERRIDE_RUNTIME=%WORKSPACE%\\bin\\Product\\Windows_NT.x64.Checked /p:TestWithLocalLibraries=true"
634653
}
635654
else {
636655
def stepScriptLocation = "%WORKSPACE%\\bin\\tests\\SetStressModes.bat"
@@ -670,10 +689,10 @@ combinedScenarios.each { scenario ->
670689
// Archive only result xml files since corefx/bin/tests is very large around 10 GB.
671690

672691
// For windows, pull full test results and test drops for x86/x64
673-
Utilities.addArchival(newJob, "corefx/bin/test/**/testResults.xml")
692+
Utilities.addArchival(newJob, "fx/bin/test/**/testResults.xml")
674693

675694
if (architecture == 'x64' || !isPR) {
676-
Utilities.addXUnitDotNETResults(newJob, 'corefx/bin/tests/**/testResults.xml')
695+
Utilities.addXUnitDotNETResults(newJob, 'fx/bin/tests/**/testResults.xml')
677696
}
678697
}
679698

0 commit comments

Comments
 (0)