summaryrefslogtreecommitdiff
path: root/tests/test_utils
diff options
context:
space:
mode:
authorSimon Charette <charette.s@gmail.com>2016-09-12 22:06:31 -0400
committerSimon Charette <charette.s@gmail.com>2016-09-13 14:12:20 -0400
commit18c72d59e0807dae75ac2c34890d08c1e0972d0a (patch)
tree0f7059ab521c1e12402a0c9a3316290e9c4d6f19 /tests/test_utils
parent0627858ada32e13bafef74f9541dafd8c854ae25 (diff)
downloaddjango-18c72d59e0807dae75ac2c34890d08c1e0972d0a.tar.gz
Fixed #27214 -- Made skip db features decorators respect wrapping order and inheritance.
Diffstat (limited to 'tests/test_utils')
-rw-r--r--tests/test_utils/tests.py12
1 files changed, 10 insertions, 2 deletions
diff --git a/tests/test_utils/tests.py b/tests/test_utils/tests.py
index cd9b723a4e..1fb70e2aa3 100644
--- a/tests/test_utils/tests.py
+++ b/tests/test_utils/tests.py
@@ -106,20 +106,28 @@ class SkippingClassTestCase(SimpleTestCase):
def test_dummy(self):
return
+ @skipUnlessDBFeature("missing")
@skipIfDBFeature("__class__")
class SkippedTests(unittest.TestCase):
def test_will_be_skipped(self):
self.fail("We should never arrive here.")
+ @skipIfDBFeature("__dict__")
+ class SkippedTestsSubclass(SkippedTests):
+ pass
+
test_suite = unittest.TestSuite()
test_suite.addTest(NotSkippedTests('test_dummy'))
try:
test_suite.addTest(SkippedTests('test_will_be_skipped'))
+ test_suite.addTest(SkippedTestsSubclass('test_will_be_skipped'))
except unittest.SkipTest:
self.fail("SkipTest should not be raised at this stage")
result = unittest.TextTestRunner(stream=six.StringIO()).run(test_suite)
- self.assertEqual(result.testsRun, 2)
- self.assertEqual(len(result.skipped), 1)
+ self.assertEqual(result.testsRun, 3)
+ self.assertEqual(len(result.skipped), 2)
+ self.assertEqual(result.skipped[0][1], 'Database has feature(s) __class__')
+ self.assertEqual(result.skipped[1][1], 'Database has feature(s) __class__')
@override_settings(ROOT_URLCONF='test_utils.urls')