[pypy-svn] r49419 - in pypy/branch/pypy-interp-file/module/_file: . test

arigo at codespeak.net arigo at codespeak.net
Wed Dec 5 20:44:13 CET 2007


Author: arigo
Date: Wed Dec  5 20:44:11 2007
New Revision: 49419

Modified:
   pypy/branch/pypy-interp-file/module/_file/interp_file.py
   pypy/branch/pypy-interp-file/module/_file/test/test_file_extra.py
Log:
file.fileno()


Modified: pypy/branch/pypy-interp-file/module/_file/interp_file.py
==============================================================================
--- pypy/branch/pypy-interp-file/module/_file/interp_file.py	(original)
+++ pypy/branch/pypy-interp-file/module/_file/interp_file.py	Wed Dec  5 20:44:11 2007
@@ -93,6 +93,9 @@
                 pass
             stream.close()
 
+    def direct_fileno(self):
+        return self.fd
+
     def direct_flush(self):
         self.getstream().flush()
 
@@ -273,6 +276,11 @@
         # close-while-another-thread-uses-it.
 
 
+    _decl(locals(), "fileno", ['self'],
+        '''fileno() -> integer "file descriptor".
+
+This is needed for lower-level file interfaces, such os.read().''')
+    
     _decl(locals(), "flush", ['self'],
         """flush() -> None.  Flush the internal I/O buffer.""")
 

Modified: pypy/branch/pypy-interp-file/module/_file/test/test_file_extra.py
==============================================================================
--- pypy/branch/pypy-interp-file/module/_file/test/test_file_extra.py	(original)
+++ pypy/branch/pypy-interp-file/module/_file/test/test_file_extra.py	Wed Dec  5 20:44:11 2007
@@ -272,6 +272,7 @@
             space.wrap(fd),
             space.wrap(self.expected_mode),
             *[space.wrap(a) for a in self.extra_args])
+        self.w_fd = space.wrap(fd)
         self.w_sample = space.wrap(self.sample)
         self.w_expected_filename = space.wrap(self.expected_filename)
         self.w_expected_mode = space.wrap(self.expected_mode)
@@ -280,6 +281,9 @@
     def teardown_method(self, method):
         self.space.call_method(self.w_file, 'close')
 
+    def test_fileno(self):
+        assert self.file.fileno() == self.fd
+
 
 class AppTestUnbufferedFdOpen(AppTestFdOpen):
     extra_args = (0,)



More information about the Pypy-commit mailing list