harness.py revision 849b11526149b9f94a52126d72bf0aba7fab03fb
1"""The harness interface 2 3The interface between the client and the server when hosted. 4""" 5 6__author__ = """Copyright Andy Whitcroft 2006""" 7 8import os, sys 9import common 10 11class harness(object): 12 """The NULL server harness 13 14 Properties: 15 job 16 The job object for this job 17 """ 18 19 def __init__(self, job): 20 """ 21 job 22 The job object for this job 23 """ 24 self.setup(job) 25 26 27 def setup(self, job): 28 """ 29 job 30 The job object for this job 31 """ 32 self.job = job 33 34 configd = os.path.join(os.environ['AUTODIR'], 'configs') 35 if os.path.isdir(configd): 36 (name, dirs, files) = os.walk(configd).next() 37 job.config_set('kernel.default_config_set', 38 [ configd + '/' ] + files) 39 40 41 def run_start(self): 42 """A run within this job is starting""" 43 pass 44 45 46 def run_pause(self): 47 """A run within this job is completing (expect continue)""" 48 pass 49 50 51 def run_reboot(self): 52 """A run within this job is performing a reboot 53 (expect continue following reboot) 54 """ 55 pass 56 57 58 def run_abort(self): 59 """A run within this job is aborting. It all went wrong""" 60 pass 61 62 63 def run_complete(self): 64 """A run within this job is completing (all done)""" 65 pass 66 67 68 def test_status(self, status, tag): 69 """A test within this job is completing""" 70 pass 71 72 73 def test_status_detail(self, code, subdir, operation, status, tag): 74 """A test within this job is completing (detail)""" 75 pass 76 77 78def select(which, job): 79 if not which: 80 which = 'standalone' 81 82 harness_name = 'harness_%s' % which 83 harness_module = common.setup_modules.import_module(harness_name, 84 'autotest_lib.client.bin') 85 harness_instance = getattr(harness_module, harness_name)(job) 86 87 return harness_instance 88