def runSelected(opt): mrd = MatrixReader(opt) mrd.prepare(opt.useInput, opt.refRel, opt.fromScratch) # test for wrong input workflows if opt.testList: definedSet = set([dwf.numId for dwf in mrd.workFlows]) testSet = set(opt.testList) undefSet = testSet - definedSet if len(undefSet) > 0: raise ValueError('Undefined workflows: ' + ', '.join(map(str, list(undefSet)))) ret = 0 if opt.show: mrd.show(opt.testList, opt.extended, opt.cafVeto) if opt.testList: print('testListected items:', opt.testList) else: mRunnerHi = MatrixRunner(mrd.workFlows, opt.nProcs, opt.nThreads) ret = mRunnerHi.runTests(opt) if opt.wmcontrol: if ret != 0: print('Cannot go on with wmagent injection with failing workflows') else: wfInjector = MatrixInjector(opt, mode=opt.wmcontrol, options=opt.wmoptions) ret = wfInjector.prepare(mrd, mRunnerHi.runDirs) if ret == 0: wfInjector.upload() wfInjector.submit() return ret
def runSelected(opt): mrd = MatrixReader(opt) mrd.prepare(opt.useInput, opt.refRel, opt.fromScratch) # test for wrong input workflows if opt.testList: definedWF = [] for dwf in mrd.workFlows: definedWF.append(dwf.numId) for twf in opt.testList: if twf not in definedWF: raise ValueError('Not defined workflow ', twf, ' requested') ret = 0 if opt.show: mrd.show(opt.testList, opt.extended, opt.cafVeto) if opt.testList: print('testListected items:', opt.testList) else: mRunnerHi = MatrixRunner(mrd.workFlows, opt.nProcs, opt.nThreads) ret = mRunnerHi.runTests(opt) if opt.wmcontrol: if ret != 0: print('Cannot go on with wmagent injection with failing workflows') else: wfInjector = MatrixInjector(opt, mode=opt.wmcontrol, options=opt.wmoptions) ret = wfInjector.prepare(mrd, mRunnerHi.runDirs) if ret == 0: wfInjector.upload() wfInjector.submit() return ret
def runSelected(opt): mrd = MatrixReader(opt) mrd.prepare(opt.useInput, opt.refRel, opt.fromScratch) ret = 0 if opt.show: mrd.show(opt.testList, opt.extended, opt.cafVeto) if opt.testList: print 'testListected items:', opt.testList else: mRunnerHi = MatrixRunner(mrd.workFlows, opt.nProcs, opt.nThreads) ret = mRunnerHi.runTests(opt) if opt.wmcontrol: if ret != 0: print 'Cannot go on with wmagent injection with failing workflows' else: wfInjector = MatrixInjector(opt, mode=opt.wmcontrol, options=opt.wmoptions) ret = wfInjector.prepare(mrd, mRunnerHi.runDirs) if ret == 0: wfInjector.upload() wfInjector.submit() return ret
def get_wmsplit(): """ Get wmsplit dictionary from MatrixInjector prepare() method """ try: src = MatrixInjector.get_wmsplit() return src except Exception: try: src = inspect.getsource(MatrixInjector.prepare) src = [x.strip() for x in src.split('\n') if 'wmsplit' in x] src = [x.replace(' ', '') for x in src if not x.startswith('#')] src = [x for x in src if re.match('wmsplit\\[.*\\]=', x)] src = [x.replace('wmsplit[\'', '').replace('\']', '') for x in src] src = {x[0]: x[1] for x in [x.split('=') for x in src]} return src except Exception as ex: print(ex) return {}
def runSelected(opt): mrd = MatrixReader(opt) mrd.prepare(opt.useInput, opt.refRel, opt.fromScratch) ret = 0 if opt.show: mrd.show(opt.testList, opt.extended, opt.cafVeto) if opt.testList : print('testListected items:', opt.testList) else: mRunnerHi = MatrixRunner(mrd.workFlows, opt.nProcs, opt.nThreads) ret = mRunnerHi.runTests(opt) if opt.wmcontrol: if ret!=0: print('Cannot go on with wmagent injection with failing workflows') else: wfInjector = MatrixInjector(opt,mode=opt.wmcontrol,options=opt.wmoptions) ret= wfInjector.prepare(mrd, mRunnerHi.runDirs) if ret==0: wfInjector.upload() wfInjector.submit() return ret