Fixed discovery of the Django installation during tests.

If Django was symlinked into site-packages the previous approach to discover
the tests subdirectory would fail. The revised version now always points to
the location of the source and not the import path.
This commit is contained in:
Florian Apolloner 2013-02-26 21:04:32 +01:00
parent 0fe11fca40
commit 33234aa8f7
1 changed files with 6 additions and 3 deletions

View File

@ -106,9 +106,12 @@ class AdminScriptTestCase(unittest.TestCase):
def run_test(self, script, args, settings_file=None, apps=None):
project_dir = test_dir
base_dir = os.path.dirname(test_dir)
import django
django_dir = os.path.dirname(os.path.dirname(django.__file__))
tests_dir = os.path.join(django_dir, 'tests')
# The base dir for Django's tests is one level up.
tests_dir = os.path.dirname(os.path.dirname(__file__))
# The base dir for Django is one level above the test dir. We don't use
# `import django` to figure that out, so we don't pick up a Django
# from site-packages or similar.
django_dir = os.path.dirname(tests_dir)
ext_backend_base_dirs = self._ext_backend_paths()
# Remember the old environment