Loading django/conf/__init__.py +10 −8 Original line number Diff line number Diff line Loading @@ -8,6 +8,7 @@ a list of all possible variables. import logging import os import sys import time # Needed for Windows import warnings Loading Loading @@ -57,6 +58,7 @@ class LazySettings(LazyObject): """ Setup logging from LOGGING_CONFIG and LOGGING settings. """ if not sys.warnoptions: try: # Route warnings through python logging logging.captureWarnings(True) Loading django/core/management/commands/test.py +17 −0 Original line number Diff line number Diff line import logging import sys import os from optparse import make_option, OptionParser Loading @@ -6,6 +7,7 @@ from django.conf import settings from django.core.management.base import BaseCommand from django.test.utils import get_runner class Command(BaseCommand): option_list = BaseCommand.option_list + ( make_option('--noinput', Loading Loading @@ -57,6 +59,21 @@ class Command(BaseCommand): version=self.get_version(), option_list=options) def execute(self, *args, **options): if int(options['verbosity']) > 0: # ensure that deprecation warnings are displayed during testing # the following state is assumed: # logging.capturewarnings is true # a "default" level warnings filter has been added for # DeprecationWarning. See django.conf.LazySettings._configure_logging logger = logging.getLogger('py.warnings') handler = logging.StreamHandler() logger.addHandler(handler) super(Command, self).execute(*args, **options) if int(options['verbosity']) > 0: # remove the testing-specific handler logger.removeHandler(handler) def handle(self, *test_labels, **options): from django.conf import settings from django.test.utils import get_runner Loading django/test/simple.py +0 −13 Original line number Diff line number Diff line import logging import unittest as real_unittest from django.conf import settings Loading Loading @@ -366,19 +365,7 @@ class DjangoTestSuiteRunner(object): self.setup_test_environment() suite = self.build_suite(test_labels, extra_tests) old_config = self.setup_databases() if self.verbosity > 0: # ensure that deprecation warnings are displayed during testing # the following state is assumed: # logging.capturewarnings is true # a "default" level warnings filter has been added for # DeprecationWarning. See django.conf.LazySettings._configure_logging logger = logging.getLogger('py.warnings') handler = logging.StreamHandler() logger.addHandler(handler) result = self.run_suite(suite) if self.verbosity > 0: # remove the testing-specific handler logger.removeHandler(handler) self.teardown_databases(old_config) self.teardown_test_environment() return self.suite_result(suite, result) tests/runtests.py +9 −0 Original line number Diff line number Diff line #!/usr/bin/env python import logging import os import shutil import subprocess Loading Loading @@ -82,6 +83,14 @@ def setup(verbosity, test_labels): settings.LANGUAGE_CODE = 'en' settings.SITE_ID = 1 if verbosity > 0: # Ensure any warnings captured to logging are piped through a verbose # logging handler. If any -W options were passed explicitly on command # line, warnings are not captured, and this has no effect. logger = logging.getLogger('py.warnings') handler = logging.StreamHandler() logger.addHandler(handler) # Load all the ALWAYS_INSTALLED_APPS. get_apps() Loading tests/test_runner/deprecation_app/tests.py +2 −0 Original line number Diff line number Diff line Loading @@ -2,6 +2,8 @@ import warnings from django.test import TestCase warnings.warn("module-level warning from deprecation_app", DeprecationWarning) class DummyTest(TestCase): def test_warn(self): warnings.warn("warning from test", DeprecationWarning) Loading Loading
django/conf/__init__.py +10 −8 Original line number Diff line number Diff line Loading @@ -8,6 +8,7 @@ a list of all possible variables. import logging import os import sys import time # Needed for Windows import warnings Loading Loading @@ -57,6 +58,7 @@ class LazySettings(LazyObject): """ Setup logging from LOGGING_CONFIG and LOGGING settings. """ if not sys.warnoptions: try: # Route warnings through python logging logging.captureWarnings(True) Loading
django/core/management/commands/test.py +17 −0 Original line number Diff line number Diff line import logging import sys import os from optparse import make_option, OptionParser Loading @@ -6,6 +7,7 @@ from django.conf import settings from django.core.management.base import BaseCommand from django.test.utils import get_runner class Command(BaseCommand): option_list = BaseCommand.option_list + ( make_option('--noinput', Loading Loading @@ -57,6 +59,21 @@ class Command(BaseCommand): version=self.get_version(), option_list=options) def execute(self, *args, **options): if int(options['verbosity']) > 0: # ensure that deprecation warnings are displayed during testing # the following state is assumed: # logging.capturewarnings is true # a "default" level warnings filter has been added for # DeprecationWarning. See django.conf.LazySettings._configure_logging logger = logging.getLogger('py.warnings') handler = logging.StreamHandler() logger.addHandler(handler) super(Command, self).execute(*args, **options) if int(options['verbosity']) > 0: # remove the testing-specific handler logger.removeHandler(handler) def handle(self, *test_labels, **options): from django.conf import settings from django.test.utils import get_runner Loading
django/test/simple.py +0 −13 Original line number Diff line number Diff line import logging import unittest as real_unittest from django.conf import settings Loading Loading @@ -366,19 +365,7 @@ class DjangoTestSuiteRunner(object): self.setup_test_environment() suite = self.build_suite(test_labels, extra_tests) old_config = self.setup_databases() if self.verbosity > 0: # ensure that deprecation warnings are displayed during testing # the following state is assumed: # logging.capturewarnings is true # a "default" level warnings filter has been added for # DeprecationWarning. See django.conf.LazySettings._configure_logging logger = logging.getLogger('py.warnings') handler = logging.StreamHandler() logger.addHandler(handler) result = self.run_suite(suite) if self.verbosity > 0: # remove the testing-specific handler logger.removeHandler(handler) self.teardown_databases(old_config) self.teardown_test_environment() return self.suite_result(suite, result)
tests/runtests.py +9 −0 Original line number Diff line number Diff line #!/usr/bin/env python import logging import os import shutil import subprocess Loading Loading @@ -82,6 +83,14 @@ def setup(verbosity, test_labels): settings.LANGUAGE_CODE = 'en' settings.SITE_ID = 1 if verbosity > 0: # Ensure any warnings captured to logging are piped through a verbose # logging handler. If any -W options were passed explicitly on command # line, warnings are not captured, and this has no effect. logger = logging.getLogger('py.warnings') handler = logging.StreamHandler() logger.addHandler(handler) # Load all the ALWAYS_INSTALLED_APPS. get_apps() Loading
tests/test_runner/deprecation_app/tests.py +2 −0 Original line number Diff line number Diff line Loading @@ -2,6 +2,8 @@ import warnings from django.test import TestCase warnings.warn("module-level warning from deprecation_app", DeprecationWarning) class DummyTest(TestCase): def test_warn(self): warnings.warn("warning from test", DeprecationWarning) Loading