[pypy-svn] r56351 - in pypy/dist/pypy/module/posix: . test

cfbolz at codespeak.net cfbolz at codespeak.net
Mon Jul 7 15:53:15 CEST 2008


Author: cfbolz
Date: Mon Jul  7 15:53:15 2008
New Revision: 56351

Modified:
   pypy/dist/pypy/module/posix/interp_posix.py
   pypy/dist/pypy/module/posix/test/test_posix2.py
Log:
rewrap OSError in setuid


Modified: pypy/dist/pypy/module/posix/interp_posix.py
==============================================================================
--- pypy/dist/pypy/module/posix/interp_posix.py	(original)
+++ pypy/dist/pypy/module/posix/interp_posix.py	Mon Jul  7 15:53:15 2008
@@ -572,7 +572,10 @@
 
     Set the current process's user id.
     """
-    os.setuid(arg)
+    try:
+        os.setuid(arg)
+    except OSError, e:
+        raise wrap_oserror(space, e)
     return space.w_None
 setuid.unwrap_spec = [ObjSpace, int]
 

Modified: pypy/dist/pypy/module/posix/test/test_posix2.py
==============================================================================
--- pypy/dist/pypy/module/posix/test/test_posix2.py	(original)
+++ pypy/dist/pypy/module/posix/test/test_posix2.py	Mon Jul  7 15:53:15 2008
@@ -306,6 +306,11 @@
             assert os.getuid() == self.getuid
             assert os.geteuid() == self.geteuid
 
+    if hasattr(os, 'setuid'):
+        def test_os_setuid_error(self):
+            os = self.posix
+            raises(OSError, os.setuid, -100000)
+
     if hasattr(os, 'getgid'):
         def test_os_getgid(self):
             os = self.posix



More information about the Pypy-commit mailing list