Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Fixes #2669 -- Added check on import of tests.py to differentiate bet…

…ween an absent tests.py, and an existent tests.py with an import error in it.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@3740 bcc190cf-cafb-0310-a4f2-bffc1f526a37
  • Loading branch information...
commit 36added124f73203f0d64a1a5b0f6e4bede35d85 1 parent 5b34781
@freakboy3742 freakboy3742 authored
Showing with 17 additions and 4 deletions.
  1. +17 −4 django/test/simple.py
View
21 django/test/simple.py
@@ -38,10 +38,23 @@ def build_suite(app_module):
except ValueError:
# No doc tests in tests.py
pass
- except ImportError:
- # No tests.py file for application
- pass
-
+ except ImportError, e:
+ # Couldn't import tests.py. Was it due to a missing file, or
+ # due to an import error in a tests.py that actually exists?
+ import os.path
+ from imp import find_module
+ try:
+ mod = find_module(TEST_MODULE, [os.path.dirname(app_module.__file__)])
+ except ImportError:
+ # 'tests' module doesn't exist. Move on.
+ pass
+ else:
+ # The module exists, so there must be an import error in the
+ # test module itself. We don't need the module; close the file
+ # handle returned by find_module.
+ mod[0].close()
+ raise
+
return suite
def run_tests(module_list, verbosity=1, extra_tests=[]):
Please sign in to comment.
Something went wrong with that request. Please try again.