#!groovy
SCPFfuncs = evaluate readTrusted( 'TestON/JenkinsFile/PerformanceFuncs.groovy' )
SCPFfuncs.init()
funcs = evaluate readTrusted( 'TestON/JenkinsFile/JenkinsCommonFuncs.groovy' )
funcs.initialize( "SCPF", SCPFfuncs );

def prop = null
prop = funcs.getProperties()

def Tests = params.Test
isOldFlow = params.isOldFlow
prop[ "ONOSBranch" ] = params.ONOSbranch

SCPFfuncs.oldFlowRuleCheck( isOldFlow, prop[ "ONOSBranch" ] )

def testsToRun = null
testsToRun = funcs.getTestsToRun( Tests )

def tests = [:]
for( String test : testsToRun ){
    println test
    pureTestName = test.replaceAll( "WithFlowObj", "" )
    tests[ test ] = funcs.runTest( test, true, prop, pureTestName, true, [], "", "" )
}

for ( test in tests.keySet() ){
    tests[ test ].call()
}