Isn't a try: ... finally: ... needed here?
Florent
Tres Seaver wrote:
Log message for revision 40329:
Suppress expected DeprecationWarning output in test.
Changed:
U Zope/trunk/lib/python/Products/PythonScripts/tests/testPythonScript.py
-=-
Modified: Zope/trunk/lib/python/Products/PythonScripts/tests/testPythonScript.py
===
--- Zope/trunk/lib/python/Products/PythonScripts/tests/testPythonScript.py
2005-11-22 18:18:17 UTC (rev 40328)
+++ Zope/trunk/lib/python/Products/PythonScripts/tests/testPythonScript.py
2005-11-22 18:18:36 UTC (rev 40329)
@@ -25,6 +25,30 @@
if not here:
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
def readf(name):
@@ -219,7 +243,7 @@
f = self._newPS(defn + \n + asn % name)
self.assertRaises(TypeError, f)
-class TestPythonScriptGlobals(PythonScriptTestBase):
+class TestPythonScriptGlobals(PythonScriptTestBase, WarningInterceptor):
def _exec(self, script, bound_names=None, args=None, kws=None):
if args is None:
args = ()
@@ -241,8 +265,10 @@
def test_filepath(self):
# This test is meant to raise a deprecation warning.
# It used to fail mysteriously instead.
+self._trap_warning_output()
f = self._filePS('filepath')
self.assertEqual(f(), [0])
+self._free_warning_output()
def test_suite():
suite = unittest.TestSuite()
___
Zope-Checkins maillist - Zope-Checkins@zope.org
http://mail.zope.org/mailman/listinfo/zope-checkins
--
Florent Guillaume, Nuxeo (Paris, France) Director of RD
+33 1 40 33 71 59 http://nuxeo.com [EMAIL PROTECTED]
___
Zope-Dev maillist - Zope-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zope-dev
** No cross posts or HTML encoding! **
(Related lists -
http://mail.zope.org/mailman/listinfo/zope-announce
http://mail.zope.org/mailman/listinfo/zope )