[pypy-svn] r34122 - pypy/dist/pypy/rlib/test

antocuni at codespeak.net antocuni at codespeak.net
Fri Nov 3 16:45:13 CET 2006


Author: antocuni
Date: Fri Nov  3 16:45:12 2006
New Revision: 34122

Modified:
   pypy/dist/pypy/rlib/test/test_streamio.py
Log:
More tests using the llinterpreter.



Modified: pypy/dist/pypy/rlib/test/test_streamio.py
==============================================================================
--- pypy/dist/pypy/rlib/test/test_streamio.py	(original)
+++ pypy/dist/pypy/rlib/test/test_streamio.py	Fri Nov  3 16:45:12 2006
@@ -456,60 +456,79 @@
         for want, got, pos in self.source.chunks:
             assert want >= 4
 
-class TestBufferingOutputStream:
+class BaseTestBufferingOutputStream(BaseRtypingTest):
 
     def test_write(self):
-        base = TWriter()
-        filter = streamio.BufferingOutputStream(base, 4)
-        filter.write("123")
-        assert not base.chunks
-        assert filter.tell() == 3
-        filter.write("456")
-        filter.write("789ABCDEF")
-        filter.write("0123")
-        assert filter.tell() == 19
-        filter.close()
-        assert base.buf == "123456789ABCDEF0123"
-        for chunk in base.chunks[:-1]:
-            assert len(chunk[1]) >= 4
+        def f():
+            base = TWriter()
+            filter = streamio.BufferingOutputStream(base, 4)
+            filter.write("123")
+            assert not base.chunks
+            assert filter.tell() == 3
+            filter.write("456")
+            filter.write("789ABCDEF")
+            filter.write("0123")
+            assert filter.tell() == 19
+            filter.close()
+            assert base.buf == "123456789ABCDEF0123"
+            for chunk in base.chunks[:-1]:
+                assert len(chunk[1]) >= 4
+        self.interpret(f, [])
 
     def test_write_seek(self):
-        base = TWriter()
-        filter = streamio.BufferingOutputStream(base, 4)
-        filter.write("x"*6)
-        filter.seek(3)
-        filter.write("y"*2)
-        filter.close()
-        assert base.buf == "x"*3 + "y"*2 + "x"*1
+        def f():
+            base = TWriter()
+            filter = streamio.BufferingOutputStream(base, 4)
+            filter.write("x"*6)
+            filter.seek(3)
+            filter.write("y"*2)
+            filter.close()
+            assert base.buf == "x"*3 + "y"*2 + "x"*1
+        self.interpret(f, [])
 
     def test_write_seek_beyond_end(self):
         "Linux behaviour. May be different on other platforms."
-        base = TWriter()
-        filter = streamio.BufferingOutputStream(base, 4)
-        filter.seek(3)
-        filter.write("y"*2)
-        filter.close()
-        assert base.buf == "\0"*3 + "y"*2
+        def f():
+            base = TWriter()
+            filter = streamio.BufferingOutputStream(base, 4)
+            filter.seek(3)
+            filter.write("y"*2)
+            filter.close()
+            assert base.buf == "\0"*3 + "y"*2
+        self.interpret(f, [])
 
     def test_truncate(self):
         "Linux behaviour. May be different on other platforms."
-        base = TWriter()
-        filter = streamio.BufferingOutputStream(base, 4)
-        filter.write('x')
-        filter.truncate(4)
-        filter.write('y')
-        filter.close()
-        assert base.buf == 'xy' + '\0' * 2
+        def f():
+            base = TWriter()
+            filter = streamio.BufferingOutputStream(base, 4)
+            filter.write('x')
+            filter.truncate(4)
+            filter.write('y')
+            filter.close()
+            assert base.buf == 'xy' + '\0' * 2
+        self.interpret(f, [])
 
     def test_truncate2(self):
         "Linux behaviour. May be different on other platforms."
-        base = TWriter()
-        filter = streamio.BufferingOutputStream(base, 4)
-        filter.write('12345678')
-        filter.truncate(4)
-        filter.write('y')
-        filter.close()
-        assert base.buf == '1234' + '\0' * 4 + 'y'
+        def f():
+            base = TWriter()
+            filter = streamio.BufferingOutputStream(base, 4)
+            filter.write('12345678')
+            filter.truncate(4)
+            filter.write('y')
+            filter.close()
+            assert base.buf == '1234' + '\0' * 4 + 'y'
+        self.interpret(f, [])
+
+class TestBufferingOutputStream(BaseTestBufferingOutputStream):
+    def interpret(self, func, args, **kwds):
+        return func(*args)
+
+class TestBufferingOutputStreamLLinterp(BaseTestBufferingOutputStream,
+                                        LLRtypeMixin):
+    pass
+    
 
 class TestLineBufferingOutputStreamTests:
 


More information about the pypy-svn mailing list