diff options
Diffstat (limited to 'framework/test/base.py')
-rw-r--r-- | framework/test/base.py | 31 |
1 files changed, 15 insertions, 16 deletions
diff --git a/framework/test/base.py b/framework/test/base.py index 5f0491dfe..6b7cab658 100644 --- a/framework/test/base.py +++ b/framework/test/base.py @@ -39,8 +39,9 @@ import warnings import six from six.moves import range -from framework import exceptions, options +from framework import exceptions from framework import status +from framework.options import OPTIONS from framework.results import TestResult # We're doing some special crazy here to make timeouts work on python 2. pylint @@ -186,30 +187,28 @@ class Test(object): assert isinstance(timeout, int) self.timeout = timeout - def execute(self, path, log, dmesg, monitoring): + def execute(self, path, log, options): """ Run a test Run a test, but with features. This times the test, uses dmesg checking (if requested), and runs the logger. Arguments: - path -- the name of the test - log -- a log.Log instance - dmesg -- a dmesg.BaseDmesg derived class - monitoring -- a monitoring.Monitoring instance - + path -- the name of the test + log -- a log.Log instance + options -- a dictionary containing dmesg and monitoring objects """ log.start(path) # Run the test - if options.OPTIONS.execute: + if OPTIONS.execute: try: self.result.time.start = time.time() - dmesg.update_dmesg() - monitoring.update_monitoring() + options['dmesg'].update_dmesg() + options['monitor'].update_monitoring() self.run() self.result.time.end = time.time() - self.result = dmesg.update_result(self.result) - monitoring.check_monitoring() + self.result = options['dmesg'].update_result(self.result) + options['monitor'].check_monitoring() # This is a rare case where a bare exception is okay, since we're # using it to log exceptions except: @@ -254,7 +253,7 @@ class Test(object): self.result.command = ' '.join(self.command) self.result.environment = " ".join( '{0}="{1}"'.format(k, v) for k, v in itertools.chain( - six.iteritems(options.OPTIONS.env), six.iteritems(self.env))) + six.iteritems(OPTIONS.env), six.iteritems(self.env))) try: self.is_skip() @@ -319,7 +318,7 @@ class Test(object): else: f = six.text_type _base = itertools.chain(six.iteritems(os.environ), - six.iteritems(options.OPTIONS.env), + six.iteritems(OPTIONS.env), six.iteritems(self.env)) fullenv = {f(k): f(v) for k, v in _base} @@ -419,7 +418,7 @@ class ValgrindMixin(object): @Test.command.getter def command(self): command = super(ValgrindMixin, self).command - if options.OPTIONS.valgrind: + if OPTIONS.valgrind: return ['valgrind', '--quiet', '--error-exitcode=1', '--tool=memcheck'] + command else: @@ -436,7 +435,7 @@ class ValgrindMixin(object): """ super(ValgrindMixin, self).interpret_result() - if options.OPTIONS.valgrind: + if OPTIONS.valgrind: # If the underlying test failed, simply report # 'skip' for this valgrind test. if self.result.result != 'pass' and ( |