Exemple #1
0
 def test_encode_resource_job(self):
     self.job_R = make_job("R", plugin="resource")
     result_R = JobResult({
         'job': self.job_R,
         'outcome': JobResult.OUTCOME_PASS,
         'io_log': ((0, 'stdout', "attr: value\n"), )
     })
     jobstate = JobState(self.job_R)
     jobstate.result = result_R
     jobstate_enc = jobstate._get_persistance_subset()
     # The inhibitor list is not saved
     with self.assertRaises(KeyError):
         jobstate_enc['_readiness_inhibitor_list']
     # Resource have to be re evealutated on startup, outcome of the job
     # must be reset to JobResult.OUTCOME_NONE
     self.assertEqual(jobstate_enc['_result'].outcome,
                      JobResult.OUTCOME_NONE)
Exemple #2
0
 def run(self):
     job = self._get_job()
     if job is None:
         print(_("There is no job called {!a}").format(self.job_id))
         print(
             _("See `plainbox special --list-jobs` for a list of choices"))
         return 126
     elif job.command is None:
         print(_("Selected job does not have a command"))
         return 125
     with TemporaryDirectory() as scratch, TemporaryDirectory() as iologs:
         runner = JobRunner(scratch, self.provider_list, iologs)
         job_state = JobState(job)
         ctrl = runner._get_ctrl_for_job(job)
         runner.log_leftovers = False
         runner.on_leftover_files.connect(self._on_leftover_files)
         return_code, record_path = runner._run_command(
             job, job_state, self.config, ctrl)
         self._display_script_outcome(job, return_code)
     return return_code
Exemple #3
0
 def setUp(self):
     self.job = make_job("A")
     self.job_state = JobState(self.job)