[pypy-svn] r30516 - in pypy/dist/pypy: rpython/ootypesystem/module translator/cli/test

antocuni at codespeak.net antocuni at codespeak.net
Tue Jul 25 12:42:35 CEST 2006


Author: antocuni
Date: Tue Jul 25 12:42:17 2006
New Revision: 30516

Modified:
   pypy/dist/pypy/rpython/ootypesystem/module/ll_os.py
   pypy/dist/pypy/translator/cli/test/test_builtin.py
Log:
Added ll_os_readlink and ll_os_pipe to ootype.



Modified: pypy/dist/pypy/rpython/ootypesystem/module/ll_os.py
==============================================================================
--- pypy/dist/pypy/rpython/ootypesystem/module/ll_os.py	(original)
+++ pypy/dist/pypy/rpython/ootypesystem/module/ll_os.py	Tue Jul 25 12:42:17 2006
@@ -4,11 +4,14 @@
 from pypy.rpython.ootypesystem import ootype
 from pypy.rpython.rarithmetic import intmask
 
-n = 10
-fieldnames = ['item%d' % i for i in range(n)]
-lltypes = [ootype.Signed]*n
-fields = dict(zip(fieldnames, lltypes))    
-STAT_RESULT = ootype.Record(fields)
+def _make_tuple(FIELDS):
+    n = len(FIELDS)
+    fieldnames = ['item%d' % i for i in range(n)]
+    fields = dict(zip(fieldnames, FIELDS))
+    return ootype.Record(fields)
+
+STAT_RESULT = _make_tuple([ootype.Signed]*10)
+PIPE_RESULT = _make_tuple([ootype.Signed]*2)
 
 class Implementation(BaseOS, OOSupport):
     
@@ -31,3 +34,14 @@
     def ll_os_read(cls, fd, count):
         return cls.to_rstr(os.read(fd, count))
     ll_os_read.suggested_primitive = True
+
+    def ll_pipe_result(fd1, fd2):
+        tup = ootype.new(PIPE_RESULT)
+        tup.item0 = fd1
+        tup.item1 = fd2
+        return tup
+    ll_pipe_result = staticmethod(ll_pipe_result)
+
+    def ll_os_readlink(cls, path):
+        return cls.to_rstr(os.readlink(path))
+    ll_os_readlink.suggested_primitive = True

Modified: pypy/dist/pypy/translator/cli/test/test_builtin.py
==============================================================================
--- pypy/dist/pypy/translator/cli/test/test_builtin.py	(original)
+++ pypy/dist/pypy/translator/cli/test/test_builtin.py	Tue Jul 25 12:42:17 2006
@@ -41,3 +41,6 @@
             return os.stat('.')[0]
         mode = self.interpret(fn, [])
         assert stat.S_ISDIR(mode)
+
+    # XXX: remember to test ll_os_readlink and ll_os_pipe as soon as
+    # they are implemented



More information about the Pypy-commit mailing list