Test runner doesn't report import errors if models is a directory
|Reported by:||francis@…||Owned by:||nobody|
|Has patch:||no||Needs documentation:||no|
|Needs tests:||no||Patch needs improvement:||no|
Description (last modified by ramiro)
I have an application whose models module is a directory with models/__init__.py
That applications tests were mysteriously not being found or run when doing "./manage.py test".
On investigation, I found out this was because there was a syntax error in my test code, and that this wasn't reported because of a bug in django/test/simple.py
If import fails, it tries to find whether the test module is there with this code:
mod = find_module(TEST_MODULE, [os.path.dirname(app_module.__file__)])
Unfortunately, my app module file was models/__init__.pyc, so that code looked for the module within the models directory.
I don't understand the relationship between __import__ and find_module well enough to know what the fix it.