From 33234aa8f718a4fd7a1535416cf4593414b60a13 Mon Sep 17 00:00:00 2001 From: Florian Apolloner Date: Tue, 26 Feb 2013 21:04:32 +0100 Subject: [PATCH] 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. --- tests/admin_scripts/tests.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/tests/admin_scripts/tests.py b/tests/admin_scripts/tests.py index b3d129b304..64c0105539 100644 --- a/tests/admin_scripts/tests.py +++ b/tests/admin_scripts/tests.py @@ -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