Commit 47a11f25 authored by Tres Seaver's avatar Tres Seaver

Suppress expected DeprecationWarning output in test.

parent b27c3596
...@@ -25,6 +25,30 @@ else: ...@@ -25,6 +25,30 @@ else:
if not here: if not here:
here = os.getcwd() here = os.getcwd()
class WarningInterceptor:
_old_stderr = None
_our_stderr_stream = None
def _trap_warning_output( self ):
if self._old_stderr is not None:
return
import sys
from StringIO import StringIO
self._old_stderr = sys.stderr
self._our_stderr_stream = sys.stderr = StringIO()
def _free_warning_output( self ):
if self._old_stderr is None:
return
import sys
sys.stderr = self._old_stderr
# Test Classes # Test Classes
def readf(name): def readf(name):
...@@ -219,7 +243,7 @@ class TestPythonScriptErrors(PythonScriptTestBase): ...@@ -219,7 +243,7 @@ class TestPythonScriptErrors(PythonScriptTestBase):
f = self._newPS(defn + "\n" + asn % name) f = self._newPS(defn + "\n" + asn % name)
self.assertRaises(TypeError, f) self.assertRaises(TypeError, f)
class TestPythonScriptGlobals(PythonScriptTestBase): class TestPythonScriptGlobals(PythonScriptTestBase, WarningInterceptor):
def _exec(self, script, bound_names=None, args=None, kws=None): def _exec(self, script, bound_names=None, args=None, kws=None):
if args is None: if args is None:
args = () args = ()
...@@ -241,8 +265,10 @@ class TestPythonScriptGlobals(PythonScriptTestBase): ...@@ -241,8 +265,10 @@ class TestPythonScriptGlobals(PythonScriptTestBase):
def test_filepath(self): def test_filepath(self):
# This test is meant to raise a deprecation warning. # This test is meant to raise a deprecation warning.
# It used to fail mysteriously instead. # It used to fail mysteriously instead.
self._trap_warning_output()
f = self._filePS('filepath') f = self._filePS('filepath')
self.assertEqual(f(), [0]) self.assertEqual(f(), [0])
self._free_warning_output()
def test_suite(): def test_suite():
suite = unittest.TestSuite() suite = unittest.TestSuite()
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment