From c0049d0a8637669b7fa4618807144a1e9617a470 Mon Sep 17 00:00:00 2001 From: Sergei Trofimov Date: Fri, 16 Mar 2018 15:44:00 +0000 Subject: [PATCH] fw/job: only finalize if initialized Only run finalize() for a job if initialize has succeed. finalize() should be able to assume that initialize() has succeed, without needing to check that that file have been created, variables set, etc. --- wa/framework/job.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/wa/framework/job.py b/wa/framework/job.py index e41aca9e..6d137b7b 100644 --- a/wa/framework/job.py +++ b/wa/framework/job.py @@ -28,6 +28,10 @@ class Job(object): def status(self): return self._status + @property + def has_been_initialized(self): + return self._has_been_initialized + @status.setter def status(self, value): self._status = value @@ -43,6 +47,7 @@ class Job(object): self.output = None self.run_time = None self.retries = 0 + self._has_been_initialized = False self._status = Status.NEW def load(self, target, loader=pluginloader): @@ -67,6 +72,7 @@ class Job(object): self.workload.logger.context = context self.workload.initialize(context) self.set_status(Status.PENDING) + self._has_been_initialized = True context.update_job_state(self) def configure_augmentations(self, context, pm): @@ -135,6 +141,8 @@ class Job(object): self.workload.teardown(context) def finalize(self, context): + if not self._has_been_initialized: + return if not context.tm.is_responsive: self.logger.info('Target unresponsive; not finalizing.') return