summaryrefslogtreecommitdiff
path: root/tests/regressiontests
diff options
context:
space:
mode:
authorRussell Keith-Magee <russell@keith-magee.com>2010-04-21 12:07:36 +0000
committerRussell Keith-Magee <russell@keith-magee.com>2010-04-21 12:07:36 +0000
commit0e996983d5457d56fcf9020bf87a069734985d65 (patch)
tree42e183df53c4b6cd45ae9c806615a7a80e29f9ec /tests/regressiontests
parent1982c8b73e7d09bef30fbf38eef4f7e706e598ae (diff)
[1.1.X] Fixed #13389 -- Ensured that the app_loading test clears out the app cache at the end of each test, so that it doesn't interact badly with flush and other introspected database commands. Thanks to Karen for the report, and Ramiro Morales for the debugging hints.
Backport of r13011 from trunk. git-svn-id: http://code.djangoproject.com/svn/django/branches/releases/1.1.X@13012 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'tests/regressiontests')
-rw-r--r--tests/regressiontests/app_loading/tests.py13
1 files changed, 11 insertions, 2 deletions
diff --git a/tests/regressiontests/app_loading/tests.py b/tests/regressiontests/app_loading/tests.py
index 198fa72bcf..111ed46925 100644
--- a/tests/regressiontests/app_loading/tests.py
+++ b/tests/regressiontests/app_loading/tests.py
@@ -1,10 +1,11 @@
+import copy
import os
import sys
import time
from unittest import TestCase
from django.conf import Settings
-from django.db.models.loading import load_app
+from django.db.models.loading import cache, load_app
__test__ = {"API_TESTS": """
Test the globbing of INSTALLED_APPS.
@@ -33,8 +34,16 @@ class EggLoadingTest(TestCase):
self.old_path = sys.path
self.egg_dir = '%s/eggs' % os.path.dirname(__file__)
+ # This test adds dummy applications to the app cache. These
+ # need to be removed in order to prevent bad interactions
+ # with the flush operation in other tests.
+ self.old_app_models = copy.deepcopy(cache.app_models)
+ self.old_app_store = copy.deepcopy(cache.app_store)
+
def tearDown(self):
sys.path = self.old_path
+ cache.app_models = self.old_app_models
+ cache.app_store = self.old_app_store
def test_egg1(self):
"""Models module can be loaded from an app in an egg"""
@@ -63,7 +72,7 @@ class EggLoadingTest(TestCase):
sys.path.append(egg_name)
models = load_app('omelet.app_no_models')
self.failUnless(models is None)
-
+
def test_egg5(self):
"""Loading an app from an egg that has an import error in its models module raises that error"""
egg_name = '%s/brokenapp.egg' % self.egg_dir