Source: python-cffi
Version: 1.11.5-1
Severity: important
Tags: upstream
Justification: fails to build from source (but built successfully in the past)
User: debian-i...@lists.debian.org
Usertags: ia64
Builds of python-cffi for ia64 (admittedly not a release architecture)
have been failing lately, per the below excerpts from [1].
Could you please take a look?
Thanks!
[1]
https://buildd.debian.org/status/fetch.php?pkg=python-cffi&arch=ia64&ver=1.11.5-1&stamp=1519768961&raw=0
--
I: pybuild base:184: python2.7 -m pytest c/ testing/
= test session starts ==
[...]
=== FAILURES ===
__ test_struct_return_in_func __
def test_struct_return_in_func():
BChar = new_primitive_type("char")
BShort = new_primitive_type("short")
BFloat = new_primitive_type("float")
BDouble = new_primitive_type("double")
BInt = new_primitive_type("int")
BStruct = new_struct_type("struct foo_s")
complete_struct_or_union(BStruct, [('a1', BChar, -1),
('a2', BShort, -1)])
BFunc10 = new_function_type((BInt,), BStruct)
f = cast(BFunc10, _testfunc(10))
s = f(40)
assert repr(s) == ""
> assert s.a1 == bytechr(40)
E AssertionError: assert '\x00' == '('
E - \x00
E + (
c/test_c.py:2014: AssertionError
_ TestFFI.test_struct_by_value _
self =
def test_struct_by_value(self):
if self.module is None:
py.test.skip("fix the auto-generation of the tiny test lib")
ffi = FFI(backend=self.Backend())
ffi.cdef("""
typedef struct {
long x;
long y;
} POINT;
typedef struct {
long left;
long top;
long right;
long bottom;
} RECT;
long left, top, right, bottom;
RECT ReturnRect(int i, RECT ar, RECT* br, POINT cp, RECT dr,
RECT *er, POINT fp, RECT gr);
""")
ownlib = ffi.dlopen(self.module)
rect = ffi.new('RECT[1]')
pt = ffi.new('POINT[1]')
pt[0].x = 15
pt[0].y = 25
rect[0].left = ownlib.left
rect[0].right = ownlib.right
rect[0].top = ownlib.top
rect[0].bottom = ownlib.bottom
for i in range(4):
ret = ownlib.ReturnRect(i, rect[0], rect, pt[0], rect[0],
rect, pt[0], rect[0])
> assert ret.left == ownlib.left
E AssertionError: assert 18014398513676288 == 10
E+ where 18014398513676288 = .left
E+ and 10 = .left
testing/cffi0/test_ownlib.py:296: AssertionError
___ TestOwnLib.test_struct_by_value
self =
def test_struct_by_value(self):
if self.module is None:
py.test.skip("fix the auto-generation of the tiny test lib")
ffi = FFI(backend=self.Backend())
ffi.cdef("""
typedef struct {
long x;
long y;
} POINT;
typedef struct {
long left;
long top;
long right;
long bottom;
} RECT;
long left, top, right, bottom;
RECT ReturnRect(int i, RECT ar, RECT* br, POINT cp, RECT dr,
RECT *er, POINT fp, RECT gr);
""")
ownlib = ffi.dlopen(self.module)
rect = ffi.new('RECT[1]')
pt = ffi.new('POINT[1]')
pt[0].x = 15
pt[0].y = 25
rect[0].left = ownlib.left
rect[0].right = ownlib.right
rect[0].top = ownlib.top
rect[0].bottom = ownlib.bottom
for i in range(4):
ret = ownlib.ReturnRect(i, rect[0], rect, pt[0], rect[0],
rect, pt[0], rect[0])
> assert ret.left == ownlib.left
E AssertionError: assert 18014398513676288 == 123457
E+ where 18014398513676288 = .left
E+ and 123457 = .left
testing/cffi0/test_ownlib.py:296: AssertionError
___ test_no_unknown_exported_symbols ___
def test_no_unknown_exported_symbols():
if not hasattr(_cffi_backend, '__file__'):
py.test.skip("_cffi_backend module is built-in")
if not sys.platform.startswith('linux'):
py.test.skip("linux-only")
g = os.popen("objdump -T '%s'" % _cffi_backend.__file__, 'r')
for line