| #!groovy |
| funcs = evaluate readTrusted( 'JenkinsCommonFuncs.groovy' ) |
| funcs.initialize( "USECASE" ); |
| // This is a Jenkinsfile for a scripted pipeline for the USECASE tests |
| def prop = null |
| prop = funcs.getProperties() |
| USECASE = [ |
| "FUNCvirNetNB" : [ wiki_link:prop[ "WikiPrefix" ] + "-" + "FUNCvirNetNB", wiki_file:"FUNCvirNetNBWiki.txt" ], |
| "FUNCbgpls" : [ wiki_link:prop[ "WikiPrefix" ] + "-" + "FUNCbgpls", wiki_file:"FUNCbgplsWiki.txt" ], |
| "VPLSBasic" : [ wiki_link:prop[ "WikiPrefix" ] + "-" + "VPLSBasic", wiki_file:"VPLSBasicWiki.txt" ], |
| "VPLSfailsafe" : [ wiki_link:prop[ "WikiPrefix" ] + "-" + "VPLSfailsafe", wiki_file:"VPLSfailsafeWiki.txt" ], |
| "PLATdockertest": [ wiki_link:"Docker Images sanity test", wiki_file:"PLATdockertestTableWiki.txt" ], |
| "SRSanity": [ wiki_link:prop[ "WikiPrefix" ] + "-" + "SR Sanity", wiki_file:"SRSanityWiki.txt" ], |
| "SRSwitchFailure": [ wiki_link:prop[ "WikiPrefix" ] + "-" + "SR Switch Failure", wiki_file:"SRSwitchFailureWiki.txt" ], |
| "SRLinkFailure": [ wiki_link:prop[ "WikiPrefix" ] + "-" + "SR Link Failure", wiki_file:"SRLinkFailureWiki.txt" ], |
| "SROnosFailure": [ wiki_link:prop[ "WikiPrefix" ] + "-" + "SR Onos node Failure", wiki_file:"SROnosFailureWiki.txt" ], |
| "SRClusterRestart": [ wiki_link:prop[ "WikiPrefix" ] + "-" + "SR Cluster Restart", wiki_file:"SRClusterRestartWiki.txt" ], |
| "SRDynamic": [ wiki_link:prop[ "WikiPrefix" ] + "-" + "SR Dynamic Config", wiki_file:"SRDynamicWiki.txt" ], |
| "SRHighAvailability": [ wiki_link:prop[ "WikiPrefix" ] + "-" + "SR High Availability", wiki_file:"SRHighAvailabilityWiki.txt" ], |
| "USECASE_SdnipFunction": [ wiki_link:prop[ "WikiPrefix" ] + "-" + "SDNIP Function", wiki_file:"USECASE_SdnipFunctionWiki.txt" ], |
| "USECASE_SdnipFunctionCluster": [ wiki_link:prop[ "WikiPrefix" ] + "-" + "SDNIP Function Cluster", wiki_file:"USECASE_SdnipFunctionClusterWiki.txt" ] |
| ] |
| graph_generator_file = "~/OnosSystemTest/TestON/JenkinsFile/scripts/testCaseGraphGenerator.R" |
| graph_saved_directory = "/var/jenkins/workspace/postjob-BM/" |
| |
| echo( "Testcases:" ) |
| def testsToRun = null |
| testsToRun = funcs.getTestsToRun( prop[ "Tests" ] ) |
| funcs.printTestToRun( testsToRun ) |
| |
| def tests = [:] |
| for( String test : USECASE.keySet() ){ |
| toBeRun = testsToRun.contains( test ) |
| def stepName = ( toBeRun ? "" : "Not " ) + "Running $test" |
| tests[ stepName ] = funcs.runTest( test, toBeRun, prop, test, false, USECASE, graph_generator_file, graph_saved_directory ) |
| } |
| |
| start = funcs.getCurrentTime() |
| // run the tests |
| for ( test in tests.keySet() ){ |
| tests[ test ].call() |
| } |
| funcs.sendResultToSlack( start, prop[ "manualRun" ], prop[ "WikiPrefix" ] ) |
| funcs.generateOverallGraph( prop, USECASE, graph_saved_directory ) |