[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