From 5d63bf0bc338840cfbb10f3528cc5b5ca3170f9b Mon Sep 17 00:00:00 2001 From: pablo Date: Thu, 26 Sep 2019 12:05:32 -0700 Subject: [PATCH] [3.0.x] Fixed #30802 -- Prevented manifest creation when running collectstatic in dry run mode. Backport of fa8fe09e4e2b538c5d50a559081861d5c0635d55 from master --- django/contrib/staticfiles/storage.py | 3 ++- tests/staticfiles_tests/test_management.py | 5 +++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/django/contrib/staticfiles/storage.py b/django/contrib/staticfiles/storage.py index 607c11b7d6..33b2f0d1fb 100644 --- a/django/contrib/staticfiles/storage.py +++ b/django/contrib/staticfiles/storage.py @@ -403,7 +403,8 @@ class ManifestFilesMixin(HashedFilesMixin): def post_process(self, *args, **kwargs): self.hashed_files = {} yield from super().post_process(*args, **kwargs) - self.save_manifest() + if not kwargs.get('dry_run'): + self.save_manifest() def save_manifest(self): payload = {'paths': self.hashed_files, 'version': self.manifest_version} diff --git a/tests/staticfiles_tests/test_management.py b/tests/staticfiles_tests/test_management.py index c89240915b..7630efbd9b 100644 --- a/tests/staticfiles_tests/test_management.py +++ b/tests/staticfiles_tests/test_management.py @@ -334,6 +334,11 @@ class TestCollectionDryRun(TestNoFilesCreated, CollectionTestCase): super().run_collectstatic(dry_run=True) +@override_settings(STATICFILES_STORAGE='django.contrib.staticfiles.storage.ManifestStaticFilesStorage') +class TestCollectionDryRunManifestStaticFilesStorage(TestCollectionDryRun): + pass + + class TestCollectionFilesOverride(CollectionTestCase): """ Test overriding duplicated files by ``collectstatic`` management command.