mirror of
https://github.com/ARM-software/workload-automation.git
synced 2025-03-01 08:18:37 +00:00
framework/output: add target_info to RunOutput
Make TargetInfo an attribute of run output, replacing the read/write methods for the targetfile. Instead, always load it on creation, if targetfile exists (useful for external scripts), and have a method to set it after creation (uselful during WA run, where the output is created before connecting to the target).
This commit is contained in:
parent
3ab0aa04de
commit
4a239790d2
wa/framework
@ -290,7 +290,7 @@ class Executor(object):
|
|||||||
self.target_manager = TargetManager(config.run_config.device,
|
self.target_manager = TargetManager(config.run_config.device,
|
||||||
config.run_config.device_config,
|
config.run_config.device_config,
|
||||||
output.basepath)
|
output.basepath)
|
||||||
output.write_target_info(self.target_manager.get_target_info())
|
output.set_target_info(self.target_manager.get_target_info())
|
||||||
|
|
||||||
self.logger.info('Initializing execution context')
|
self.logger.info('Initializing execution context')
|
||||||
context = ExecutionContext(config_manager, self.target_manager, output)
|
context = ExecutionContext(config_manager, self.target_manager, output)
|
||||||
|
@ -147,6 +147,7 @@ class RunOutput(Output):
|
|||||||
self.info = None
|
self.info = None
|
||||||
self.state = None
|
self.state = None
|
||||||
self.result = None
|
self.result = None
|
||||||
|
self.target_info = None
|
||||||
self.jobs = []
|
self.jobs = []
|
||||||
if (not os.path.isfile(self.statefile) or
|
if (not os.path.isfile(self.statefile) or
|
||||||
not os.path.isfile(self.infofile)):
|
not os.path.isfile(self.infofile)):
|
||||||
@ -159,6 +160,8 @@ class RunOutput(Output):
|
|||||||
self.info = RunInfo.from_pod(read_pod(self.infofile))
|
self.info = RunInfo.from_pod(read_pod(self.infofile))
|
||||||
self.state = RunState.from_pod(read_pod(self.statefile))
|
self.state = RunState.from_pod(read_pod(self.statefile))
|
||||||
# TODO: propulate the jobs from info in the state
|
# TODO: propulate the jobs from info in the state
|
||||||
|
if os.path.isfile(self.targetfile):
|
||||||
|
self.target_info = TargetInfo.from_pod(read_pod(self.targetfile))
|
||||||
|
|
||||||
def write_info(self):
|
def write_info(self):
|
||||||
write_pod(self.info.to_pod(), self.infofile)
|
write_pod(self.info.to_pod(), self.infofile)
|
||||||
@ -174,14 +177,10 @@ class RunOutput(Output):
|
|||||||
return None
|
return None
|
||||||
return ConfigManager.from_pod(read_pod(self.configfile))
|
return ConfigManager.from_pod(read_pod(self.configfile))
|
||||||
|
|
||||||
def write_target_info(self, ti):
|
def set_target_info(self, ti):
|
||||||
|
self.target_info = ti
|
||||||
write_pod(ti.to_pod(), self.targetfile)
|
write_pod(ti.to_pod(), self.targetfile)
|
||||||
|
|
||||||
def read_target_config(self):
|
|
||||||
if not os.path.isfile(self.targetfile):
|
|
||||||
return None
|
|
||||||
return TargetInfo.from_pod(read_pod(self.targetfile))
|
|
||||||
|
|
||||||
def write_job_specs(self, job_specs):
|
def write_job_specs(self, job_specs):
|
||||||
job_specs[0].to_pod()
|
job_specs[0].to_pod()
|
||||||
js_pod = {'jobs': [js.to_pod() for js in job_specs]}
|
js_pod = {'jobs': [js.to_pod() for js in job_specs]}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user