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 F.
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 ...........F...
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 ....F.
pypy/module/pypyjit/test_pypy_c/test_thread.py ..F
pypy/module/pypyjit/test_pypy_c/test_weakref.py .
=================================== FAILURES ===================================
__________________________ TestBuffers.test_re_match ___________________________
self = <pypy.module.pypyjit.test_pypy_c.test_buffers.TestBuffers object at 0x0e68c230>
def test_re_match(self):
def main(n):
import re
import array
p = re.compile(b'.+')
a = array.array('B', b'test' * 1000)
i = 0
while i < n:
i += 1
p.match(a) # ID: match
return i
log = self.run(main, [1000])
assert log.result == 1000
loop, = log.loops_by_filename(self.filepath)
> assert loop.match_by_id('match', """
guard_not_invalidated(descr=...)
p71 = getfield_gc_r(p15, descr=...) # check that the pattern is not None and a W_BytesObject
guard_nonnull_class(p71, ConstClass(W_BytesObject), descr=...)
i74 = instance_ptr_eq(_, p71)
guard_false(i74, descr=...)
i65 = getfield_gc_i(p18, descr=...)
i67 = int_gt(0, i65)
guard_false(i67, descr=...)
i69 = int_gt(#, i65)
guard_true(i69, descr=...)
--TICK--
""")
pypy/module/pypyjit/test_pypy_c/test_buffers.py:19:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
pypy/module/pypyjit/test_pypy_c/model.py:182: in match_by_id
return matcher.match(expected_src, ignore_ops=ignore_ops)
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 0x10133350>
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 -----------------------------
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Loops don't match
=================
loop id = 'match'
('operation mismatch',)
<could not determine information>
Ignore ops: []
Got:
guard_not_invalidated(descr=<Guard0x844d518>)
p73 = getfield_gc_r(p14, descr=<FieldP pypy.module._sre.interp_sre.W_SRE_Pattern.inst_w_pattern 32>)
guard_nonnull_class(p73, ConstClass(W_BytesObject), descr=<Guard0x8414b28>)
i76 = instance_ptr_eq(ConstPtr(ptr75), p73)
guard_false(i76, descr=<Guard0x844d550>)
i77 = getfield_gc_i(p16, descr=<FieldS pypy.module.array.interp_array.W_ArrayBase.inst__exports 12>)
===== HERE =====
i79 = int_add(i77, 1)
i80 = getfield_gc_i(p16, descr=<FieldS pypy.module.array.interp_array.W_ArrayBase.inst_len 24>)
i82 = int_gt(0, i80)
guard_false(i82, descr=<Guard0x844d588>)
i84 = int_gt(2147483647, i80)
guard_true(i84, descr=<Guard0x844d5c0>)
guard_not_invalidated(descr=<Guard0x844d630>)
i98 = getfield_raw_i(-135128064, descr=<FieldS pypysig_long_struct_inner.c_value 0>)
i100 = int_lt(i98, 0)
guard_false(i100, descr=<Guard0x844d668>)
Expected:
guard_not_invalidated(descr=...)
p71 = getfield_gc_r(p15, descr=...) # check that the pattern is not None and a W_BytesObject
guard_nonnull_class(p71, ConstClass(W_BytesObject), descr=...)
i74 = instance_ptr_eq(_, p71)
guard_false(i74, descr=...)
i65 = getfield_gc_i(p18, descr=...)
i67 = int_gt(0, i65)
guard_false(i67, descr=...)
i69 = int_gt(#, i65)
guard_true(i69, 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=...)
____________________ TestCaptureLocals.test_capture_locals _____________________
self = <pypy.module.pypyjit.test_pypy_c.test_capture_locals.TestCaptureLocals object at 0x120c5af0>
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 0x1211b450>
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=<Guard0xf4930bf0>)
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=<Guard0xf48dc224>)
guard_not_invalidated(descr=<Guard0xf48dc240>)
i60 = int_add(i55, 1)
i62 = getfield_raw_i(-135246848, descr=<FieldS pypysig_long_struct_inner.c_value 0>)
i64 = int_lt(i62, 0)
guard_false(i64, descr=<Guard0xf48dc278>)
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(-191800100))
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=...)
__________________ TestInstance.test_namedtuple_construction ___________________
self = <pypy.module.pypyjit.test_pypy_c.test_instance.TestInstance object at 0x0e43a7f0>
def test_namedtuple_construction(self):
def main():
from collections import namedtuple
A = namedtuple("A", "x y")
res = 0
i = 0
while i < 2000:
res += A(i, 0).x
i += 1
log = self.run(main, [])
loop, = log.loops_by_filename(self.filepath)
> assert loop.match("""
i7 = int_lt(i5, 2000)
guard_true(i7, descr=...)
guard_not_invalidated(descr=...)
p1 = force_token()
p2 = force_token()
i20 = int_add_ovf(i19, i5)
guard_no_overflow(descr=...)
i9 = int_add(i5, 1)
--TICK--
jump(..., descr=...)
""")
pypy/module/pypyjit/test_pypy_c/test_instance.py:390:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
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 0x0fb55ab0>
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 -----------------------------
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Loops don't match
=================
loop id = None
('operation mismatch',)
<could not determine information>
Ignore ops: []
Got:
i77 = int_lt(i71, 2000)
guard_true(i77, descr=<Guard0xf492b268>)
guard_not_invalidated(descr=<Guard0xf4937cc0>)
p78 = force_token()
===== HERE =====
p81 = new_with_vtable(descr=<SizeDescr 20>)
setfield_gc(p81, ConstPtr(ptr82), descr=<FieldP pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__utf8 16 pure>)
i86 = call_i(ConstClass(ll_call_lookup_function_trampoline__v2210___simple_call__function_), p46, p81, 265858722, 0, descr=<Calli 4 rrii EF=5 OS=4>)
setfield_gc(p81, ConstPtr(null), descr=<FieldP pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__index_storage 8>)
setfield_gc(p81, 10, descr=<FieldS pypy.objspace.std.unicodeobject.W_UnicodeObject.inst__length 12 pure>)
guard_no_exception(descr=<Guard0xf492b290>)
i90 = int_lt(i86, 0)
guard_false(i90, descr=<Guard0xf4937cf8>)
p91 = getinteriorfield_gc_r(p57, i86, descr=<InteriorFieldDescr <FieldP odictentry.value 4>>)
guard_value(p91, ConstPtr(ptr92), descr=<Guard0xf492b2b8>)
p94 = force_token()
i98 = int_add_ovf(i69, i71)
guard_no_overflow(descr=<Guard0xf4937d14>)
i100 = int_add(i71, 1)
i102 = getfield_raw_i(-134628352, descr=<FieldS pypysig_long_struct_inner.c_value 0>)
i104 = int_lt(i102, 0)
guard_false(i104, descr=<Guard0xf4937d4c>)
jump(p0, p1, p8, i98, i100, p33, p46, p34, p57, descr=TargetToken(-191719008))
Expected:
i7 = int_lt(i5, 2000)
guard_true(i7, descr=...)
guard_not_invalidated(descr=...)
p1 = force_token()
p2 = force_token()
i20 = int_add_ovf(i19, i5)
guard_no_overflow(descr=...)
i9 = int_add(i5, 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=...)
___________________ TestString.test_lookup_default_encoding ____________________
self = <pypy.module.pypyjit.test_pypy_c.test_string.TestString object at 0x0e43a0f0>
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 0x0f9c2bd0>
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=<Guard0xf48e6858>)
guard_not_invalidated(descr=<Guard0xf488625c>)
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=<Guard0xf48e6880>)
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=<Guard0xf48e68a8>)
i91 = int_ge(i88, 0)
guard_true(i91, descr=<Guard0xf48862b0>)
i92 = int_ge(i79, i38)
guard_false(i92, descr=<Guard0xf48862e8>)
i94 = int_add(i79, 1)
i95 = int_gt(i94, i61)
guard_false(i95, descr=<Guard0xf4886320>)
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=<Guard0xf48e68d0>)
i99 = int_add(i70, 1)
i101 = getfield_raw_i(-135283712, descr=<FieldS pypysig_long_struct_inner.c_value 0>)
i103 = int_lt(i101, 0)
guard_false(i103, descr=<Guard0xf4886374>)
jump(p0, p1, p8, i99, p12, p14, p83, i33, i38, i47, p46, i61, p60, descr=TargetToken(-192025920))
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=...)
_____________________ TestStruct.test_pack_into_raw_buffer _____________________
self = <pypy.module.pypyjit.test_pypy_c.test_struct.TestStruct object at 0x0ef032b0>
def test_pack_into_raw_buffer(self):
def main(n):
import array
import struct
buf = array.array('b', b'\x00'*8)
i = 1
while i < n:
struct.pack_into("h", buf, 4, i) # ID: pack_into
i += 1
return i
log = self.run(main, [1000])
assert log.result == main(1000)
loop, = log.loops_by_filename(self.filepath)
> assert loop.match_by_id('pack_into', """\
guard_not_invalidated(descr=...)
i65 = int_le(i58, 32767)
guard_true(i65, descr=...)
raw_store(i55, 4, i58, descr=<ArrayS 2>)
""")
pypy/module/pypyjit/test_pypy_c/test_struct.py:175:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
pypy/module/pypyjit/test_pypy_c/model.py:182: in match_by_id
return matcher.match(expected_src, ignore_ops=ignore_ops)
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 0x0ff70e10>
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 -----------------------------
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Loops don't match
=================
loop id = 'pack_into'
('operation mismatch',)
<could not determine information>
Ignore ops: []
Got:
guard_not_invalidated(descr=<Guard0xf48cb4c4>)
===== HERE =====
setfield_gc(p14, i45, descr=<FieldS pypy.module.array.interp_array.W_ArrayBase.inst__exports 12>)
i65 = int_le(i58, 32767)
guard_true(i65, descr=<Guard0xf491bcb8>)
raw_store(i55, 4, i58, descr=<ArrayS 2>)
Expected:
guard_not_invalidated(descr=...)
i65 = int_le(i58, 32767)
guard_true(i65, descr=...)
raw_store(i55, 4, i58, descr=<ArrayS 2>)
_____________________ TestThread.test_lock_acquire_release _____________________
self = <pypy.module.pypyjit.test_pypy_c.test_thread.TestThread object at 0x12549790>
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 0x10b3ebd0>
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=<Guard0xf47d4f60>)
guard_not_invalidated(descr=<Guard0xf4781f60>)
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=<Guard0xf478f170>)
guard_no_exception(descr=<Guard0xf4781f7c>)
i56 = int_eq(i54, 1)
guard_true(i56, descr=<Guard0xf4781fb4>)
i58 = int_add(i40, -1)
guard_not_invalidated(descr=<Guard0xf4781fd0>)
i60 = call_i(ConstClass(RPyThreadReleaseLock), i41, descr=<Calli 4 i EF=2>)
i61 = int_is_true(i60)
guard_false(i61, descr=<Guard0xf47d4f88>)
i64 = getfield_raw_i(-135644160, descr=<FieldS pypysig_long_struct_inner.c_value 0>)
i66 = int_lt(i64, 0)
guard_false(i66, descr=<Guard0xf4792048>)
jump(p0, p1, i58, p10, p12, p22, p24, p32, i41, descr=TargetToken(-193061236))
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_buffers.py::TestBuffers::()::test_re_match
FAIL pypy/module/pypyjit/test_pypy_c/test_capture_locals.py::TestCaptureLocals::()::test_capture_locals
FAIL pypy/module/pypyjit/test_pypy_c/test_instance.py::TestInstance::()::test_namedtuple_construction
FAIL pypy/module/pypyjit/test_pypy_c/test_string.py::TestString::()::test_lookup_default_encoding
FAIL pypy/module/pypyjit/test_pypy_c/test_struct.py::TestStruct::()::test_pack_into_raw_buffer
FAIL pypy/module/pypyjit/test_pypy_c/test_thread.py::TestThread::()::test_lock_acquire_release
======= 6 failed, 1026 passed, 162 skipped, 1 xfailed in 165.86 seconds ========
program finished with exit code 1
elapsedTime=166.819672