#6031 closed (fixed)
tests: Don't fail silently if TestCase._pre_setup() raises an exception
Reported by: | Owned by: | nobody | |
---|---|---|---|
Component: | Testing framework | Version: | dev |
Severity: | Keywords: | ||
Cc: | Triage Stage: | Unreviewed | |
Has patch: | yes | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description
Hi,
up to now the test runner ends without displaying the results,
if there is an exception in TestCase._pre_setup():
Creating test database... [cut] No fixtures found. temp /tmp/tmpacM5va EError: Database test_foo couldn't be flushed. Possible reasons: * The database isn't running or isn't configured correctly. * At least one of the expected database tables doesn't exist. * The SQL was invalid. Hint: Look at the output of 'django-admin.py sqlflush'. That's the SQL this command wasn't able to run. The full error: current transaction is aborted, commands ignored until end of transaction block
This small patch passes the exception of _pre_setup() to the results of the testcase.
Otherwise it is hard to get the real error. The database error in _pre_setup()
is caused by the first test case. The output, or runnging the output of
'django-admin.py sqlflush' does not help, since the error can be specific to the
testdatabase.
Please apply this small patch. All unittests pass after applying it.
Attachments (1)
Change History (3)
by , 17 years ago
Attachment: | testcases_exc_in_pre_setup.diff added |
---|
comment:1 by , 17 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
comment:2 by , 16 years ago
Cc: | removed |
---|
Note:
See TracTickets
for help on using tickets.
(In [7023]) Fixed #6031 -- Added error handling for _pre_test in django.test.TestCase; exceptions during pre-test setup are now reported as test failures, rather than crashing the entire test framework. Thanks, Thomas Guttler <hv@…>.