summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorTim Graham <timograham@gmail.com>2014-01-22 14:09:02 -0500
committerTim Graham <timograham@gmail.com>2014-01-28 08:31:02 -0500
commit2b6914049a882e2f1b398baf54940e815b85a90a (patch)
tree82803ffd89c598416b3f915b91b600281027ac79 /tests
parent3e4dc5ecf25aa2b38eed73472899f0de5a319c04 (diff)
Fixed #21849 -- Included the count of silenced system checks in output.
Diffstat (limited to 'tests')
-rw-r--r--tests/admin_scripts/tests.py8
-rw-r--r--tests/check_framework/tests.py50
-rw-r--r--tests/logging_tests/tests.py2
3 files changed, 47 insertions, 13 deletions
diff --git a/tests/admin_scripts/tests.py b/tests/admin_scripts/tests.py
index f1a4d55521..19be4a3372 100644
--- a/tests/admin_scripts/tests.py
+++ b/tests/admin_scripts/tests.py
@@ -1124,7 +1124,7 @@ class ManageCheck(AdminScriptTestCase):
args = ['check']
out, err = self.run_manage(args)
self.assertNoOutput(err)
- self.assertEqual(out, 'System check identified no issues.\n')
+ self.assertEqual(out, 'System check identified no issues (0 silenced).\n')
def test_app_with_import(self):
""" manage.py check does not raise errors when an app imports a base
@@ -1139,7 +1139,7 @@ class ManageCheck(AdminScriptTestCase):
args = ['check']
out, err = self.run_manage(args)
self.assertNoOutput(err)
- self.assertEqual(out, 'System check identified no issues.\n')
+ self.assertEqual(out, 'System check identified no issues (0 silenced).\n')
def test_output_format(self):
""" All errors/warnings should be sorted by level and by message. """
@@ -1163,7 +1163,7 @@ class ManageCheck(AdminScriptTestCase):
"obj: First warning\n"
"\tHINT: Hint\n"
"\n"
- "System check identified 3 issues.\n"
+ "System check identified 3 issues (0 silenced).\n"
)
self.assertEqual(err, expected_err)
self.assertNoOutput(out)
@@ -1191,7 +1191,7 @@ class ManageCheck(AdminScriptTestCase):
"WARNINGS:\n"
"?: A warning\n"
"\n"
- "System check identified 1 issue.\n"
+ "System check identified 1 issue (0 silenced).\n"
)
self.assertEqual(err, expected_err)
self.assertNoOutput(out)
diff --git a/tests/check_framework/tests.py b/tests/check_framework/tests.py
index 30e321b28b..c3ddc770e0 100644
--- a/tests/check_framework/tests.py
+++ b/tests/check_framework/tests.py
@@ -7,7 +7,7 @@ import sys
from django.apps import apps
from django.conf import settings
from django.core import checks
-from django.core.checks import Error
+from django.core.checks import Error, Warning
from django.core.checks.registry import CheckRegistry
from django.core.checks.compatibility.django_1_6_0 import check_1_6_compatibility
from django.core.management.base import CommandError
@@ -195,12 +195,22 @@ class CheckCommandTests(TestCase):
self.assertRaises(CommandError, call_command, 'check', tags=['missingtag'])
-def custom_system_check(app_configs, **kwargs):
+def custom_error_system_check(app_configs, **kwargs):
return [
Error(
'Error',
hint=None,
- id='mycheck.E001',
+ id='myerrorcheck.E001',
+ )
+ ]
+
+
+def custom_warning_system_check(app_configs, **kwargs):
+ return [
+ Warning(
+ 'Warning',
+ hint=None,
+ id='mywarningcheck.E001',
)
]
@@ -209,15 +219,39 @@ class SilencingCheckTests(TestCase):
def setUp(self):
self.old_stdout, self.old_stderr = sys.stdout, sys.stderr
- sys.stdout, sys.stderr = StringIO(), StringIO()
+ self.stdout, self.stderr = StringIO(), StringIO()
+ sys.stdout, sys.stderr = self.stdout, self.stderr
def tearDown(self):
sys.stdout, sys.stderr = self.old_stdout, self.old_stderr
- @override_settings(SILENCED_SYSTEM_CHECKS=['mycheck.E001'])
- @override_system_checks([custom_system_check])
- def test_simple(self):
+ @override_settings(SILENCED_SYSTEM_CHECKS=['myerrorcheck.E001'])
+ @override_system_checks([custom_error_system_check])
+ def test_silenced_error(self):
+ out = StringIO()
+ err = StringIO()
try:
- call_command('check')
+ call_command('check', stdout=out, stderr=err)
except CommandError:
self.fail("The mycheck.E001 check should be silenced.")
+ self.assertEqual(out.getvalue(), '')
+ self.assertEqual(
+ err.getvalue(),
+ 'System check identified some issues:\n\n'
+ 'ERRORS:\n'
+ '?: (myerrorcheck.E001) Error\n\n'
+ 'System check identified 1 issue (0 silenced).\n'
+ )
+
+ @override_settings(SILENCED_SYSTEM_CHECKS=['mywarningcheck.E001'])
+ @override_system_checks([custom_warning_system_check])
+ def test_silenced_warning(self):
+ out = StringIO()
+ err = StringIO()
+ try:
+ call_command('check', stdout=out, stderr=err)
+ except CommandError:
+ self.fail("The mycheck.E001 check should be silenced.")
+
+ self.assertEqual(out.getvalue(), 'System check identified no issues (1 silenced).\n')
+ self.assertEqual(err.getvalue(), '')
diff --git a/tests/logging_tests/tests.py b/tests/logging_tests/tests.py
index 0797b907cf..4140608f57 100644
--- a/tests/logging_tests/tests.py
+++ b/tests/logging_tests/tests.py
@@ -333,7 +333,7 @@ class SettingsConfigTest(AdminScriptTestCase):
# validate is just an example command to trigger settings configuration
out, err = self.run_manage(['validate'])
self.assertNoOutput(err)
- self.assertOutput(out, "System check identified no issues.")
+ self.assertOutput(out, "System check identified no issues (0 silenced).")
def dictConfig(config):