summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Peres <martin.peres@linux.intel.com>2017-04-27 14:07:19 +0300
committerMartin Peres <martin.peres@linux.intel.com>2017-10-04 17:48:28 +0300
commitf1fdcfc1692c9d384ee4b46e1ae54843d71ec6b0 (patch)
tree4c2aa2f4b7f231511ec46ca09147706ad44ca55d
parenta1e82ee5fb9cceedaa1476d7788260ec2b42ed5c (diff)
smartezbench: add a way to store user data
-rw-r--r--python-modules/ezbench/smartezbench.py20
1 files changed, 19 insertions, 1 deletions
diff --git a/python-modules/ezbench/smartezbench.py b/python-modules/ezbench/smartezbench.py
index 503997b..9a80e76 100644
--- a/python-modules/ezbench/smartezbench.py
+++ b/python-modules/ezbench/smartezbench.py
@@ -340,7 +340,13 @@ class SmartEzbench:
self.state['tasks']['auto']['commits'] = dict()
upgraded = True
- latest_version = 3
+ if self.state.get("version", 0) == 3:
+ self.__log(Criticality.II, "state: v3 -> v4: create a new 'user_data' section")
+ self.state['version'] = 4
+ self.state['user_data'] = dict()
+ upgraded = True
+
+ latest_version = 4
if self.state.get("version", 0) > latest_version:
msg = "The state's version is higher than the latest supported version: {} vs {}"
raise ValueError(msg.format(self.state.get("version", 0), latest_version))
@@ -1124,6 +1130,18 @@ class SmartEzbench:
self.__log(Criticality.II, "Attribute '{}' set to {}".format(param, value))
+ def user_data(self, key, default=None):
+ self.__reload_state(keep_lock = True)
+ ret = self.state['user_data'].get(key, default)
+ self.__release_lock()
+ return ret
+
+ def set_user_data(self, key, value):
+ self.__reload_state(keep_lock = True)
+ self.state['user_data'][key] = value
+ self.__save_state()
+ self.__release_lock()
+
def schedule_enhancements(self):
# Read all the attributes
max_variance = self.attribute("variance_max")