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 @@ -56,6 +57,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/regressiontests/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 tests/regressiontests/test_runner/tests.py +2 −1 Original line number Diff line number Diff line Loading @@ -298,7 +298,8 @@ class DeprecationDisplayTest(AdminScriptTestCase): def test_runner_deprecation_verbosity_default(self): args = ['test', '--settings=regressiontests.settings'] out, err = self.run_django_admin(args) self.assertTrue("DeprecationWarning: warning from test" in err) self.assertIn("DeprecationWarning: warning from test", err) self.assertIn("DeprecationWarning: module-level warning from deprecation_app", err) @unittest.skipIf(sys.version_info[:2] == (2, 6), "On Python 2.6, DeprecationWarnings are visible anyway") 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 @@ -56,6 +57,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/regressiontests/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
tests/regressiontests/test_runner/tests.py +2 −1 Original line number Diff line number Diff line Loading @@ -298,7 +298,8 @@ class DeprecationDisplayTest(AdminScriptTestCase): def test_runner_deprecation_verbosity_default(self): args = ['test', '--settings=regressiontests.settings'] out, err = self.run_django_admin(args) self.assertTrue("DeprecationWarning: warning from test" in err) self.assertIn("DeprecationWarning: warning from test", err) self.assertIn("DeprecationWarning: module-level warning from deprecation_app", err) @unittest.skipIf(sys.version_info[:2] == (2, 6), "On Python 2.6, DeprecationWarnings are visible anyway") Loading