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:56 -0800
commitaf8e858c1596623ffcccedc57433a009455bc314 (patch)
tree401d591ee518b252a9d62757c4ad0beef38542b1 /tests/regressiontests/logging_tests
parent7c39e041b1e107f437f61e97a11ce9e011d9ad2b (diff)
[1.5.x] 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 f20a06f08e..a498510cfe 100644
--- a/tests/regressiontests/logging_tests/tests.py
+++ b/tests/regressiontests/logging_tests/tests.py
@@ -142,24 +142,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):