kunit: tool: add --kernel_args to allow setting module params
kunit.py currently does not make it possible for users to specify module
parameters (/kernel arguments more generally) unless one directly tweaks
the kunit.py code itself.
This hasn't mattered much so far, but this would make it easier to port
existing tests that expose module parameters over to KUnit and/or let
current KUnit tests take advantage of them.
Tested using an kunit internal parameter:
$ ./tools/testing/kunit/kunit.py run --kunitconfig=lib/kunit \
--kernel_args=kunit.filter_glob=kunit_status
...
Testing complete. 2 tests run. 0 failed. 0 crashed. 0 skipped.
Signed-off-by: Daniel Latypov <dlatypov@google.com>
Reviewed-by: David Gow <davidgow@google.com>
Reviewed-by: Brendan Higgins <brendanhiggins@google.com>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
This commit is contained in:
committed by
Shuah Khan
parent
1195505f5d
commit
6cb51a1874
@@ -356,7 +356,7 @@ class KUnitMainTest(unittest.TestCase):
|
||||
self.assertEqual(self.linux_source_mock.build_reconfig.call_count, 0)
|
||||
self.assertEqual(self.linux_source_mock.run_kernel.call_count, 1)
|
||||
self.linux_source_mock.run_kernel.assert_called_once_with(
|
||||
build_dir='.kunit', filter_glob='', timeout=300)
|
||||
args=None, build_dir='.kunit', filter_glob='', timeout=300)
|
||||
self.print_mock.assert_any_call(StrContains('Testing complete.'))
|
||||
|
||||
def test_run_passes_args_pass(self):
|
||||
@@ -364,7 +364,7 @@ class KUnitMainTest(unittest.TestCase):
|
||||
self.assertEqual(self.linux_source_mock.build_reconfig.call_count, 1)
|
||||
self.assertEqual(self.linux_source_mock.run_kernel.call_count, 1)
|
||||
self.linux_source_mock.run_kernel.assert_called_once_with(
|
||||
build_dir='.kunit', filter_glob='', timeout=300)
|
||||
args=None, build_dir='.kunit', filter_glob='', timeout=300)
|
||||
self.print_mock.assert_any_call(StrContains('Testing complete.'))
|
||||
|
||||
def test_exec_passes_args_fail(self):
|
||||
@@ -403,7 +403,7 @@ class KUnitMainTest(unittest.TestCase):
|
||||
timeout = 3453
|
||||
kunit.main(['exec', '--timeout', str(timeout)], self.linux_source_mock)
|
||||
self.linux_source_mock.run_kernel.assert_called_once_with(
|
||||
build_dir='.kunit', filter_glob='', timeout=timeout)
|
||||
args=None, build_dir='.kunit', filter_glob='', timeout=timeout)
|
||||
self.print_mock.assert_any_call(StrContains('Testing complete.'))
|
||||
|
||||
def test_run_timeout(self):
|
||||
@@ -411,7 +411,7 @@ class KUnitMainTest(unittest.TestCase):
|
||||
kunit.main(['run', '--timeout', str(timeout)], self.linux_source_mock)
|
||||
self.assertEqual(self.linux_source_mock.build_reconfig.call_count, 1)
|
||||
self.linux_source_mock.run_kernel.assert_called_once_with(
|
||||
build_dir='.kunit', filter_glob='', timeout=timeout)
|
||||
args=None, build_dir='.kunit', filter_glob='', timeout=timeout)
|
||||
self.print_mock.assert_any_call(StrContains('Testing complete.'))
|
||||
|
||||
def test_run_builddir(self):
|
||||
@@ -419,7 +419,7 @@ class KUnitMainTest(unittest.TestCase):
|
||||
kunit.main(['run', '--build_dir=.kunit'], self.linux_source_mock)
|
||||
self.assertEqual(self.linux_source_mock.build_reconfig.call_count, 1)
|
||||
self.linux_source_mock.run_kernel.assert_called_once_with(
|
||||
build_dir=build_dir, filter_glob='', timeout=300)
|
||||
args=None, build_dir=build_dir, filter_glob='', timeout=300)
|
||||
self.print_mock.assert_any_call(StrContains('Testing complete.'))
|
||||
|
||||
def test_config_builddir(self):
|
||||
@@ -436,7 +436,7 @@ class KUnitMainTest(unittest.TestCase):
|
||||
build_dir = '.kunit'
|
||||
kunit.main(['exec', '--build_dir', build_dir], self.linux_source_mock)
|
||||
self.linux_source_mock.run_kernel.assert_called_once_with(
|
||||
build_dir=build_dir, filter_glob='', timeout=300)
|
||||
args=None, build_dir=build_dir, filter_glob='', timeout=300)
|
||||
self.print_mock.assert_any_call(StrContains('Testing complete.'))
|
||||
|
||||
@mock.patch.object(kunit_kernel, 'LinuxSourceTree')
|
||||
@@ -461,5 +461,13 @@ class KUnitMainTest(unittest.TestCase):
|
||||
cross_compile=None,
|
||||
qemu_config_path=None)
|
||||
|
||||
def test_run_kernel_args(self):
|
||||
kunit.main(['run', '--kernel_args=a=1', '--kernel_args=b=2'], self.linux_source_mock)
|
||||
self.assertEqual(self.linux_source_mock.build_reconfig.call_count, 1)
|
||||
self.linux_source_mock.run_kernel.assert_called_once_with(
|
||||
args=['a=1','b=2'], build_dir='.kunit', filter_glob='', timeout=300)
|
||||
self.print_mock.assert_any_call(StrContains('Testing complete.'))
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
|
||||
Reference in New Issue
Block a user