summaryrefslogtreecommitdiff
path: root/tests/staticfiles_tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests/staticfiles_tests')
-rw-r--r--tests/staticfiles_tests/test_storage.py16
1 files changed, 12 insertions, 4 deletions
diff --git a/tests/staticfiles_tests/test_storage.py b/tests/staticfiles_tests/test_storage.py
index cdb6fd3c7e..9db449bf9d 100644
--- a/tests/staticfiles_tests/test_storage.py
+++ b/tests/staticfiles_tests/test_storage.py
@@ -13,7 +13,7 @@ from django.contrib.staticfiles import finders, storage
from django.contrib.staticfiles.management.commands.collectstatic import (
Command as CollectstaticCommand,
)
-from django.core.management import call_command
+from django.core.management import CommandError, call_command
from django.test import SimpleTestCase, override_settings
from .cases import CollectionTestCase
@@ -201,8 +201,10 @@ class TestHashedFiles:
def test_import_loop(self):
finders.get_finder.cache_clear()
err = StringIO()
- with self.assertRaisesMessage(RuntimeError, "Max post-process passes exceeded"):
+ msg = "Max post-process passes exceeded"
+ with self.assertRaisesMessage(CommandError, msg) as cm:
call_command("collectstatic", interactive=False, verbosity=0, stderr=err)
+ self.assertIsInstance(cm.exception.__cause__, RuntimeError)
self.assertEqual(
"Post-processing 'bar.css, foo.css' failed!\n\n", err.getvalue()
)
@@ -367,9 +369,14 @@ class TestHashedFiles:
"""
finders.get_finder.cache_clear()
err = StringIO()
- with self.assertRaises(Exception):
+ with self.assertRaises(CommandError) as cm:
call_command("collectstatic", interactive=False, verbosity=0, stderr=err)
self.assertEqual("Post-processing 'faulty.css' failed!\n\n", err.getvalue())
+ self.assertIsInstance(cm.exception.__cause__, ValueError)
+ exc_message = str(cm.exception)
+ self.assertIn("faulty.css", exc_message)
+ self.assertIn("missing.css", exc_message)
+ self.assertIn("1:", exc_message) # line 1 reported
self.assertPostCondition()
@override_settings(
@@ -379,8 +386,9 @@ class TestHashedFiles:
def test_post_processing_nonutf8(self):
finders.get_finder.cache_clear()
err = StringIO()
- with self.assertRaises(UnicodeDecodeError):
+ with self.assertRaises(CommandError) as cm:
call_command("collectstatic", interactive=False, verbosity=0, stderr=err)
+ self.assertIsInstance(cm.exception.__cause__, UnicodeDecodeError)
self.assertEqual("Post-processing 'nonutf8.css' failed!\n\n", err.getvalue())
self.assertPostCondition()