Bug#893745: python-cffi: FTBFS on ia64: several test failures

2018-05-19 Thread Stefano Rivera
Hi Aaron (2018.03.22_01:02:21_+0200)
> 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?

python-cffi is pretty good at turning up libffi bugs, so presumably
that's what this is. That said, I haven't looked into this, yet.

SR

-- 
Stefano Rivera
  http://tumbleweed.org.za/
  +1 415 683 3272



Bug#893745: python-cffi: FTBFS on ia64: several test failures

2020-09-23 Thread Stefano Rivera
Hi Aaron (2018.03.21_16:02:21_-0700)
> 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 in g:
> if not line.startswith('0'):
> continue
> if '*UND*' in line:
> continue
> name = line.split()[-1]
> if name.startswith('_') or name.startswith('.'):
> continue
> if name not in ('init_cffi_backend', 'PyInit__cffi_backend'):
> >   raise Exception("Unexpected exported name %r" % (name,))
> E   Exception: Unexpected exported name 'ctypedescr_clear'

Looks like this is the only remaining failure.

So, the rest were presumably libffi bugs.

Not sure exactly what's going on there. I can't seem to access the
atlantis porterbox ATM.

SR

-- 
Stefano Rivera
  http://tumbleweed.org.za/
  +1 415 683 3272



Bug#893745: python-cffi: FTBFS on ia64: several test failures

2018-03-21 Thread Aaron M. Ucko
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