python testrunner/pypyjit_tests.py
in dir /buildbot/slave/pypy-c-jit-linux-x86-32/build (timeout 4000 secs)
watching logfiles {'pytestLog': 'pypyjit_new.log'}
argv: ['python', 'testrunner/pypyjit_tests.py']
environment:
AUDITWHEEL_ARCH=i686
AUDITWHEEL_PLAT=manylinux_2_28_i686
AUDITWHEEL_POLICY=manylinux_2_28
DEVTOOLSET_ROOTPATH=/opt/rh/gcc-toolset-14/root
HGDEMANDIMPORT=disable
HOME=/home/buildworker
HOSTNAME=Debian-trixie-latest-amd64-base
LANG=en_US.UTF-8
LANGUAGE=en_US.UTF-8
LC_ALL=en_US.UTF-8
LD_LIBRARY_PATH=/usr/local/lib:/opt/rh/gcc-toolset-14/root/usr/lib64:/opt/rh/gcc-toolset-14/root/usr/lib:/opt/rh/gcc-toolset-14/root/usr/lib64/dyninst:/opt/rh/gcc-toolset-14/root/usr/lib/dyninst
OLDPWD=/buildbot/slave
PATH=/tmp/venv/bin:/opt/clang/bin:/opt/rh/gcc-toolset-14/root/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/pypy2.7-v7.3.22-linux32/bin
PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
PS1=(venv)
PWD=/buildbot/slave/pypy-c-jit-linux-x86-32/build
PYPY_LOCALBASE=/usr/local
PYPY_MAKE_PORTABLE=1
SHLVL=1
SSL_CERT_FILE=/opt/_internal/certs.pem
TERM=xterm
TMPDIR=/tmp/pytest
VIRTUAL_ENV=/tmp/venv
container=podman
using PTY: False
/tmp/venv/site-packages/hypothesis/extra/pytestplugin.py:61: HypothesisWarning:
You are using Pytest version 2.9.2. Hypothesis tests work with any test
runner, but our Pytest plugin requires Pytest 4.3 or newer.
Note that the Pytest developers no longer support this version either!
Disabling the Hypothesis pytest plugin...
warnings.warn(PYTEST_TOO_OLD_MESSAGE % (pytest.__version__,), HypothesisWarning)
============================= test session starts ==============================
platform linux2 -- Python 2.7.18[pypy-7.3.22-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1
pytest-2.9.2 from /buildbot/slave/pypy-c-jit-linux-x86-32/build/pytest.pyc
rootdir: /buildbot/slave/pypy-c-jit-linux-x86-32/build, inifile: pytest.ini
plugins: hypothesis-4.57.1
collected 1194 items / 1 skipped
pypy/module/pypyjit/test_pypy_c/test_00_model.py ........................
pypy/module/pypyjit/test_pypy_c/test_alloc.py ...................................................
pypy/module/pypyjit/test_pypy_c/test_array.py ........
pypy/module/pypyjit/test_pypy_c/test_boolrewrite.py ......................................................................................................................................................................................................................................................................................................................................
pypy/module/pypyjit/test_pypy_c/test_buffers.py ..
pypy/module/pypyjit/test_pypy_c/test_bug.py .
pypy/module/pypyjit/test_pypy_c/test_call.py .........................s.
pypy/module/pypyjit/test_pypy_c/test_capture_locals.py F
pypy/module/pypyjit/test_pypy_c/test_cprofile.py .
pypy/module/pypyjit/test_pypy_c/test_exception.py .....
pypy/module/pypyjit/test_pypy_c/test_ffi.py s..s......
pypy/module/pypyjit/test_pypy_c/test_generators.py ...
pypy/module/pypyjit/test_pypy_c/test_getframe.py ..
pypy/module/pypyjit/test_pypy_c/test_globals.py .
pypy/module/pypyjit/test_pypy_c/test_import.py ....
pypy/module/pypyjit/test_pypy_c/test_instance.py ...............
pypy/module/pypyjit/test_pypy_c/test_intbound.py ...................................................................................................................................................................................................................................................................................
pypy/module/pypyjit/test_pypy_c/test_itertools.py ..
pypy/module/pypyjit/test_pypy_c/test_jitlogparser.py .
pypy/module/pypyjit/test_pypy_c/test_math.py ..s..
pypy/module/pypyjit/test_pypy_c/test_micronumpy.py ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss
pypy/module/pypyjit/test_pypy_c/test_min_max.py ...
pypy/module/pypyjit/test_pypy_c/test_misc.py .................s.....
pypy/module/pypyjit/test_pypy_c/test_shift.py ...........................................................................................................................................................................................................................
pypy/module/pypyjit/test_pypy_c/test_string.py .F....x............
pypy/module/pypyjit/test_pypy_c/test_struct.py ......
pypy/module/pypyjit/test_pypy_c/test_thread.py ..F
pypy/module/pypyjit/test_pypy_c/test_weakref.py .
=================================== FAILURES ===================================
____________________ TestCaptureLocals.test_capture_locals _____________________
self = <pypy.module.pypyjit.test_pypy_c.test_capture_locals.TestCaptureLocals object at 0x0fdbeed0>
def test_capture_locals(self):
def main(n):
num = 42
i = 0
acc = 0
src = '''
while i < n:
acc += num
i += 1
'''
exec(src)
return acc
log = self.run(main, [500])
print (log.result)
assert log.result == 0
loop, = log.loops_by_filename("<string>")
> assert loop.match("""
guard_not_invalidated(descr=...)
i48 = int_lt(i41, i33)
guard_true(i48, descr=...)
i49 = int_add_ovf(i39, i38)
guard_no_overflow(descr=...)
i51 = int_add(i41, 1)
i53 = getfield_raw_i(..., descr=...)
setarrayitem_gc(p27, 3, i49, descr=...)
setarrayitem_gc(p27, 2, i51, descr=...)
i57 = int_lt(i53, 0)
guard_false(i57, descr=...)
i59 = arraylen_gc(p25, descr=...)
i60 = arraylen_gc(p27, descr=...)
jump(..., descr=...)
""")
pypy/module/pypyjit/test_pypy_c/test_capture_locals.py:22:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
pypy/module/pypyjit/test_pypy_c/model.py:177: in match
return matcher.match(expected_src, **kwds)
pypy/module/pypyjit/test_pypy_c/model.py:524: in match
self.match_loop(expected_ops, ignore_ops)
pypy/module/pypyjit/test_pypy_c/model.py:500: in match_loop
self.match_op(op, exp_op)
pypy/module/pypyjit/test_pypy_c/model.py:409: in match_op
self._assert(op.name == exp_opname, "operation mismatch")
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <pypy.module.pypyjit.test_pypy_c.model.OpMatcher object at 0x11079cb0>
cond = False, message = 'operation mismatch'
def _assert(self, cond, message):
if not cond:
> raise InvalidMatch(message, frame=sys._getframe(1))
E InvalidMatch: operation mismatch
pypy/module/pypyjit/test_pypy_c/model.py:402: InvalidMatch
----------------------------- Captured stdout call -----------------------------
0
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Loops don't match
=================
loop id = None
('operation mismatch',)
<could not determine information>
Ignore ops: []
Got:
===== HERE =====
i55 = getfield_gc_i(p51, descr=<FieldS pypy.objspace.std.intobject.W_IntObject.inst_intval 8 pure>)
i56 = int_lt(i55, i34)
guard_true(i56, descr=<Guard0xf49df920>)
i57 = getfield_gc_i(p53, descr=<FieldS pypy.objspace.std.intobject.W_IntObject.inst_intval 8 pure>)
i58 = int_add_ovf(i57, i43)
guard_no_overflow(descr=<Guard0xf497ddf4>)
guard_not_invalidated(descr=<Guard0xf497de10>)
i60 = int_add(i55, 1)
i62 = getfield_raw_i(-134945888, descr=<FieldS pypysig_long_struct_inner.c_value 0>)
i64 = int_lt(i62, 0)
guard_false(i64, descr=<Guard0xf497de48>)
i65 = arraylen_gc(p24, descr=<ArrayP 4>)
p66 = new_with_vtable(descr=<SizeDescr 12>)
setfield_gc(p66, i60, descr=<FieldS pypy.objspace.std.intobject.W_IntObject.inst_intval 8 pure>)
p67 = new_with_vtable(descr=<SizeDescr 12>)
setfield_gc(p67, i58, descr=<FieldS pypy.objspace.std.intobject.W_IntObject.inst_intval 8 pure>)
setarrayitem_gc(p24, 3, p66, descr=<ArrayP 4>)
setarrayitem_gc(p24, 4, p67, descr=<ArrayP 4>)
jump(p0, p1, p5, p13, p20, p24, p66, p31, i34, p67, p40, i43, descr=TargetToken(-191136332))
Expected:
guard_not_invalidated(descr=...)
i48 = int_lt(i41, i33)
guard_true(i48, descr=...)
i49 = int_add_ovf(i39, i38)
guard_no_overflow(descr=...)
i51 = int_add(i41, 1)
i53 = getfield_raw_i(..., descr=...)
setarrayitem_gc(p27, 3, i49, descr=...)
setarrayitem_gc(p27, 2, i51, descr=...)
i57 = int_lt(i53, 0)
guard_false(i57, descr=...)
i59 = arraylen_gc(p25, descr=...)
i60 = arraylen_gc(p27, descr=...)
jump(..., descr=...)
___________________ TestString.test_lookup_default_encoding ____________________
self = <pypy.module.pypyjit.test_pypy_c.test_string.TestString object at 0x114b5090>
def test_lookup_default_encoding(self):
def main(n):
i = 0
letters = b'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
uletters = u'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
while i < n:
c = bytes([letters[i % len(uletters)]])
i += (c.decode() == uletters[i % len(uletters)])
return i
log = self.run(main, [300], import_site=True)
assert log.result == 300
loop, = log.loops_by_filename(self.filepath)
assert loop.match("""
i88 = int_lt(i83, i36)
guard_true(i88, descr=...)
guard_not_invalidated(descr=...)
i92 = int_eq(i83, %d)
i94 = call_i(ConstClass(ll_int_py_mod__Signed_Signed), i83, i46, descr=<Calli . ii EF=0 OS=14>)
i97 = int_ge(i94, i53)
guard_false(i97, descr=...)
i98 = strgetitem(p52, i94)
p103 = newstr(1)
strsetitem(p103, 0, i98)
i95 = call_i(ConstClass(_check_utf8), p103, 0, 0, -1, descr=<Calli 8 riii EF=4>)
guard_no_exception(descr=...)
i98 = int_ge(i95, 0)
guard_true(i98, descr=...)
i99 = int_ge(i94, i46)
guard_false(i99, descr=...)
i115 = int_add(i94, 1)
i116 = int_gt(i115, i71)
guard_false(i116, descr=...)
i104 = call_i(ConstClass(_ll_4_str_eq_slice_char__rpy_stringPtr_Signed_Signed_Char), p65, i94, 1, i98, descr=<Calli 8 riii EF=0 OS=27>)
guard_true(i104, descr=...)
i124 = int_add(i83, 1)
--TICK--
jump(..., descr=...)
> """ % (-sys.maxint-1,))
pypy/module/pypyjit/test_pypy_c/test_string.py:85:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
pypy/module/pypyjit/test_pypy_c/model.py:177: in match
return matcher.match(expected_src, **kwds)
pypy/module/pypyjit/test_pypy_c/model.py:524: in match
self.match_loop(expected_ops, ignore_ops)
pypy/module/pypyjit/test_pypy_c/model.py:500: in match_loop
self.match_op(op, exp_op)
pypy/module/pypyjit/test_pypy_c/model.py:418: in match_op
self.match_descr(op.descr, exp_descr)
pypy/module/pypyjit/test_pypy_c/model.py:398: in match_descr
self._assert(exp_descr is not None and re.match(exp_descr, descr), "descr mismatch")
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <pypy.module.pypyjit.test_pypy_c.model.OpMatcher object at 0x0f92f070>
cond = None, message = 'descr mismatch'
def _assert(self, cond, message):
if not cond:
> raise InvalidMatch(message, frame=sys._getframe(1))
E InvalidMatch: descr mismatch
pypy/module/pypyjit/test_pypy_c/model.py:402: InvalidMatch
----------------------------- Captured stdout call -----------------------------
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Loops don't match
=================
loop id = None
('descr mismatch',)
<could not determine information>
Ignore ops: []
Got:
i75 = int_lt(i70, i33)
guard_true(i75, descr=<Guard0xf49a8448>)
guard_not_invalidated(descr=<Guard0xf49b74fc>)
i77 = int_eq(i70, -2147483648)
i79 = call_i(ConstClass(ll_int_py_mod__Signed_Signed), i70, i38, descr=<Calli 4 ii EF=0 OS=14>)
i80 = int_ge(i79, i47)
guard_false(i80, descr=<Guard0xf49a8470>)
i81 = strgetitem(p46, i79)
p83 = newstr(1)
strsetitem(p83, 0, i81)
===== HERE =====
i88 = call_i(ConstClass(_check_utf8), p83, 0, 0, -1, descr=<Calli 4 riii EF=4>)
guard_no_exception(descr=<Guard0xf49a8498>)
i91 = int_ge(i88, 0)
guard_true(i91, descr=<Guard0xf49b7550>)
i92 = int_ge(i79, i38)
guard_false(i92, descr=<Guard0xf49b7588>)
i94 = int_add(i79, 1)
i95 = int_gt(i94, i61)
guard_false(i95, descr=<Guard0xf49b75c0>)
i97 = call_i(ConstClass(_ll_4_str_eq_slice_char__rpy_stringPtr_Signed_Signed_Char), p60, i79, 1, i81, descr=<Calli 4 riii EF=0 OS=27>)
guard_true(i97, descr=<Guard0xf49a84c0>)
i99 = int_add(i70, 1)
i101 = getfield_raw_i(-134904928, descr=<FieldS pypysig_long_struct_inner.c_value 0>)
i103 = int_lt(i101, 0)
guard_false(i103, descr=<Guard0xf49b7614>)
jump(p0, p1, p8, i99, p12, p14, p83, i33, i38, i47, p46, i61, p60, descr=TargetToken(-191268232))
Expected:
i88 = int_lt(i83, i36)
guard_true(i88, descr=...)
guard_not_invalidated(descr=...)
i92 = int_eq(i83, -2147483648)
i94 = call_i(ConstClass(ll_int_py_mod__Signed_Signed), i83, i46, descr=<Calli . ii EF=0 OS=14>)
i97 = int_ge(i94, i53)
guard_false(i97, descr=...)
i98 = strgetitem(p52, i94)
p103 = newstr(1)
strsetitem(p103, 0, i98)
i95 = call_i(ConstClass(_check_utf8), p103, 0, 0, -1, descr=<Calli 8 riii EF=4>)
guard_no_exception(descr=...)
i98 = int_ge(i95, 0)
guard_true(i98, descr=...)
i99 = int_ge(i94, i46)
guard_false(i99, descr=...)
i115 = int_add(i94, 1)
i116 = int_gt(i115, i71)
guard_false(i116, descr=...)
i104 = call_i(ConstClass(_ll_4_str_eq_slice_char__rpy_stringPtr_Signed_Signed_Char), p65, i94, 1, i98, descr=<Calli 8 riii EF=0 OS=27>)
guard_true(i104, descr=...)
i124 = int_add(i83, 1)
guard_not_invalidated?
ticker0 = getfield_raw_i(#, descr=<FieldS pypysig_long_struct_inner.c_value .*>)
ticker_cond0 = int_lt(ticker0, 0)
guard_false(ticker_cond0, descr=...)
jump(..., descr=...)
_____________________ TestThread.test_lock_acquire_release _____________________
self = <pypy.module.pypyjit.test_pypy_c.test_thread.TestThread object at 0x1101b9b0>
def test_lock_acquire_release(self):
def main(n):
import threading
lock = threading.Lock()
while n > 0:
with lock:
n -= 1
log = self.run(main, [500])
assert log.result == main(500)
loop, = log.loops_by_filename(self.filepath)
> assert loop.match("""
i56 = int_gt(i44, 0)
guard_true(i56, descr=...)
guard_not_invalidated?
p57 = force_token()
setfield_gc(p0, p57, descr=<FieldP pypy.interpreter.pyframe.PyFrame.vable_token 8>)
i58 = call_may_force_i(ConstClass(acquire_timed), p31, -1, descr=<Calli . ri EF=7>)
guard_not_forced(descr=...)
guard_no_exception(descr=...)
i99 = int_eq(i58, 1)
guard_true(i99, descr=...)
i58 = int_add(i44, -1)
guard_not_invalidated?
i59 = call_i(ConstClass(RPyThreadReleaseLock), i37, descr=<Calli . i EF=2>)
i60 = int_is_true(i59)
guard_false(i60, descr=...)
--TICK--
jump(..., descr=...)
""")
pypy/module/pypyjit/test_pypy_c/test_thread.py:69:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
pypy/module/pypyjit/test_pypy_c/model.py:177: in match
return matcher.match(expected_src, **kwds)
pypy/module/pypyjit/test_pypy_c/model.py:524: in match
self.match_loop(expected_ops, ignore_ops)
pypy/module/pypyjit/test_pypy_c/model.py:500: in match_loop
self.match_op(op, exp_op)
pypy/module/pypyjit/test_pypy_c/model.py:417: in match_op
self._assert(self.match_var(arg, exp_arg), "variable mismatch: %r instead of %r" % (arg, exp_arg))
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <pypy.module.pypyjit.test_pypy_c.model.OpMatcher object at 0x0f7b7f90>
cond = False, message = "variable mismatch: 'nan' instead of '-1'"
def _assert(self, cond, message):
if not cond:
> raise InvalidMatch(message, frame=sys._getframe(1))
E InvalidMatch: variable mismatch: 'nan' instead of '-1'
pypy/module/pypyjit/test_pypy_c/model.py:402: InvalidMatch
----------------------------- Captured stdout call -----------------------------
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Loops don't match
=================
loop id = None
("variable mismatch: 'nan' instead of '-1'",)
<could not determine information>
Ignore ops: []
Got:
i50 = int_gt(i40, 0)
guard_true(i50, descr=<Guard0xf485b948>)
guard_not_invalidated(descr=<Guard0xf4876064>)
p51 = force_token()
setfield_gc(p0, p51, descr=<FieldP pypy.interpreter.pyframe.PyFrame.vable_token 8>)
===== HERE =====
i54 = call_may_force_i(ConstClass(acquire_timed), p32, nan, descr=<Calli 4 rL EF=7>)
guard_not_forced(descr=<Guard0xf486b5bc>)
guard_no_exception(descr=<Guard0xf4876080>)
i56 = int_eq(i54, 1)
guard_true(i56, descr=<Guard0xf48760b8>)
i58 = int_add(i40, -1)
guard_not_invalidated(descr=<Guard0xf48760d4>)
i60 = call_i(ConstClass(RPyThreadReleaseLock), i41, descr=<Calli 4 i EF=2>)
i61 = int_is_true(i60)
guard_false(i61, descr=<Guard0xf485b970>)
i64 = getfield_raw_i(-135036000, descr=<FieldS pypysig_long_struct_inner.c_value 0>)
i66 = int_lt(i64, 0)
guard_false(i66, descr=<Guard0xf4876128>)
jump(p0, p1, i58, p10, p12, p22, p24, p32, i41, descr=TargetToken(-192486184))
Expected:
i56 = int_gt(i44, 0)
guard_true(i56, descr=...)
guard_not_invalidated?
p57 = force_token()
setfield_gc(p0, p57, descr=<FieldP pypy.interpreter.pyframe.PyFrame.vable_token 8>)
i58 = call_may_force_i(ConstClass(acquire_timed), p31, -1, descr=<Calli . ri EF=7>)
guard_not_forced(descr=...)
guard_no_exception(descr=...)
i99 = int_eq(i58, 1)
guard_true(i99, descr=...)
i58 = int_add(i44, -1)
guard_not_invalidated?
i59 = call_i(ConstClass(RPyThreadReleaseLock), i37, descr=<Calli . i EF=2>)
i60 = int_is_true(i59)
guard_false(i60, descr=...)
guard_not_invalidated?
ticker0 = getfield_raw_i(#, descr=<FieldS pypysig_long_struct_inner.c_value .*>)
ticker_cond0 = int_lt(ticker0, 0)
guard_false(ticker_cond0, descr=...)
jump(..., descr=...)
=========================== short test summary info ============================
FAIL pypy/module/pypyjit/test_pypy_c/test_capture_locals.py::TestCaptureLocals::()::test_capture_locals
FAIL pypy/module/pypyjit/test_pypy_c/test_string.py::TestString::()::test_lookup_default_encoding
FAIL pypy/module/pypyjit/test_pypy_c/test_thread.py::TestThread::()::test_lock_acquire_release
======= 3 failed, 1029 passed, 162 skipped, 1 xfailed in 151.27 seconds ========
program finished with exit code 1
elapsedTime=152.191460