summaryrefslogtreecommitdiff
path: root/tests/test_runner/test_debug_sql.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_runner/test_debug_sql.py')
-rw-r--r--tests/test_runner/test_debug_sql.py27
1 files changed, 27 insertions, 0 deletions
diff --git a/tests/test_runner/test_debug_sql.py b/tests/test_runner/test_debug_sql.py
index 8c4cb6fef6..0e8e4207d6 100644
--- a/tests/test_runner/test_debug_sql.py
+++ b/tests/test_runner/test_debug_sql.py
@@ -25,6 +25,14 @@ class TestDebugSQL(unittest.TestCase):
Person.objects.filter(first_name='error').count()
raise Exception
+ class ErrorSetUpTestDataTest(TestCase):
+ @classmethod
+ def setUpTestData(cls):
+ raise Exception
+
+ def runTest(self):
+ pass
+
class PassingSubTest(TestCase):
def runTest(self):
with self.subTest():
@@ -107,3 +115,22 @@ class TestDebugSQL(unittest.TestCase):
'''FROM "test_runner_person" WHERE '''
'''"test_runner_person"."first_name" = 'subtest-pass';'''),
]
+
+ def test_setupclass_exception(self):
+ runner = DiscoverRunner(debug_sql=True, verbosity=0)
+ suite = runner.test_suite()
+ suite.addTest(self.ErrorSetUpTestDataTest())
+ old_config = runner.setup_databases()
+ stream = StringIO()
+ runner.test_runner(
+ verbosity=0,
+ stream=stream,
+ resultclass=runner.get_resultclass(),
+ ).run(suite)
+ runner.teardown_databases(old_config)
+ output = stream.getvalue()
+ self.assertIn(
+ 'ERROR: setUpClass '
+ '(test_runner.test_debug_sql.TestDebugSQL.ErrorSetUpTestDataTest)',
+ output,
+ )