Beispiel #1
0
 def test_run_passes_args_fail(self):
     self.linux_source_mock.run_kernel = mock.Mock(return_value=[])
     with self.assertRaises(SystemExit) as e:
         kunit.main(['run'])
     self.assertEqual(e.exception.code, 1)
     self.assertEqual(self.linux_source_mock.build_reconfig.call_count, 1)
     self.assertEqual(self.linux_source_mock.run_kernel.call_count, 1)
     self.print_mock.assert_any_call(
         StrContains('could not find any KTAP output!'))
Beispiel #2
0
 def test_run_kernel_args(self):
     kunit.main(['run', '--kernel_args=a=1', '--kernel_args=b=2'])
     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.'))
Beispiel #3
0
	def test_config_kunitconfig(self, mock_linux_init):
		mock_linux_init.return_value = self.linux_source_mock
		kunit.main(['config', '--kunitconfig=mykunitconfig'])
		# Just verify that we parsed and initialized it correctly here.
		mock_linux_init.assert_called_once_with('.kunit',
							kunitconfig_path='mykunitconfig',
							arch='um',
							cross_compile=None,
							qemu_config_path=None)
Beispiel #4
0
 def test_exec_no_tests(self):
     self.linux_source_mock.run_kernel = mock.Mock(
         return_value=['TAP version 14', '1..0'])
     with self.assertRaises(SystemExit) as e:
         kunit.main(['run'])
     self.assertEqual(e.exception.code, 1)
     self.linux_source_mock.run_kernel.assert_called_once_with(
         args=None, build_dir='.kunit', filter_glob='', timeout=300)
     self.print_mock.assert_any_call(StrContains(' 0 tests run!'))
Beispiel #5
0
 def test_run_raw_output(self):
     self.linux_source_mock.run_kernel = mock.Mock(return_value=[])
     kunit.main(['run', '--raw_output'], self.linux_source_mock)
     self.assertEqual(self.linux_source_mock.build_reconfig.call_count, 1)
     self.assertEqual(self.linux_source_mock.run_kernel.call_count, 1)
     for call in self.print_mock.call_args_list:
         self.assertNotEqual(call,
                             mock.call(StrContains('Testing complete.')))
         self.assertNotEqual(call, mock.call(StrContains(' 0 tests run')))
Beispiel #6
0
 def test_run_passes_args_fail(self):
     self.linux_source_mock.run_kernel = mock.Mock(return_value=[])
     with self.assertRaises(SystemExit) as e:
         kunit.main(['run'], self.linux_source_mock)
     assert type(e.exception) == SystemExit
     assert e.exception.code == 1
     assert self.linux_source_mock.build_reconfig.call_count == 1
     assert self.linux_source_mock.run_kernel.call_count == 1
     self.print_mock.assert_any_call(StrContains(' 0 tests run'))
Beispiel #7
0
 def test_run_raw_output_does_not_take_positional_args(self):
     # --raw_output is a string flag, but we don't want it to consume
     # any positional arguments, only ones after an '='
     self.linux_source_mock.run_kernel = mock.Mock(return_value=[])
     kunit.main(['run', '--raw_output', 'filter_glob'])
     self.linux_source_mock.run_kernel.assert_called_once_with(
         args=None,
         build_dir='.kunit',
         filter_glob='filter_glob',
         timeout=300)
Beispiel #8
0
 def test_run_qemu_args(self):
     kunit.main(['run', '--arch=x86_64', '--qemu_args', '-m 2048'])
     # Just verify that we parsed and initialized it correctly here.
     self.mock_linux_init.assert_called_once_with(
         '.kunit',
         kunitconfig_paths=None,
         kconfig_add=None,
         arch='x86_64',
         cross_compile=None,
         qemu_config_path=None,
         extra_qemu_args=['-m', '2048'])
Beispiel #9
0
 def test_config_kunitconfig(self):
     kunit.main(['config', '--kunitconfig=mykunitconfig'])
     # Just verify that we parsed and initialized it correctly here.
     self.mock_linux_init.assert_called_once_with(
         '.kunit',
         kunitconfig_paths=['mykunitconfig'],
         kconfig_add=None,
         arch='um',
         cross_compile=None,
         qemu_config_path=None,
         extra_qemu_args=[])
