def test_Savannah13979(self): from Ganga.GPI import Job, Executable, export, load self.fname = "test_savannah_13979.ganga" j = Job(application=Executable()) args_set = [ ["a"], [ """a b""" ], [ """a b""", "simple", "normal\nnewline", """another multiline""", ], ] for args in args_set: j.application.args = args export(j, self.fname) j2 = load(self.fname)[0] self.assertEqual(j2.application.args, args)
def save_data_file(self, destDir = '.', fname = None, savecatalog = True, saveganga = True) : data = self.get_data_set() if not data : return None if not fname : fname = os.path.join(destDir, self.get_file_name()) else : fname = os.path.join(destDir, fname) if not '$' in fname : fname = os.path.abspath(fname) expandedfname = fname else : expandedfname = os.path.abspath(os.path.expandvars(fname)) if savecatalog : try : catalogname = fname + '.xml' expandedcatalogname = expandedfname + '.xml' with open(expandedcatalogname, 'w') as f : f.write(data.getCatalog()) data.XMLCatalogueSlice = LocalFile(namePattern = catalogname) except : print 'Failed to save catalogue!' if saveganga : export(data, expandedfname + '.ganga') with open(expandedfname, 'w') as f : f.write(data.optionsString()) if savecatalog : f.write('\nfrom Gaudi.Configuration import FileCatalog\nFileCatalog().Catalogs += [{0!r}]\n'.format('xmlcatalog_file:' + catalogname)) return fname
def test_c_JobManipulation(self): from Ganga.GPI import runMonitoring, Job, jobs, export, load runMonitoring() # -- JOBMANIPULATION JOBCOPY START j = Job(name = 'original') j2 = j.copy() j2.name = 'copy' j.submit() j3 = Job(j, name = 'copy2') jobs # -- JOBMANIPULATION JOBCOPY STOP # -- JOBMANIPULATION REPOACCESS START jobs(2) # -- JOBMANIPULATION REPOACCESS STOP # -- JOBMANIPULATION JOBSLICING START jobs[2] jobs[2:] jobs['copy2'] # -- JOBMANIPULATION JOBSLICING STOP jobs(0).kill() # -- JOBMANIPULATION RESUBMIT START jobs(0).resubmit() # -- JOBMANIPULATION RESUBMIT STOP # -- JOBMANIPULATION FORCESTATUS START jobs(1).force_status('failed') # -- JOBMANIPULATION FORCESTATUS STOP # -- JOBMANIPULATION JOBREMOVE START jobs(2).remove() # -- JOBMANIPULATION JOBREMOVE STOP # -- JOBMANIPULATION JOBSELECT START # can select on ids, name, status, backend, application jobs.select(status='new') jobs.select(backend='Local') jobs.select(ids=[1,3]) # can restrict on min/max id jobs.select(1,3, application='Executable') # -- JOBMANIPULATION JOBSELECT STOP # -- JOBMANIPULATION JOBSELECTOP START jobs.select(status='new').submit() # -- JOBMANIPULATION JOBSELECTOP STOP # -- JOBMANIPULATION EXPORTJOB START export(jobs(0), 'my_job.txt') jlist = load('my_job.txt') jlist[0].submit()
def test_c_JobManipulation(self): from Ganga.GPI import runMonitoring, Job, jobs, export, load runMonitoring() # -- JOBMANIPULATION JOBCOPY START j = Job(name='original') j2 = j.copy() j2.name = 'copy' j.submit() j3 = Job(j, name='copy2') jobs # -- JOBMANIPULATION JOBCOPY STOP # -- JOBMANIPULATION REPOACCESS START jobs(2) # -- JOBMANIPULATION REPOACCESS STOP # -- JOBMANIPULATION JOBSLICING START jobs[2] jobs[2:] jobs['copy2'] # -- JOBMANIPULATION JOBSLICING STOP jobs(0).kill() # -- JOBMANIPULATION RESUBMIT START jobs(0).resubmit() # -- JOBMANIPULATION RESUBMIT STOP # -- JOBMANIPULATION FORCESTATUS START jobs(1).force_status('failed') # -- JOBMANIPULATION FORCESTATUS STOP # -- JOBMANIPULATION JOBREMOVE START jobs(2).remove() # -- JOBMANIPULATION JOBREMOVE STOP # -- JOBMANIPULATION JOBSELECT START # can select on ids, name, status, backend, application jobs.select(status='new') jobs.select(backend='Local') jobs.select(ids=[1, 3]) # can restrict on min/max id jobs.select(1, 3, application='Executable') # -- JOBMANIPULATION JOBSELECT STOP # -- JOBMANIPULATION JOBSELECTOP START jobs.select(status='new').submit() # -- JOBMANIPULATION JOBSELECTOP STOP # -- JOBMANIPULATION EXPORTJOB START export(jobs(0), 'my_job.txt') jlist = load('my_job.txt') jlist[0].submit()
def test_Savannah40220(self): from Ganga.GPI import Job, LCG, export, load j = Job(backend=LCG()) import tempfile f, self.fname = tempfile.mkstemp() self.assertTrue(export(j, self.fname)) self.assertTrue(load(self.fname))
def test_Savannah13979(self): from Ganga.GPI import Job, Executable, export, load self.fname = 'test_savannah_13979.ganga' j = Job(application=Executable()) args_set = [['a'], ['''a b'''], [ '''a b''', 'simple', 'normal\nnewline', """another multiline""" ]] for args in args_set: j.application.args = args export(j, self.fname) j2 = load(self.fname)[0] self.assertEqual(j2.application.args, args)
def test_Savannah13979(self): from Ganga.GPI import Job, Executable, export, load self.fname = 'test_savannah_13979.ganga' j = Job(application=Executable()) args_set = [ ['a'], ['''a b'''], ['''a b''', 'simple', 'normal\nnewline', """another multiline"""] ] for args in args_set: j.application.args = args export(j, self.fname) j2 = load(self.fname)[0] self.assertEqual(j2.application.args, args)