Fixed #28973 -- Silenced copying/linking messages in collectstatic's default verbosity.

This commit is contained in:
Claude Paroz 2018-04-24 05:04:02 +02:00 committed by Tim Graham
parent d1413c5d70
commit 3aae43d800
3 changed files with 31 additions and 3 deletions

View File

@ -309,7 +309,7 @@ class Command(BaseCommand):
if self.dry_run: if self.dry_run:
self.log("Pretending to link '%s'" % source_path, level=1) self.log("Pretending to link '%s'" % source_path, level=1)
else: else:
self.log("Linking '%s'" % source_path, level=1) self.log("Linking '%s'" % source_path, level=2)
full_path = self.storage.path(prefixed_path) full_path = self.storage.path(prefixed_path)
try: try:
os.makedirs(os.path.dirname(full_path)) os.makedirs(os.path.dirname(full_path))
@ -348,7 +348,7 @@ class Command(BaseCommand):
if self.dry_run: if self.dry_run:
self.log("Pretending to copy '%s'" % source_path, level=1) self.log("Pretending to copy '%s'" % source_path, level=1)
else: 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: with source_storage.open(path) as source_file:
self.storage.save(prefixed_path, source_file) self.storage.save(prefixed_path, source_file)
self.copied_files.append(prefixed_path) self.copied_files.append(prefixed_path)

View File

@ -61,6 +61,8 @@ class CollectionTestCase(BaseStaticFilesMixin, SimpleTestCase):
is separated because some test cases need those asserts without is separated because some test cases need those asserts without
all these tests. all these tests.
""" """
run_collectstatic_in_setUp = True
def setUp(self): def setUp(self):
super().setUp() super().setUp()
temp_dir = tempfile.mkdtemp() temp_dir = tempfile.mkdtemp()
@ -68,6 +70,7 @@ class CollectionTestCase(BaseStaticFilesMixin, SimpleTestCase):
# rather than as a context manager # rather than as a context manager
self.patched_settings = self.settings(STATIC_ROOT=temp_dir) self.patched_settings = self.settings(STATIC_ROOT=temp_dir)
self.patched_settings.enable() self.patched_settings.enable()
if self.run_collectstatic_in_setUp:
self.run_collectstatic() self.run_collectstatic()
# Same comment as in runtests.teardown. # Same comment as in runtests.teardown.
self.addCleanup(shutil.rmtree, temp_dir) self.addCleanup(shutil.rmtree, temp_dir)

View File

@ -164,6 +164,31 @@ class TestCollection(TestDefaults, CollectionTestCase):
self.assertFileNotFound('test/CVS') 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): class TestCollectionClear(CollectionTestCase):
""" """
Test the ``--clear`` option of the ``collectstatic`` management command. Test the ``--clear`` option of the ``collectstatic`` management command.