Author: Jeremy Thurgood <[email protected]>
Branch: split-verify
Changeset: r1352:34923698f6a2
Date: 2013-10-06 12:19 +0200
http://bitbucket.org/cffi/cffi/changeset/34923698f6a2/

Log:    Clean up a few things, fix python3 compat.

diff --git a/cffi/api.py b/cffi/api.py
--- a/cffi/api.py
+++ b/cffi/api.py
@@ -480,14 +480,12 @@
         # XXX: We use force_generic_engine here because vengine_cpy collects
         #      types when it writes the source.
         import os.path
-        from .verifier import Verifier, _caller_dir_pycache, _get_so_suffix
-        tmpdir = _caller_dir_pycache()
+        from .verifier import Verifier, _get_so_suffix
         self.ffi.verifier = Verifier(
-            self.ffi, source, tmpdir, libname, force_generic_engine=True,
-            **kwargs)
-        libfilename = libname + _get_so_suffix()
+            self.ffi, source, force_generic_engine=True, **kwargs)
+        libfilename = '_'.join([self._module_name, libname])
         self.ffi.verifier.make_library(
-            os.path.join(self._module_path, libfilename))
+            os.path.join(self._module_path, libfilename + _get_so_suffix()))
         self._module_source += '\n'.join([
             "def load_%s():",
             "    from cffi.verifier import Verifier",
@@ -498,7 +496,7 @@
             "    verifier._has_module = True",
             "    return verifier._load_library()",
             "",
-        ]) % (libname, libname)
+        ]) % (libname, libfilename)
 
     def write_ffi_module(self):
         import os
diff --git a/testing/test_makelib.py b/testing/test_makelib.py
--- a/testing/test_makelib.py
+++ b/testing/test_makelib.py
@@ -3,6 +3,13 @@
 from cffi import FFIBuilder
 
 
+def _clean_modules(tmpdir, module_name):
+    sys.path.remove(str(tmpdir))
+    for name in list(sys.modules.keys()):
+        if name and name.endswith(module_name):
+            sys.modules.pop(name)
+
+
 def test_ffibuilder_makelib(tmpdir):
     builder = FFIBuilder("foo_ffi", str(tmpdir))
     builder.cdef("""
@@ -15,10 +22,7 @@
     try:
         import foo_ffi
     finally:
-        sys.path.remove(str(tmpdir))
-        for name in sys.modules.keys():
-            if name.endswith('foo_ffi'):
-                sys.modules.pop(name)
+        _clean_modules(tmpdir, 'foo_ffi')
 
     lib = foo_ffi.load_foo()
     assert lib.sin(12.3) == math.sin(12.3)
@@ -36,10 +40,7 @@
     try:
         import foo_ffi
     finally:
-        sys.path.remove(str(tmpdir))
-        for name in sys.modules.keys():
-            if name.endswith('foo_ffi'):
-                sys.modules.pop(name)
+        _clean_modules(tmpdir, 'foo_ffi')
 
     lib = foo_ffi.load_foo()
     assert lib.sin(12.3) == math.sin(12.3)
@@ -58,10 +59,7 @@
     try:
         import foo_ffi
     finally:
-        sys.path.remove(str(tmpdir))
-        for name in sys.modules.keys():
-            if name.endswith('foo_ffi'):
-                sys.modules.pop(name)
+        _clean_modules(tmpdir, 'foo_ffi')
 
     lib_foo = foo_ffi.load_foo()
     assert lib_foo.sin(12.3) == math.sin(12.3)
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to