From 09530e61a0035192ca8bcdebc5ead13d14c16eb0 Mon Sep 17 00:00:00 2001 From: Will Ayd Date: Fri, 1 Dec 2017 11:00:45 -0500 Subject: Fixed #28869 -- Made tagged test classes and methods inherit tags from parents. --- tests/test_runner/test_discover_runner.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'tests/test_runner') diff --git a/tests/test_runner/test_discover_runner.py b/tests/test_runner/test_discover_runner.py index d897344d16..5efcbe4f5d 100644 --- a/tests/test_runner/test_discover_runner.py +++ b/tests/test_runner/test_discover_runner.py @@ -198,3 +198,15 @@ class DiscoverRunnerTest(TestCase): self.assertEqual(runner.build_suite(['test_runner_apps.tagged.tests']).countTestCases(), 0) runner = DiscoverRunner(exclude_tags=['slow']) self.assertEqual(runner.build_suite(['test_runner_apps.tagged.tests']).countTestCases(), 0) + + def test_tag_inheritance(self): + def count_tests(**kwargs): + suite = DiscoverRunner(**kwargs).build_suite(['test_runner_apps.tagged.tests_inheritance']) + return suite.countTestCases() + + self.assertEqual(count_tests(tags=['foo']), 4) + self.assertEqual(count_tests(tags=['bar']), 2) + self.assertEqual(count_tests(tags=['baz']), 2) + self.assertEqual(count_tests(tags=['foo'], exclude_tags=['bar']), 2) + self.assertEqual(count_tests(tags=['foo'], exclude_tags=['bar', 'baz']), 1) + self.assertEqual(count_tests(exclude_tags=['foo']), 0) -- cgit v1.3