python testrunner/pypyjit_tests.py
in dir d:\pypy_stuff\buildbot64\slave\pypy-c-jit-win-x86-64\build (timeout 4000 secs)
watching logfiles {'pytestLog': 'pypyjit_new.log'}
argv: ['python', 'testrunner/pypyjit_tests.py']
environment:
ALLUSERSPROFILE=C:\ProgramData
APPDATA=C:\Users\matti\AppData\Roaming
ASL.LOG=Destination=file
CHOCOLATEYINSTALL=C:\ProgramData\chocolatey
CHOCOLATEYLASTPATHUPDATE=133185086718935289
CHOCOLATEYTOOLSLOCATION=C:\tools
CLINK_DIR=C:\Program Files (x86)\clink\0.4.9
COMMONPROGRAMFILES=C:\Program Files (x86)\Common Files
COMMONPROGRAMFILES(X86)=C:\Program Files (x86)\Common Files
COMMONPROGRAMW6432=C:\Program Files\Common Files
COMPUTERNAME=DESKTOP-RYZEN
COMSPEC=C:\WINDOWS\system32\cmd.exe
CONDA_BAT=d:\miniconda\condabin\conda.bat
CONDA_EXE=d:\miniconda\Scripts\conda.exe
CONDA_SHLVL=0
CUDA_PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.7
CUDA_PATH_V11_7=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.7
DRIVERDATA=C:\Windows\System32\Drivers\DriverData
LOCALAPPDATA=C:\Users\matti\AppData\Local
NUMBER_OF_PROCESSORS=2
NVTOOLSEXT_PATH=C:\Program Files\NVIDIA Corporation\NvToolsExt\
OS=Windows_NT
PATH=d:\CPython27\lib\site-packages\pywin32_system32;d:\pypy_stuff\pypy\externals\bin;D:\CPython27;D:\pypy_stuff\pypy2.7-v7.3.18\Scripts;D:\pypy_stuff\pypy2.7-v7.3.18;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\TortoiseHg\;C:\Program Files\Git\cmd;C:\ProgramData\chocolatey\bin;C:\WINDOWS\System32\OpenSSH
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
PROCESSOR_ARCHITECTURE=x86
PROCESSOR_ARCHITEW6432=AMD64
PROCESSOR_IDENTIFIER=AMD64 Family 23 Model 113 Stepping 0, AuthenticAMD
PROCESSOR_LEVEL=23
PROCESSOR_REVISION=7100
PROGRAMDATA=C:\ProgramData
PROGRAMFILES=C:\Program Files (x86)
PROGRAMFILES(X86)=C:\Program Files (x86)
PROGRAMW6432=C:\Program Files
PROMPT=$P$G
PSMODULEPATH=%ProgramFiles%\WindowsPowerShell\Modules;C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules
PUBLIC=C:\Users\Public
PWD=d:\pypy_stuff\buildbot64\slave\pypy-c-jit-win-x86-64\build
PYPY_ENABLE_WINCONSOLEIO=1
PYTEST_XDIST_AUTO_NUM_WORKERS=4
RTOOLS40_HOME=C:\rtools40
RTOOLS43_HOME=C:\rtools43
RTOOLS44_HOME=C:\rtools44
SYSTEMDRIVE=C:
SYSTEMROOT=C:\WINDOWS
TEMP=D:\SystemTemp
TMP=D:\SystemTemp
TMPDIR=d:\systemtemp\pytest
USERDOMAIN=DESKTOP-RYZEN
USERNAME=matti
USERPROFILE=C:\Users\matti
VS140COMNTOOLS=C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools\
WINDIR=C:\WINDOWS
using PTY: False
D:\pypy_stuff\pypy2.7-v7.3.18\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 win32 -- Python 2.7.18[pypy-7.3.18-alpha], pytest-2.9.2, py-1.4.29, pluggy-0.3.1
pytest-2.9.2 from d:\pypy_stuff\buildbot64\slave\pypy-c-jit-win-x86-64\build\pytest.pyc
rootdir: d:\pypy_stuff\buildbot64\slave\pypy-c-jit-win-x86-64\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 s
pypy\module\pypyjit\test_pypy_c\test_call.py .........................s.
pypy\module\pypyjit\test_pypy_c\test_capture_locals.py .
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.Fs.ss...
pypy\module\pypyjit\test_pypy_c\test_generators.py ...
pypy\module\pypyjit\test_pypy_c\test_getframe.py .F
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 s
pypy\module\pypyjit\test_pypy_c\test_math.py FFs..
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 .......................
pypy\module\pypyjit\test_pypy_c\test_shift.py ...........................................................................................................................................................................................................................
pypy\module\pypyjit\test_pypy_c\test_string.py ......x............
pypy\module\pypyjit\test_pypy_c\test_struct.py ......
pypy\module\pypyjit\test_pypy_c\test_thread.py ...
pypy\module\pypyjit\test_pypy_c\test_weakref.py .
================================== FAILURES ===================================
____________________ Test__ffi.test__ffi_call_releases_gil ____________________
self = <pypy.module.pypyjit.test_pypy_c.test_ffi.Test__ffi object at 0x000002145ef09638>
def test__ffi_call_releases_gil(self):
from rpython.rlib.clibffi import get_libc_name
def main(libc_name, n):
import time
import os
from threading import Thread
#
if os.name == 'nt':
from _rawffi.alt import WinDLL, types
libc = WinDLL('Kernel32.dll')
sleep = libc.getfunc('Sleep', [types.uint], types.uint)
delays = [0]*n + [1000]
else:
from _rawffi.alt import CDLL, types
libc = CDLL(libc_name)
sleep = libc.getfunc('sleep', [types.uint], types.uint)
delays = [0]*n + [1]
#
def loop_of_sleeps(i, delays):
for delay in delays:
sleep(delay) # ID: sleep
#
threads = [Thread(target=loop_of_sleeps, args=[i, delays]) for i in range(5)]
start = time.time()
for i, thread in enumerate(threads):
thread.start()
for thread in threads:
thread.join()
end = time.time()
return end - start
log = self.run(main, [get_libc_name(), 200], threshold=150,
import_site=True)
> assert 1 <= log.result <= 1.5 # at most 0.5 seconds of overhead
E assert 1.6718692779541016 <= 1.5
E + where 1.6718692779541016 = 1.6718692779541016
E + where 1.6718692779541016 = <pypy.module.pypyjit.test_pypy_c.model.Log object at 0x000002145b3caa30>.result
pypy\module\pypyjit\test_pypy_c\test_ffi.py:109: AssertionError
______________________ TestGetFrame.test_current_frames _______________________
self = <pypy.module.pypyjit.test_pypy_c.test_getframe.TestGetFrame object at 0x000002145eec2b10>
def test_current_frames(self):
def main():
import sys
import time
import _thread as thread
lst = [0.0] * 1000
lst[-33] = 3.0
done = []
def h1(x):
time.sleep(lst[x])
def g1(x):
h1(x)
def f1():
for j in range(1000):
g1(j)
done.append('done')
for k in range(3):
thread.start_new_thread(f1, ())
time.sleep(1)
d = sys._current_frames()
time.sleep(3)
# the captured frames should be finished by now
done.append(str(len(d)))
for key, value in d.items():
while value is not None:
name = value.f_code.co_name
if len(name) == 2 and name[1] == '1':
done.append(name)
value = value.f_back
return repr('-'.join(done))
log = self.run(main, [])
> assert log.result == 'done-done-done-4-h1-g1-f1-h1-g1-f1-h1-g1-f1'
E assert '4-h1-g1-f1-h1-g1-f1-h1-g1-f1' == 'done-done-don...1-f1-h1-g1-f1'
E - 4-h1-g1-f1-h1-g1-f1-h1-g1-f1
E + done-done-done-4-h1-g1-f1-h1-g1-f1-h1-g1-f1
E ? +++++++++++++++
pypy\module\pypyjit\test_pypy_c\test_getframe.py:67: AssertionError
______________________________ TestMath.test_log ______________________________
self = <pypy.module.pypyjit.test_pypy_c.test_math.TestMath object at 0x000002145bec0a30>
def test_log(self):
def main(n):
import math
i = 1
s = 0.0
while i < n:
s += math.log(i) - math.log10(i)
i += 1
return s
log = self.run(main, [500])
assert round(log.result, 6) == round(main(500), 6)
loop, = log.loops_by_filename(self.filepath)
> assert loop.match("""
i2 = int_lt(i0, i1)
guard_true(i2, descr=...)
guard_not_invalidated(descr=...)
f1 = cast_int_to_float(i0)
i3 = float_le(f1, 0.0)
guard_false(i3, descr=...)
f2 = call_f(ConstClass(log), f1, descr=<Callf . f EF=2>)
f3 = call_f(ConstClass(log10), f1, descr=<Callf . f EF=2>)
f4 = float_sub(f2, f3)
f5 = float_add(f0, f4)
i4 = int_add(i0, 1)
--TICK--
jump(..., descr=...)
""")
pypy\module\pypyjit\test_pypy_c\test_math.py:19:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
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 0x000002145c402058>
cond = False
message = "variable mismatch: 'ConstClass(ccall_log)' instead of 'ConstClass(log)'"
def _assert(self, cond, message):
if not cond:
> raise InvalidMatch(message, frame=sys._getframe(1))
E InvalidMatch: variable mismatch: 'ConstClass(ccall_log)' instead of 'ConstClass(log)'
pypy\module\pypyjit\test_pypy_c\model.py:402: InvalidMatch
---------------------------- Captured stdout call -----------------------------
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Loops don't match
=================
loop id = None
("variable mismatch: 'ConstClass(ccall_log)' instead of 'ConstClass(log)'",)
<could not determine information>
Ignore ops: []
Got:
i55 = int_lt(i50, i29)
guard_true(i55, descr=<Guard0x214bef9ba48>)
guard_not_invalidated(descr=<Guard0x214beff4410>)
f56 = cast_int_to_float(i50)
i58 = float_le(f56, 0.000000)
guard_false(i58, descr=<Guard0x214beff4470>)
===== HERE =====
f60 = call_f(ConstClass(ccall_log), f56, descr=<Callf 8 f EF=2>)
f62 = call_f(ConstClass(ccall_log10), f56, descr=<Callf 8 f EF=2>)
f63 = float_sub(f60, f62)
f64 = float_add(f48, f63)
i66 = int_add(i50, 1)
i68 = getfield_raw_i(140713107118352, descr=<FieldS pypysig_long_struct_inner.c_value 0>)
i70 = int_lt(i68, 0)
guard_false(i70, descr=<Guard0x214bef9ba90>)
jump(p0, p1, p8, p10, i66, f64, i29, descr=TargetToken(2288126809824))
Expected:
i2 = int_lt(i0, i1)
guard_true(i2, descr=...)
guard_not_invalidated(descr=...)
f1 = cast_int_to_float(i0)
i3 = float_le(f1, 0.0)
guard_false(i3, descr=...)
f2 = call_f(ConstClass(log), f1, descr=<Callf . f EF=2>)
f3 = call_f(ConstClass(log10), f1, descr=<Callf . f EF=2>)
f4 = float_sub(f2, f3)
f5 = float_add(f0, f4)
i4 = int_add(i0, 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=...)
____________________________ TestMath.test_sin_cos ____________________________
self = <pypy.module.pypyjit.test_pypy_c.test_math.TestMath object at 0x00000214570ff248>
def test_sin_cos(self):
def main(n):
import math
i = 1
s = 0.0
while i < n:
s += math.sin(i) - math.cos(i)
i += 1
return s
log = self.run(main, [500])
assert round(log.result, 6) == round(main(500), 6)
loop, = log.loops_by_filename(self.filepath)
> assert loop.match("""
i2 = int_lt(i0, i1)
guard_true(i2, descr=...)
guard_not_invalidated(descr=...)
f1 = cast_int_to_float(i0)
i6 = --ISINF--(f1)
guard_false(i6, descr=...)
f2 = call_f(ConstClass(sin), f1, descr=<Callf . f EF=0>)
f3 = call_f(ConstClass(cos), f1, descr=<Callf . f EF=0>)
f4 = float_sub(f2, f3)
f5 = float_add(f0, f4)
i7 = int_add(i0, 1)
--TICK--
jump(..., descr=)
""")
pypy\module\pypyjit\test_pypy_c\test_math.py:48:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
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 0x000002145735f788>
cond = False
message = "variable mismatch: 'ConstClass(ccall_sin)' instead of 'ConstClass(sin)'"
def _assert(self, cond, message):
if not cond:
> raise InvalidMatch(message, frame=sys._getframe(1))
E InvalidMatch: variable mismatch: 'ConstClass(ccall_sin)' instead of 'ConstClass(sin)'
pypy\module\pypyjit\test_pypy_c\model.py:402: InvalidMatch
---------------------------- Captured stdout call -----------------------------
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Loops don't match
=================
loop id = None
("variable mismatch: 'ConstClass(ccall_sin)' instead of 'ConstClass(sin)'",)
<could not determine information>
Ignore ops: []
Got:
i56 = int_lt(i51, i29)
guard_true(i56, descr=<Guard0x26266f39a00>)
guard_not_invalidated(descr=<Guard0x26266f98140>)
f57 = cast_int_to_float(i51)
f59 = float_add(f57, 11235582092889474423308157442431404585112356118389416079589380072358292237843810195794279832650471001320007117491962084853674360550901038905802964414967132773610493339054092829768888725077880882465817684505312860552384417646403930092119569408801702322709406917786643639996702871154982269052209770601514008576.000000)
i60 = float_eq(f59, f57)
guard_false(i60, descr=<Guard0x26266f981a0>)
===== HERE =====
f62 = call_f(ConstClass(ccall_sin), f57, descr=<Callf 8 f EF=2>)
f64 = call_f(ConstClass(ccall_cos), f57, descr=<Callf 8 f EF=2>)
f65 = float_sub(f62, f64)
f66 = float_add(f49, f65)
i68 = int_add(i51, 1)
i70 = getfield_raw_i(140713107118352, descr=<FieldS pypysig_long_struct_inner.c_value 0>)
i72 = int_lt(i70, 0)
guard_false(i72, descr=<Guard0x26266f39a48>)
jump(p0, p1, p8, p10, i68, f66, i29, descr=TargetToken(2621657470688))
Expected:
i2 = int_lt(i0, i1)
guard_true(i2, descr=...)
guard_not_invalidated(descr=...)
f1 = cast_int_to_float(i0)
f1\B999 = float_add(f1, ...)
i6 = float_eq(f1\B999, f1)
guard_false(i6, descr=...)
f2 = call_f(ConstClass(sin), f1, descr=<Callf . f EF=0>)
f3 = call_f(ConstClass(cos), f1, descr=<Callf . f EF=0>)
f4 = float_sub(f2, f3)
f5 = float_add(f0, f4)
i7 = int_add(i0, 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=)
=========================== short test summary info ===========================
FAIL pypy/module/pypyjit/test_pypy_c/test_ffi.py::Test__ffi::()::test__ffi_call_releases_gil
FAIL pypy/module/pypyjit/test_pypy_c/test_getframe.py::TestGetFrame::()::test_current_frames
FAIL pypy/module/pypyjit/test_pypy_c/test_math.py::TestMath::()::test_log
FAIL pypy/module/pypyjit/test_pypy_c/test_math.py::TestMath::()::test_sin_cos
====== 4 failed, 1025 passed, 165 skipped, 1 xfailed in 1333.55 seconds =======
program finished with exit code 1
elapsedTime=1346.415000