Author: Armin Rigo <[email protected]>
Branch: cffi-1.0
Changeset: r1793:59c86e07b247
Date: 2015-04-24 12:10 +0200
http://bitbucket.org/cffi/cffi/changeset/59c86e07b247/
Log: Fix the tests so that they mostly run again
diff --git a/_cffi1/__init__.py b/_cffi1/__init__.py
new file mode 100644
--- /dev/null
+++ b/_cffi1/__init__.py
@@ -0,0 +1,1 @@
+from recompiler import make_c_source, recompile
diff --git a/_cffi1/_cffi_include.h b/_cffi1/_cffi_include.h
--- a/_cffi1/_cffi_include.h
+++ b/_cffi1/_cffi_include.h
@@ -167,7 +167,7 @@
PyObject *module, *c_api_object = NULL;
void *src;
- module = PyImport_ImportModule("_cffi1_backend");
+ module = PyImport_ImportModule("_cffi_backend");
if (module == NULL)
goto failure;
@@ -181,7 +181,7 @@
src = PyCapsule_GetPointer(c_api_object, "cffi");
if ((uintptr_t)(((void **)src)[0]) < _CFFI_NUM_EXPORTS) {
PyErr_SetString(PyExc_ImportError,
- "the _cffi1_backend module is an outdated version");
+ "the _cffi_backend module is an outdated version");
goto failure;
}
memcpy(_cffi_exports, src, _CFFI_NUM_EXPORTS * sizeof(void *));
diff --git a/_cffi1/cffi1 b/_cffi1/cffi1
deleted file mode 120000
--- a/_cffi1/cffi1
+++ /dev/null
@@ -1,1 +0,0 @@
-../cffi
\ No newline at end of file
diff --git a/_cffi1/recompiler.py b/_cffi1/recompiler.py
--- a/_cffi1/recompiler.py
+++ b/_cffi1/recompiler.py
@@ -1,5 +1,5 @@
import os, sys
-from cffi1 import ffiplatform, model
+from cffi import ffiplatform, model
from cffi_opcode import *
@@ -183,7 +183,7 @@
prnt('};')
prnt()
#
- # the init function, loading _cffi1_backend and calling a method there
+ # the init function, loading _cffi_backend and calling a method there
prnt('PyMODINIT_FUNC')
prnt('init%s(void)' % (self.module_name,))
prnt('{')
@@ -695,6 +695,6 @@
for name in dir(module.ffi):
if not name.startswith('_'):
attr = getattr(module.ffi, name)
- if attr is not getattr(ffi, name):
+ if attr is not getattr(ffi, name, object()):
setattr(ffi, name, attr)
return module.lib
diff --git a/_cffi1/test_dlopen.py b/_cffi1/test_dlopen.py
--- a/_cffi1/test_dlopen.py
+++ b/_cffi1/test_dlopen.py
@@ -1,4 +1,6 @@
import py
+py.test.skip("later")
+
from cffi1 import FFI
import math
@@ -48,7 +50,6 @@
assert ffi.sizeof("struct foo_s") == ffi.sizeof("void *")
def test_math_sin():
- py.test.skip("XXX redo!")
ffi = FFI()
ffi.cdef("double sin(double);")
m = ffi.dlopen('m')
diff --git a/_cffi1/test_ffi_obj.py b/_cffi1/test_ffi_obj.py
--- a/_cffi1/test_ffi_obj.py
+++ b/_cffi1/test_ffi_obj.py
@@ -1,5 +1,5 @@
import py
-import _cffi1_backend
+import _cffi_backend as _cffi1_backend
def test_ffi_new():
diff --git a/_cffi1/test_parse_c_type.py b/_cffi1/test_parse_c_type.py
--- a/_cffi1/test_parse_c_type.py
+++ b/_cffi1/test_parse_c_type.py
@@ -251,9 +251,9 @@
'->', Pointer(0)]
def test_cffi_opcode_sync():
- import cffi_opcode, cffi1.model
+ import cffi_opcode, cffi.model
for name in dir(lib):
if name.startswith('_CFFI_'):
assert getattr(cffi_opcode, name[6:]) == getattr(lib, name)
assert sorted(cffi_opcode.PRIMITIVE_TO_INDEX.keys()) == (
- sorted(cffi1.model.PrimitiveType.ALL_PRIMITIVE_TYPES.keys()))
+ sorted(cffi.model.PrimitiveType.ALL_PRIMITIVE_TYPES.keys()))
diff --git a/_cffi1/test_realize_c_type.py b/_cffi1/test_realize_c_type.py
--- a/_cffi1/test_realize_c_type.py
+++ b/_cffi1/test_realize_c_type.py
@@ -2,8 +2,8 @@
def check(input, expected_output=None, expected_ffi_error=False):
- import _cffi1_backend
- ffi = _cffi1_backend.FFI()
+ import _cffi_backend
+ ffi = _cffi_backend.FFI()
if not expected_ffi_error:
ct = ffi.typeof(input)
assert isinstance(ct, ffi.CType)
diff --git a/_cffi1/test_recompiler.py b/_cffi1/test_recompiler.py
--- a/_cffi1/test_recompiler.py
+++ b/_cffi1/test_recompiler.py
@@ -1,6 +1,6 @@
import py
-import recompiler
-from cffi1 import FFI
+from cffi import FFI
+from _cffi1 import recompiler
def check_type_table(input, expected_output):
diff --git a/_cffi1/test_verify1.py b/_cffi1/test_verify1.py
--- a/_cffi1/test_verify1.py
+++ b/_cffi1/test_verify1.py
@@ -1,5 +1,6 @@
import sys, math, py
-from cffi1 import FFI, VerificationError, model
+from cffi import FFI, VerificationError, model
+from _cffi1 import recompiler
lib_m = ['m']
if sys.platform == 'win32':
@@ -7,7 +8,7 @@
import distutils.ccompiler
if distutils.ccompiler.get_default_compiler() == 'msvc':
lib_m = ['msvcrt']
- pass # no obvious -Werror equivalent on MSVC
+ extra_compile_args = [] # no obvious -Werror equivalent on MSVC
else:
if (sys.platform == 'darwin' and
[int(x) for x in os.uname()[2].split('.')] >= [11, 0, 0]):
@@ -19,10 +20,13 @@
# assume a standard gcc
extra_compile_args = ['-Werror', '-Wall', '-Wextra', '-Wconversion']
- class FFI(FFI):
- def verify(self, *args, **kwds):
- return super(FFI, self).verify(
- *args, extra_compile_args=extra_compile_args, **kwds)
+class FFI(FFI):
+ _verify_counter = 0
+ def verify(self, preamble='', *args, **kwds):
+ FFI._verify_counter += 1
+ return recompiler.verify(self, 'verify%d' % FFI._verify_counter,
+ preamble, *args,
+ extra_compile_args=extra_compile_args, **kwds)
class U(object):
def __add__(self, other):
@@ -49,8 +53,8 @@
def test_missing_function_import_error():
# uses the original FFI that just gives a warning during compilation
- import cffi1
- test_missing_function(ffi=cffi1.FFI())
+ import cffi
+ test_missing_function(ffi=cffi.FFI())
def test_simple_case():
ffi = FFI()
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit