Lines Matching full:self
43 def test_is_subset_of(self): argument
45 self.assertTrue(kconfig0.is_subset_of(kconfig0))
49 self.assertTrue(kconfig1.is_subset_of(kconfig1))
50 self.assertTrue(kconfig0.is_subset_of(kconfig1))
51 self.assertFalse(kconfig1.is_subset_of(kconfig0))
53 def test_read_from_file(self): argument
65 self.assertEqual(kconfig, expected_kconfig)
67 def test_write_to_file(self): argument
80 self.assertEqual(actual_kconfig, expected_kconfig)
84 def assertContains(self, needle: str, haystack: kunit_parser.LineStream): argument
92 def test_output_isolated_correctly(self): argument
96 self.assertContains('TAP version 14', result)
97 self.assertContains('# Subtest: example', result)
98 self.assertContains('1..2', result)
99 self.assertContains('ok 1 - example_simple_test', result)
100 self.assertContains('ok 2 - example_mock_test', result)
101 self.assertContains('ok 1 - example', result)
103 def test_output_with_prefix_isolated_correctly(self): argument
107 self.assertContains('TAP version 14', result)
108 self.assertContains('# Subtest: kunit-resource-test', result)
109 self.assertContains('1..5', result)
110 self.assertContains('ok 1 - kunit_resource_test_init_resources', result)
111 self.assertContains('ok 2 - kunit_resource_test_alloc_resource', result)
112 self.assertContains('ok 3 - kunit_resource_test_destroy_resource', result)
113 self.assertContains('foo bar #', result)
114 self.assertContains('ok 4 - kunit_resource_test_cleanup_resources', result)
115 self.assertContains('ok 5 - kunit_resource_test_proper_free_ordering', result)
116 self.assertContains('ok 1 - kunit-resource-test', result)
117 self.assertContains('foo bar # non-kunit output', result)
118 self.assertContains('# Subtest: kunit-try-catch-test', result)
119 self.assertContains('1..2', result)
120 self.assertContains('ok 1 - kunit_test_try_catch_successful_try_no_catch',
122 self.assertContains('ok 2 - kunit_test_try_catch_unsuccessful_try_does_catch',
124 self.assertContains('ok 2 - kunit-try-catch-test', result)
125 self.assertContains('# Subtest: string-stream-test', result)
126 self.assertContains('1..3', result)
127 self.assertContains('ok 1 - string_stream_test_empty_on_creation', result)
128 self.assertContains('ok 2 - string_stream_test_not_empty_after_add', result)
129 self.assertContains('ok 3 - string_stream_test_get_string', result)
130 self.assertContains('ok 3 - string-stream-test', result)
132 def test_parse_successful_test_log(self): argument
136 self.assertEqual(
140 def test_parse_successful_nested_tests_log(self): argument
144 self.assertEqual(
148 def test_kselftest_nested(self): argument
152 self.assertEqual(
156 def test_parse_failed_test_log(self): argument
160 self.assertEqual(
164 def test_no_header(self): argument
169 self.assertEqual(0, len(result.subtests))
170 self.assertEqual(
174 def test_missing_test_plan(self): argument
182 self.assertEqual(0, result.counts.errors)
184 self.assertEqual(10, result.counts.total())
185 self.assertEqual(
189 def test_no_tests(self): argument
194 self.assertEqual(0, len(result.subtests))
195 self.assertEqual(
199 def test_no_tests_no_plan(self): argument
204 self.assertEqual(0, len(result.subtests[0].subtests[0].subtests))
205 self.assertEqual(
208 self.assertEqual(1, result.counts.errors)
211 def test_no_kunit_output(self): argument
219 self.assertEqual(0, len(result.subtests))
221 def test_skipped_test(self): argument
227 self.assertEqual(
231 def test_skipped_all_tests(self): argument
236 self.assertEqual(
240 def test_ignores_hyphen(self): argument
246 self.assertEqual(
249 self.assertEqual(
252 self.assertEqual(
258 def test_ignores_prefix_printk_time(self): argument
262 self.assertEqual(
265 self.assertEqual('kunit-resource-test', result.subtests[0].name)
267 def test_ignores_multiple_prefixes(self): argument
271 self.assertEqual(
274 self.assertEqual('kunit-resource-test', result.subtests[0].name)
276 def test_prefix_mixed_kernel_output(self): argument
280 self.assertEqual(
283 self.assertEqual('kunit-resource-test', result.subtests[0].name)
285 def test_prefix_poundsign(self): argument
289 self.assertEqual(
292 self.assertEqual('kunit-resource-test', result.subtests[0].name)
294 def test_kernel_panic_end(self): argument
298 self.assertEqual(
301 self.assertEqual('kunit-resource-test', result.subtests[0].name)
303 def test_pound_no_prefix(self): argument
307 self.assertEqual(
310 self.assertEqual('kunit-resource-test', result.subtests[0].name)
317 def test_basic(self): argument
320 self.assertTrue(stream, msg='Should be more input')
321 self.assertEqual(stream.line_number(), 1)
322 self.assertEqual(stream.peek(), 'hello')
323 self.assertEqual(stream.pop(), 'hello')
325 self.assertTrue(stream, msg='Should be more input')
326 self.assertEqual(stream.line_number(), 2)
327 self.assertEqual(stream.peek(), 'world')
328 self.assertEqual(stream.pop(), 'world')
330 self.assertFalse(stream, msg='Should be no more input')
331 with self.assertRaisesRegex(ValueError, 'LineStream: going past EOF'):
334 def test_is_lazy(self): argument
343 self.assertEqual(called_times, 0)
345 self.assertEqual(stream.pop(), '1')
346 self.assertEqual(called_times, 1)
348 self.assertEqual(stream.pop(), '2')
349 self.assertEqual(called_times, 2)
353 def setUp(self): argument
355 self.addCleanup(mock.patch.stopall)
357 def test_invalid_kunitconfig(self): argument
358 with self.assertRaisesRegex(kunit_kernel.ConfigError, 'nonexistent.* does not exist'):
361 def test_valid_kunitconfig(self): argument
365 def test_dir_kunitconfig(self): argument
371 def test_multiple_kunitconfig(self): argument
385 self.assertTrue(want_kconfig.is_subset_of(tree._kconfig), msg=tree._kconfig)
388 def test_multiple_kunitconfig_invalid(self): argument
396 with self.assertRaisesRegex(kunit_kernel.ConfigError, '(?s)Multiple values.*CONFIG_KUNIT'):
400 def test_kconfig_add(self): argument
405 self.assertTrue(want_kconfig.is_subset_of(tree._kconfig), msg=tree._kconfig)
407 def test_invalid_arch(self): argument
408 with self.assertRaisesRegex(kunit_kernel.ConfigError, 'not a valid arch, options are.*x86_64'):
411 def test_run_kernel_hits_exception(self): argument
419 with self.assertRaises(ValueError):
421 self.assertEqual(line, 'hi\n')
425 self.assertEqual(outfile.read(), 'hi\nbye\n', msg='Missing some output')
427 def test_build_reconfig_no_config(self): argument
440 self.assertTrue(tree.build_reconfig(build_dir, make_options=[]))
443 def test_build_reconfig_existing_config(self): argument
460 self.assertTrue(tree.build_reconfig(build_dir, make_options=[]))
461 self.assertEqual(mock_build_config.call_count, 0)
463 def test_build_reconfig_remove_option(self): argument
481 self.assertTrue(tree.build_reconfig(build_dir, make_options=[]))
489 def _json_for(self, log_file): argument
497 def test_failed_test_json(self): argument
498 result = self._json_for('test_is_test_passed-failure.log')
499 self.assertEqual(
503 def test_crashed_test_json(self): argument
504 result = self._json_for('test_kernel_panic_interrupt.log')
505 self.assertEqual(
509 def test_skipped_test_json(self): argument
510 result = self._json_for('test_skip_tests.log')
511 self.assertEqual(
515 def test_no_tests_json(self): argument
516 result = self._json_for('test_is_test_passed-no_tests_run_with_header.log')
517 self.assertEqual(0, len(result['sub_groups']))
519 def test_nested_json(self): argument
520 result = self._json_for('test_is_test_passed-all_passed_nested.log')
521 self.assertEqual(
526 def __eq__(self, other): argument
527 return self in other
530 def setUp(self): argument
535 self.print_mock = mock.patch('kunit_printer.Printer.print').start()
536 self.addCleanup(mock.patch.stopall)
538 self.mock_linux_init = mock.patch.object(kunit_kernel, 'LinuxSourceTree').start()
539 self.linux_source_mock = self.mock_linux_init.return_value
540 self.linux_source_mock.build_reconfig.return_value = True
541 self.linux_source_mock.build_kernel.return_value = True
542 self.linux_source_mock.run_kernel.return_value = all_passed_log
544 def test_config_passes_args_pass(self): argument
546 self.assertEqual(self.linux_source_mock.build_reconfig.call_count, 1)
547 self.assertEqual(self.linux_source_mock.run_kernel.call_count, 0)
549 def test_build_passes_args_pass(self): argument
551 self.assertEqual(self.linux_source_mock.build_reconfig.call_count, 1)
552 …self.linux_source_mock.build_kernel.assert_called_once_with(kunit.get_default_jobs(), '.kunit', No…
553 self.assertEqual(self.linux_source_mock.run_kernel.call_count, 0)
555 def test_exec_passes_args_pass(self): argument
557 self.assertEqual(self.linux_source_mock.build_reconfig.call_count, 0)
558 self.assertEqual(self.linux_source_mock.run_kernel.call_count, 1)
559 self.linux_source_mock.run_kernel.assert_called_once_with(
561 self.print_mock.assert_any_call(StrContains('Testing complete.'))
563 def test_run_passes_args_pass(self): argument
565 self.assertEqual(self.linux_source_mock.build_reconfig.call_count, 1)
566 self.assertEqual(self.linux_source_mock.run_kernel.call_count, 1)
567 self.linux_source_mock.run_kernel.assert_called_once_with(
569 self.print_mock.assert_any_call(StrContains('Testing complete.'))
571 def test_exec_passes_args_fail(self): argument
572 self.linux_source_mock.run_kernel = mock.Mock(return_value=[])
573 with self.assertRaises(SystemExit) as e:
575 self.assertEqual(e.exception.code, 1)
577 def test_run_passes_args_fail(self): argument
578 self.linux_source_mock.run_kernel = mock.Mock(return_value=[])
579 with self.assertRaises(SystemExit) as e:
581 self.assertEqual(e.exception.code, 1)
582 self.assertEqual(self.linux_source_mock.build_reconfig.call_count, 1)
583 self.assertEqual(self.linux_source_mock.run_kernel.call_count, 1)
584 self.print_mock.assert_any_call(StrContains('could not find any KTAP output!'))
586 def test_exec_no_tests(self): argument
587 self.linux_source_mock.run_kernel = mock.Mock(return_value=['TAP version 14', '1..0'])
588 with self.assertRaises(SystemExit) as e:
590 self.assertEqual(e.exception.code, 1)
591 self.linux_source_mock.run_kernel.assert_called_once_with(
593 self.print_mock.assert_any_call(StrContains(' 0 tests run!'))
595 def test_exec_raw_output(self): argument
596 self.linux_source_mock.run_kernel = mock.Mock(return_value=[])
598 self.assertEqual(self.linux_source_mock.run_kernel.call_count, 1)
599 for call in self.print_mock.call_args_list:
600 self.assertNotEqual(call, mock.call(StrContains('Testing complete.')))
601 self.assertNotEqual(call, mock.call(StrContains(' 0 tests run!')))
603 def test_run_raw_output(self): argument
604 self.linux_source_mock.run_kernel = mock.Mock(return_value=[])
606 self.assertEqual(self.linux_source_mock.build_reconfig.call_count, 1)
607 self.assertEqual(self.linux_source_mock.run_kernel.call_count, 1)
608 for call in self.print_mock.call_args_list:
609 self.assertNotEqual(call, mock.call(StrContains('Testing complete.')))
610 self.assertNotEqual(call, mock.call(StrContains(' 0 tests run!')))
612 def test_run_raw_output_kunit(self): argument
613 self.linux_source_mock.run_kernel = mock.Mock(return_value=[])
615 self.assertEqual(self.linux_source_mock.build_reconfig.call_count, 1)
616 self.assertEqual(self.linux_source_mock.run_kernel.call_count, 1)
617 for call in self.print_mock.call_args_list:
618 self.assertNotEqual(call, mock.call(StrContains('Testing complete.')))
619 self.assertNotEqual(call, mock.call(StrContains(' 0 tests run')))
621 def test_run_raw_output_invalid(self): argument
622 self.linux_source_mock.run_kernel = mock.Mock(return_value=[])
623 with self.assertRaises(SystemExit) as e:
625 self.assertNotEqual(e.exception.code, 0)
627 def test_run_raw_output_does_not_take_positional_args(self): argument
630 self.linux_source_mock.run_kernel = mock.Mock(return_value=[])
632 self.linux_source_mock.run_kernel.assert_called_once_with(
635 def test_exec_timeout(self): argument
638 self.linux_source_mock.run_kernel.assert_called_once_with(
640 self.print_mock.assert_any_call(StrContains('Testing complete.'))
642 def test_run_timeout(self): argument
645 self.assertEqual(self.linux_source_mock.build_reconfig.call_count, 1)
646 self.linux_source_mock.run_kernel.assert_called_once_with(
648 self.print_mock.assert_any_call(StrContains('Testing complete.'))
650 def test_run_builddir(self): argument
653 self.assertEqual(self.linux_source_mock.build_reconfig.call_count, 1)
654 self.linux_source_mock.run_kernel.assert_called_once_with(
656 self.print_mock.assert_any_call(StrContains('Testing complete.'))
658 def test_config_builddir(self): argument
661 self.assertEqual(self.linux_source_mock.build_reconfig.call_count, 1)
663 def test_build_builddir(self): argument
667 self.linux_source_mock.build_kernel.assert_called_once_with(jobs, build_dir, None)
669 def test_exec_builddir(self): argument
672 self.linux_source_mock.run_kernel.assert_called_once_with(
674 self.print_mock.assert_any_call(StrContains('Testing complete.'))
676 def test_run_kunitconfig(self): argument
679 self.mock_linux_init.assert_called_once_with('.kunit',
687 def test_config_kunitconfig(self): argument
690 self.mock_linux_init.assert_called_once_with('.kunit',
698 def test_config_alltests(self): argument
701 self.mock_linux_init.assert_called_once_with('.kunit',
711 def test_run_multiple_kunitconfig(self, mock_linux_init): argument
712 mock_linux_init.return_value = self.linux_source_mock
723 def test_run_kconfig_add(self): argument
726 self.mock_linux_init.assert_called_once_with('.kunit',
734 def test_run_qemu_args(self): argument
737 self.mock_linux_init.assert_called_once_with('.kunit',
745 def test_run_kernel_args(self): argument
747 self.assertEqual(self.linux_source_mock.build_reconfig.call_count, 1)
748 self.linux_source_mock.run_kernel.assert_called_once_with(
750 self.print_mock.assert_any_call(StrContains('Testing complete.'))
752 def test_list_tests(self): argument
754 self.linux_source_mock.run_kernel.return_value = ['TAP version 14', 'init: random output'] + want
756 got = kunit._list_tests(self.linux_source_mock,
759 self.assertEqual(got, want)
761 self.linux_source_mock.run_kernel.assert_called_once_with(
766 def test_run_isolated_by_suite(self, mock_tests): argument
773 self.linux_source_mock.run_kernel.assert_has_calls([
779 def test_run_isolated_by_test(self, mock_tests): argument
786 self.linux_source_mock.run_kernel.assert_has_calls([