From d20422ac1508ad8557bb73f5a8e438b89cba6c87 Mon Sep 17 00:00:00 2001 From: Sergei Trofimov Date: Thu, 1 Mar 2018 16:12:10 +0000 Subject: [PATCH] workloads/rt-app: only initialize once Only initialize/finalize once per run to avoid reinstalling the binary and recreating the working directory needlessly. --- wa/workloads/rt_app/__init__.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/wa/workloads/rt_app/__init__.py b/wa/workloads/rt_app/__init__.py index 28898d79..ff97edbe 100644 --- a/wa/workloads/rt_app/__init__.py +++ b/wa/workloads/rt_app/__init__.py @@ -23,6 +23,8 @@ from subprocess import CalledProcessError from wa import Workload, Parameter, Executable, File from wa.framework.exception import WorkloadError, ResourceError from wa.utils.misc import check_output +from wa.utils.exec_control import once + RAW_OUTPUT_FILENAME = 'raw-output.txt' TARBALL_FILENAME = 'rtapp-logs.tar.gz' @@ -145,6 +147,7 @@ class RtApp(Workload): """), ] + @once def initialize(self, context): # initialize() runs once per run. setting a class variable to make it # available to other instances of the workload @@ -209,6 +212,7 @@ class RtApp(Workload): context.add_metric('error_count', error_count, 'count') context.add_metric('crit_count', crit_count, 'count') + @once def finalize(self, context): if self.uninstall_on_exit: self.target.uninstall(self.target_binary)