def test_submit_kill_resubmit(gpi): """ Test that a simple submit-kill-resubmit-kill cycle works """ from Ganga.GPI import Job, LCG j = Job() j.backend = LCG() with patch('Ganga.Lib.LCG.Grid.submit', return_value='https://example.com:9000/42') as submit: j.submit() submit.assert_called_once() assert j.backend.id == 'https://example.com:9000/42' with patch('Ganga.Lib.LCG.Grid.cancel', return_value=True) as cancel: j.kill() cancel.assert_called_once() assert j.status == 'killed' with patch('Ganga.Lib.LCG.Grid.submit', return_value='https://example.com:9000/43') as submit: j.resubmit() submit.assert_called_once() assert j.backend.id == 'https://example.com:9000/43' with patch('Ganga.Lib.LCG.Grid.cancel', return_value=True): j.kill()
def test_e_testInMemory(self): """ Test the resubmit on a job in memory vs a job which has been loaded from disk """ from Ganga.GPI import Job, Local j = Job() j.splitter = self._getSplitter() j.backend = Local() j.submit() from GangaTest.Framework.utils import sleep_until_completed sleep_until_completed(j) # Job has ben created, split, run and now exists in Memory (NOT SJXML) from Ganga.Utility.Config import setConfigOption setConfigOption('Configuration', 'resubmitOnlyFailedSubjobs', 'True') j.resubmit() sleep_until_completed(j) j.subjobs(0).resubmit() # We should get here if calling resubmit doesn't stall j.subjobs(0).force_status('failed', force=True) j.resubmit() sleep_until_completed(j) assert j.subjobs(0).status == 'completed' # Test resubmit from the master job worked j.subjobs(0).force_status('failed') j.subjobs(0).resubmit() sleep_until_completed(j) assert j.subjobs(0).status == 'completed' # Test that the resubmit from the subjob worked setConfigOption('Configuration', 'resubmitOnlyFailedSubjobs', 'False') j.resubmit() sleep_until_completed(j) j.subjobs(0).force_status('failed') j.resubmit() sleep_until_completed(j)
def test_e_testInMemory(self): """ Test the resubmit on a job in memory vs a job which has been loaded from disk """ from Ganga.GPI import Job, Local j=Job() j.splitter = self._getSplitter() j.backend = Local() j.submit() from GangaTest.Framework.utils import sleep_until_completed sleep_until_completed(j) # Job has ben created, split, run and now exists in Memory (NOT SJXML) from Ganga.Utility.Config import setConfigOption setConfigOption('Configuration', 'resubmitOnlyFailedSubjobs', 'True') j.resubmit() sleep_until_completed(j) j.subjobs(0).resubmit() # We should get here if calling resubmit doesn't stall j.subjobs(0).force_status('failed') j.resubmit() sleep_until_completed(j) assert j.subjobs(0).status == 'completed' # Test resubmit from the master job worked j.subjobs(0).force_status('failed') j.subjobs(0).resubmit() sleep_until_completed(j) assert j.subjobs(0).status == 'completed' # Test that the resubmit from the subjob worked setConfigOption('Configuration', 'resubmitOnlyFailedSubjobs', 'False') j.resubmit() sleep_until_completed(j) j.subjobs(0).force_status('failed') j.resubmit() sleep_until_completed(j)
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 Savannah28511(self): from Ganga.GPI import Job, TestSubmitter from GangaTest.Framework.utils import sleep_until_completed, sleep_until_state j = Job() j.submit() self.assertTrue(sleep_until_completed(j, 20), 'Job is not completed') j.resubmit() self.assertTrue(sleep_until_completed(j, 30), 'Job is not completed after fail during resubmit') j._impl.updateStatus('failed') self.assertTrue(sleep_until_state(j, 20, 'failed'), 'Job is not failed') j.resubmit() self.assertTrue(sleep_until_completed(j, 20), 'Job is not completed after resubmit')
def test_Savannah77962(self): from Ganga.GPI import Job # The submit_counter was being incremented by 2 when j.resubmit was called. from GangaTest.Framework.utils import sleep_until_completed j = Job() self.assertEqual(j.info.submit_counter, 0) j.submit() self.assertEqual(j.info.submit_counter, 1) self.assertTrue(sleep_until_completed(j), 'Timeout on job submission: job is still not finished') j.resubmit() self.assertEqual(j.info.submit_counter, 2)
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'