#964 closed defect (fixed)
python runtest.py doesn't run tests
Reported by: | Owned by: | Adrian Holovaty | |
---|---|---|---|
Component: | Tools | Version: | |
Severity: | normal | Keywords: | |
Cc: | Triage Stage: | Unreviewed | |
Has patch: | no | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description
paolo@lino:~/django_src/tests$ python runtests.py -v 2 Running tests with database 'postgresql' Creating test database The test database, django_test_db, already exists. Type 'yes' to delete it, or 'no' to cancel: yes Traceback (most recent call last): File "runtests.py", line 217, in ? t.run_tests() File "runtests.py", line 107, in run_tests cursor.execute("DROP DATABASE %s" % TEST_DATABASE_NAME) File "/usr/local/lib/python2.3/site-packages/django/core/db/base.py", line 10, in execute result = self.cursor.execute(sql, params) psycopg.ProgrammingError: ERROR: database "django_test_db" does not exist DROP DATABASE django_test_db
Initially it says that the test database already exist, then that does not exist, and this happens because cursor.execute("CREATE DATABASE %s" % TEST_DATABASE_NAME), surrounded by a try/except (the except is naked), raises an exception (psycopg.ProgrammingError: ERROR: source database "template1" is being accessed by other users) that will remain hidden behind another kind of problem. I hope my considerations make sense.
I don't know why this exception is raised, probably it is a problem in my setup (restarting postgres makes the testsuite run fine), but it would much better if the real source of the problem could at least emerge.
Thanks
(In [1520]) Fixed #964 -- Added helpful error message if there's a problem in running the unit tests. Thanks, paolo.