summaryrefslogtreecommitdiff
path: root/tests/regressiontests/logging_tests
diff options
context:
space:
mode:
authorPreston Holmes <preston@ptone.com>2013-01-02 16:00:39 -0800
committerPreston Holmes <preston@ptone.com>2013-01-09 08:19:22 -0800
commitcfa70d0c94a43d94e3ee48db87f2b88c29a862e1 (patch)
tree4600f21ce62f1b94d8264abcba2882c7fadb06bb /tests/regressiontests/logging_tests
parent1884868adcc6945afaf7a96e01d35eafb623b847 (diff)
Fixed #19546 - ensure that deprecation warnings are shown during tests
refs #18985
Diffstat (limited to 'tests/regressiontests/logging_tests')
-rw-r--r--tests/regressiontests/logging_tests/tests.py23
1 files changed, 15 insertions, 8 deletions
diff --git a/tests/regressiontests/logging_tests/tests.py b/tests/regressiontests/logging_tests/tests.py
index f9838949ab..b3d9f3b352 100644
--- a/tests/regressiontests/logging_tests/tests.py
+++ b/tests/regressiontests/logging_tests/tests.py
@@ -93,24 +93,31 @@ class WarningLoggerTests(TestCase):
and captured to the logging system
"""
def setUp(self):
+ # this convoluted setup is to avoid printing this deprecation to
+ # stderr during test running - as the test runner forces deprecations
+ # to be displayed at the global py.warnings level
self.logger = logging.getLogger('py.warnings')
- self.old_stream = self.logger.handlers[0].stream
+ self.outputs = []
+ self.old_streams = []
+ for handler in self.logger.handlers:
+ self.old_streams.append(handler.stream)
+ self.outputs.append(StringIO())
+ handler.stream = self.outputs[-1]
def tearDown(self):
- self.logger.handlers[0].stream = self.old_stream
+ for i, handler in enumerate(self.logger.handlers):
+ self.logger.handlers[i].stream = self.old_streams[i]
@override_settings(DEBUG=True)
def test_warnings_capture(self):
- output = StringIO()
- self.logger.handlers[0].stream = output
warnings.warn('Foo Deprecated', DeprecationWarning)
- self.assertTrue('Foo Deprecated' in force_text(output.getvalue()))
+ output = force_text(self.outputs[0].getvalue())
+ self.assertTrue('Foo Deprecated' in output)
def test_warnings_capture_debug_false(self):
- output = StringIO()
- self.logger.handlers[0].stream = output
warnings.warn('Foo Deprecated', DeprecationWarning)
- self.assertFalse('Foo Deprecated' in force_text(output.getvalue()))
+ output = force_text(self.outputs[0].getvalue())
+ self.assertFalse('Foo Deprecated' in output)
class CallbackFilterTest(TestCase):