Beispiel #10
0
	def test_run_isolated_by_suite(self, mock_tests):
		mock_tests.return_value = ['suite.test1', 'suite.test2', 'suite2.test1']
		kunit.main(['exec', '--run_isolated=suite', 'suite*.test*'], self.linux_source_mock)

		# Should respect the user's filter glob when listing tests.
		mock_tests.assert_called_once_with(mock.ANY,
				     kunit.KunitExecRequest(300, '.kunit', False, 'suite*.test*', None, 'suite'))
		self.linux_source_mock.run_kernel.assert_has_calls([
			mock.call(args=None, build_dir='.kunit', filter_glob='suite.test*', timeout=300),
			mock.call(args=None, build_dir='.kunit', filter_glob='suite2.test*', timeout=300),
		])
Beispiel #11
0
	def test_new_with_namespace(self):
		namespace_prefix = 'aspeed_i2c'
		kunit.main([
				'new',
				'--path', 'drivers/i2c/busses/i2c-aspeed.c',
				'--namespace_prefix', namespace_prefix],
			   self.linux_source_mock)
		assert self.linux_source_mock.build_reconfig.call_count == 0
		assert self.linux_source_mock.run_kernel.call_count == 0
		self.print_mock.assert_any_call(StrContains('i2c-aspeed'))
		self.print_mock.assert_any_call(StrContains('aspeed_i2c'))
Beispiel #12
0
 def test_run_multiple_kunitconfig(self, mock_linux_init):
     mock_linux_init.return_value = self.linux_source_mock
     kunit.main(
         ['run', '--kunitconfig=mykunitconfig', '--kunitconfig=other'])
     # Just verify that we parsed and initialized it correctly here.
     mock_linux_init.assert_called_once_with(
         '.kunit',
         kunitconfig_paths=['mykunitconfig', 'other'],
         kconfig_add=None,
         arch='um',
         cross_compile=None,
         qemu_config_path=None,
         extra_qemu_args=[])
Beispiel #13
0
 def test_run_kconfig_add(self, mock_linux_init):
     mock_linux_init.return_value = self.linux_source_mock
     kunit.main([
         'run', '--kconfig_add=CONFIG_KASAN=y',
         '--kconfig_add=CONFIG_KCSAN=y'
     ])
     # Just verify that we parsed and initialized it correctly here.
     mock_linux_init.assert_called_once_with(
         '.kunit',
         kunitconfig_path=None,
         kconfig_add=['CONFIG_KASAN=y', 'CONFIG_KCSAN=y'],
         arch='um',
         cross_compile=None,
         qemu_config_path=None)
Beispiel #14
0
 def test_run_kconfig_add(self):
     kunit.main([
         'run', '--kconfig_add=CONFIG_KASAN=y',
         '--kconfig_add=CONFIG_KCSAN=y'
     ])
     # Just verify that we parsed and initialized it correctly here.
     self.mock_linux_init.assert_called_once_with(
         '.kunit',
         kunitconfig_paths=None,
         kconfig_add=['CONFIG_KASAN=y', 'CONFIG_KCSAN=y'],
         arch='um',
         cross_compile=None,
         qemu_config_path=None,
         extra_qemu_args=[])
Beispiel #15
0
 def test_exec_passes_args_fail(self):
     self.linux_source_mock.run_kernel = mock.Mock(return_value=[])
     with self.assertRaises(SystemExit) as e:
         kunit.main(['exec'], self.linux_source_mock)
     assert type(e.exception) == SystemExit
     assert e.exception.code == 1
Beispiel #16
0
 def test_build_passes_args_pass(self):
     kunit.main(['build'], self.linux_source_mock)
     assert self.linux_source_mock.build_reconfig.call_count == 0
     self.linux_source_mock.build_um_kernel.assert_called_once_with(
         False, 8, '.kunit', None)
     assert self.linux_source_mock.run_kernel.call_count == 0
