def testSubmitJobWithInputFile(self): """ This test adds a dummy inputfile into the job and tests that it is returned when the job is completed """ from Ganga.GPI import LocalFile tempName = 'testGaudiExecFile.txt' tempName2 = 'testGaudiExecFile2.txt' tempContent = '12345' tempContent2 = '67890' j = TestExternalGaudiExec._constructJob() tempFile = path.join(TestExternalGaudiExec.tmpdir_release, tempName) tempFile2 = path.join(TestExternalGaudiExec.tmpdir_release, tempName2) FileBuffer(tempName, tempContent).create(tempFile) FileBuffer(tempName2, tempContent2).create(tempFile2) j.inputfiles = [tempFile, LocalFile(tempFile2)] j.outputfiles = [LocalFile(tempName), LocalFile(tempName2)] j.submit() run_until_completed(j) assert j.status == 'completed' outputDir = stripProxy(j).getOutputWorkspace(create=False).getPath() assert path.isfile(tempFile) assert path.isfile(tempFile2) assert tempContent in open(tempFile).read() assert tempContent2 in open(tempFile2).read()
def testMergeThatAlwaysFailsFlagsSet(self): from Ganga.GPI import Job, Executable, Local, LocalFile j = Job() j.application = Executable(exe="sh", args=["-c", "echo foo > out.txt"]) j.backend = Local() j.outputfiles = [LocalFile("out.txt")] j.splitter = CopySplitter() j.postprocessors = MergerTester(files=["out.txt"], ignorefailed=True, overwrite=True) j.submit() run_until_completed(j, timeout=60) assert j.status == "failed" assert os.path.exists(os.path.join(j.outputdir, "out.txt.merge_summary")), "Summary file should be created"
def test_Savannah28511(self): from Ganga.GPI import Job, TestSubmitter j = Job() j.submit() assert run_until_completed(j, timeout=20), 'Job is not completed' j.resubmit() assert run_until_completed(j, timeout=30), 'Job is not completed after fail during resubmit' j._impl.updateStatus('failed') assert run_until_state(j, timeout=20, state='failed'), 'Job is not failed' j.resubmit() assert run_until_completed(j, timeout=20), 'Job is not completed after resubmit'
def runJobSlice(self): for j in self.jobslice: j.submit() assert run_until_completed( j, timeout=60 ), 'Timeout on job submission: job is still not finished' assert j.status == 'completed'
def test_job_complete(gpi): from Ganga.GPI import Job, LCG j = Job() j.backend = LCG() j.submit() assert run_until_completed(j, timeout=1200, sleep_period=10), 'Timeout on job submission: job is still not finished'
def test_d_Finished(self): from Ganga.GPI import jobs, queues print('waiting on job', end=' ') for j in jobs: print(j.id, end=' ') import sys sys.stdout.flush() assert run_until_completed(j, sleep_period=0.1), 'Timeout on job submission: job is still not finished'
def runJobSlice(self): for j in self.jobslice: this_bak = j.backend for j in self.jobslice: j.submit() for j in self.jobslice: assert run_until_completed(j, timeout=10), 'Timeout on job submission: job is still not finished'
def testMergeThatAlwaysFailsOverwrite(self): from Ganga.GPI import Job, Executable, Local, LocalFile j = Job() j.application = Executable(exe='sh', args=['-c', 'echo foo > out.txt']) j.backend = Local() j.outputfiles = [LocalFile('out.txt')] j.splitter = CopySplitter() j.postprocessors = MergerTester(files=['out.txt'], overwrite=True) j.submit() run_until_completed(j, timeout=60) assert j.status == 'failed' assert os.path.exists( os.path.join( j.outputdir, 'out.txt.merge_summary')), 'Summary file should be created'
def testSubmitJobComplete(self): """ Test that the job completes successfully """ j = TestExternalGaudiExec._constructJob() j.submit() run_until_completed(j) assert j.status == 'completed' outputfile = path.join(j.outputdir, 'stdout') assert path.isfile(outputfile) for this_string in ('testfile.py', 'data.py', 'ThisIsATest', j.application.platform): assert this_string in open(outputfile).read()
def test_Savannah28511(self): from Ganga.GPI import Job, TestSubmitter j = Job() j.submit() assert run_until_completed(j, timeout=20), 'Job is not completed' j.resubmit() assert run_until_completed( j, timeout=30), 'Job is not completed after fail during resubmit' j._impl.updateStatus('failed') assert run_until_state(j, timeout=20, state='failed'), 'Job is not failed' j.resubmit() assert run_until_completed( j, timeout=20), 'Job is not completed after resubmit'
def runJobSlice(self): for j in self.jobslice: this_bak = j.backend for j in self.jobslice: j.submit() for j in self.jobslice: assert run_until_completed( j, timeout=10 ), 'Timeout on job submission: job is still not finished'
def test_d_Finished(self): from Ganga.GPI import jobs, queues print('waiting on job', end=' ') for j in jobs: print(j.id, end=' ') import sys sys.stdout.flush() assert run_until_completed( j, sleep_period=0.1 ), 'Timeout on job submission: job is still not finished'
def testSubmitJobComplete(self): """ Test that the job completes successfully """ from Ganga.GPI import jobs from Ganga.GPI import Job, LocalFile, prepareGaudiExec import os if os.path.exists(TestExternalGaudiExec.tmpdir_release): os.system("rm -rf %s/*" % TestExternalGaudiExec.tmpdir_release) j = Job(application=prepareGaudiExec( 'DaVinci', latestDaVinci(), TestExternalGaudiExec.tmpdir_release)) myOpts = path.join(TestExternalGaudiExec.tmpdir_release, 'testfile.py') FileBuffer('testfile.py', 'print("ThisIsATest")').create(myOpts) j.application.options = [LocalFile(myOpts)] j.submit() run_until_completed(j) assert j.status == 'completed' outputfile = path.join(j.outputdir, 'stdout') assert path.isfile(outputfile) assert 'testfile.py' in open(outputfile).read() assert 'data.py' in open(outputfile).read() assert 'ThisIsATest' in open(outputfile).read() assert j.application.platform in open(outputfile).read()
def testSubjobsSubmit(self): from Ganga.GPI import Job, Executable, TestSubmitter, ArgSplitter from Ganga.GPIDev.Lib.GangaList.GangaList import GangaList as gangaList from Ganga.GPIDev.Base.Proxy import isType j = Job(application=Executable(), backend=TestSubmitter(time=1)) j.splitter = ArgSplitter(args=[['A'], ['B'], ['C']]) j.submit() assert run_until_completed(j), 'Job must complete' assert len(j.subjobs) == 3, 'splitting must occur' for jj in j.subjobs: assert not isType(jj.master, gangaList)
def testSubmitJobComplete(self): """ Test that the job completes successfully """ from Ganga.GPI import jobs j = jobs[-1] run_until_completed(j) assert j.status == 'completed' outputfile = path.join(j.outputdir, 'stdout') assert path.isfile(outputfile) assert 'hello.py' in open(outputfile).read() assert 'data.py' in open(outputfile).read() assert 'Hello' in open(outputfile).read() assert j.application.platform in open(outputfile).read()
def runJobSlice(self): for j in self.jobslice: j.submit() for j in self.jobslice: assert run_until_completed(j, timeout=10), "Timeout on job submission: job is still not finished" print ("# upcoming status") print ("Status 3: %s" % j.status) print ("# printed status") print ("# upcoming impl status") print ("Status 3: %s" % j._impl.status) print ("# printed impl status") print "j._impl.__dict__", j._impl.__dict__ # print 'type(j).__dict__', type(j).__dict__ assert j.status == "completed"
def setUp(self): super(TestFileChecker, self).setUp() from Ganga.GPI import Job, FileChecker, Executable, Local self.c = FileChecker() self.jobslice = [] args = ['1', '2', '12'] for arg in args: j = Job(application=Executable(), backend=Local()) # write string to tmpfile j.application.args = [arg] self.jobslice.append(j) for j in self.jobslice: j.submit() assert run_until_completed(j), 'Timeout on job submission: job is still not finished' self.assertEqual(j.status, 'completed')
def runJobSlice(self): for j in self.jobslice: this_bak = j.backend for j in self.jobslice: j.submit() for j in self.jobslice: assert run_until_completed(j, timeout=10), 'Timeout on job submission: job is still not finished' #print('# upcoming status') #print("Status 3: %s" % j.status) #print('# printed status') #print('# upcoming impl status') #print("Status 3: %s" % j._impl.status) #print('# printed impl status') #print('j._impl.__dict__: %s' j._impl.__dict__) #print 'type(j).__dict__', type(j).__dict__ assert j.status == 'completed'
def setUp(self): super(TestFileChecker, self).setUp() from Ganga.GPI import Job, FileChecker, Executable, Local self.c = FileChecker() self.jobslice = [] args = ['1', '2', '12'] for arg in args: j = Job(application=Executable(), backend=Local()) # write string to tmpfile j.application.args = [arg] self.jobslice.append(j) for j in self.jobslice: j.submit() assert run_until_completed( j), 'Timeout on job submission: job is still not finished' self.assertEqual(j.status, 'completed')
def runJobSlice(self): for j in self.jobslice: this_bak = j.backend for j in self.jobslice: j.submit() for j in self.jobslice: assert run_until_completed( j, timeout=10 ), 'Timeout on job submission: job is still not finished' #print('# upcoming status') #print("Status 3: %s" % j.status) #print('# printed status') #print('# upcoming impl status') #print("Status 3: %s" % j._impl.status) #print('# printed impl status') #print('j._impl.__dict__: %s' j._impl.__dict__) #print 'type(j).__dict__', type(j).__dict__ assert j.status == 'completed'
def test_job_completed(gpi): j = gpi.Job() j.submit() run_until_completed(j) assert j.status == 'completed'
def test_job_completed(gpi): j = gpi.Job() j.submit() assert run_until_completed(j)
def runJobSlice(self): for j in self.jobslice: j.submit() assert run_until_completed(j), 'Timeout on job submission: job is still not finished'