1 from __future__
import print_function
4 from Configuration.PyReleaseValidation.WorkFlow
import WorkFlow
5 from Configuration.PyReleaseValidation.WorkFlowRunner
import WorkFlowRunner
11 def __init__(self, wfIn=None, nThrMax=4, nThreads=1):
26 if t.isAlive() : nActive += 1
37 startDir = os.getcwd()
42 print(
'Not running the wf, only creating cfgs and logs')
43 print(
'resetting to default number of threads')
51 if testList
and float(wf.numId)
not in [
float(x)
for x
in testList]:
continue 54 if os.path.islink(item) :
continue 60 print(
'\nPreparing to run %s %s' % (wf.numId, item))
62 current =
WorkFlowRunner(wf,noRun,dryRun,cafVeto, opt.dasOptions, opt.jobReports, opt.nThreads, opt.maxSteps)
63 self.threadList.append(current)
76 def count(collect,result):
78 for i
in range(len(collect),len(result)):
80 for i,c
in enumerate(result):
86 count(totpassed,pingle.npass)
87 count(totfailed,pingle.nfail)
89 self.
runDirs[pingle.wf.numId]=pingle.wfDir
90 except Exception
as e:
91 msg =
"ERROR retrieving info from thread: " +
str(e)
94 report+=
' '.
join(
map(str,totpassed))+
' tests passed, '+
' '.
join(
map(str,totfailed))+
' failed\n' 98 runall_report_name=
'runall-report-step123-.log' 99 runall_report=open(runall_report_name,
'w')
100 runall_report.write(report)
101 runall_report.close()
104 anyFail=sum(totfailed)
def __init__(self, wfIn=None, nThrMax=4, nThreads=1)
S & print(S &os, JobReport::InputFile const &f)
static std::string join(char **cmd)