Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

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.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@13011 bcc190cf-cafb-0310-a4f2-bffc1f526a37
  • Loading branch information...
commit e8eac3290126d94580618cb4dac44cd2a7d258d6 1 parent b131561
Russell Keith-Magee freakboy3742 authored
Showing with 11 additions and 2 deletions.
  1. +11 −2 tests/regressiontests/app_loading/tests.py
13 tests/regressiontests/app_loading/tests.py
View
@@ -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 @@ def setUp(self):
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 @@ def test_egg4(self):
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
Please sign in to comment.
Something went wrong with that request. Please try again.