96 lines
2.1 KiB
Python
96 lines
2.1 KiB
Python
"""The harness interface
|
|
|
|
The interface between the client and the server when hosted.
|
|
"""
|
|
|
|
# pylint: disable=missing-docstring
|
|
|
|
__author__ = """Copyright Andy Whitcroft 2006"""
|
|
|
|
import logging
|
|
|
|
import common
|
|
|
|
|
|
class harness(object):
|
|
"""The NULL server harness
|
|
|
|
Properties:
|
|
job
|
|
The job object for this job
|
|
"""
|
|
|
|
def __init__(self, job):
|
|
"""
|
|
job
|
|
The job object for this job
|
|
"""
|
|
self.setup(job)
|
|
|
|
|
|
def setup(self, job):
|
|
"""
|
|
job
|
|
The job object for this job
|
|
"""
|
|
self.job = job
|
|
|
|
|
|
def run_start(self):
|
|
"""A run within this job is starting"""
|
|
pass
|
|
|
|
|
|
def run_pause(self):
|
|
"""A run within this job is completing (expect continue)"""
|
|
pass
|
|
|
|
|
|
def run_reboot(self):
|
|
"""A run within this job is performing a reboot
|
|
(expect continue following reboot)
|
|
"""
|
|
pass
|
|
|
|
|
|
def run_abort(self):
|
|
"""A run within this job is aborting. It all went wrong"""
|
|
pass
|
|
|
|
|
|
def run_complete(self):
|
|
"""A run within this job is completing (all done)"""
|
|
pass
|
|
|
|
|
|
def run_test_complete(self):
|
|
"""A test run by this job is complete. Note that if multiple
|
|
tests are run in parallel, this will only be called when all
|
|
of the parallel runs complete."""
|
|
pass
|
|
|
|
|
|
def test_status(self, status, tag):
|
|
"""A test within this job is completing"""
|
|
pass
|
|
|
|
|
|
def test_status_detail(self, code, subdir, operation, status, tag,
|
|
optional_fields):
|
|
"""A test within this job is completing (detail)"""
|
|
pass
|
|
|
|
|
|
def select(which, job, harness_args):
|
|
if not which:
|
|
which = 'standalone'
|
|
|
|
logging.debug('Selected harness: %s', which)
|
|
|
|
harness_name = 'harness_%s' % which
|
|
harness_module = common.setup_modules.import_module(harness_name,
|
|
'autotest_lib.client.bin')
|
|
harness_instance = getattr(harness_module, harness_name)(job, harness_args)
|
|
|
|
return harness_instance
|