Prevented calling setup() inside catch_warnings
When django.setup() (and then configure_logging) is called inside catch_warnings, logging setup is negatively affected (notably warnings.showwarning definition).
This commit is contained in:
parent
1386075f62
commit
b2d78939d1
|
@ -91,8 +91,8 @@ class WarningLoggerTests(TestCase):
|
|||
"""
|
||||
def setUp(self):
|
||||
# If tests are invoke with "-Wall" (or any -W flag actually) then
|
||||
# warning logging gets disabled (see django/conf/__init__.py). However,
|
||||
# these tests expect warnings to be logged, so manually force warnings
|
||||
# warning logging gets disabled (see configure_logging in django/utils/log.py).
|
||||
# However, these tests expect warnings to be logged, so manually force warnings
|
||||
# to the logs. Use getattr() here because the logging capture state is
|
||||
# undocumented and (I assume) brittle.
|
||||
self._old_capture_state = bool(getattr(logging, '_warnings_showwarning', False))
|
||||
|
|
|
@ -125,10 +125,13 @@ def setup(verbosity, test_labels):
|
|||
handler = logging.StreamHandler()
|
||||
logger.addHandler(handler)
|
||||
|
||||
warnings.filterwarnings(
|
||||
'ignore',
|
||||
'django.contrib.comments is deprecated and will be removed before Django 1.8.',
|
||||
DeprecationWarning
|
||||
)
|
||||
# Load all the ALWAYS_INSTALLED_APPS.
|
||||
with warnings.catch_warnings():
|
||||
warnings.filterwarnings('ignore', 'django.contrib.comments is deprecated and will be removed before Django 1.8.', DeprecationWarning)
|
||||
django.setup()
|
||||
django.setup()
|
||||
|
||||
# Load all the test model apps.
|
||||
test_modules = get_test_modules()
|
||||
|
|
Loading…
Reference in New Issue