summaryrefslogtreecommitdiff
path: root/tests/test_runner
diff options
context:
space:
mode:
authorWill Ayd <william.ayd@icloud.com>2017-12-01 11:00:45 -0500
committerTim Graham <timograham@gmail.com>2018-01-08 20:57:33 -0500
commit09530e61a0035192ca8bcdebc5ead13d14c16eb0 (patch)
treecd9b31edf7f69adf3e64ae0e54e31a37e92914a5 /tests/test_runner
parentacd3baf2ae3f74846731447df66e8c3ce7a772f7 (diff)
Fixed #28869 -- Made tagged test classes and methods inherit tags from parents.
Diffstat (limited to 'tests/test_runner')
-rw-r--r--tests/test_runner/test_discover_runner.py12
1 files changed, 12 insertions, 0 deletions
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)