summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Gaynor <alex.gaynor@gmail.com>2010-10-30 23:39:53 +0000
committerAlex Gaynor <alex.gaynor@gmail.com>2010-10-30 23:39:53 +0000
commitaa951eb8ea5e3986ed8b76f55f5f4741eec0e717 (patch)
tree950dbf5584bdf0f553f45c3c28fe76f5685b30b4
parent03b12ae2cf75ddd61f3cdd99054ccd9ea91f6d55 (diff)
Ensure that the staticfiles tests use the MEDIA_ROOT they intended, also use a more approrpiate datastructure in collectstatic.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@14401 bcc190cf-cafb-0310-a4f2-bffc1f526a37
-rw-r--r--django/contrib/staticfiles/management/commands/collectstatic.py14
-rw-r--r--tests/regressiontests/staticfiles_tests/tests.py8
2 files changed, 14 insertions, 8 deletions
diff --git a/django/contrib/staticfiles/management/commands/collectstatic.py b/django/contrib/staticfiles/management/commands/collectstatic.py
index aae6bee10e..daf7ab26f0 100644
--- a/django/contrib/staticfiles/management/commands/collectstatic.py
+++ b/django/contrib/staticfiles/management/commands/collectstatic.py
@@ -39,9 +39,9 @@ class Command(NoArgsCommand):
if options['use_default_ignore_patterns']:
ignore_patterns += ['CVS', '.*', '*~']
ignore_patterns = list(set(ignore_patterns))
- self.copied_files = []
- self.symlinked_files = []
- self.unmodified_files = []
+ self.copied_files = set()
+ self.symlinked_files = set()
+ self.unmodified_files = set()
self.destination_storage = get_storage_class(settings.STATICFILES_STORAGE)()
try:
@@ -124,14 +124,14 @@ Type 'yes' to continue, or 'no' to cancel: """)
# storage doesn't support ``modified_time`` or failed.
pass
else:
- destination_is_link= os.path.islink(
+ destination_is_link = os.path.islink(
self.destination_storage.path(destination))
if destination_last_modified == source_last_modified:
if (not symlink and not destination_is_link):
if verbosity >= 2:
self.stdout.write("Skipping '%s' (not modified)\n"
% destination)
- self.unmodified_files.append(destination)
+ self.unmodified_files.add(destination)
return False
if dry_run:
if verbosity >= 2:
@@ -157,7 +157,7 @@ Type 'yes' to continue, or 'no' to cancel: """)
except OSError:
pass
os.symlink(source_path, destination_path)
- self.symlinked_files.append(destination)
+ self.symlinked_files.add(destination)
else:
if dry_run:
if verbosity >= 1:
@@ -180,5 +180,5 @@ Type 'yes' to continue, or 'no' to cancel: """)
if verbosity >= 1:
self.stdout.write("Copying %s to %s\n"
% (source_path, destination))
- self.copied_files.append(destination)
+ self.copied_files.add(destination)
return True
diff --git a/tests/regressiontests/staticfiles_tests/tests.py b/tests/regressiontests/staticfiles_tests/tests.py
index 6999b7af30..0a6c060664 100644
--- a/tests/regressiontests/staticfiles_tests/tests.py
+++ b/tests/regressiontests/staticfiles_tests/tests.py
@@ -7,12 +7,13 @@ from StringIO import StringIO
from django.test import TestCase
from django.conf import settings
+from django.contrib.staticfiles import finders, storage
+from django.core.files.storage import default_storage
from django.core.exceptions import ImproperlyConfigured
from django.core.management import call_command
from django.db.models.loading import load_app
from django.template import Template, Context
-from django.contrib.staticfiles import finders, storage
TEST_ROOT = os.path.dirname(__file__)
@@ -54,6 +55,11 @@ class StaticFilesTestCase(TestCase):
"regressiontests.staticfiles_tests",
]
+ # Clear the cached default_storage out, this is because when it first
+ # gets accessed (by some other test), it evaluates settings.MEDIA_ROOT,
+ # since we're planning on changing that we need to clear out the cache.
+ default_storage._wrapped = None
+
def tearDown(self):
settings.DEBUG = self.old_debug
settings.MEDIA_ROOT = self.old_media_root