Beispiel #17
0
 def test_config_passes_args_pass(self):
     kunit.main(['config', '--build_dir=.kunit'], self.linux_source_mock)
     assert self.linux_source_mock.build_reconfig.call_count == 1
     assert self.linux_source_mock.run_kernel.call_count == 0
Beispiel #18
0
	def test_run_timeout(self):
		timeout = 3453
		kunit.main(['run', '--timeout', str(timeout)], self.linux_source_mock)
		assert self.linux_source_mock.build_reconfig.call_count == 1
		self.linux_source_mock.run_kernel.assert_called_once_with(timeout=timeout)
		self.print_mock.assert_any_call(StrContains('Testing complete.'))
Beispiel #19
0
	def test_run_passes_args_pass(self):
		kunit.main(['run'], self.linux_source_mock)
		assert self.linux_source_mock.build_reconfig.call_count == 1
		assert self.linux_source_mock.run_kernel.call_count == 1
		self.print_mock.assert_any_call(StrContains('Testing complete.'))
Beispiel #20
0
 def test_build_builddir(self):
     build_dir = '.kunit'
     jobs = kunit.get_default_jobs()
     kunit.main(['build', '--build_dir', build_dir], self.linux_source_mock)
     self.linux_source_mock.build_kernel.assert_called_once_with(
         False, jobs, build_dir, None)
Beispiel #21
0
 def test_run_raw_output_invalid(self):
     self.linux_source_mock.run_kernel = mock.Mock(return_value=[])
     with self.assertRaises(SystemExit) as e:
         kunit.main(['run', '--raw_output=invalid'], self.linux_source_mock)
Beispiel #22
0
 def test_build_passes_args_pass(self):
     kunit.main(['build'], self.linux_source_mock)
     self.assertEqual(self.linux_source_mock.build_reconfig.call_count, 1)
     self.linux_source_mock.build_kernel.assert_called_once_with(
         False, kunit.get_default_jobs(), '.kunit', None)
     self.assertEqual(self.linux_source_mock.run_kernel.call_count, 0)
Beispiel #23
0
 def test_build_builddir(self):
     build_dir = '.kunit'
     kunit.main(['build', '--build_dir', build_dir], self.linux_source_mock)
     self.linux_source_mock.build_um_kernel.assert_called_once_with(
         False, 8, build_dir, None)
Beispiel #24
0
 def test_exec_timeout(self):
     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', timeout=timeout)
     self.print_mock.assert_any_call(StrContains('Testing complete.'))
Beispiel #25
0
	def test_exec_passes_args_pass(self):
		kunit.main(['exec'], self.linux_source_mock)
		assert self.linux_source_mock.build_reconfig.call_count == 0
		assert self.linux_source_mock.run_kernel.call_count == 1
		self.linux_source_mock.run_kernel.assert_called_once_with(build_dir='.kunit', timeout=300)
		self.print_mock.assert_any_call(StrContains('Testing complete.'))
Beispiel #26
0
 def test_config_builddir(self):
     build_dir = '.kunit'
     kunit.main(['config', '--build_dir', build_dir],
                self.linux_source_mock)
     assert self.linux_source_mock.build_reconfig.call_count == 1
Beispiel #27
0
	def test_run_kunitconfig(self, mock_linux_init):
		mock_linux_init.return_value = self.linux_source_mock
		kunit.main(['run', '--kunitconfig=mykunitconfig'])
		# Just verify that we parsed and initialized it correctly here.
		mock_linux_init.assert_called_once_with('.kunit', kunitconfig_path='mykunitconfig')
Beispiel #28
0
 def test_exec_builddir(self):
     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, timeout=300)
     self.print_mock.assert_any_call(StrContains('Testing complete.'))
Beispiel #29
0
 def test_config_passes_args_pass(self):
     kunit.main(['config', '--build_dir=.kunit'])
     self.assertEqual(self.linux_source_mock.build_reconfig.call_count, 1)
     self.assertEqual(self.linux_source_mock.run_kernel.call_count, 0)