You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
39 lines
1.2 KiB
39 lines
1.2 KiB
import os, re, logging
|
|
from autotest_lib.client.bin import test, utils
|
|
from autotest_lib.client.common_lib import error
|
|
|
|
class monotonic_time(test.test):
|
|
version = 1
|
|
|
|
preserve_srcdir = True
|
|
|
|
def setup(self):
|
|
os.chdir(self.srcdir)
|
|
utils.make()
|
|
|
|
|
|
def initialize(self):
|
|
self.job.require_gcc()
|
|
|
|
|
|
def run_once(self, test_type = None, duration = 300, threshold = None):
|
|
if not test_type:
|
|
raise error.TestError('missing test type')
|
|
|
|
cmd = self.srcdir + '/time_test'
|
|
cmd += ' --duration ' + str(duration)
|
|
if threshold:
|
|
cmd += ' --threshold ' + str(threshold)
|
|
cmd += ' ' + test_type
|
|
|
|
self.results = utils.run(cmd, ignore_status=True)
|
|
logging.info('Time test command exit status: %s',
|
|
self.results.exit_status)
|
|
if self.results.exit_status != 0:
|
|
for line in self.results.stdout.splitlines():
|
|
if line.startswith('ERROR:'):
|
|
raise error.TestError(line)
|
|
if line.startswith('FAIL:'):
|
|
raise error.TestFail(line)
|
|
raise error.TestError('unknown test failure')
|