aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWaleed El-Geresy <waleed.el-geresy@arm.com>2018-09-04 17:18:25 +0100
committerMarc Bonnici <marc.bonnici@arm.com>2018-09-05 14:40:42 +0100
commit718f2c1c902e656f7fe1f4762be9fed11efc3fe6 (patch)
treefa1437786d3c4d3dba9bfb32d556fedad5727fc4
parent4c4fd2a2671e485c10e5b82fc7feb75aa511555d (diff)
Expose context in OP initialize and finalize
Expose the context to the initialize and finalize functions for Output Processors. This was found to be necessary for the upcoming PostgreSQL Output Processor.
-rw-r--r--wa/commands/process.py4
-rw-r--r--wa/framework/execution.py4
-rw-r--r--wa/framework/output_processor.py12
-rwxr-xr-xwa/output_processors/cpustates.py2
-rw-r--r--wa/output_processors/csvproc.py2
-rw-r--r--wa/output_processors/sqlite.py2
-rw-r--r--wa/output_processors/targz.py2
7 files changed, 14 insertions, 14 deletions
diff --git a/wa/commands/process.py b/wa/commands/process.py
index 6c4aa138..3ee9db1b 100644
--- a/wa/commands/process.py
+++ b/wa/commands/process.py
@@ -106,7 +106,7 @@ class ProcessCommand(Command):
pm.install(proc, pc)
pm.validate()
- pm.initialize()
+ pm.initialize(pc)
pc.run_output = run_output
pc.target_info = run_output.target_info
@@ -139,7 +139,7 @@ class ProcessCommand(Command):
self.logger.info('Processing run')
pm.process_run_output(pc)
pm.export_run_output(pc)
- pm.finalize()
+ pm.finalize(pc)
run_output.write_result()
self.logger.info('Done.')
diff --git a/wa/framework/execution.py b/wa/framework/execution.py
index 1e06ab19..ebcb6860 100644
--- a/wa/framework/execution.py
+++ b/wa/framework/execution.py
@@ -516,7 +516,7 @@ class Runner(object):
signal.connect(self._error_signalled_callback, signal.ERROR_LOGGED)
signal.connect(self._warning_signalled_callback, signal.WARNING_LOGGED)
self.context.start_run()
- self.pm.initialize()
+ self.pm.initialize(self.context)
with log.indentcontext():
self.context.initialize_jobs()
self.context.write_state()
@@ -532,7 +532,7 @@ class Runner(object):
with signal.wrap('RUN_OUTPUT_PROCESSED', self):
self.pm.process_run_output(self.context)
self.pm.export_run_output(self.context)
- self.pm.finalize()
+ self.pm.finalize(self.context)
signal.disconnect(self._error_signalled_callback, signal.ERROR_LOGGED)
signal.disconnect(self._warning_signalled_callback, signal.WARNING_LOGGED)
diff --git a/wa/framework/output_processor.py b/wa/framework/output_processor.py
index 76654083..6fe80f7e 100644
--- a/wa/framework/output_processor.py
+++ b/wa/framework/output_processor.py
@@ -40,10 +40,10 @@ class OutputProcessor(Plugin):
msg = 'Instrument "{}" is required by {}, but is not installed.'
raise ConfigError(msg.format(instrument, self.name))
- def initialize(self):
+ def initialize(self, context):
pass
- def finalize(self):
+ def finalize(self, context):
pass
@@ -104,13 +104,13 @@ class ProcessorManager(object):
for proc in self.processors:
proc.validate()
- def initialize(self):
+ def initialize(self, context):
for proc in self.processors:
- proc.initialize()
+ proc.initialize(context)
- def finalize(self):
+ def finalize(self, context):
for proc in self.processors:
- proc.finalize()
+ proc.finalize(context)
def process_job_output(self, context):
self.do_for_each_proc('process_job_output', 'Processing using "{}"',
diff --git a/wa/output_processors/cpustates.py b/wa/output_processors/cpustates.py
index 7ab022df..e5545c59 100755
--- a/wa/output_processors/cpustates.py
+++ b/wa/output_processors/cpustates.py
@@ -85,7 +85,7 @@ class CpuStatesProcessor(OutputProcessor):
"""),
]
- def initialize(self):
+ def initialize(self, context):
self.iteration_reports = OrderedDict() # pylint: disable=attribute-defined-outside-init
def process_job_output(self, output, target_info, run_output): # pylint: disable=unused-argument
diff --git a/wa/output_processors/csvproc.py b/wa/output_processors/csvproc.py
index 884f6542..08432f7a 100644
--- a/wa/output_processors/csvproc.py
+++ b/wa/output_processors/csvproc.py
@@ -56,7 +56,7 @@ class CsvReportProcessor(OutputProcessor):
'use_all_classifiers is True'
raise ConfigError(msg)
- def initialize(self):
+ def initialize(self, context):
# pylint: disable=attribute-defined-outside-init
self.outputs_so_far = []
self.artifact_added = False
diff --git a/wa/output_processors/sqlite.py b/wa/output_processors/sqlite.py
index 1064a4a3..30c066d5 100644
--- a/wa/output_processors/sqlite.py
+++ b/wa/output_processors/sqlite.py
@@ -108,7 +108,7 @@ class SqliteResultProcessor(OutputProcessor):
]
- def initialize(self):
+ def initialize(self, context):
self._last_spec = None
self._run_oid = None
self._spec_oid = None
diff --git a/wa/output_processors/targz.py b/wa/output_processors/targz.py
index 27087ab9..3b573e41 100644
--- a/wa/output_processors/targz.py
+++ b/wa/output_processors/targz.py
@@ -56,7 +56,7 @@ class TargzProcessor(OutputProcessor):
'''),
]
- def initialize(self):
+ def initialize(self, context):
if self.delete_output:
self.logger.debug('Registering RUN_FINALIZED handler.')
signal.connect(self.delete_output_directory, signal.RUN_FINALIZED, priority=-100)