pypy-venv/bin/pypy3 -m pytest ../build/extra_tests --junitxml=extra.log --durations=20 -raw -n 0
in dir /build_dir/pypy-c-jit-linux-x86-64/venv (timeout 1200 secs)
watching logfiles {'pytestLog': 'extra.log'}
argv: ['pypy-venv/bin/pypy3', '-m', 'pytest', '../build/extra_tests', '--junitxml=extra.log', '--durations=20', '-raw', '-n', '0']
environment:
AUDITWHEEL_ARCH=x86_64
AUDITWHEEL_PLAT=manylinux2014_x86_64
AUDITWHEEL_POLICY=manylinux2014
DEVTOOLSET_ROOTPATH=/opt/rh/devtoolset-10/root
HOME=/home/buildslave
HOSTNAME=0b1c84676ded
LANG=en_US.UTF-8
LANGUAGE=en_US.UTF-8
LC_ALL=en_US.UTF-8
LD_LIBRARY_PATH=/usr/local/lib:/opt/rh/devtoolset-10/root/usr/lib64:/opt/rh/devtoolset-10/root/usr/lib:/opt/rh/devtoolset-10/root/usr/lib64/dyninst:/opt/rh/devtoolset-10/root/usr/lib/dyninst:/usr/local/lib64
LOGNAME=buildslave
PATH=/python27_virt/bin:/opt/rh/devtoolset-10/root/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig:/usr/local/lib/pkgconfig
PWD=/build_dir/pypy-c-jit-linux-x86-64/venv
PYPY_LOCALBASE=/usr/local
PYPY_MAKE_PORTABLE=1
PYPY_USESSION_DIR=/tmp/pytest
SHELL=/bin/bash
SHLVL=2
SSL_CERT_FILE=/opt/_internal/certs.pem
TERM=xterm
USER=buildslave
USE_CURL=1
_=/python27_virt/bin/buildslave
using PTY: False
============================= test session starts ==============================
platform linux -- Python 3.12.13[pypy-8.0.0-alpha], pytest-6.2.5, py-1.11.0, pluggy-1.6.0
rootdir: /build_dir/pypy-c-jit-linux-x86-64/build/extra_tests, configfile: pytest.ini
plugins: xdist-3.5.0, hypothesis-6.36.2
collected 3199 items / 4 skipped / 3195 selected
../build/extra_tests/test__posixshmem.py . [ 0%]
../build/extra_tests/test_asyncio.py ... [ 0%]
../build/extra_tests/test_binop_overriding.py .... [ 0%]
../build/extra_tests/test_bufferedreader.py ..... [ 0%]
../build/extra_tests/test_bytes.py .......... [ 0%]
../build/extra_tests/test_capi.py . [ 0%]
../build/extra_tests/test_code.py . [ 0%]
../build/extra_tests/test_collections.py .. [ 0%]
../build/extra_tests/test_complexobject.py . [ 0%]
../build/extra_tests/test_contextvars.py . [ 0%]
../build/extra_tests/test_datetime.py .................................. [ 1%]
. [ 2%]
../build/extra_tests/test_dbm.py ........ [ 2%]
../build/extra_tests/test_decimal.py ........... [ 2%]
../build/extra_tests/test_dis.py s [ 2%]
../build/extra_tests/test_functools.py FF [ 2%]
../build/extra_tests/test_gc.py ... [ 2%]
../build/extra_tests/test_gdbm.py ... [ 2%]
../build/extra_tests/test_generic_alias.py ............................. [ 3%]
............. [ 4%]
../build/extra_tests/test_greenlet_contextvars.py .......... [ 4%]
../build/extra_tests/test_greenlet_thread.py .....ss [ 4%]
../build/extra_tests/test_greenlet_tracing.py .. [ 4%]
../build/extra_tests/test_grp.py ... [ 4%]
../build/extra_tests/test_hashlib.py ... [ 4%]
../build/extra_tests/test_heapq.py ..F [ 5%]
../build/extra_tests/test_immutables_map.py ............................ [ 5%]
............................. [ 6%]
../build/extra_tests/test_import.py . [ 6%]
../build/extra_tests/test_inspect.py .... [ 7%]
../build/extra_tests/test_interpreter.py . [ 7%]
../build/extra_tests/test_itertools.py ... [ 7%]
../build/extra_tests/test_jit.py ... [ 7%]
../build/extra_tests/test_json.py ..... [ 7%]
../build/extra_tests/test_linecache.py . [ 7%]
../build/extra_tests/test_lzma.py . [ 7%]
../build/extra_tests/test_modules.py . [ 7%]
../build/extra_tests/test_os.py ......... [ 7%]
../build/extra_tests/test_posix.py ..... [ 7%]
../build/extra_tests/test_posix_extra.py . [ 7%]
../build/extra_tests/test_pyexpat.py . [ 7%]
../build/extra_tests/test_pypy_modules.py .............................. [ 8%]
[ 8%]
../build/extra_tests/test_pypy_remote_debug.py ................. [ 9%]
../build/extra_tests/test_pypy_util_cffi.py . [ 9%]
../build/extra_tests/test_recursion.py s [ 9%]
../build/extra_tests/test_scandir.py ................... [ 10%]
../build/extra_tests/test_semlock.py . [ 10%]
../build/extra_tests/test_sqlite3.py ................................... [ 11%]
..................................... [ 12%]
../build/extra_tests/test_ssl.py . [ 12%]
../build/extra_tests/test_startup.py ... [ 12%]
../build/extra_tests/test_stringio.py ... [ 12%]
../build/extra_tests/test_structseq.py ...... [ 12%]
../build/extra_tests/test_sysconfig.py . [ 12%]
../build/extra_tests/test_syslog.py . [ 12%]
../build/extra_tests/test_textio.py . [ 12%]
../build/extra_tests/test_tk.py . [ 12%]
../build/extra_tests/test_traceback_suggestions.py ....F....F.. [ 13%]
../build/extra_tests/test_unicode.py .......................... [ 14%]
../build/extra_tests/test_venv.py .. [ 14%]
../build/extra_tests/test_weakref.py .. [ 14%]
../build/extra_tests/cffi_tests/test_c.py .............................. [ 15%]
............................sssssssssssssss.sss...s...s................. [ 17%]
....................s.............s......s..s....................s...... [ 19%]
............s..........s........................s...... [ 21%]
../build/extra_tests/cffi_tests/test_version.py .. [ 21%]
../build/extra_tests/cffi_tests/cffi0/test_cdata.py . [ 21%]
../build/extra_tests/cffi_tests/cffi0/test_ctypes.py ..................s [ 22%]
...............s.s.s.......s.........................sssssss..s..s...... [ 24%]
.......................................sssssssss [ 25%]
../build/extra_tests/cffi_tests/cffi0/test_ffi_backend.py .............. [ 26%]
.....................................................................s.. [ 28%]
.s....................................................................s. [ 30%]
....................ss...................s.s...s................... [ 32%]
../build/extra_tests/cffi_tests/cffi0/test_function.py ......s.......s.. [ 33%]
.s.s..ss..sss..ss [ 33%]
../build/extra_tests/cffi_tests/cffi0/test_model.py ............. [ 34%]
../build/extra_tests/cffi_tests/cffi0/test_ownlib.py .sss...sssss [ 34%]
../build/extra_tests/cffi_tests/cffi0/test_parsing.py .................. [ 35%]
.......s........... [ 35%]
../build/extra_tests/cffi_tests/cffi0/test_platform.py .... [ 35%]
../build/extra_tests/cffi_tests/cffi0/test_unicode_literals.py ......... [ 36%]
... [ 36%]
../build/extra_tests/cffi_tests/cffi0/test_verify.py ................... [ 36%]
s......s.....s.......................................................... [ 39%]
.......................................................s...s............ [ 41%]
...... [ 41%]
../build/extra_tests/cffi_tests/cffi0/test_version.py sssss [ 41%]
../build/extra_tests/cffi_tests/cffi0/test_vgen.py ...................s. [ 42%]
.....s.....s............................................................ [ 44%]
.....................................................s...s.............. [ 46%]
.... [ 47%]
../build/extra_tests/cffi_tests/cffi0/test_zdistutils.py ............... [ 47%]
....................... [ 48%]
../build/extra_tests/cffi_tests/cffi0/test_zintegration.py ........ [ 48%]
../build/extra_tests/cffi_tests/cffi1/test_cffi_binary.py s [ 48%]
../build/extra_tests/cffi_tests/cffi1/test_commontypes.py ss. [ 48%]
../build/extra_tests/cffi_tests/cffi1/test_dlopen.py ............... [ 49%]
../build/extra_tests/cffi_tests/cffi1/test_dlopen_unicode_literals.py .. [ 49%]
............. [ 49%]
../build/extra_tests/cffi_tests/cffi1/test_ffi_obj.py .................. [ 50%]
...........s............. [ 50%]
../build/extra_tests/cffi_tests/cffi1/test_function_args.py s [ 50%]
../build/extra_tests/cffi_tests/cffi1/test_new_ffi_1.py ................ [ 51%]
.................................................................s...s.. [ 53%]
.................................... [ 54%]
../build/extra_tests/cffi_tests/cffi1/test_pkgconfig.py ... [ 54%]
../build/extra_tests/cffi_tests/cffi1/test_re_python.py ................ [ 55%]
..... [ 55%]
../build/extra_tests/cffi_tests/cffi1/test_realize_c_type.py ......... [ 55%]
../build/extra_tests/cffi_tests/cffi1/test_recompiler.py ............... [ 56%]
..................................................s..................... [ 58%]
...............................................s.....s.................. [ 60%]
........ [ 61%]
../build/extra_tests/cffi_tests/cffi1/test_unicode_literals.py ....... [ 61%]
../build/extra_tests/cffi_tests/cffi1/test_verify1.py .................. [ 61%]
............s........................................................... [ 64%]
...............s.....xxx....x......................s...s....s...s... [ 66%]
../build/extra_tests/cffi_tests/cffi1/test_zdist.py .................... [ 66%]
... [ 66%]
../build/extra_tests/cffi_tests/embedding/test_basic.py sssss [ 67%]
../build/extra_tests/cffi_tests/embedding/test_performance.py sssss [ 67%]
../build/extra_tests/cffi_tests/embedding/test_recursive.py s [ 67%]
../build/extra_tests/cffi_tests/embedding/test_thread.py ssss [ 67%]
../build/extra_tests/cffi_tests/embedding/test_tlocal.py s [ 67%]
../build/extra_tests/ctypes_tests/test_anon.py .. [ 67%]
../build/extra_tests/ctypes_tests/test_array.py ....... [ 67%]
../build/extra_tests/ctypes_tests/test_base.py ... [ 67%]
../build/extra_tests/ctypes_tests/test_bitfields.py ... [ 67%]
../build/extra_tests/ctypes_tests/test_buffers.py ..................... [ 68%]
../build/extra_tests/ctypes_tests/test_callback_traceback.py . [ 68%]
../build/extra_tests/ctypes_tests/test_callbacks.py .................... [ 69%]
.......... [ 69%]
../build/extra_tests/ctypes_tests/test_cast.py ..... [ 69%]
../build/extra_tests/ctypes_tests/test_errno.py . [ 69%]
../build/extra_tests/ctypes_tests/test_extra.py ............... [ 70%]
../build/extra_tests/ctypes_tests/test_funcptr.py . [ 70%]
../build/extra_tests/ctypes_tests/test_functions.py .............xx... [ 70%]
../build/extra_tests/ctypes_tests/test_guess_argtypes.py .. [ 70%]
../build/extra_tests/ctypes_tests/test_keepalive.py .................. [ 71%]
../build/extra_tests/ctypes_tests/test_loading.py . [ 71%]
../build/extra_tests/ctypes_tests/test_numbers.py ...............xX [ 71%]
../build/extra_tests/ctypes_tests/test_parameters.py .. [ 72%]
../build/extra_tests/ctypes_tests/test_pointers.py ..................... [ 72%]
[ 72%]
../build/extra_tests/ctypes_tests/test_prototypes.py ..... [ 72%]
../build/extra_tests/ctypes_tests/test_structures.py .................. [ 73%]
../build/extra_tests/ctypes_tests/test_unions.py .. [ 73%]
../build/extra_tests/ctypes_tests/test_values.py . [ 73%]
../build/extra_tests/ctypes_tests/test_win32.py s [ 73%]
../build/extra_tests/hpy_tests/test_dist_info.py .. [ 73%]
../build/extra_tests/hpy_tests/_vendored/test_00_basic.py .............. [ 74%]
.......................................... [ 75%]
../build/extra_tests/hpy_tests/_vendored/test_argparse.py .............. [ 75%]
........................................................................ [ 78%]
.... [ 78%]
../build/extra_tests/hpy_tests/_vendored/test_call.py .......... [ 78%]
../build/extra_tests/hpy_tests/_vendored/test_capsule.py .......... [ 78%]
../build/extra_tests/hpy_tests/_vendored/test_capsule_legacy.py .. [ 78%]
../build/extra_tests/hpy_tests/_vendored/test_contextvar.py .. [ 78%]
../build/extra_tests/hpy_tests/_vendored/test_cpy_compat.py ............ [ 79%]
...... [ 79%]
../build/extra_tests/hpy_tests/_vendored/test_eval.py .... [ 79%]
../build/extra_tests/hpy_tests/_vendored/test_helpers.py ...... [ 79%]
../build/extra_tests/hpy_tests/_vendored/test_hpybuildvalue.py ......... [ 80%]
..... [ 80%]
../build/extra_tests/hpy_tests/_vendored/test_hpybytes.py ............ [ 80%]
../build/extra_tests/hpy_tests/_vendored/test_hpydict.py ............ [ 80%]
../build/extra_tests/hpy_tests/_vendored/test_hpyerr.py ................ [ 81%]
...................... [ 82%]
../build/extra_tests/hpy_tests/_vendored/test_hpyfield.py ssss........ss [ 82%]
ss.. [ 82%]
../build/extra_tests/hpy_tests/_vendored/test_hpyglobal.py .. [ 82%]
../build/extra_tests/hpy_tests/_vendored/test_hpyimport.py .. [ 82%]
../build/extra_tests/hpy_tests/_vendored/test_hpyiter.py .... [ 82%]
../build/extra_tests/hpy_tests/_vendored/test_hpylist.py .......... [ 83%]
../build/extra_tests/hpy_tests/_vendored/test_hpylong.py ............... [ 83%]
..................... [ 84%]
../build/extra_tests/hpy_tests/_vendored/test_hpymodule.py ............. [ 84%]
... [ 84%]
../build/extra_tests/hpy_tests/_vendored/test_hpyslice.py ...... [ 85%]
../build/extra_tests/hpy_tests/_vendored/test_hpystructseq.py .... [ 85%]
../build/extra_tests/hpy_tests/_vendored/test_hpytuple.py ........ [ 85%]
../build/extra_tests/hpy_tests/_vendored/test_hpytype.py ............... [ 85%]
.ss.................................................... [ 87%]
../build/extra_tests/hpy_tests/_vendored/test_hpytype_legacy.py ........ [ 87%]
........ss..............................................ssssss.......... [ 90%]
[ 90%]
../build/extra_tests/hpy_tests/_vendored/test_hpyunicode.py ............ [ 90%]
.............................. [ 91%]
../build/extra_tests/hpy_tests/_vendored/test_importing.py ... [ 91%]
../build/extra_tests/hpy_tests/_vendored/test_legacy_forbidden.py .... [ 91%]
../build/extra_tests/hpy_tests/_vendored/test_number.py ................ [ 92%]
.. [ 92%]
../build/extra_tests/hpy_tests/_vendored/test_object.py ................ [ 92%]
.................................. [ 93%]
../build/extra_tests/hpy_tests/_vendored/test_slots.py ................. [ 94%]
......................... [ 95%]
../build/extra_tests/hpy_tests/_vendored/test_slots_legacy.py .......... [ 95%]
.......................................... [ 96%]
../build/extra_tests/hpy_tests/_vendored/test_support.py .. [ 96%]
../build/extra_tests/hpy_tests/_vendored/test_tracker.py ............ [ 97%]
../build/extra_tests/hpy_tests/_vendored/debug/test_builder_invalid.py . [ 97%]
... [ 97%]
../build/extra_tests/hpy_tests/_vendored/debug/test_charptr.py ..... [ 97%]
../build/extra_tests/hpy_tests/_vendored/debug/test_context_reuse.py . [ 97%]
../build/extra_tests/hpy_tests/_vendored/debug/test_handles_invalid.py . [ 97%]
ss... [ 97%]
../build/extra_tests/hpy_tests/_vendored/debug/test_handles_leak.py .... [ 97%]
......... [ 98%]
../build/extra_tests/hpy_tests/_vendored/debug/test_misc.py ..... [ 98%]
../build/extra_tests/hpy_tests/_vendored/hpy_devel/test_abitag.py ... [ 98%]
../build/extra_tests/hpy_tests/_vendored/hpy_devel/test_distutils.py ... [ 98%]
.......s.s. [ 98%]
../build/extra_tests/hpy_tests/_vendored/trace/test_trace.py ... [ 98%]
../build/extra_tests/test_pyrepl/test_basic.py .............. [ 99%]
../build/extra_tests/test_pyrepl/test_bugs.py x.. [ 99%]
../build/extra_tests/test_pyrepl/test_functional.py ............ [ 99%]
../build/extra_tests/test_pyrepl/test_keymap.py . [ 99%]
../build/extra_tests/test_pyrepl/test_reader.py . [ 99%]
../build/extra_tests/test_pyrepl/test_readline.py .... [100%]
=================================== FAILURES ===================================
______________________________ test_partial_stack ______________________________
def test_partial_stack():
# issue 3988
stack = []
def multiply(a, b):
frame = sys._getframe()
while frame:
stack.append(frame.f_code.co_name)
frame = frame.f_back
return a * b
penta = functools.partial(multiply, 5)
assert penta(2) == 10
assert len(stack) > 1
# Make sure partial.__call__ is not in the first few stack functions
> assert all([f != "__call__" for f in stack[:3]])
E assert False
E + where False = all([True, False, True])
../build/extra_tests/test_functools.py:19: AssertionError
_____________________________ test_lru_cache_stack _____________________________
def test_lru_cache_stack():
# issue 3988
stack = []
@functools.lru_cache
def multiply(a, b):
frame = sys._getframe()
while frame:
stack.append(frame.f_code.co_name)
frame = frame.f_back
return a * b
assert multiply(2, 5) == 10
assert len(stack) > 1
print(stack)
# Make sure _lru_cache.wrapper is not in the first few stack functions
> assert all([f != "wrapper" for f in stack[:3]])
E assert False
E + where False = all([True, False, True])
../build/extra_tests/test_functools.py:36: AssertionError
----------------------------- Captured stdout call -----------------------------
['multiply', 'wrapper', 'test_lru_cache_stack', 'pytest_pyfunc_call', '_multicall', '_hookexec', '__call__', 'runtest', 'pytest_runtest_call', '_multicall', '_hookexec', '__call__', '<lambda>', 'from_call', 'call_runtest_hook', 'call_and_report', 'runtestprotocol', 'pytest_runtest_protocol', '_multicall', '_hookexec', '__call__', 'pytest_runtestloop', '_multicall', '_hookexec', '__call__', '_main', 'wrap_session', 'pytest_cmdline_main', '_multicall', '_hookexec', '__call__', 'main', 'console_main', '<module>', '_run_code', '_run_module_as_main']
__________________ test_check_linked_tournament_tree_in_place __________________
def test_check_linked_tournament_tree_in_place():
import heapq
> assert hasattr(heapq, '_MergeNode')
E AssertionError: assert False
E + where False = hasattr(<module 'heapq' from '/build_dir/pypy-c-jit-linux-x86-64/build/lib-python/3/heapq.py'>, '_MergeNode')
../build/extra_tests/test_heapq.py:45: AssertionError
________________________________ test_add_char _________________________________
arguments = (), kwargs = {}, __tracebackhide__ = True
test = <function test_add_char at 0x00007f0eb1e97150>
settings = settings(database=DirectoryBasedExampleDatabase('/build_dir/pypy-c-jit-linux-x86-64/venv/.hypothesis/examples'), deadl...nt_blob=False, report_multiple_bugs=True, stateful_step_count=50, suppress_health_check=(), verbosity=Verbosity.normal)
random = <random.Random object at 0x0000000007871c40>
processed_args = ((), {}, <function default_new_style_executor at 0x00007f0eb2f69600>, TupleStrategy((just(()), fixed_dictionaries({'a': text(), 'b': text(), 'char': characters()}).map(lambda args: dict(args, **kwargs)))))
test_runner = <function default_new_style_executor at 0x00007f0eb2f69600>
search_strategy = TupleStrategy((just(()), fixed_dictionaries({'a': text(), 'b': text(), 'char': characters()}).map(lambda args: dict(args, **kwargs))))
runner = None
state = <hypothesis.core.StateForActualGivenExecution object at 0x0000000010098528>
@impersonate(test)
@define_function_signature(test.__name__, test.__doc__, argspec)
def wrapped_test(*arguments, **kwargs):
# Tell pytest to omit the body of this function from tracebacks
__tracebackhide__ = True
test = wrapped_test.hypothesis.inner_test
if getattr(test, "is_hypothesis_test", False):
raise InvalidArgument(
f"You have applied @given to the test {test.__name__} more than "
"once, which wraps the test several times and is extremely slow. "
"A similar effect can be gained by combining the arguments "
"of the two calls to given. For example, instead of "
"@given(booleans()) @given(integers()), you could write "
"@given(booleans(), integers())"
)
settings = wrapped_test._hypothesis_internal_use_settings
random = get_random_for_wrapped_test(test, wrapped_test)
processed_args = process_arguments_to_given(
wrapped_test, arguments, kwargs, given_kwargs, argspec
)
arguments, kwargs, test_runner, search_strategy = processed_args
if (
inspect.iscoroutinefunction(test)
and test_runner is default_new_style_executor
):
# See https://github.com/HypothesisWorks/hypothesis/issues/3054
# If our custom executor doesn't handle coroutines, or we return an
# awaitable from a non-async-def function, we just rely on the
# return_value health check. This catches most user errors though.
raise InvalidArgument(
"Hypothesis doesn't know how to run async test functions like "
f"{test.__name__}. You'll need to write a custom executor, "
"or use a library like pytest-asyncio or pytest-trio which can "
"handle the translation for you.\n See https://hypothesis."
"readthedocs.io/en/latest/details.html#custom-function-execution"
)
runner = getattr(search_strategy, "runner", None)
if isinstance(runner, TestCase) and test.__name__ in dir(TestCase):
msg = (
f"You have applied @given to the method {test.__name__}, which is "
"used by the unittest runner but is not itself a test."
" This is not useful in any way."
)
fail_health_check(settings, msg, HealthCheck.not_a_test_method)
if bad_django_TestCase(runner): # pragma: no cover
# Covered by the Django tests, but not the pytest coverage task
raise InvalidArgument(
"You have applied @given to a method on "
f"{type(runner).__qualname__}, but this "
"class does not inherit from the supported versions in "
"`hypothesis.extra.django`. Use the Hypothesis variants "
"to ensure that each example is run in a separate "
"database transaction."
)
state = StateForActualGivenExecution(
test_runner, search_strategy, test, settings, random, wrapped_test
)
reproduce_failure = wrapped_test._hypothesis_internal_use_reproduce_failure
# If there was a @reproduce_failure decorator, use it to reproduce
# the error (or complain that we couldn't). Either way, this will
# always raise some kind of error.
if reproduce_failure is not None:
expected_version, failure = reproduce_failure
if expected_version != __version__:
raise InvalidArgument(
"Attempting to reproduce a failure from a different "
"version of Hypothesis. This failure is from %s, but "
"you are currently running %r. Please change your "
"Hypothesis version to a matching one."
% (expected_version, __version__)
)
try:
state.execute_once(
ConjectureData.for_buffer(decode_failure(failure)),
print_example=True,
is_final=True,
)
raise DidNotReproduce(
"Expected the test to raise an error, but it "
"completed successfully."
)
except StopTest:
raise DidNotReproduce(
"The shape of the test data has changed in some way "
"from where this blob was defined. Are you sure "
"you're running the same test?"
) from None
except UnsatisfiedAssumption:
raise DidNotReproduce(
"The test data failed to satisfy an assumption in the "
"test. Have you added it since this blob was "
"generated?"
) from None
# There was no @reproduce_failure, so start by running any explicit
# examples from @example decorators.
errors = list(
execute_explicit_examples(state, wrapped_test, arguments, kwargs)
)
with local_settings(state.settings):
if len(errors) > 1:
# If we're not going to report multiple bugs, we would have
# stopped running explicit examples at the first failure.
assert state.settings.report_multiple_bugs
for fragments, err in errors:
for f in fragments:
report(f)
report(format_exception(err, err.__traceback__))
raise MultipleFailures(
f"Hypothesis found {len(errors)} failures in explicit examples."
)
elif errors:
fragments, the_error_hypothesis_found = errors[0]
for f in fragments:
report(f)
raise the_error_hypothesis_found
# If there were any explicit examples, they all ran successfully.
# The next step is to use the Conjecture engine to run the test on
# many different inputs.
if not (
Phase.reuse in settings.phases or Phase.generate in settings.phases
):
return
try:
if isinstance(runner, TestCase) and hasattr(runner, "subTest"):
subTest = runner.subTest
try:
runner.subTest = types.MethodType(fake_subTest, runner)
state.run_engine()
finally:
runner.subTest = subTest
else:
> state.run_engine()
pypy-venv/lib/pypy3.12/site-packages/hypothesis/core.py:1159:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <hypothesis.core.StateForActualGivenExecution object at 0x0000000010098528>
def run_engine(self):
"""Run the test function many times, on database input and generated
input, using the Conjecture engine.
"""
# Tell pytest to omit the body of this function from tracebacks
__tracebackhide__ = True
try:
database_key = self.wrapped_test._hypothesis_internal_database_key
except AttributeError:
if global_force_seed is None:
database_key = function_digest(self.test)
else:
database_key = None
runner = ConjectureRunner(
self._execute_once_for_engine,
settings=self.settings,
random=self.random,
database_key=database_key,
)
# Use the Conjecture engine to run the test function many times
# on different inputs.
runner.run()
note_statistics(runner.statistics)
if runner.call_count == 0:
return
if runner.interesting_examples:
self.falsifying_examples = sorted(
runner.interesting_examples.values(),
key=lambda d: sort_key(d.buffer),
reverse=True,
)
else:
if runner.valid_examples == 0:
rep = get_pretty_function_description(self.test)
raise Unsatisfiable(f"Unable to satisfy assumptions of {rep}")
if not self.falsifying_examples:
return
elif not self.settings.report_multiple_bugs:
# Pretend that we only found one failure, by discarding the others.
del self.falsifying_examples[:-1]
# The engine found one or more failures, so we need to reproduce and
# report them.
flaky = 0
if runner.best_observed_targets:
for line in describe_targets(runner.best_observed_targets):
report(line)
report("")
explanations = explanatory_lines(self.explain_traces, self.settings)
for falsifying_example in self.falsifying_examples:
info = falsifying_example.extra_information
ran_example = ConjectureData.for_buffer(falsifying_example.buffer)
self.__was_flaky = False
assert info.__expected_exception is not None
try:
> self.execute_once(
ran_example,
print_example=not self.is_find,
is_final=True,
expected_failure=(
info.__expected_exception,
info.__expected_traceback,
),
)
pypy-venv/lib/pypy3.12/site-packages/hypothesis/core.py:816:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <hypothesis.core.StateForActualGivenExecution object at 0x0000000010098528>
data = ConjectureData(VALID, 130 bytes, frozen), print_example = True
is_final = True
expected_failure = (AssertionError("assert 83 == 85\n + where 85 = _levenshtein_distance(('0' + '0'), ('0' + '10000000000000000000000000...000000000000000000000000000000000000001'))\n\n../build/extra_tests/test_traceback_suggestions.py:48: AssertionError\n")
def execute_once(
self, data, print_example=False, is_final=False, expected_failure=None
):
"""Run the test function once, using ``data`` as input.
If the test raises an exception, it will propagate through to the
caller of this method. Depending on its type, this could represent
an ordinary test failure, or a fatal error, or a control exception.
If this method returns normally, the test might have passed, or
it might have placed ``data`` in an unsuccessful state and then
swallowed the corresponding control exception.
"""
data.is_find = self.is_find
text_repr = [None]
if self.settings.deadline is None:
test = self.test
else:
@proxies(self.test)
def test(*args, **kwargs):
self.__test_runtime = None
initial_draws = len(data.draw_times)
start = time.perf_counter()
result = self.test(*args, **kwargs)
finish = time.perf_counter()
internal_draw_time = sum(data.draw_times[initial_draws:])
runtime = datetime.timedelta(
seconds=finish - start - internal_draw_time
)
self.__test_runtime = runtime
current_deadline = self.settings.deadline
if not is_final:
current_deadline = (current_deadline // 4) * 5
if runtime >= current_deadline:
raise DeadlineExceeded(runtime, self.settings.deadline)
return result
def run(data):
# Set up dynamic context needed by a single test run.
with local_settings(self.settings):
with deterministic_PRNG():
with BuildContext(data, is_final=is_final):
# Generate all arguments to the test function.
args, kwargs = data.draw(self.search_strategy)
if expected_failure is not None:
text_repr[0] = arg_string(test, args, kwargs)
if print_example or current_verbosity() >= Verbosity.verbose:
output = StringIO()
printer = RepresentationPrinter(output)
if print_example:
printer.text("Falsifying example:")
else:
printer.text("Trying example:")
if self.print_given_args:
printer.text(" ")
printer.text(test.__name__)
with printer.group(indent=4, open="(", close=""):
printer.break_()
for v in args:
printer.pretty(v)
# We add a comma unconditionally because
# generated arguments will always be kwargs,
# so there will always be more to come.
printer.text(",")
printer.breakable()
for i, (k, v) in enumerate(kwargs.items()):
printer.text(k)
printer.text("=")
printer.pretty(v)
printer.text(",")
if i + 1 < len(kwargs):
printer.breakable()
printer.break_()
printer.text(")")
printer.flush()
report(output.getvalue())
return test(*args, **kwargs)
# Run the test function once, via the executor hook.
# In most cases this will delegate straight to `run(data)`.
> result = self.test_runner(data, run)
pypy-venv/lib/pypy3.12/site-packages/hypothesis/core.py:637:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
data = ConjectureData(VALID, 130 bytes, frozen)
function = <function StateForActualGivenExecution.execute_once.<locals>.run at 0x000000000d57b218>
def default_new_style_executor(data, function):
> return function(data)
pypy-venv/lib/pypy3.12/site-packages/hypothesis/executors.py:47:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
data = ConjectureData(VALID, 130 bytes, frozen)
def run(data):
# Set up dynamic context needed by a single test run.
with local_settings(self.settings):
with deterministic_PRNG():
with BuildContext(data, is_final=is_final):
# Generate all arguments to the test function.
args, kwargs = data.draw(self.search_strategy)
if expected_failure is not None:
text_repr[0] = arg_string(test, args, kwargs)
if print_example or current_verbosity() >= Verbosity.verbose:
output = StringIO()
printer = RepresentationPrinter(output)
if print_example:
printer.text("Falsifying example:")
else:
printer.text("Trying example:")
if self.print_given_args:
printer.text(" ")
printer.text(test.__name__)
with printer.group(indent=4, open="(", close=""):
printer.break_()
for v in args:
printer.pretty(v)
# We add a comma unconditionally because
# generated arguments will always be kwargs,
# so there will always be more to come.
printer.text(",")
printer.breakable()
for i, (k, v) in enumerate(kwargs.items()):
printer.text(k)
printer.text("=")
printer.pretty(v)
printer.text(",")
if i + 1 < len(kwargs):
printer.breakable()
printer.break_()
printer.text(")")
printer.flush()
report(output.getvalue())
> return test(*args, **kwargs)
pypy-venv/lib/pypy3.12/site-packages/hypothesis/core.py:633:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
a = '0', b = '10000000000000000000000000000000000000001', char = '0'
@given(st.text(), st.text(), st.characters())
> def test_add_char(a, b, char):
../build/extra_tests/test_traceback_suggestions.py:46:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
args = ('0', '10000000000000000000000000000000000000001', '0'), kwargs = {}
initial_draws = 1, start = 34479127.98093835
@proxies(self.test)
def test(*args, **kwargs):
self.__test_runtime = None
initial_draws = len(data.draw_times)
start = time.perf_counter()
> result = self.test(*args, **kwargs)
pypy-venv/lib/pypy3.12/site-packages/hypothesis/core.py:575:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
a = '0', b = '10000000000000000000000000000000000000001', char = '0'
@given(st.text(), st.text(), st.characters())
def test_add_char(a, b, char):
d = _levenshtein_distance(a, b)
> assert d == _levenshtein_distance(char + a, char + b)
E AssertionError: assert 83 == 85
E + where 85 = _levenshtein_distance(('0' + '0'), ('0' + '10000000000000000000000000000000000000001'))
../build/extra_tests/test_traceback_suggestions.py:48: AssertionError
During handling of the above exception, another exception occurred:
@given(st.text(), st.text(), st.characters())
> def test_add_char(a, b, char):
../build/extra_tests/test_traceback_suggestions.py:46:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
pypy-venv/lib/pypy3.12/site-packages/hypothesis/internal/escalation.py:96: in get_trimmed_traceback
is_hypothesis_file(getframeinfo(tb.tb_frame)[0])
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
frame = <frame at 0x0000000008306078, file '/build_dir/pypy-c-jit-linux-x86-64/venv/pypy-venv/lib/pypy3.12/site-packages/hypothesis/core.py', line -1, code run_engine>
context = 1
def getframeinfo(frame, context=1):
"""Get information about a frame or traceback object.
A tuple of five things is returned: the filename, the line number of
the current line, the function name, a list of lines of context from
the source code, and the index of the current line within that list.
The optional second argument specifies the number of lines of context
to return, which are centered around the current line."""
if istraceback(frame):
positions = _get_code_position_from_tb(frame)
lineno = frame.tb_lineno
frame = frame.tb_frame
else:
lineno = frame.f_lineno
positions = _get_code_position(frame.f_code, frame.f_lasti)
if positions[0] is None:
frame, *positions = (frame, lineno, *positions[1:])
else:
frame, *positions = (frame, *positions)
lineno = positions[0]
if not isframe(frame):
raise TypeError('{!r} is not a frame or traceback object'.format(frame))
filename = getsourcefile(frame) or getfile(frame)
if context > 0:
> start = lineno - 1 - context//2
E TypeError: unsupported operand type(s) for -: 'NoneType' and 'int'
../build/lib-python/3/inspect.py:1758: TypeError
---------------------------------- Hypothesis ----------------------------------
Falsifying example: test_add_char(
a='0', b='10000000000000000000000000000000000000001', char='0',
)
________________ test_compute_suggestion_name_error_from_global ________________
def test_compute_suggestion_name_error_from_global():
def f():
test_compute_suggestion_name_error_from_globl
try:
> f()
../build/extra_tests/test_traceback_suggestions.py:96:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
def f():
> test_compute_suggestion_name_error_from_globl
E NameError: name 'test_compute_suggestion_name_error_from_globl' is not defined
../build/extra_tests/test_traceback_suggestions.py:93: NameError
During handling of the above exception, another exception occurred:
def test_compute_suggestion_name_error_from_global():
def f():
test_compute_suggestion_name_error_from_globl
try:
f()
except NameError as e:
> assert fmt(e) == "NameError: name 'test_compute_suggestion_name_error_from_globl' is not defined. Did you mean: 'test_compute_suggestion_name_error_from_global'?\n"
E assert 'NameError: n...not defined\n' == "NameError: n...om_global'?\n"
E Skipping 68 identical leading characters in diff, use -v to show
E - ot defined. Did you mean: 'test_compute_suggestion_name_error_from_global'?
E + ot defined
../build/extra_tests/test_traceback_suggestions.py:98: AssertionError
=============================== warnings summary ===============================
pypy-venv/lib/pypy3.12/site-packages/_pytest/assertion/rewrite.py:958: 10176 warnings
test_bufferedreader.py: 2 warnings
/build_dir/pypy-c-jit-linux-x86-64/venv/pypy-venv/lib/pypy3.12/site-packages/_pytest/assertion/rewrite.py:958: DeprecationWarning: ast.Str is deprecated and will be removed in Python 3.14; use ast.Constant instead
inlocs = ast.Compare(ast.Str(name.id), [ast.In()], [locs])
pypy-venv/lib/pypy3.12/site-packages/_pytest/assertion/rewrite.py:961: 10175 warnings
test_bufferedreader.py: 2 warnings
/build_dir/pypy-c-jit-linux-x86-64/venv/pypy-venv/lib/pypy3.12/site-packages/_pytest/assertion/rewrite.py:961: DeprecationWarning: ast.Str is deprecated and will be removed in Python 3.14; use ast.Constant instead
expr = ast.IfExp(test, self.display(name), ast.Str(name.id))
pypy-venv/lib/pypy3.12/site-packages/_pytest/assertion/rewrite.py:1071: 5778 warnings
test_bufferedreader.py: 1 warning
/build_dir/pypy-c-jit-linux-x86-64/venv/pypy-venv/lib/pypy3.12/site-packages/_pytest/assertion/rewrite.py:1071: DeprecationWarning: ast.Str is deprecated and will be removed in Python 3.14; use ast.Constant instead
syms.append(ast.Str(sym))
pypy-venv/lib/pypy3.12/site-packages/_pytest/assertion/rewrite.py:1073: 5778 warnings
test_bufferedreader.py: 1 warning
/build_dir/pypy-c-jit-linux-x86-64/venv/pypy-venv/lib/pypy3.12/site-packages/_pytest/assertion/rewrite.py:1073: DeprecationWarning: ast.Str is deprecated and will be removed in Python 3.14; use ast.Constant instead
expls.append(ast.Str(expl))
pypy-venv/lib/pypy3.12/site-packages/_pytest/assertion/rewrite.py:823: 33745 warnings
test_bufferedreader.py: 4 warnings
/build_dir/pypy-c-jit-linux-x86-64/venv/pypy-venv/lib/pypy3.12/site-packages/_pytest/assertion/rewrite.py:823: DeprecationWarning: ast.Str is deprecated and will be removed in Python 3.14; use ast.Constant instead
keys = [ast.Str(key) for key in current.keys()]
pypy-venv/lib/pypy3.12/site-packages/_pytest/assertion/rewrite.py:933: 5932 warnings
test_bufferedreader.py: 1 warning
/build_dir/pypy-c-jit-linux-x86-64/venv/pypy-venv/lib/pypy3.12/site-packages/_pytest/assertion/rewrite.py:933: DeprecationWarning: ast.Str is deprecated and will be removed in Python 3.14; use ast.Constant instead
assertmsg = ast.Str("")
pypy-venv/lib/pypy3.12/site-packages/_pytest/assertion/rewrite.py:935: 5963 warnings
test_bufferedreader.py: 1 warning
/build_dir/pypy-c-jit-linux-x86-64/venv/pypy-venv/lib/pypy3.12/site-packages/_pytest/assertion/rewrite.py:935: DeprecationWarning: ast.Str is deprecated and will be removed in Python 3.14; use ast.Constant instead
template = ast.BinOp(assertmsg, ast.Add(), ast.Str(explanation))
pypy-venv/lib/pypy3.12/site-packages/_pytest/assertion/rewrite.py:947: 5950 warnings
test_bufferedreader.py: 1 warning
/build_dir/pypy-c-jit-linux-x86-64/venv/pypy-venv/lib/pypy3.12/site-packages/_pytest/assertion/rewrite.py:947: DeprecationWarning: ast.NameConstant is deprecated and will be removed in Python 3.14; use ast.Constant instead
clear = ast.Assign(variables, ast.NameConstant(None))
pypy-venv/lib/pypy3.12/site-packages/_pytest/assertion/rewrite.py:983: 127 warnings
/build_dir/pypy-c-jit-linux-x86-64/venv/pypy-venv/lib/pypy3.12/site-packages/_pytest/assertion/rewrite.py:983: DeprecationWarning: ast.Str is deprecated and will be removed in Python 3.14; use ast.Constant instead
expl_format = self.pop_format_context(ast.Str(expl))
pypy-venv/lib/pypy3.12/site-packages/_pytest/assertion/rewrite.py:995: 63 warnings
/build_dir/pypy-c-jit-linux-x86-64/venv/pypy-venv/lib/pypy3.12/site-packages/_pytest/assertion/rewrite.py:995: DeprecationWarning: ast.Num is deprecated and will be removed in Python 3.14; use ast.Constant instead
expl_template = self.helper("_format_boolop", expl_list, ast.Num(is_or))
pypy-venv/lib/pypy3.12/site-packages/_pytest/assertion/rewrite.py:689: 22 warnings
/build_dir/pypy-c-jit-linux-x86-64/venv/pypy-venv/lib/pypy3.12/site-packages/_pytest/assertion/rewrite.py:689: DeprecationWarning: ast.Str is deprecated and will be removed in Python 3.14; use ast.Constant instead
and isinstance(item.value, ast.Str)
pypy-venv/lib/pypy3.12/site-packages/_pytest/assertion/rewrite.py:691: 22 warnings
/build_dir/pypy-c-jit-linux-x86-64/venv/pypy-venv/lib/pypy3.12/site-packages/_pytest/assertion/rewrite.py:691: DeprecationWarning: Attribute s is deprecated and will be removed in Python 3.14; use value instead
doc = item.value.s
../build/extra_tests/test_datetime.py:43
/build_dir/pypy-c-jit-linux-x86-64/build/extra_tests/test_datetime.py:43: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
datetime.datetime.utcnow(),
test_asyncio.py::test_async_gil_issue
/build_dir/pypy-c-jit-linux-x86-64/build/extra_tests/test_asyncio.py:11: DeprecationWarning: There is no current event loop
loop = asyncio.get_event_loop()
test_datetime.py::test_datetime_rounding
/build_dir/pypy-c-jit-linux-x86-64/build/extra_tests/test_datetime.py:92: DeprecationWarning: datetime.datetime.utcfromtimestamp() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.fromtimestamp(t, datetime.UTC).
assert datetime.datetime.utcfromtimestamp(a).microsecond == 999999
test_datetime.py::test_datetime_rounding
/build_dir/pypy-c-jit-linux-x86-64/build/extra_tests/test_datetime.py:93: DeprecationWarning: datetime.datetime.utcfromtimestamp() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.fromtimestamp(t, datetime.UTC).
assert datetime.datetime.utcfromtimestamp(a).second == 0
test_datetime.py::test_datetime_rounding
/build_dir/pypy-c-jit-linux-x86-64/build/extra_tests/test_datetime.py:95: DeprecationWarning: datetime.datetime.utcfromtimestamp() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.fromtimestamp(t, datetime.UTC).
assert datetime.datetime.utcfromtimestamp(a).microsecond == 999999
test_datetime.py::test_datetime_rounding
/build_dir/pypy-c-jit-linux-x86-64/build/extra_tests/test_datetime.py:96: DeprecationWarning: datetime.datetime.utcfromtimestamp() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.fromtimestamp(t, datetime.UTC).
assert datetime.datetime.utcfromtimestamp(a).second == 0
test_datetime.py::test_datetime_rounding
/build_dir/pypy-c-jit-linux-x86-64/build/extra_tests/test_datetime.py:98: DeprecationWarning: datetime.datetime.utcfromtimestamp() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.fromtimestamp(t, datetime.UTC).
assert datetime.datetime.utcfromtimestamp(a).microsecond == 0
test_datetime.py::test_datetime_rounding
/build_dir/pypy-c-jit-linux-x86-64/build/extra_tests/test_datetime.py:99: DeprecationWarning: datetime.datetime.utcfromtimestamp() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.fromtimestamp(t, datetime.UTC).
assert datetime.datetime.utcfromtimestamp(a).second == 1
test_datetime.py: 17 warnings
/build_dir/pypy-c-jit-linux-x86-64/build/extra_tests/test_datetime.py:122: DeprecationWarning: datetime.datetime.utcfromtimestamp() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.fromtimestamp(t, datetime.UTC).
dt = datetime.datetime.utcfromtimestamp(t)
test_datetime.py: 100 warnings
/build_dir/pypy-c-jit-linux-x86-64/build/extra_tests/test_datetime.py:140: DeprecationWarning: datetime.datetime.utcfromtimestamp() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.fromtimestamp(t, datetime.UTC).
delta = (datetime.datetime.utcfromtimestamp(now) -
test_datetime.py::test_utcfromtimestamp_microsecond
/build_dir/pypy-c-jit-linux-x86-64/build/extra_tests/test_datetime.py:151: DeprecationWarning: datetime.datetime.utcfromtimestamp() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.fromtimestamp(t, datetime.UTC).
dt = datetime.datetime.utcfromtimestamp(0)
test_datetime.py::test_utcnow_microsecond
/build_dir/pypy-c-jit-linux-x86-64/build/extra_tests/test_datetime.py:226: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
dt = datetime.datetime.utcnow()
test_datetime.py::test_future_types_newint
/build_dir/pypy-c-jit-linux-x86-64/build/extra_tests/test_datetime.py:273: DeprecationWarning: datetime.datetime.utcfromtimestamp() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.fromtimestamp(t, datetime.UTC).
dtu_from_int = datetime.datetime.utcfromtimestamp(1431216000)
test_datetime.py::test_future_types_newint
/build_dir/pypy-c-jit-linux-x86-64/build/extra_tests/test_datetime.py:274: DeprecationWarning: datetime.datetime.utcfromtimestamp() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.fromtimestamp(t, datetime.UTC).
dtu_from_newint = datetime.datetime.utcfromtimestamp(newint(1431216000))
test_pypy_modules.py::test_expected_modules[crypt]
/build_dir/pypy-c-jit-linux-x86-64/build/lib-python/3/importlib/__init__.py:90: DeprecationWarning: 'crypt' is deprecated and slated for removal in Python 3.13
return _bootstrap._gcd_import(name[level:], package, level)
cffi_tests/test_c.py::test_callback_return_type
/build_dir/pypy-c-jit-linux-x86-64/venv/pypy-venv/lib/pypy3.12/site-packages/_pytest/unraisableexception.py:78: PytestUnraisableExceptionWarning: Exception ignored from cffi callback <function test_callback_return_type.<locals>.cb at 0x000000001325a340>, trying to convert the result back to C:: None
OverflowError: long too big to convert
warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
cffi_tests/test_c.py::test_callback_returning_wchar_t
/build_dir/pypy-c-jit-linux-x86-64/venv/pypy-venv/lib/pypy3.12/site-packages/_pytest/unraisableexception.py:78: PytestUnraisableExceptionWarning: Exception ignored from cffi callback <function test_callback_returning_wchar_t.<locals>.cb at 0x000000001526c980>:: None
Traceback (most recent call last):
File "/build_dir/pypy-c-jit-linux-x86-64/build/extra_tests/cffi_tests/test_c.py", line 1723, in cb
raise ValueError
ValueError
warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
cffi_tests/test_c.py::test_cast_with_functionptr
/build_dir/pypy-c-jit-linux-x86-64/build/extra_tests/cffi_tests/test_c.py:2141: UserWarning: implicit cast from 'char *' to 'void(*)()' will be forbidden in the future (check that the types are as you expect; use an explicit ffi.cast() if they are correct)
newp(BStructPtr, [cast(BCharP, 0)])
cffi_tests/cffi0/test_ffi_backend.py::TestFFI::test_callback_crash
/build_dir/pypy-c-jit-linux-x86-64/venv/pypy-venv/lib/pypy3.12/site-packages/_pytest/unraisableexception.py:78: PytestUnraisableExceptionWarning: Exception ignored from cffi callback <function BackendTests.test_callback_crash.<locals>.cb at 0x000000000fb7b2e0>:: None
Traceback (most recent call last):
File "/build_dir/pypy-c-jit-linux-x86-64/build/extra_tests/cffi_tests/cffi0/backend_tests.py", line 849, in cb
raise Exception
Exception
warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
cffi_tests/cffi0/test_ffi_backend.py::TestFFI::test_callback_decorator
/build_dir/pypy-c-jit-linux-x86-64/venv/pypy-venv/lib/pypy3.12/site-packages/_pytest/unraisableexception.py:78: PytestUnraisableExceptionWarning: Exception ignored from cffi callback <function BackendTests.test_callback_decorator.<locals>.cb at 0x00000000107bb150>, trying to convert the result back to C:: None
OverflowError: int too large to convert to int
warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
cffi_tests/cffi0/test_parsing.py::test_missing_newline_bug
/build_dir/pypy-c-jit-linux-x86-64/build/lib_pypy/cffi/cparser.py:436: UserWarning: #pragma in cdef() are entirely ignored. They should be removed for now, otherwise your code might behave differently in a future version of CFFI if #pragma support gets added. Note that '#pragma pack' needs to be replaced with the 'packed' keyword argument to cdef().
warnings.warn(
cffi_tests/cffi1/test_ffi_obj.py::test_ffi_callback
/build_dir/pypy-c-jit-linux-x86-64/venv/pypy-venv/lib/pypy3.12/site-packages/_pytest/unraisableexception.py:78: PytestUnraisableExceptionWarning: Exception ignored from cffi callback <function test_ffi_callback.<locals>.<lambda> at 0x0000000010104b10>:: None
Traceback (most recent call last):
File "/build_dir/pypy-c-jit-linux-x86-64/build/extra_tests/cffi_tests/cffi1/test_ffi_obj.py", line 132, in <lambda>
assert ffi.callback("int(int)", lambda x: x + "", error=-66)(10) == -66
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: unsupported operand type(s) for +: 'int' and 'str'
warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
cffi_tests/cffi1/test_ffi_obj.py::test_ffi_callback_decorator
/build_dir/pypy-c-jit-linux-x86-64/venv/pypy-venv/lib/pypy3.12/site-packages/_pytest/unraisableexception.py:78: PytestUnraisableExceptionWarning: Exception ignored from cffi callback <function test_ffi_callback_decorator.<locals>.<lambda> at 0x0000000010104e30>:: None
Traceback (most recent call last):
File "/build_dir/pypy-c-jit-linux-x86-64/build/extra_tests/cffi_tests/cffi1/test_ffi_obj.py", line 138, in <lambda>
assert deco(lambda x: x + "")(10) == -66
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: unsupported operand type(s) for +: 'int' and 'str'
warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
cffi_tests/cffi1/test_new_ffi_1.py::TestNewFFI1::test_callback_crash
/build_dir/pypy-c-jit-linux-x86-64/venv/pypy-venv/lib/pypy3.12/site-packages/_pytest/unraisableexception.py:78: PytestUnraisableExceptionWarning: Exception ignored from cffi callback <function TestNewFFI1.test_callback_crash.<locals>.cb at 0x0000000010bea598>:: None
Traceback (most recent call last):
File "/build_dir/pypy-c-jit-linux-x86-64/build/extra_tests/cffi_tests/cffi1/test_new_ffi_1.py", line 864, in cb
raise Exception
Exception
warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
cffi_tests/cffi1/test_new_ffi_1.py::TestNewFFI1::test_callback_decorator
/build_dir/pypy-c-jit-linux-x86-64/venv/pypy-venv/lib/pypy3.12/site-packages/_pytest/unraisableexception.py:78: PytestUnraisableExceptionWarning: Exception ignored from cffi callback <function TestNewFFI1.test_callback_decorator.<locals>.cb at 0x0000000012c10728>, trying to convert the result back to C:: None
OverflowError: int too large to convert to int
warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
cffi_tests/cffi1/test_recompiler.py::test_macro_var_callback
/build_dir/pypy-c-jit-linux-x86-64/venv/pypy-venv/lib/pypy3.12/site-packages/_pytest/unraisableexception.py:78: PytestUnraisableExceptionWarning: Exception ignored from cffi callback <function test_macro_var_callback.<locals>.get_my_value at 0x00000000110b92e0>, trying to convert the result back to C:: None
TypeError: initializer for ctype 'int *' must be a cdata pointer, not str
warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
hpy_tests/test_dist_info.py::test_get_distribution
/build_dir/pypy-c-jit-linux-x86-64/build/extra_tests/hpy_tests/test_dist_info.py:6: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
import pkg_resources
-- Docs: https://docs.pytest.org/en/stable/warnings.html
---- generated xml file: /build_dir/pypy-c-jit-linux-x86-64/venv/extra.log -----
============================= slowest 20 durations =============================
17.37s call cffi_tests/cffi0/test_zintegration.py::TestZIntegration::test_setuptools_package_2
17.21s call cffi_tests/cffi0/test_zintegration.py::TestZIntegration::test_setuptools_package_1
17.20s call cffi_tests/cffi0/test_zintegration.py::TestZIntegration::test_distutils_module
17.20s call cffi_tests/cffi0/test_zintegration.py::TestZIntegration::test_setuptools_module
17.13s call cffi_tests/cffi0/test_zintegration.py::TestZIntegration::test_distutils_package_2
17.02s call cffi_tests/cffi0/test_zintegration.py::TestZIntegration::test_distutils_package_1
16.49s call cffi_tests/cffi0/test_verify.py::test_ffi_new_with_cycles
16.35s call cffi_tests/cffi0/test_vgen.py::test_ffi_new_with_cycles
16.32s call cffi_tests/cffi0/test_zintegration.py::TestZIntegration::test_infrastructure
16.13s call cffi_tests/cffi1/test_verify1.py::test_ffi_new_with_cycles
15.80s call cffi_tests/cffi0/test_verify.py::test_ffi_gc_size_arg_2
15.68s call cffi_tests/cffi0/test_vgen.py::test_ffi_gc_size_arg_2
15.46s call cffi_tests/cffi1/test_verify1.py::test_ffi_gc_size_arg_2
10.46s call cffi_tests/cffi1/test_verify1.py::test_struct_float_vs_int
8.84s call test_binop_overriding.py::test_binop_combinations_more_exhaustive
8.45s setup hpy_tests/_vendored/hpy_devel/test_distutils.py::TestDistutils::test_cpymod_setup_install
7.92s call test_bufferedreader.py::test_stateful[Stream]
7.33s call cffi_tests/cffi0/test_vgen.py::test_struct_float_vs_int
6.99s call test_venv.py::test_venv_of_venv
6.98s call cffi_tests/cffi0/test_verify.py::test_struct_float_vs_int
=========================== short test summary info ============================
SKIPPED [1] ../build/extra_tests/test_msvcrt.py:4: could not import 'msvcrt': The 'msvcrt' module is only available on Windows
SKIPPED [1] ../build/extra_tests/test_vmprof_greenlet.py:4: could not import 'vmprof': No module named 'vmprof'
SKIPPED [1] ../build/extra_tests/cffi_tests/cffi1/test_parse_c_type.py:12: not available on pypy
SKIPPED [1] ../build/extra_tests/ctypes_tests/test_commethods.py:10: could not import 'skip_the_whole_module': No module named 'skip_the_whole_module'
SKIPPED [1] ../build/extra_tests/test_dis.py:14: PyPy does not really try to be compatible
SKIPPED [1] ../build/extra_tests/test_greenlet_thread.py:105: not implemented on PyPy
SKIPPED [1] ../build/extra_tests/test_greenlet_thread.py:127: not implemented on PyPy
SKIPPED [1] ../build/extra_tests/test_recursion.py:21: fails on py3.10, fills up the logs, and crashes the buildbot summary
SKIPPED [22] ../build/extra_tests/cffi_tests/test_c.py:23: _testunc() not available
SKIPPED [1] ../build/extra_tests/cffi_tests/test_c.py: PyPy does not report a traceback
SKIPPED [1] ../build/extra_tests/cffi_tests/test_c.py:2572: later
SKIPPED [1] ../build/extra_tests/cffi_tests/test_c.py:3071: GetLastError(): only for Windows
SKIPPED [1] ../build/extra_tests/cffi_tests/test_c.py: PyPy does not warn
SKIPPED [1] ../build/extra_tests/cffi_tests/test_c.py:3777: not for pypy
SKIPPED [1] ../build/extra_tests/cffi_tests/test_c.py:4431: pypy's bytearray are never locked
SKIPPED [5] ../build/extra_tests/cffi_tests/cffi0/backend_tests.py:331: NotImplementedError: wchar_t
SKIPPED [1] ../build/extra_tests/cffi_tests/cffi0/backend_tests.py:1173: buffer() with ctypes backend
SKIPPED [1] ../build/extra_tests/cffi_tests/cffi0/backend_tests.py:1193: buffer() with ctypes backend
SKIPPED [1] ../build/extra_tests/cffi_tests/cffi0/backend_tests.py:1210: buffer() with ctypes backend
SKIPPED [1] ../build/extra_tests/cffi_tests/cffi0/backend_tests.py:1229: buffer() with ctypes backend
SKIPPED [1] ../build/extra_tests/cffi_tests/cffi0/backend_tests.py:1241: buffer() with ctypes backend
SKIPPED [1] ../build/extra_tests/cffi_tests/cffi0/backend_tests.py:1260: buffer() with ctypes backend
SKIPPED [1] ../build/extra_tests/cffi_tests/cffi0/backend_tests.py:1283: buffer() with ctypes backend
SKIPPED [2] ../build/extra_tests/cffi_tests/cffi0/backend_tests.py:1312: later?
SKIPPED [2] ../build/extra_tests/cffi_tests/cffi0/backend_tests.py:1372: callback with '...'
SKIPPED [1] ../build/extra_tests/cffi_tests/cffi0/test_ctypes.py:16: ctypes backend: not supported: initializers for function pointers
SKIPPED [1] ../build/extra_tests/cffi_tests/cffi0/test_ctypes.py:20: ctypes backend: not supported: passing a list for a pointer argument
SKIPPED [1] ../build/extra_tests/cffi_tests/cffi0/test_ctypes.py:24: ctypes backend: not supported: passing a list for a pointer argument
SKIPPED [1] ../build/extra_tests/cffi_tests/cffi0/test_ctypes.py:28: ctypes backend: not supported: casting to array
SKIPPED [1] ../build/extra_tests/cffi_tests/cffi0/test_ctypes.py:31: ctypes backend: not supported: nested anonymous struct
SKIPPED [1] ../build/extra_tests/cffi_tests/cffi0/test_ctypes.py:34: ctypes backend: not supported: nested anonymous struct
SKIPPED [1] ../build/extra_tests/cffi_tests/cffi0/test_ctypes.py:37: ctypes backend: not supported: nested anonymous union
SKIPPED [1] ../build/extra_tests/cffi_tests/cffi0/test_ctypes.py:40: ctypes backend: not supported: nested anonymous union
SKIPPED [1] ../build/extra_tests/cffi_tests/cffi0/test_ctypes.py:44: ctypes backend: not supported in Python 3: CType
SKIPPED [2] ../build/extra_tests/cffi_tests/cffi0/test_function.py:107: win32 only
SKIPPED [2] ../build/extra_tests/cffi_tests/cffi0/test_function.py:440: Windows-only test
SKIPPED [2] ../build/extra_tests/cffi_tests/cffi0/test_function.py:455: Windows-only test
SKIPPED [1] ../build/extra_tests/cffi_tests/cffi0/test_ffi_backend.py:285: condition: (sys.platform == 'darwin' and platform.machine() == 'arm64') or not platform.machine().startswith(('arm', 'aarch64'))
SKIPPED [1] ../build/extra_tests/cffi_tests/cffi0/test_ffi_backend.py:315: condition: (sys.platform == 'darwin' and platform.machine() == 'arm64') or not platform.machine().startswith(('arm', 'aarch64'))
SKIPPED [1] ../build/extra_tests/cffi_tests/cffi0/test_ffi_backend.py:367: condition: sys.platform != 'win32'
SKIPPED [1] ../build/extra_tests/cffi_tests/cffi0/test_function.py:253: not supported with the ctypes backend
SKIPPED [1] ../build/extra_tests/cffi_tests/cffi0/test_function.py:310: ctypes limitation on pypy
SKIPPED [1] ../build/extra_tests/cffi_tests/cffi0/test_function.py:334: FILE not supported with the ctypes backend
SKIPPED [1] ../build/extra_tests/cffi_tests/cffi0/test_function.py:373: not supported by the ctypes backend
SKIPPED [1] ../build/extra_tests/cffi_tests/cffi0/test_function.py:383: not supported by the ctypes backend
SKIPPED [1] ../build/extra_tests/cffi_tests/cffi0/test_function.py:417: seems to fail with the ctypes backend on windows
SKIPPED [1] ../build/extra_tests/cffi_tests/cffi0/test_function.py:533: not with the ctypes backend
SKIPPED [1] ../build/extra_tests/cffi_tests/cffi0/test_function.py:551: the ctypes backend doesn't support this
SKIPPED [1] ../build/extra_tests/cffi_tests/cffi0/test_ownlib.py:208: XXX errno issue with ctypes on pypy?
SKIPPED [1] ../build/extra_tests/cffi_tests/cffi0/test_ownlib.py:231: not supported by the ctypes backend
SKIPPED [1] ../build/extra_tests/cffi_tests/cffi0/test_ownlib.py:243: not supported by the ctypes backend
SKIPPED [1] ../build/extra_tests/cffi_tests/cffi0/test_ownlib.py:342: not implemented with the ctypes backend
SKIPPED [1] ../build/extra_tests/cffi_tests/cffi0/test_ownlib.py:360: not implemented with the ctypes backend
SKIPPED [1] ../build/extra_tests/cffi_tests/cffi0/test_ownlib.py:375: fails with the ctypes backend on some architectures
SKIPPED [1] ../build/extra_tests/cffi_tests/cffi0/test_ownlib.py:401: not for the ctypes backend
SKIPPED [1] ../build/extra_tests/cffi_tests/cffi0/test_ownlib.py:425: not working on win32 on the ctypes backend
SKIPPED [1] ../build/extra_tests/cffi_tests/cffi0/test_parsing.py:410: Only for Windows
SKIPPED [2] ../build/extra_tests/cffi_tests/cffi0/test_verify.py:296: not implemented in verify(): complex types
SKIPPED [2] ../build/extra_tests/cffi_tests/cffi0/test_verify.py:416: XXX test or fully prevent char16_t and char32_t from working in ffi.verify() mode
SKIPPED [2] ../build/extra_tests/cffi_tests/cffi0/test_verify.py:455: ignored so far
SKIPPED [2] ../build/extra_tests/cffi_tests/cffi0/test_verify.py:2160: win32-only test
SKIPPED [2] ../build/extra_tests/cffi_tests/cffi0/test_verify.py:2237: win32-only test
SKIPPED [5] ../build/extra_tests/cffi_tests/cffi0/test_version.py:9: this is embedded version
SKIPPED [1] ../build/extra_tests/cffi_tests/cffi1/test_cffi_binary.py:9: _cffi_backend module is built-in
SKIPPED [2] ../build/extra_tests/cffi_tests/cffi1/test_commontypes.py:12: cannot find ../c/commontypes.c
SKIPPED [1] ../build/extra_tests/cffi_tests/cffi1/test_ffi_obj.py:337: for windows
SKIPPED [1] ../build/extra_tests/cffi_tests/cffi1/test_function_args.py:15: this test is skipped because it keeps finding failures in libffi, instead of cffi
SKIPPED [1] ../build/extra_tests/cffi_tests/cffi1/test_new_ffi_1.py:1269: later?
SKIPPED [1] ../build/extra_tests/cffi_tests/cffi1/test_new_ffi_1.py:1325: callback with '...'
SKIPPED [1] ../build/extra_tests/cffi_tests/cffi1/test_recompiler.py:751: for python 2.x
SKIPPED [1] ../build/extra_tests/cffi_tests/cffi1/test_recompiler.py:2018: can currently declare a function with an opaque struct as argument, but AFAICT it's impossible to call it later
SKIPPED [1] ../build/extra_tests/cffi_tests/cffi1/test_recompiler.py:2085: only for MSVC
SKIPPED [1] ../build/extra_tests/cffi_tests/cffi1/test_verify1.py:418: ignored so far
SKIPPED [1] ../build/extra_tests/cffi_tests/cffi1/test_verify1.py:1404: not available
SKIPPED [1] ../build/extra_tests/cffi_tests/cffi1/test_verify1.py:2106: win32-only test
SKIPPED [1] ../build/extra_tests/cffi_tests/cffi1/test_verify1.py:2182: win32-only test
SKIPPED [1] ../build/extra_tests/cffi_tests/cffi1/test_verify1.py:2256: Windows only
SKIPPED [1] ../build/extra_tests/cffi_tests/cffi1/test_verify1.py:2306: Windows only
SKIPPED [16] ../build/extra_tests/cffi_tests/embedding/test_basic.py:26: LinkError: command '/opt/rh/devtoolset-10/root/usr/bin/gcc' failed with exit code 1
SKIPPED [1] ../build/extra_tests/ctypes_tests/test_win32.py:7: condition: sys.platform != 'win32'
SKIPPED [2] ../build/extra_tests/hpy_tests/_vendored/test_hpyfield.py:111: CPython only
SKIPPED [2] ../build/extra_tests/hpy_tests/_vendored/test_hpyfield.py:131: CPython only
SKIPPED [2] ../build/extra_tests/hpy_tests/_vendored/test_hpyfield.py:254: CPython only
SKIPPED [2] ../build/extra_tests/hpy_tests/_vendored/test_hpyfield.py:278: CPython only
SKIPPED [4] ../build/extra_tests/hpy_tests/_vendored/test_hpytype.py:532: Skipped
SKIPPED [2] ../build/extra_tests/hpy_tests/_vendored/test_hpytype_legacy.py:42: seems to cause segfault later in testing?
SKIPPED [2] ../build/extra_tests/hpy_tests/_vendored/test_hpytype_legacy.py:85: seems to cause segfault later in testing?
SKIPPED [2] ../build/extra_tests/hpy_tests/_vendored/test_hpytype_legacy.py:120: seems to cause segfault later in testing?
SKIPPED [1] ../build/extra_tests/hpy_tests/_vendored/debug/test_handles_invalid.py:37: Cannot recover from use-after-close on pypy
SKIPPED [1] ../build/extra_tests/hpy_tests/_vendored/debug/test_handles_invalid.py:111: It's impossible to recover from use-after-close on pypy
SKIPPED [1] ../build/extra_tests/hpy_tests/_vendored/hpy_devel/test_distutils.py:297: cpython only
SKIPPED [1] ../build/extra_tests/hpy_tests/_vendored/hpy_devel/test_distutils.py:336: only for cpython and hybrid ABIs
XFAIL ../build/extra_tests/cffi_tests/cffi1/test_verify1.py::test_callback_in_thread
reason: adapt or remove
XFAIL ../build/extra_tests/cffi_tests/cffi1/test_verify1.py::test_keepalive_lib
reason: adapt or remove
XFAIL ../build/extra_tests/cffi_tests/cffi1/test_verify1.py::test_keepalive_ffi
reason: adapt or remove
XFAIL ../build/extra_tests/cffi_tests/cffi1/test_verify1.py::test_bad_global_array_with_dotdotdot_length
reason: was detected only because 23 bytes cannot be divided by 4; redo more generally
XFAIL ../build/extra_tests/ctypes_tests/test_functions.py::test_warnings
warnings are disabled
XFAIL ../build/extra_tests/ctypes_tests/test_functions.py::test_errcheck
XFAIL ../build/extra_tests/ctypes_tests/test_numbers.py::test_no_missing_shape_to_ffi_type
XFAIL ../build/extra_tests/test_pyrepl/test_bugs.py::test_transpose_at_start
reason: [NOTRUN] event missing
XPASS ../build/extra_tests/ctypes_tests/test_numbers.py::test_pointer_to_long_double
FAILED ../build/extra_tests/test_functools.py::test_partial_stack - assert False
FAILED ../build/extra_tests/test_functools.py::test_lru_cache_stack - assert ...
FAILED ../build/extra_tests/test_heapq.py::test_check_linked_tournament_tree_in_place
FAILED ../build/extra_tests/test_traceback_suggestions.py::test_add_char - Ty...
FAILED ../build/extra_tests/test_traceback_suggestions.py::test_compute_suggestion_name_error_from_global
= 5 failed, 3032 passed, 157 skipped, 8 xfailed, 1 xpassed, 83886 warnings in 664.53s (0:11:04) =
n: 3
Arg 0: 13
Arg 1: 38
Arg 2: 100
n: 2
Arg 0: 13
Arg 1: 38
program finished with exit code 1
elapsedTime=665.806367