From: Waldemar Kozaczuk <[email protected]>
Committer: Nadav Har'El <[email protected]>
Branch: master
Enhance scripts/test.py to pass extra arguments to run.py
This patch enhances scripts/test.py to allow passing
extra arguments to run.py. This allows executing running
unit tests with different than default parameters.
See examples below how to run tests with different
virtio configuration:
./scripts/test.py --run_options '--virtio legacy'
./scripts/test.py --run_options '--virtio modern'
./scripts/test.py --run_options '--virtio modern -S'
Signed-off-by: Waldemar Kozaczuk <[email protected]>
Message-Id: <[email protected]>
---
diff --git a/scripts/test.py b/scripts/test.py
--- a/scripts/test.py
+++ b/scripts/test.py
@@ -57,6 +57,7 @@ def run_test(test):
start = time.time()
try:
+ test.set_run_py_args(run_py_args)
test.run()
except:
sys.stdout.write("Test %s FAILED\n" % test.name)
@@ -75,7 +76,7 @@ def run_tests_in_single_instance():
run(filter(lambda test: not isinstance(test, TestRunnerTest), tests))
blacklist_tests = ' '.join(blacklist)
- args = ["-s", "-e", "/testrunner.so -b %s" % (blacklist_tests)]
+ args = run_py_args + ["-s", "-e", "/testrunner.so -b %s" %
(blacklist_tests)]
if subprocess.call(["./scripts/run.py"] + args):
exit(1)
@@ -182,6 +183,11 @@ def main():
parser.add_argument("-s", "--single", action="store_true", help="run
as much tests as possible in a single OSv instance")
parser.add_argument("-n", "--nfs", action="store_true", help="run
nfs test in a single OSv instance")
parser.add_argument("--name", action="store", help="run all tests
whose names match given regular expression")
+ parser.add_argument("--run_options", action="store", help="pass extra
options to run.py")
cmdargs = parser.parse_args()
set_verbose_output(cmdargs.verbose)
+ if cmdargs.run_options != None:
+ run_py_args = cmdargs.run_options.split()
+ else:
+ run_py_args = []
main()
diff --git a/scripts/tests/testing.py b/scripts/tests/testing.py
--- a/scripts/tests/testing.py
+++ b/scripts/tests/testing.py
@@ -16,6 +16,10 @@ class TestFailed(Exception):
class Test(object):
def __init__(self, name):
self.name = name
+ self.run_py_args = []
+
+ def set_run_py_args(self, args):
+ self.run_py_args = args
def run(self):
pass
@@ -26,7 +30,7 @@ def __init__(self, name, command):
self.command = command
def run(self):
- run_command_in_guest(self.command).join()
+ run_command_in_guest(self.command,
run_py_args=self.run_py_args).join()
class test(Test):
"""
@@ -182,7 +186,7 @@ def run_command_in_guest(command, **kwargs):
class Guest(SupervisedProcess):
def __init__(self, args, forward=[], hold_with_poweroff=False,
show_output_on_error=True,
- scan_for_failed_to_load_object_error=True):
+ scan_for_failed_to_load_object_error=True,
run_py_args=[]):
run_script = os.path.join(osv_base, "scripts/run.py")
@@ -197,7 +201,7 @@ def __init__(self, args, forward=[],
hold_with_poweroff=False, show_output_on_er
args.extend(['--unsafe-cache'])
- SupervisedProcess.__init__(self, [run_script] + args,
+ SupervisedProcess.__init__(self, [run_script] + run_py_args + args,
show_output=_verbose_output,
show_output_on_error=show_output_on_error,
scan_for_failed_to_load_object_error=scan_for_failed_to_load_object_error)
--
You received this message because you are subscribed to the Google Groups "OSv
Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.