[pypy-svn] pypy default: os.makedev(), translation.
arigo
commits-noreply at bitbucket.org
Sat Jan 29 16:11:08 CET 2011
Author: Armin Rigo <arigo at tunes.org>
Branch:
Changeset: r41449:5a685784c74a
Date: 2011-01-29 16:10 +0100
http://bitbucket.org/pypy/pypy/changeset/5a685784c74a/
Log: os.makedev(), translation.
diff --git a/pypy/rpython/module/ll_os.py b/pypy/rpython/module/ll_os.py
--- a/pypy/rpython/module/ll_os.py
+++ b/pypy/rpython/module/ll_os.py
@@ -795,6 +795,14 @@
return extdef([], (float, float, float),
"ll_os.ll_getloadavg", llimpl=getloadavg_llimpl)
+ @registering_if(os, 'makedev')
+ def register_os_makedev(self):
+ c_makedev = self.llexternal('makedev', [rffi.INT, rffi.INT], rffi.INT)
+ def makedev_llimpl(maj, min):
+ return c_makedev(maj, min)
+ return extdef([int, int], int,
+ "ll_os.ll_makedev", llimpl=makedev_llimpl)
+
@registering_if(os, 'major')
def register_os_major(self):
c_major = self.llexternal('major', [rffi.INT], rffi.INT)
@@ -803,6 +811,7 @@
return extdef([int], int,
"ll_os.ll_major", llimpl=major_llimpl)
+
@registering_if(os, 'minor')
def register_os_minor(self):
c_minor = self.llexternal('minor', [rffi.INT], rffi.INT)
diff --git a/pypy/translator/c/test/test_extfunc.py b/pypy/translator/c/test/test_extfunc.py
--- a/pypy/translator/c/test/test_extfunc.py
+++ b/pypy/translator/c/test/test_extfunc.py
@@ -850,10 +850,11 @@
def does_stuff(n):
a = os.major(n)
b = os.minor(n)
- return '%d,%d' % (a, b)
+ x = os.makedev(a, b)
+ return '%d,%d,%d' % (a, b, x)
f = compile(does_stuff, [int])
res = f(12345)
- assert res == '%d,%d' % (os.major(12345), os.minor(12345))
+ assert res == '%d,%d,12345' % (os.major(12345), os.minor(12345))
if hasattr(os, 'fchdir'):
def test_os_fchdir():
More information about the Pypy-commit
mailing list