[pypy-svn] r58810 - in pypy/branch/2.5-merge/pypy/module/_file: . test
jlg at codespeak.net
jlg at codespeak.net
Wed Oct 8 14:10:04 CEST 2008
Author: jlg
Date: Wed Oct 8 14:10:01 2008
New Revision: 58810
Modified:
pypy/branch/2.5-merge/pypy/module/_file/interp_file.py
pypy/branch/2.5-merge/pypy/module/_file/test/test_file_extra.py
Log:
__enter__() on a closed file raises ValueError - test and fix
Modified: pypy/branch/2.5-merge/pypy/module/_file/interp_file.py
==============================================================================
--- pypy/branch/2.5-merge/pypy/module/_file/interp_file.py (original)
+++ pypy/branch/2.5-merge/pypy/module/_file/interp_file.py Wed Oct 8 14:10:01 2008
@@ -86,6 +86,10 @@
self.fdopenstream(stream, fd, mode, name)
def direct___enter__(self):
+ if self.stream is None:
+ space = self.space
+ raise OperationError(space.w_ValueError,
+ space.wrap('I/O operation on closed file'))
return self
def direct___exit__(self, __args__):
Modified: pypy/branch/2.5-merge/pypy/module/_file/test/test_file_extra.py
==============================================================================
--- pypy/branch/2.5-merge/pypy/module/_file/test/test_file_extra.py (original)
+++ pypy/branch/2.5-merge/pypy/module/_file/test/test_file_extra.py Wed Oct 8 14:10:01 2008
@@ -561,6 +561,7 @@
raises(ValueError, f.writelines, [])
raises(ValueError, iter, f)
raises(ValueError, f.xreadlines)
+ raises(ValueError, f.__enter__)
f.close() # accepted as a no-op
def test_docstrings(self):
More information about the Pypy-commit
mailing list