Author: Philip Jenvey <pjen...@underboss.org>
Branch: 
Changeset: r65674:29a9e38aedb6
Date: 2013-07-25 16:26 -0700
http://bitbucket.org/pypy/pypy/changeset/29a9e38aedb6/

Log:    add a wrap_dlopenerror for consistency's sake

diff --git a/pypy/module/_cffi_backend/libraryobj.py 
b/pypy/module/_cffi_backend/libraryobj.py
--- a/pypy/module/_cffi_backend/libraryobj.py
+++ b/pypy/module/_cffi_backend/libraryobj.py
@@ -4,6 +4,7 @@
 from pypy.interpreter.error import operationerrfmt
 from pypy.interpreter.gateway import interp2app, unwrap_spec
 from pypy.interpreter.typedef import TypeDef
+from pypy.module._rawffi.interp_rawffi import wrap_dlopenerror
 
 from rpython.rtyper.lltypesystem import rffi
 from rpython.rlib.rdynload import DLLHANDLE, dlopen, dlsym, dlclose, 
DLOpenError
@@ -24,9 +25,7 @@
             try:
                 self.handle = dlopen(ll_libname, flags)
             except DLOpenError, e:
-                raise operationerrfmt(space.w_OSError,
-                                      "cannot load library %s: %s",
-                                      filename, e.msg)
+                raise wrap_dlopenerror(space, e, filename)
         self.name = filename
 
     def __del__(self):
diff --git a/pypy/module/_ffi/interp_funcptr.py 
b/pypy/module/_ffi/interp_funcptr.py
--- a/pypy/module/_ffi/interp_funcptr.py
+++ b/pypy/module/_ffi/interp_funcptr.py
@@ -14,7 +14,7 @@
 from rpython.rlib.rarithmetic import r_uint
 from rpython.rlib.objectmodel import we_are_translated
 from pypy.module._ffi.type_converter import FromAppLevelConverter, 
ToAppLevelConverter
-from pypy.module._rawffi.interp_rawffi import got_libffi_error
+from pypy.module._rawffi.interp_rawffi import got_libffi_error, 
wrap_dlopenerror
 
 import os
 if os.name == 'nt':
@@ -324,8 +324,7 @@
         try:
             self.cdll = libffi.CDLL(name, mode)
         except DLOpenError, e:
-            raise operationerrfmt(space.w_OSError, '%s: %s', self.name,
-                                  e.msg or 'unspecified error')
+            raise wrap_dlopenerror(space, e, self.name)
 
     def getfunc(self, space, w_name, w_argtypes, w_restype):
         return _getfunc(space, self, w_name, w_argtypes, w_restype)
diff --git a/pypy/module/_rawffi/interp_rawffi.py 
b/pypy/module/_rawffi/interp_rawffi.py
--- a/pypy/module/_rawffi/interp_rawffi.py
+++ b/pypy/module/_rawffi/interp_rawffi.py
@@ -140,6 +140,11 @@
     raise OperationError(space.w_SystemError,
                          space.wrap("not supported by libffi"))
 
+def wrap_dlopenerror(space, e, filename):
+    msg = e.msg if e.msg else 'unspecified error'
+    return operationerrfmt(space.w_OSError, 'Cannot load library %s: %s',
+                           filename, msg)
+
 
 class W_CDLL(W_Root):
     def __init__(self, space, name, cdll):
@@ -219,8 +224,7 @@
     try:
         cdll = CDLL(name)
     except DLOpenError, e:
-        raise operationerrfmt(space.w_OSError, '%s: %s', name,
-                              e.msg or 'unspecified error')
+        raise wrap_dlopenerror(space, e, name)
     except OSError, e:
         raise wrap_oserror(space, e)
     return space.wrap(W_CDLL(space, name, cdll))
diff --git a/pypy/module/_rawffi/test/test__rawffi.py 
b/pypy/module/_rawffi/test/test__rawffi.py
--- a/pypy/module/_rawffi/test/test__rawffi.py
+++ b/pypy/module/_rawffi/test/test__rawffi.py
@@ -223,7 +223,8 @@
             _rawffi.CDLL("xxxxx_this_name_does_not_exist_xxxxx")
         except OSError, e:
             print e
-            assert str(e).startswith("xxxxx_this_name_does_not_exist_xxxxx: ")
+            assert str(e).startswith(
+                "Cannot load library xxxxx_this_name_does_not_exist_xxxxx: ")
         else:
             raise AssertionError("did not fail??")
 
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to