Fix for running TestON tests on multiple branches simultaneously
Change-Id: I474dcbab57e3c5e90fce4c769e8f6336c3022699
diff --git a/TestON/JenkinsFile/MasterTrigger.groovy b/TestON/JenkinsFile/MasterTrigger.groovy
index 8347add..4c1fcad 100644
--- a/TestON/JenkinsFile/MasterTrigger.groovy
+++ b/TestON/JenkinsFile/MasterTrigger.groovy
@@ -37,7 +37,6 @@
isFabric = null
testsParam = null
simulateDay = null
-day = null
dayMap = [:]
fullDayMap = [:]
@@ -195,6 +194,8 @@
def generateRunList(){
runList = [:]
+ validSchedules = test_list.getValidSchedules( day )
+ echo "validSchedules: " + validSchedules
for ( branch in onos_branches ){
runBranch = []
nodeLabels = test_list.getAllNodeLabels( branch, selectedTests )
@@ -203,8 +204,26 @@
selectedNodeLabelCategories = test_list.getAllTestCategories( selectedNodeLabelTests )
for ( category in selectedNodeLabelCategories ){
selectedNodeLabelCategoryTests = test_list.getTestsFromCategory( category, selectedNodeLabelTests )
- exeTestList = test_list.getTestListAsString( selectedNodeLabelCategoryTests )
- runList.put( branch + "-" + nodeLabel + "-" + category, triggerFuncs.trigger_pipeline( branch, exeTestList, nodeLabel, category, manually_run, onos_tag ) )
+
+ filteredList = [:]
+ for ( key in selectedNodeLabelCategoryTests.keySet() ){
+ for ( sch in selectedNodeLabelCategoryTests[ key ][ "schedules" ] ){
+ if ( validSchedules.contains( sch[ "day" ] ) && sch[ "branch" ] == test_list.convertBranchToBranchCode( branch ) ){
+ filteredList.put( key, selectedNodeLabelCategoryTests[ key ] )
+ break
+ }
+ }
+ }
+
+ echo "=========================================="
+ echo "BRANCH: " + branch
+ echo "CATEGORY: " + category
+ echo "TESTS: " + filteredList
+ if ( filteredList != [:] ){
+ exeTestList = test_list.getTestListAsString( filteredList )
+ runList.put( branch + "-" + nodeLabel + "-" + category, triggerFuncs.trigger_pipeline( branch, exeTestList, nodeLabel, category, manually_run, onos_tag ) )
+ }
+
}
}
}
diff --git a/TestON/JenkinsFile/dependencies/JenkinsTestONTests.groovy b/TestON/JenkinsFile/dependencies/JenkinsTestONTests.groovy
index 2a358df..d62e114 100644
--- a/TestON/JenkinsFile/dependencies/JenkinsTestONTests.groovy
+++ b/TestON/JenkinsFile/dependencies/JenkinsTestONTests.groovy
@@ -107,8 +107,9 @@
for ( String key in tests.keySet() ){
for ( subDict in tests[ key ][ "schedules" ] ){
sch = subDict[ "day" ]
- if ( validSchedules.contains( sch ) && !branchesFromDayResult.contains( sch ) ){
- branchesFromDayResult += convertBranchCodeToBranch( subDict[ "branch" ], false )
+ new_branch = convertBranchCodeToBranch( subDict[ "branch" ], false )
+ if ( validSchedules.contains( sch ) && !branchesFromDayResult.contains( new_branch ) ){
+ branchesFromDayResult += new_branch
}
}
}
@@ -210,7 +211,7 @@
return validSchedules
}
-// given a day and branch, returns all tests that run on the given day on the given branch
+// given a day, returns all tests that run on the given day on the given branch
def getTestsFromDay( day, tests=[:] ){
resultDict = [:]
if ( tests == [:] ){