普通文本  |  39行  |  1.16 KB

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')