Author: Antonio Cuni <[email protected]>
Branch: resource_warning
Changeset: r83561:a2e023d51866
Date: 2016-04-07 11:10 +0200
http://bitbucket.org/pypy/pypy/changeset/a2e023d51866/

Log:    (antocuni, florinpapa): make the test even better

diff --git a/pypy/module/_file/test/test_file.py 
b/pypy/module/_file/test/test_file.py
--- a/pypy/module/_file/test/test_file.py
+++ b/pypy/module/_file/test/test_file.py
@@ -271,8 +271,10 @@
         import re
         if '__pypy__' not in sys.builtin_module_names:
             skip("pypy specific test")
-        def fn():
+        def fn(flag1, flag2):
+            sys.pypy_set_resource_warning(flag1)
             f = self.file(self.temppath, 'w')
+            sys.pypy_set_resource_warning(flag2)
             g = cStringIO.StringIO()
             preverr = sys.stderr
             try:
@@ -281,22 +283,27 @@
                 gc.collect() # force __del__ to be called
             finally:
                 sys.stderr = preverr
+                sys.pypy_set_resource_warning(False)
             return g.getvalue()
 
-        try:
-            sys.pypy_set_resource_warning(False)
-            assert fn() == ""
-            sys.pypy_set_resource_warning(True)
-            msg = fn()
-            assert self.regex_search(r"""
-            WARNING: unclosed file: <open file .*>
-            Created at \(most recent call last\):
-              File ".*", line .*, in test_resource_warning
-              File ".*", line .*, in fn
-              File ".*", line .*, in anonymous
-            """, msg)
-        finally:
-            sys.pypy_set_resource_warning(False)
+        # check with resource_warning disabled
+        assert fn(False, False) == ""
+        #
+        # check with resource_warning enabled
+        msg = fn(True, True)
+        assert self.regex_search(r"""
+        WARNING: unclosed file: <open file .*>
+        Created at \(most recent call last\):
+          File ".*", line .*, in test_resource_warning
+          File ".*", line .*, in fn
+          File ".*", line .*, in anonymous
+        """, msg)
+        #
+        # check with resource_warning enabled in the destructor BUT with a
+        # file which was created when resource_warning was disabled
+        msg = fn(False, True)
+        assert self.regex_search("WARNING: unclosed file: <open file .*>", msg)
+        assert "Created at" not in msg
 
     def test_truncate(self):
         f = self.file(self.temppath, "w")
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to