From 3aae43d800a15db308cea0ea69729122c5c1d215 Mon Sep 17 00:00:00 2001 From: Claude Paroz Date: Tue, 24 Apr 2018 05:04:02 +0200 Subject: [PATCH] Fixed #28973 -- Silenced copying/linking messages in collectstatic's default verbosity. --- .../management/commands/collectstatic.py | 4 +-- tests/staticfiles_tests/cases.py | 5 +++- tests/staticfiles_tests/test_management.py | 25 +++++++++++++++++++ 3 files changed, 31 insertions(+), 3 deletions(-) diff --git a/django/contrib/staticfiles/management/commands/collectstatic.py b/django/contrib/staticfiles/management/commands/collectstatic.py index 26b1433a925..980a63fe1c4 100644 --- a/django/contrib/staticfiles/management/commands/collectstatic.py +++ b/django/contrib/staticfiles/management/commands/collectstatic.py @@ -309,7 +309,7 @@ class Command(BaseCommand): if self.dry_run: self.log("Pretending to link '%s'" % source_path, level=1) else: - self.log("Linking '%s'" % source_path, level=1) + self.log("Linking '%s'" % source_path, level=2) full_path = self.storage.path(prefixed_path) try: os.makedirs(os.path.dirname(full_path)) @@ -348,7 +348,7 @@ class Command(BaseCommand): if self.dry_run: self.log("Pretending to copy '%s'" % source_path, level=1) else: - self.log("Copying '%s'" % source_path, level=1) + self.log("Copying '%s'" % source_path, level=2) with source_storage.open(path) as source_file: self.storage.save(prefixed_path, source_file) self.copied_files.append(prefixed_path) diff --git a/tests/staticfiles_tests/cases.py b/tests/staticfiles_tests/cases.py index 918ec4f99e4..d4a48ce7142 100644 --- a/tests/staticfiles_tests/cases.py +++ b/tests/staticfiles_tests/cases.py @@ -61,6 +61,8 @@ class CollectionTestCase(BaseStaticFilesMixin, SimpleTestCase): is separated because some test cases need those asserts without all these tests. """ + run_collectstatic_in_setUp = True + def setUp(self): super().setUp() temp_dir = tempfile.mkdtemp() @@ -68,7 +70,8 @@ class CollectionTestCase(BaseStaticFilesMixin, SimpleTestCase): # rather than as a context manager self.patched_settings = self.settings(STATIC_ROOT=temp_dir) self.patched_settings.enable() - self.run_collectstatic() + if self.run_collectstatic_in_setUp: + self.run_collectstatic() # Same comment as in runtests.teardown. self.addCleanup(shutil.rmtree, temp_dir) diff --git a/tests/staticfiles_tests/test_management.py b/tests/staticfiles_tests/test_management.py index 0d115d85965..1472c7a4887 100644 --- a/tests/staticfiles_tests/test_management.py +++ b/tests/staticfiles_tests/test_management.py @@ -164,6 +164,31 @@ class TestCollection(TestDefaults, CollectionTestCase): self.assertFileNotFound('test/CVS') +class TestCollectionVerbosity(CollectionTestCase): + copying_msg = 'Copying ' + run_collectstatic_in_setUp = False + staticfiles_copied_msg = 'static files copied to' + + def test_verbosity_0(self): + stdout = StringIO() + self.run_collectstatic(verbosity=0, stdout=stdout) + self.assertEqual(stdout.getvalue(), '') + + def test_verbosity_1(self): + stdout = StringIO() + self.run_collectstatic(verbosity=1, stdout=stdout) + output = stdout.getvalue() + self.assertIn(self.staticfiles_copied_msg, output) + self.assertNotIn(self.copying_msg, output) + + def test_verbosity_2(self): + stdout = StringIO() + self.run_collectstatic(verbosity=2, stdout=stdout) + output = stdout.getvalue() + self.assertIn(self.staticfiles_copied_msg, output) + self.assertIn(self.copying_msg, output) + + class TestCollectionClear(CollectionTestCase): """ Test the ``--clear`` option of the ``collectstatic`` management command.