This parameter allows to pass extra configuration to
custom harness. This can be any string, whose content
has meaning for custom harness.
For example:
options to configure communication with custom server side

Signed-off-by: Jan Stancek <jstan...@redhat.com>
---
 client/bin/autotest              |    3 +++
 client/bin/harness.py            |    4 ++--
 client/bin/harness_ABAT.py       |    2 +-
 client/bin/harness_autoserv.py   |    2 +-
 client/bin/harness_simple.py     |    2 +-
 client/bin/harness_standalone.py |    2 +-
 client/bin/harness_unittest.py   |   15 +++++++++------
 client/bin/job.py                |    6 +++---
 client/bin/job_unittest.py       |   12 +++++++++---
 9 files changed, 30 insertions(+), 18 deletions(-)

diff --git a/client/bin/autotest b/client/bin/autotest
index e843b7f..28c6015 100755
--- a/client/bin/autotest
+++ b/client/bin/autotest
@@ -35,6 +35,9 @@ parser.add_option("-t", "--tag", dest="tag", type="string", 
default="default",
 parser.add_option("-H", "--harness", dest="harness", type="string", default='',
                         help="set the harness type")
 
+parser.add_option("-P", "--harness_args", dest="harness_args", type="string", 
default='',
+                        help="arguments delivered to harness")
+
 parser.add_option("-U", "--user", dest="user", type="string",
                         default='', help="set the job username")
 
diff --git a/client/bin/harness.py b/client/bin/harness.py
index bcb4f96..6265ca2 100644
--- a/client/bin/harness.py
+++ b/client/bin/harness.py
@@ -82,7 +82,7 @@ class harness(object):
         pass
 
 
-def select(which, job):
+def select(which, job, harness_args):
     if not which:
         which = 'standalone'
 
@@ -91,6 +91,6 @@ def select(which, job):
     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_instance = getattr(harness_module, harness_name)(job, harness_args)
 
     return harness_instance
diff --git a/client/bin/harness_ABAT.py b/client/bin/harness_ABAT.py
index 18459b8..4fdcf7b 100644
--- a/client/bin/harness_ABAT.py
+++ b/client/bin/harness_ABAT.py
@@ -45,7 +45,7 @@ class harness_ABAT(harness.harness):
                     The job object for this job
     """
 
-    def __init__(self, job):
+    def __init__(self, job, harness_args):
         """
                 job
                         The job object for this job
diff --git a/client/bin/harness_autoserv.py b/client/bin/harness_autoserv.py
index edab24f..94c4094 100644
--- a/client/bin/harness_autoserv.py
+++ b/client/bin/harness_autoserv.py
@@ -13,7 +13,7 @@ class harness_autoserv(harness.harness):
                     The job object for this job
     """
 
-    def __init__(self, job):
+    def __init__(self, job, harness_args):
         """
                 job
                         The job object for this job
diff --git a/client/bin/harness_simple.py b/client/bin/harness_simple.py
index 5ff90d4..3f2b49a 100644
--- a/client/bin/harness_simple.py
+++ b/client/bin/harness_simple.py
@@ -15,7 +15,7 @@ class harness_simple(harness.harness):
                     The job object for this job
     """
 
-    def __init__(self, job):
+    def __init__(self, job, harness_args):
         """
                 job
                         The job object for this job
diff --git a/client/bin/harness_standalone.py b/client/bin/harness_standalone.py
index 9730850..75a2da9 100644
--- a/client/bin/harness_standalone.py
+++ b/client/bin/harness_standalone.py
@@ -16,7 +16,7 @@ class harness_standalone(harness.harness):
                     The job object for this job
     """
 
-    def __init__(self, job):
+    def __init__(self, job, harness_args):
         """
                 job
                         The job object for this job
diff --git a/client/bin/harness_unittest.py b/client/bin/harness_unittest.py
index 908243f..a94af55 100755
--- a/client/bin/harness_unittest.py
+++ b/client/bin/harness_unittest.py
@@ -18,8 +18,9 @@ class harness_unittest(unittest.TestCase):
         job = object()
         self.god.stub_class(harness_standalone, "harness_standalone")
 
-        harness_standalone.harness_standalone.expect_new(job)
-        harness.select(None, job)
+        harness_args = ''
+        harness_standalone.harness_standalone.expect_new(job, harness_args)
+        harness.select(None, job, harness_args)
         self.god.check_playback()
 
 
@@ -27,8 +28,9 @@ class harness_unittest(unittest.TestCase):
         job = object()
         self.god.stub_class(harness_standalone, "harness_standalone")
 
-        harness_standalone.harness_standalone.expect_new(job)
-        harness.select('standalone', job)
+        harness_args = ''
+        harness_standalone.harness_standalone.expect_new(job, harness_args)
+        harness.select('standalone', job, harness_args)
         self.god.check_playback()
 
 
@@ -36,8 +38,9 @@ class harness_unittest(unittest.TestCase):
         job = object()
         self.god.stub_class(harness_ABAT, "harness_ABAT")
 
-        harness_ABAT.harness_ABAT.expect_new(job)
-        harness.select('ABAT', job)
+        harness_args = ''
+        harness_ABAT.harness_ABAT.expect_new(job, harness_args)
+        harness.select('ABAT', job, harness_args)
         self.god.check_playback()
 
 
diff --git a/client/bin/job.py b/client/bin/job.py
index 3e285c6..948f899 100644
--- a/client/bin/job.py
+++ b/client/bin/job.py
@@ -192,7 +192,7 @@ class base_client_job(base_job.base_job):
             if stored_harness:
                 selected_harness = stored_harness
 
-        self.harness = harness.select(selected_harness, self)
+        self.harness = harness.select(selected_harness, self, 
options.harness_args)
 
         # set up the status logger
         def client_job_record_hook(entry):
@@ -388,8 +388,8 @@ class base_client_job(base_job.base_job):
         self.control = os.path.abspath(control)
 
 
-    def harness_select(self, which):
-        self.harness = harness.select(which, self)
+    def harness_select(self, which, harness_args):
+        self.harness = harness.select(which, self, harness_args)
 
 
     def config_set(self, name, value):
diff --git a/client/bin/job_unittest.py b/client/bin/job_unittest.py
index 0e5aede..88fa272 100755
--- a/client/bin/job_unittest.py
+++ b/client/bin/job_unittest.py
@@ -82,6 +82,7 @@ class test_init_minimal_options(abstract_test_init, 
job_test_case):
             verbose = False
             cont = False
             harness = 'stub'
+            harness_args = None
             hostname = None
             user = None
             log = False
@@ -181,7 +182,8 @@ class test_base_job(unittest.TestCase):
         my_harness = self.god.create_mock_class(harness.harness,
                                                 'my_harness')
         harness.select.expect_call(None,
-                                   self.job).and_return(my_harness)
+                                   self.job,
+                                   None).and_return(my_harness)
 
         return resultdir, my_harness
 
@@ -237,6 +239,7 @@ class test_base_job(unittest.TestCase):
         options.tag = self.jobtag
         options.cont = cont
         options.harness = None
+        options.harness_args = None
         options.log = False
         options.verbose = False
         options.hostname = 'localhost'
@@ -277,6 +280,7 @@ class test_base_job(unittest.TestCase):
         options.tag = self.jobtag
         options.cont = False
         options.harness = None
+        options.harness_args = None
         options.log = False
         options.verbose = False
         options.hostname = 'localhost'
@@ -322,10 +326,12 @@ class test_base_job(unittest.TestCase):
 
         # record
         which = "which"
-        harness.select.expect_call(which, self.job).and_return(None)
+        harness_args = ''
+        harness.select.expect_call(which, self.job, 
+                                   harness_args).and_return(None)
 
         # run and test
-        self.job.harness_select(which)
+        self.job.harness_select(which, harness_args)
         self.god.check_playback()
 
 
-- 
1.7.1
_______________________________________________
Autotest mailing list
Autotest@test.kernel.org
http://test.kernel.org/cgi-bin/mailman/listinfo/autotest

Reply via email to