python testrunner/app_level_tests.py in dir /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build (timeout 4000 secs) watching logfiles {'pytestLog': 'pytest-A.log'} argv: ['python', 'testrunner/app_level_tests.py'] environment: HOME=/Users/matti HOMEBREW_CELLAR=/opt/homebrew_x86_64/Cellar HOMEBREW_PREFIX=/opt/homebrew_x86_64 HOMEBREW_REPOSITORY=/opt/homebrew_x86_64 INFOPATH=/opt/homebrew_x86_64/share/info: LANG=en_US.UTF-8 LC_ADDRESS=en_AU.UTF-8 LC_IDENTIFICATION=en_AU.UTF-8 LC_MEASUREMENT=en_AU.UTF-8 LC_MONETARY=en_AU.UTF-8 LC_NAME=en_AU.UTF-8 LC_NUMERIC=en_AU.UTF-8 LC_PAPER=en_AU.UTF-8 LC_TELEPHONE=en_AU.UTF-8 LC_TIME=en_AU.UTF-8 LOGNAME=matti OLDPWD=/Users/matti PATH=/Users/matti/oss/pypy-x86_64-buildbot/bin:/opt/homebrew_x86_64/bin:/opt/homebrew_x86_64/sbin:/Library/Frameworks/Python.framework/Versions/3.11/bin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/Library/Apple/usr/bin PKG_CONFIG_PATH=/opt/homebrew_x86_64/opt/openssl@1.1/lib/pkgconfig PWD=/Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build PYPY_USESSION_DIR=/tmp/buildbot-x86_64 SHELL=/bin/zsh SHLVL=2 SSH_CLIENT=10.0.0.17 57960 22 SSH_CONNECTION=10.0.0.17 57960 10.0.0.16 22 SSH_TTY=/dev/ttys000 TERM=xterm-256color TMPDIR=/tmp/buildbot-x86_64/pytest USER=matti _=/Users/matti/oss/pypy-x86_64-buildbot/bin/buildslave using PTY: False using config pypy/pytest-A.cfg using config pypy/pytest-A.py ignoring non-existant config /Users/matti/machine-A_cfg.py -- interpreter/astcompiler/test -- interpreter/pyparser/test -- interpreter/test -- objspace/test -- objspace/std/test -- module/__builtin__/test -- module/__pypy__/test -- module/_abc/test -- module/_ast/test -- module/_cffi_backend/test -- module/_codecs/test -- module/_collections/test -- module/_continuation/test -- module/_cppyy/test -- module/_csv/test -- module/_demo/test -- module/_hpy_universal/test/_vendored -- module/_hpy_universal/test/pypy -- module/_io/test -- module/_jitlog/test -- module/_locale/test -- module/_lsprof/test -- module/_md5/test -- module/_minimal_curses/test -- module/_multibytecodec/test -- module/_multiprocessing/test -- module/_opcode/test -- module/_pickle/test -- module/_pickle_support/test -- module/_posixsubprocess/test -- module/_pypyjson/test -- module/_random/test -- module/_rawffi/alt/test -- module/_rawffi/test -- module/_socket/test -- module/_sre/test -- module/_vmprof/test -- module/_warnings/test -- module/_weakref/test -- module/_winreg/test -- module/array/test -- module/atexit/test -- module/binascii/test -- module/bz2/test -- module/cmath/test -- module/cpyext/test -- module/crypt/test -- module/errno/test -- module/exceptions/test -- module/faulthandler/test -- module/fcntl/test -- module/gc/test -- module/imp/test -- module/itertools/test -- module/marshal/test -- module/math/test -- module/micronumpy/test -- module/mmap/test -- module/operator/test -- module/posix/test -- module/pwd/test -- module/pyexpat/test -- module/pypyjit/test -- module/select/test -- module/signal/test -- module/struct/test -- module/sys/test -- module/termios/test -- module/test_lib_pypy -- module/thread/test -- module/time/test -- module/token/test -- module/unicodedata/test -- module/zipimport/test -- module/zlib/test -- total: 75 to run ++ 17:58:01 starting interpreter/astcompiler/test [1 started in total] __ interpreter/astcompiler/test [1 done in total, somefailed=False] ___________ /Users/matti/oss/pypy-x86_64-buildbot/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 darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 pytest-2.9.2 from /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pytest.pyc rootdir: /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build, inifile: pytest.ini plugins: hypothesis-4.57.1 collected 15 items interpreter/astcompiler/test/test_compiler.py ..s............ ===================== 14 passed, 1 skipped in 1.74 seconds ===================== ++ 17:58:05 starting interpreter/pyparser/test [2 started in total] __ interpreter/pyparser/test [2 done in total, somefailed=False] ______________ /Users/matti/oss/pypy-x86_64-buildbot/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 darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 pytest-2.9.2 from /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pytest.pyc rootdir: /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build, inifile: pytest.ini plugins: hypothesis-4.57.1 collected 0 items ========================= no tests ran in 0.12 seconds ========================= ++ 17:58:08 starting interpreter/test [3 started in total] __ interpreter/test [3 done in total, somefailed=False] _______________________ /Users/matti/oss/pypy-x86_64-buildbot/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 darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 pytest-2.9.2 from /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pytest.pyc rootdir: /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build, inifile: pytest.ini plugins: hypothesis-4.57.1 collected 192 items interpreter/test/test_app_main.py sss interpreter/test/test_appinterp.py . interpreter/test/test_argument.py ............... interpreter/test/test_code.py ........... interpreter/test/test_compiler.py .......................s.................................. interpreter/test/test_exceptcomp.py ......... interpreter/test/test_executioncontext.py .... interpreter/test/test_extmodules.py s interpreter/test/test_gateway.py ....... interpreter/test/test_interpreter.py .............. interpreter/test/test_mixedmodule.py ssss interpreter/test/test_module.py ............... interpreter/test/test_pyframe.py ..... interpreter/test/test_special.py ... interpreter/test/test_syntax.py . interpreter/test/test_typedef.py ........... interpreter/test/test_zzpickle_and_slow.py .............................. ==================== 183 passed, 9 skipped in 18.50 seconds ==================== ++ 17:58:32 starting objspace/test [4 started in total] __ objspace/test [4 done in total, somefailed=False] __________________________ /Users/matti/oss/pypy-x86_64-buildbot/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 darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 pytest-2.9.2 from /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pytest.pyc rootdir: /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build, inifile: pytest.ini plugins: hypothesis-4.57.1 collected 0 items ========================= no tests ran in 0.01 seconds ========================= ++ 17:58:34 starting objspace/std/test [5 started in total] __ objspace/std/test [5 done in total, somefailed=True] _______________________ /Users/matti/oss/pypy-x86_64-buildbot/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 darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 pytest-2.9.2 from /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pytest.pyc rootdir: /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build, inifile: pytest.ini plugins: hypothesis-4.57.1 collected 1382 items objspace/std/test/test_bytearrayobject.py ..................................................................................... objspace/std/test/test_bytesobject.py .............................................................................................. objspace/std/test/test_celldict.py ......sss objspace/std/test/test_dictmultiobject.py .............................................................................................................................................ssssssss objspace/std/test/test_dictproxy.py ................ objspace/std/test/test_floatobject.py ................................................. objspace/std/test/test_identitydict.py sssss objspace/std/test/test_identityset.py sssssss objspace/std/test/test_index.py ................................... objspace/std/test/test_intobject.py .......................................................................................................................... objspace/std/test/test_jsondict.py .......... objspace/std/test/test_kwargsdict.py sssssss objspace/std/test/test_listobject.py ................................................................................... objspace/std/test/test_longobject.py ...................................s........... objspace/std/test/test_mapdict.py ..................ssssssssssssssssssssssssssssssssssssssssssssssss objspace/std/test/test_memoryobject.py .......................................... objspace/std/test/test_methodcache.py sssssss objspace/std/test/test_newformat.py ...................................................F........... objspace/std/test/test_obj.py ...................................... objspace/std/test/test_prebuiltint.py ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss objspace/std/test/test_proxy.py ssssssssssss objspace/std/test/test_proxy_function.py ........ objspace/std/test/test_proxy_internals.py s...... objspace/std/test/test_proxy_iter.py . objspace/std/test/test_proxy_object.py .......... objspace/std/test/test_proxy_usercreated.py s objspace/std/test/test_setobject.py .......................................................................................... objspace/std/test/test_smalllongobject.py ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss objspace/std/test/test_specialisedtupleobject.py ................... objspace/std/test/test_typeobject.py ....sssssssssss objspace/std/test/test_unicodeobject.py .....FF.F..F.FFF.FFF..FFFFFF.FFFFF.FF..FFFF... objspace/std/test/test_userobject.py . =================================== FAILURES =================================== __________________ AppTestFloatFormatting.test_locale_german ___________________ self = <CallInfo when='call' exception: Subprocess failed with exit code 1: Traceback (most recent call last): File "/tmp/b...', x, grouping=True) == '1234,57' ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ AssertionError > func = <function <lambda> at 0x00007fee28b918f8>, when = 'call' def __init__(self, func, when): #: context of invocation: one of "setup", "call", #: "teardown", "memocollect" self.when = when self.start = time() try: > self.result = func() ../_pytest/runner.py:150: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > return CallInfo(lambda: ihook(item=item, **kwds), when=when) ../_pytest/runner.py:138: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_HookCaller 'pytest_runtest_call'> kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_locale_german'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_locale_german'>} def __call__(self, **kwargs): assert not self.is_historic() > return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs) ../_pytest/vendored_packages/pluggy.py:724: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.config.PytestPluginManager object at 0x00007fee588da5d0> hook = <_HookCaller 'pytest_runtest_call'>, methods = [] kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_locale_german'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_locale_german'>} def _hookexec(self, hook, methods, kwargs): # called from all hookcaller instances. # enable_tracing will set its own wrapping function at self._inner_hookexec > return self._inner_hookexec(hook, methods, kwargs) ../_pytest/vendored_packages/pluggy.py:338: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook = <_HookCaller 'pytest_runtest_call'>, methods = [] kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_locale_german'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_locale_german'>} self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_locale_german'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: > return _wrapped_call(hook_impl.function(*args), self.execute) ../_pytest/vendored_packages/pluggy.py:595: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrap_controller = <generator object pytest_runtest_call at 0x00007fee28bcfe48> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 0 meths, kwargs={'i...ale_german'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>> def _wrapped_call(wrap_controller, func): """ Wrap calling to a function with a generator which needs to yield exactly once. The yield point will trigger calling the wrapped function and return its _CallOutcome to the yield point. The generator then needs to finish (raise StopIteration) in order for the wrapped call to complete. """ try: next(wrap_controller) # first yield except StopIteration: _raise_wrapfail(wrap_controller, "did not yield") call_outcome = _CallOutcome(func) try: wrap_controller.send(call_outcome) _raise_wrapfail(wrap_controller, "has second yield") except StopIteration: pass > return call_outcome.get_result() ../_pytest/vendored_packages/pluggy.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x00007fee28bc8c60> def get_result(self): if self.excinfo is None: return self.result else: ex = self.excinfo if _py3: raise ex[1].with_traceback(ex[2]) > _reraise(*ex) # noqa ../_pytest/vendored_packages/pluggy.py:279: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x00007fee28bc8c60> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 0 meths, kwargs={'i...ale_german'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_locale_german'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: return _wrapped_call(hook_impl.function(*args), self.execute) > res = hook_impl.function(*args) ../_pytest/vendored_packages/pluggy.py:596: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = <AppTestMethod 'test_locale_german'> def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <AppTestMethod 'test_locale_german'> def runtest(self): target = self.obj src = extract_docstring_if_empty_function(target.im_func) space = target.im_self.space if self.config.option.runappdirect: appexec_definitions = self.parent.obj.__dict__ spaceconfig = getattr(self.parent.obj, 'spaceconfig', None) usemodules = spaceconfig.get('usemodules') if spaceconfig else None return run_with_python(self.config.option.python, src, usemodules, > **appexec_definitions) tool/pytest/apptest.py:327: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ python_ = '/Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pypy/goal/pypy3.12-c' target_ = <function test_locale_german at 0x00007fee5b6a4728> usemodules = ['_locale'], definitions = {}, defs = [] def run_with_python(python_, target_, usemodules, **definitions): if python_ is None: py.test.skip("Cannot find the default python3 interpreter to run with -A") defs = [] for symbol, value in sorted(definitions.items()): if isinstance(value, tuple) and isinstance(value[0], py.code.Source): code, args = value defs.append(str(code)) arg_repr = [] for arg in args: if isinstance(arg, types.FunctionType): arg_repr.append(arg.__name__) elif isinstance(arg, types.MethodType): arg_repr.append(arg.__name__) else: arg_repr.append(py3k_repr(arg)) args = ', '.join(arg_repr) defs.append("self.%s = anonymous(%s)\n" % (symbol, args)) elif isinstance(value, types.MethodType): # "def w_method(self)" code = py.code.Code(value) defs.append(str(code.source())) defs.append("type(self).%s = %s\n" % (symbol, value.__name__)) elif isinstance(value, types.ModuleType): name = value.__name__ defs.append("import %s; self.%s = %s\n" % (name, symbol, name)) elif isinstance(value, (str, unicode, int, long, float, list, tuple, dict)) or value is None: defs.append("self.%s = %s\n" % (symbol, py3k_repr(value))) check_usemodules = '' if usemodules: usemodules = [_rename_module(name) for name in usemodules] check_usemodules = """\ missing = set(%r).difference(sys.builtin_module_names) if missing: if not hasattr(sys, 'pypy_version_info'): # They may be extension modules on CPython name = None for name in missing.copy(): if name in ['cpyext', '_cffi_backend', '_rawffi']: missing.remove(name) continue try: __import__(name) except ImportError: pass else: missing.remove(name) del name if missing: sys.exit(81) del missing""" % usemodules source = list(py.code.Source(target_)) while source[0].startswith(('@py.test.mark.', '@pytest.mark.')): source.pop(0) source = source[1:] pyfile = udir.join('src.py') if isinstance(target_, str): # Special case of a docstring; the function name is the first word. target_name = target_.split('(', 1)[0] else: target_name = target_.__name__ with pyfile.open('w') as f: f.write(helpers % (pypyroot, check_usemodules)) f.write('\n'.join(defs)) f.write('def %s():\n' % target_name) f.write('\n'.join(source)) f.write("\ntry:\n %s()\n" % target_name) f.write('finally:\n print("===aefwuiheawiu===")') helper_dir = os.path.join(pypydir, 'tool', 'cpyext') env = os.environ.copy() env['PYTHONPATH'] = helper_dir res, stdout, stderr = run_subprocess( python_, [str(pyfile)], env=env) print pyfile.read() print "from", str(pyfile) print >> sys.stdout, stdout print >> sys.stderr, stderr if res == 81: py.test.skip('%r was not compiled w/ required usemodules: %r' % (python_, usemodules)) elif res != 0: raise AssertionError( > "Subprocess failed with exit code %s:\n%s" % (res, stderr)) E AssertionError: Subprocess failed with exit code 1: E Traceback (most recent call last): E File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 98, in <module> E test_locale_german() E File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 92, in test_locale_german E assert locale.format_string('%g', x, grouping=True) == '1234,57' E ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E AssertionError tool/pytest/apptest.py:239: AssertionError ----------------------------- Captured stdout call ----------------------------- # -*- encoding: utf-8 -*- if 1: import sys sys.path.append('/Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build') missing = set(['_locale']).difference(sys.builtin_module_names) if missing: if not hasattr(sys, 'pypy_version_info'): # They may be extension modules on CPython name = None for name in missing.copy(): if name in ['cpyext', '_cffi_backend', '_rawffi']: missing.remove(name) continue try: __import__(name) except ImportError: pass else: missing.remove(name) del name if missing: sys.exit(81) del missing def skip(message): print(message) raise SystemExit(0) __builtins__.skip = skip __builtins__.py3k_skip = skip class ExceptionWrapper: pass def raises(exc, *args, **kwargs): if not args: return RaisesContext(exc) func = args[0] args = args[1:] import os try: if isinstance(func, str): if func.startswith((' ', os.linesep, '\n')): # it's probably an indented block, so we prefix if True: # to avoid SyntaxError func = "if True:\n" + func frame = sys._getframe(1) exec(func, frame.f_globals, frame.f_locals) else: func(*args, **kwargs) except exc as e: res = ExceptionWrapper() res.value = e res.traceback = e.__traceback__ return res else: raise AssertionError("DID NOT RAISE") class RaisesContext(object): def __init__(self, expected_exception): self.expected_exception = expected_exception self.excinfo = None def __enter__(self): return self def __exit__(self, *tp): __tracebackhide__ = True if tp[0] is None: raise AssertionError("DID NOT RAISE") self.value = tp[1] return issubclass(tp[0], self.expected_exception) __builtins__.raises = raises class Test: pass self = Test() def test_locale_german(): import locale, sys for name in ['de_DE', 'de_DE.utf8']: try: locale.setlocale(locale.LC_NUMERIC, name) break except locale.Error: pass else: skip("no german locale") x = 1234.567890 try: if sys.platform != "darwin": assert locale.format_string('%g', x, grouping=True) == '1.234,57' assert format(x, 'n') == '1.234,57' assert format(12345678901234, 'n') == '12.345.678.901.234' else: # No thousands separator on German in MacOS since 10.4 assert locale.format_string('%g', x, grouping=True) == '1234,57' assert format(x, 'n') == '1234,57' assert format(12345678901234, 'n') == '12345678901234' finally: locale.setlocale(locale.LC_NUMERIC, 'C') try: test_locale_german() finally: print("===aefwuiheawiu===") from /tmp/buildbot-x86_64/usession-py3.12-4304/src.py ===aefwuiheawiu=== ----------------------------- Captured stderr call ----------------------------- Traceback (most recent call last): File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 98, in <module> test_locale_german() File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 92, in test_locale_german assert locale.format_string('%g', x, grouping=True) == '1234,57' ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ AssertionError _______________ AppTestUnicodeString.test_partition_str_unicode ________________ self = <CallInfo when='call' exception: Subprocess failed with exit code 1: Traceback (most recent call last): File "/tmp/b...(type, x) == [unicode, unicode, unicode] ^^^^^^^ NameError: name 'unicode' is not defined > func = <function <lambda> at 0x00007fee5cccfbc8>, when = 'call' def __init__(self, func, when): #: context of invocation: one of "setup", "call", #: "teardown", "memocollect" self.when = when self.start = time() try: > self.result = func() ../_pytest/runner.py:150: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > return CallInfo(lambda: ihook(item=item, **kwds), when=when) ../_pytest/runner.py:138: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_HookCaller 'pytest_runtest_call'> kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_partition_str_unicode'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_partition_str_unicode'>} def __call__(self, **kwargs): assert not self.is_historic() > return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs) ../_pytest/vendored_packages/pluggy.py:724: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.config.PytestPluginManager object at 0x00007fee588da5d0> hook = <_HookCaller 'pytest_runtest_call'>, methods = [] kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_partition_str_unicode'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_partition_str_unicode'>} def _hookexec(self, hook, methods, kwargs): # called from all hookcaller instances. # enable_tracing will set its own wrapping function at self._inner_hookexec > return self._inner_hookexec(hook, methods, kwargs) ../_pytest/vendored_packages/pluggy.py:338: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook = <_HookCaller 'pytest_runtest_call'>, methods = [] kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_partition_str_unicode'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_partition_str_unicode'>} self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_partition_str_unicode'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: > return _wrapped_call(hook_impl.function(*args), self.execute) ../_pytest/vendored_packages/pluggy.py:595: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrap_controller = <generator object pytest_runtest_call at 0x00007fee38375c40> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 0 meths, kwargs={'i...tr_unicode'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>> def _wrapped_call(wrap_controller, func): """ Wrap calling to a function with a generator which needs to yield exactly once. The yield point will trigger calling the wrapped function and return its _CallOutcome to the yield point. The generator then needs to finish (raise StopIteration) in order for the wrapped call to complete. """ try: next(wrap_controller) # first yield except StopIteration: _raise_wrapfail(wrap_controller, "did not yield") call_outcome = _CallOutcome(func) try: wrap_controller.send(call_outcome) _raise_wrapfail(wrap_controller, "has second yield") except StopIteration: pass > return call_outcome.get_result() ../_pytest/vendored_packages/pluggy.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x00007fee5cf65620> def get_result(self): if self.excinfo is None: return self.result else: ex = self.excinfo if _py3: raise ex[1].with_traceback(ex[2]) > _reraise(*ex) # noqa ../_pytest/vendored_packages/pluggy.py:279: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x00007fee5cf65620> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 0 meths, kwargs={'i...tr_unicode'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_partition_str_unicode'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: return _wrapped_call(hook_impl.function(*args), self.execute) > res = hook_impl.function(*args) ../_pytest/vendored_packages/pluggy.py:596: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = <AppTestMethod 'test_partition_str_unicode'> def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <AppTestMethod 'test_partition_str_unicode'> def runtest(self): target = self.obj src = extract_docstring_if_empty_function(target.im_func) space = target.im_self.space if self.config.option.runappdirect: appexec_definitions = self.parent.obj.__dict__ spaceconfig = getattr(self.parent.obj, 'spaceconfig', None) usemodules = spaceconfig.get('usemodules') if spaceconfig else None return run_with_python(self.config.option.python, src, usemodules, > **appexec_definitions) tool/pytest/apptest.py:327: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ python_ = '/Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pypy/goal/pypy3.12-c' target_ = <function test_partition_str_unicode at 0x00007fee5d32b448> usemodules = ['unicodedata'], definitions = {}, defs = [] def run_with_python(python_, target_, usemodules, **definitions): if python_ is None: py.test.skip("Cannot find the default python3 interpreter to run with -A") defs = [] for symbol, value in sorted(definitions.items()): if isinstance(value, tuple) and isinstance(value[0], py.code.Source): code, args = value defs.append(str(code)) arg_repr = [] for arg in args: if isinstance(arg, types.FunctionType): arg_repr.append(arg.__name__) elif isinstance(arg, types.MethodType): arg_repr.append(arg.__name__) else: arg_repr.append(py3k_repr(arg)) args = ', '.join(arg_repr) defs.append("self.%s = anonymous(%s)\n" % (symbol, args)) elif isinstance(value, types.MethodType): # "def w_method(self)" code = py.code.Code(value) defs.append(str(code.source())) defs.append("type(self).%s = %s\n" % (symbol, value.__name__)) elif isinstance(value, types.ModuleType): name = value.__name__ defs.append("import %s; self.%s = %s\n" % (name, symbol, name)) elif isinstance(value, (str, unicode, int, long, float, list, tuple, dict)) or value is None: defs.append("self.%s = %s\n" % (symbol, py3k_repr(value))) check_usemodules = '' if usemodules: usemodules = [_rename_module(name) for name in usemodules] check_usemodules = """\ missing = set(%r).difference(sys.builtin_module_names) if missing: if not hasattr(sys, 'pypy_version_info'): # They may be extension modules on CPython name = None for name in missing.copy(): if name in ['cpyext', '_cffi_backend', '_rawffi']: missing.remove(name) continue try: __import__(name) except ImportError: pass else: missing.remove(name) del name if missing: sys.exit(81) del missing""" % usemodules source = list(py.code.Source(target_)) while source[0].startswith(('@py.test.mark.', '@pytest.mark.')): source.pop(0) source = source[1:] pyfile = udir.join('src.py') if isinstance(target_, str): # Special case of a docstring; the function name is the first word. target_name = target_.split('(', 1)[0] else: target_name = target_.__name__ with pyfile.open('w') as f: f.write(helpers % (pypyroot, check_usemodules)) f.write('\n'.join(defs)) f.write('def %s():\n' % target_name) f.write('\n'.join(source)) f.write("\ntry:\n %s()\n" % target_name) f.write('finally:\n print("===aefwuiheawiu===")') helper_dir = os.path.join(pypydir, 'tool', 'cpyext') env = os.environ.copy() env['PYTHONPATH'] = helper_dir res, stdout, stderr = run_subprocess( python_, [str(pyfile)], env=env) print pyfile.read() print "from", str(pyfile) print >> sys.stdout, stdout print >> sys.stderr, stderr if res == 81: py.test.skip('%r was not compiled w/ required usemodules: %r' % (python_, usemodules)) elif res != 0: raise AssertionError( > "Subprocess failed with exit code %s:\n%s" % (res, stderr)) E AssertionError: Subprocess failed with exit code 1: E Traceback (most recent call last): E File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 81, in <module> E test_partition_str_unicode() E File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 77, in test_partition_str_unicode E assert map(type, x) == [unicode, unicode, unicode] E ^^^^^^^ E NameError: name 'unicode' is not defined tool/pytest/apptest.py:239: AssertionError ----------------------------- Captured stdout call ----------------------------- # -*- encoding: utf-8 -*- if 1: import sys sys.path.append('/Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build') missing = set(['unicodedata']).difference(sys.builtin_module_names) if missing: if not hasattr(sys, 'pypy_version_info'): # They may be extension modules on CPython name = None for name in missing.copy(): if name in ['cpyext', '_cffi_backend', '_rawffi']: missing.remove(name) continue try: __import__(name) except ImportError: pass else: missing.remove(name) del name if missing: sys.exit(81) del missing def skip(message): print(message) raise SystemExit(0) __builtins__.skip = skip __builtins__.py3k_skip = skip class ExceptionWrapper: pass def raises(exc, *args, **kwargs): if not args: return RaisesContext(exc) func = args[0] args = args[1:] import os try: if isinstance(func, str): if func.startswith((' ', os.linesep, '\n')): # it's probably an indented block, so we prefix if True: # to avoid SyntaxError func = "if True:\n" + func frame = sys._getframe(1) exec(func, frame.f_globals, frame.f_locals) else: func(*args, **kwargs) except exc as e: res = ExceptionWrapper() res.value = e res.traceback = e.__traceback__ return res else: raise AssertionError("DID NOT RAISE") class RaisesContext(object): def __init__(self, expected_exception): self.expected_exception = expected_exception self.excinfo = None def __enter__(self): return self def __exit__(self, *tp): __tracebackhide__ = True if tp[0] is None: raise AssertionError("DID NOT RAISE") self.value = tp[1] return issubclass(tp[0], self.expected_exception) __builtins__.raises = raises class Test: pass self = Test() def test_partition_str_unicode(): x = 'abbbd'.rpartition(u'bb') assert x == (u'ab', u'bb', u'd') assert map(type, x) == [unicode, unicode, unicode] raises(UnicodeDecodeError, '\x80'.partition, u'') raises(UnicodeDecodeError, '\x80'.rpartition, u'') try: test_partition_str_unicode() finally: print("===aefwuiheawiu===") from /tmp/buildbot-x86_64/usession-py3.12-4304/src.py ===aefwuiheawiu=== ----------------------------- Captured stderr call ----------------------------- Traceback (most recent call last): File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 81, in <module> test_partition_str_unicode() File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 77, in test_partition_str_unicode assert map(type, x) == [unicode, unicode, unicode] ^^^^^^^ NameError: name 'unicode' is not defined ________________________ AppTestUnicodeString.test_mul _________________________ self = <CallInfo when='call' exception: Subprocess failed with exit code 1: Traceback (most recent call last): File "/tmp/b...* u'') == unicode ^^^^^^^ NameError: name 'unicode' is not defined > func = <function <lambda> at 0x00007fee5be6fcb8>, when = 'call' def __init__(self, func, when): #: context of invocation: one of "setup", "call", #: "teardown", "memocollect" self.when = when self.start = time() try: > self.result = func() ../_pytest/runner.py:150: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > return CallInfo(lambda: ihook(item=item, **kwds), when=when) ../_pytest/runner.py:138: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_HookCaller 'pytest_runtest_call'> kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_mul'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_mul'>} def __call__(self, **kwargs): assert not self.is_historic() > return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs) ../_pytest/vendored_packages/pluggy.py:724: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.config.PytestPluginManager object at 0x00007fee588da5d0> hook = <_HookCaller 'pytest_runtest_call'>, methods = [] kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_mul'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_mul'>} def _hookexec(self, hook, methods, kwargs): # called from all hookcaller instances. # enable_tracing will set its own wrapping function at self._inner_hookexec > return self._inner_hookexec(hook, methods, kwargs) ../_pytest/vendored_packages/pluggy.py:338: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook = <_HookCaller 'pytest_runtest_call'>, methods = [] kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_mul'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_mul'>} self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_mul'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: > return _wrapped_call(hook_impl.function(*args), self.execute) ../_pytest/vendored_packages/pluggy.py:595: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrap_controller = <generator object pytest_runtest_call at 0x00007fee18c7dd08> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 0 meths, kwargs={'i... 'test_mul'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>> def _wrapped_call(wrap_controller, func): """ Wrap calling to a function with a generator which needs to yield exactly once. The yield point will trigger calling the wrapped function and return its _CallOutcome to the yield point. The generator then needs to finish (raise StopIteration) in order for the wrapped call to complete. """ try: next(wrap_controller) # first yield except StopIteration: _raise_wrapfail(wrap_controller, "did not yield") call_outcome = _CallOutcome(func) try: wrap_controller.send(call_outcome) _raise_wrapfail(wrap_controller, "has second yield") except StopIteration: pass > return call_outcome.get_result() ../_pytest/vendored_packages/pluggy.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x00007fee385c1560> def get_result(self): if self.excinfo is None: return self.result else: ex = self.excinfo if _py3: raise ex[1].with_traceback(ex[2]) > _reraise(*ex) # noqa ../_pytest/vendored_packages/pluggy.py:279: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x00007fee385c1560> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 0 meths, kwargs={'i... 'test_mul'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_mul'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: return _wrapped_call(hook_impl.function(*args), self.execute) > res = hook_impl.function(*args) ../_pytest/vendored_packages/pluggy.py:596: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = <AppTestMethod 'test_mul'> def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <AppTestMethod 'test_mul'> def runtest(self): target = self.obj src = extract_docstring_if_empty_function(target.im_func) space = target.im_self.space if self.config.option.runappdirect: appexec_definitions = self.parent.obj.__dict__ spaceconfig = getattr(self.parent.obj, 'spaceconfig', None) usemodules = spaceconfig.get('usemodules') if spaceconfig else None return run_with_python(self.config.option.python, src, usemodules, > **appexec_definitions) tool/pytest/apptest.py:327: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ python_ = '/Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pypy/goal/pypy3.12-c' target_ = <function test_mul at 0x00007fee5d32b4c0> usemodules = ['unicodedata'], definitions = {}, defs = [] def run_with_python(python_, target_, usemodules, **definitions): if python_ is None: py.test.skip("Cannot find the default python3 interpreter to run with -A") defs = [] for symbol, value in sorted(definitions.items()): if isinstance(value, tuple) and isinstance(value[0], py.code.Source): code, args = value defs.append(str(code)) arg_repr = [] for arg in args: if isinstance(arg, types.FunctionType): arg_repr.append(arg.__name__) elif isinstance(arg, types.MethodType): arg_repr.append(arg.__name__) else: arg_repr.append(py3k_repr(arg)) args = ', '.join(arg_repr) defs.append("self.%s = anonymous(%s)\n" % (symbol, args)) elif isinstance(value, types.MethodType): # "def w_method(self)" code = py.code.Code(value) defs.append(str(code.source())) defs.append("type(self).%s = %s\n" % (symbol, value.__name__)) elif isinstance(value, types.ModuleType): name = value.__name__ defs.append("import %s; self.%s = %s\n" % (name, symbol, name)) elif isinstance(value, (str, unicode, int, long, float, list, tuple, dict)) or value is None: defs.append("self.%s = %s\n" % (symbol, py3k_repr(value))) check_usemodules = '' if usemodules: usemodules = [_rename_module(name) for name in usemodules] check_usemodules = """\ missing = set(%r).difference(sys.builtin_module_names) if missing: if not hasattr(sys, 'pypy_version_info'): # They may be extension modules on CPython name = None for name in missing.copy(): if name in ['cpyext', '_cffi_backend', '_rawffi']: missing.remove(name) continue try: __import__(name) except ImportError: pass else: missing.remove(name) del name if missing: sys.exit(81) del missing""" % usemodules source = list(py.code.Source(target_)) while source[0].startswith(('@py.test.mark.', '@pytest.mark.')): source.pop(0) source = source[1:] pyfile = udir.join('src.py') if isinstance(target_, str): # Special case of a docstring; the function name is the first word. target_name = target_.split('(', 1)[0] else: target_name = target_.__name__ with pyfile.open('w') as f: f.write(helpers % (pypyroot, check_usemodules)) f.write('\n'.join(defs)) f.write('def %s():\n' % target_name) f.write('\n'.join(source)) f.write("\ntry:\n %s()\n" % target_name) f.write('finally:\n print("===aefwuiheawiu===")') helper_dir = os.path.join(pypydir, 'tool', 'cpyext') env = os.environ.copy() env['PYTHONPATH'] = helper_dir res, stdout, stderr = run_subprocess( python_, [str(pyfile)], env=env) print pyfile.read() print "from", str(pyfile) print >> sys.stdout, stdout print >> sys.stderr, stderr if res == 81: py.test.skip('%r was not compiled w/ required usemodules: %r' % (python_, usemodules)) elif res != 0: raise AssertionError( > "Subprocess failed with exit code %s:\n%s" % (res, stderr)) E AssertionError: Subprocess failed with exit code 1: E Traceback (most recent call last): E File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 91, in <module> E test_mul() E File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 76, in test_mul E assert type(u'' * zero) == type(zero * u'') == unicode E ^^^^^^^ E NameError: name 'unicode' is not defined tool/pytest/apptest.py:239: AssertionError ----------------------------- Captured stdout call ----------------------------- # -*- encoding: utf-8 -*- if 1: import sys sys.path.append('/Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build') missing = set(['unicodedata']).difference(sys.builtin_module_names) if missing: if not hasattr(sys, 'pypy_version_info'): # They may be extension modules on CPython name = None for name in missing.copy(): if name in ['cpyext', '_cffi_backend', '_rawffi']: missing.remove(name) continue try: __import__(name) except ImportError: pass else: missing.remove(name) del name if missing: sys.exit(81) del missing def skip(message): print(message) raise SystemExit(0) __builtins__.skip = skip __builtins__.py3k_skip = skip class ExceptionWrapper: pass def raises(exc, *args, **kwargs): if not args: return RaisesContext(exc) func = args[0] args = args[1:] import os try: if isinstance(func, str): if func.startswith((' ', os.linesep, '\n')): # it's probably an indented block, so we prefix if True: # to avoid SyntaxError func = "if True:\n" + func frame = sys._getframe(1) exec(func, frame.f_globals, frame.f_locals) else: func(*args, **kwargs) except exc as e: res = ExceptionWrapper() res.value = e res.traceback = e.__traceback__ return res else: raise AssertionError("DID NOT RAISE") class RaisesContext(object): def __init__(self, expected_exception): self.expected_exception = expected_exception self.excinfo = None def __enter__(self): return self def __exit__(self, *tp): __tracebackhide__ = True if tp[0] is None: raise AssertionError("DID NOT RAISE") self.value = tp[1] return issubclass(tp[0], self.expected_exception) __builtins__.raises = raises class Test: pass self = Test() def test_mul(): zero = 0 assert type(u'' * zero) == type(zero * u'') == unicode assert u'' * zero == zero * u'' == u'' assert u'x' * zero == zero * u'x' == u'' assert type(u'x' * zero) == type(zero * u'x') == unicode assert u'123' * zero == zero * u'123' == u'' assert type(u'123' * zero) == type(zero * u'123') == unicode for i in range(10): u = u'123' * i assert len(u) == 3*i for j in range(0, i, 3): assert u[j+0] == u'1' assert u[j+1] == u'2' assert u[j+2] == u'3' assert u'123' * i == i * u'123' try: test_mul() finally: print("===aefwuiheawiu===") from /tmp/buildbot-x86_64/usession-py3.12-4304/src.py ===aefwuiheawiu=== ----------------------------- Captured stderr call ----------------------------- Traceback (most recent call last): File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 91, in <module> test_mul() File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 76, in test_mul assert type(u'' * zero) == type(zero * u'') == unicode ^^^^^^^ NameError: name 'unicode' is not defined _______________________ AppTestUnicodeString.test_rindex _______________________ self = <CallInfo when='call' exception: Subprocess failed with exit code 1: Traceback (most recent call last): File "/tmp/b... 75, in test_rindex from sys import maxint ImportError: cannot import name 'maxint' from 'sys' (unknown location) > func = <function <lambda> at 0x00007fee5d257790>, when = 'call' def __init__(self, func, when): #: context of invocation: one of "setup", "call", #: "teardown", "memocollect" self.when = when self.start = time() try: > self.result = func() ../_pytest/runner.py:150: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > return CallInfo(lambda: ihook(item=item, **kwds), when=when) ../_pytest/runner.py:138: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_HookCaller 'pytest_runtest_call'> kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_rindex'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_rindex'>} def __call__(self, **kwargs): assert not self.is_historic() > return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs) ../_pytest/vendored_packages/pluggy.py:724: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.config.PytestPluginManager object at 0x00007fee588da5d0> hook = <_HookCaller 'pytest_runtest_call'>, methods = [] kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_rindex'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_rindex'>} def _hookexec(self, hook, methods, kwargs): # called from all hookcaller instances. # enable_tracing will set its own wrapping function at self._inner_hookexec > return self._inner_hookexec(hook, methods, kwargs) ../_pytest/vendored_packages/pluggy.py:338: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook = <_HookCaller 'pytest_runtest_call'>, methods = [] kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_rindex'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_rindex'>} self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_rindex'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: > return _wrapped_call(hook_impl.function(*args), self.execute) ../_pytest/vendored_packages/pluggy.py:595: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrap_controller = <generator object pytest_runtest_call at 0x00007fee5d1edb78> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 0 meths, kwargs={'i...est_rindex'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>> def _wrapped_call(wrap_controller, func): """ Wrap calling to a function with a generator which needs to yield exactly once. The yield point will trigger calling the wrapped function and return its _CallOutcome to the yield point. The generator then needs to finish (raise StopIteration) in order for the wrapped call to complete. """ try: next(wrap_controller) # first yield except StopIteration: _raise_wrapfail(wrap_controller, "did not yield") call_outcome = _CallOutcome(func) try: wrap_controller.send(call_outcome) _raise_wrapfail(wrap_controller, "has second yield") except StopIteration: pass > return call_outcome.get_result() ../_pytest/vendored_packages/pluggy.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x00007fee18c7f5a0> def get_result(self): if self.excinfo is None: return self.result else: ex = self.excinfo if _py3: raise ex[1].with_traceback(ex[2]) > _reraise(*ex) # noqa ../_pytest/vendored_packages/pluggy.py:279: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x00007fee18c7f5a0> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 0 meths, kwargs={'i...est_rindex'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_rindex'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: return _wrapped_call(hook_impl.function(*args), self.execute) > res = hook_impl.function(*args) ../_pytest/vendored_packages/pluggy.py:596: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = <AppTestMethod 'test_rindex'> def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <AppTestMethod 'test_rindex'> def runtest(self): target = self.obj src = extract_docstring_if_empty_function(target.im_func) space = target.im_self.space if self.config.option.runappdirect: appexec_definitions = self.parent.obj.__dict__ spaceconfig = getattr(self.parent.obj, 'spaceconfig', None) usemodules = spaceconfig.get('usemodules') if spaceconfig else None return run_with_python(self.config.option.python, src, usemodules, > **appexec_definitions) tool/pytest/apptest.py:327: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ python_ = '/Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pypy/goal/pypy3.12-c' target_ = <function test_rindex at 0x00007fee5d32b5b0> usemodules = ['unicodedata'], definitions = {}, defs = [] def run_with_python(python_, target_, usemodules, **definitions): if python_ is None: py.test.skip("Cannot find the default python3 interpreter to run with -A") defs = [] for symbol, value in sorted(definitions.items()): if isinstance(value, tuple) and isinstance(value[0], py.code.Source): code, args = value defs.append(str(code)) arg_repr = [] for arg in args: if isinstance(arg, types.FunctionType): arg_repr.append(arg.__name__) elif isinstance(arg, types.MethodType): arg_repr.append(arg.__name__) else: arg_repr.append(py3k_repr(arg)) args = ', '.join(arg_repr) defs.append("self.%s = anonymous(%s)\n" % (symbol, args)) elif isinstance(value, types.MethodType): # "def w_method(self)" code = py.code.Code(value) defs.append(str(code.source())) defs.append("type(self).%s = %s\n" % (symbol, value.__name__)) elif isinstance(value, types.ModuleType): name = value.__name__ defs.append("import %s; self.%s = %s\n" % (name, symbol, name)) elif isinstance(value, (str, unicode, int, long, float, list, tuple, dict)) or value is None: defs.append("self.%s = %s\n" % (symbol, py3k_repr(value))) check_usemodules = '' if usemodules: usemodules = [_rename_module(name) for name in usemodules] check_usemodules = """\ missing = set(%r).difference(sys.builtin_module_names) if missing: if not hasattr(sys, 'pypy_version_info'): # They may be extension modules on CPython name = None for name in missing.copy(): if name in ['cpyext', '_cffi_backend', '_rawffi']: missing.remove(name) continue try: __import__(name) except ImportError: pass else: missing.remove(name) del name if missing: sys.exit(81) del missing""" % usemodules source = list(py.code.Source(target_)) while source[0].startswith(('@py.test.mark.', '@pytest.mark.')): source.pop(0) source = source[1:] pyfile = udir.join('src.py') if isinstance(target_, str): # Special case of a docstring; the function name is the first word. target_name = target_.split('(', 1)[0] else: target_name = target_.__name__ with pyfile.open('w') as f: f.write(helpers % (pypyroot, check_usemodules)) f.write('\n'.join(defs)) f.write('def %s():\n' % target_name) f.write('\n'.join(source)) f.write("\ntry:\n %s()\n" % target_name) f.write('finally:\n print("===aefwuiheawiu===")') helper_dir = os.path.join(pypydir, 'tool', 'cpyext') env = os.environ.copy() env['PYTHONPATH'] = helper_dir res, stdout, stderr = run_subprocess( python_, [str(pyfile)], env=env) print pyfile.read() print "from", str(pyfile) print >> sys.stdout, stdout print >> sys.stderr, stderr if res == 81: py.test.skip('%r was not compiled w/ required usemodules: %r' % (python_, usemodules)) elif res != 0: raise AssertionError( > "Subprocess failed with exit code %s:\n%s" % (res, stderr)) E AssertionError: Subprocess failed with exit code 1: E Traceback (most recent call last): E File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 92, in <module> E test_rindex() E File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 75, in test_rindex E from sys import maxint E ImportError: cannot import name 'maxint' from 'sys' (unknown location) tool/pytest/apptest.py:239: AssertionError ----------------------------- Captured stdout call ----------------------------- # -*- encoding: utf-8 -*- if 1: import sys sys.path.append('/Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build') missing = set(['unicodedata']).difference(sys.builtin_module_names) if missing: if not hasattr(sys, 'pypy_version_info'): # They may be extension modules on CPython name = None for name in missing.copy(): if name in ['cpyext', '_cffi_backend', '_rawffi']: missing.remove(name) continue try: __import__(name) except ImportError: pass else: missing.remove(name) del name if missing: sys.exit(81) del missing def skip(message): print(message) raise SystemExit(0) __builtins__.skip = skip __builtins__.py3k_skip = skip class ExceptionWrapper: pass def raises(exc, *args, **kwargs): if not args: return RaisesContext(exc) func = args[0] args = args[1:] import os try: if isinstance(func, str): if func.startswith((' ', os.linesep, '\n')): # it's probably an indented block, so we prefix if True: # to avoid SyntaxError func = "if True:\n" + func frame = sys._getframe(1) exec(func, frame.f_globals, frame.f_locals) else: func(*args, **kwargs) except exc as e: res = ExceptionWrapper() res.value = e res.traceback = e.__traceback__ return res else: raise AssertionError("DID NOT RAISE") class RaisesContext(object): def __init__(self, expected_exception): self.expected_exception = expected_exception self.excinfo = None def __enter__(self): return self def __exit__(self, *tp): __tracebackhide__ = True if tp[0] is None: raise AssertionError("DID NOT RAISE") self.value = tp[1] return issubclass(tp[0], self.expected_exception) __builtins__.raises = raises class Test: pass self = Test() def test_rindex(): from sys import maxint assert u'abcdefghiabc'.rindex(u'') == 12 assert u'abcdefghiabc'.rindex(u'def') == 3 assert u'abcdefghiabc'.rindex(u'abc') == 9 assert u'abcdefghiabc'.rindex(u'abc', 0, -1) == 0 assert u'abcdefghiabc'.rindex(u'abc', -4*maxint, 4*maxint) == 9 assert u'rrarrrrrrrrra'.rindex(u'a', 4, None) == 12 assert u"\u1234\u5678".rindex(u'\u5678') == 1 raises(ValueError, u'abcdefghiabc'.rindex, u'hib') raises(ValueError, u'defghiabc'.rindex, u'def', 1) raises(ValueError, u'defghiabc'.rindex, u'abc', 0, -1) raises(ValueError, u'abcdefghi'.rindex, u'ghi', 0, 8) raises(ValueError, u'abcdefghi'.rindex, u'ghi', 0, -1) raises(TypeError, u'abcdefghijklmn'.rindex, u'abc', 0, 0.0) raises(TypeError, u'abcdefghijklmn'.rindex, u'abc', -10.0, 30) try: test_rindex() finally: print("===aefwuiheawiu===") from /tmp/buildbot-x86_64/usession-py3.12-4304/src.py ===aefwuiheawiu=== ----------------------------- Captured stderr call ----------------------------- Traceback (most recent call last): File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 92, in <module> test_rindex() File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 75, in test_rindex from sys import maxint ImportError: cannot import name 'maxint' from 'sys' (unknown location) _______________ AppTestUnicodeString.test_find_index_str_unicode _______________ self = <CallInfo when='call' exception: Subprocess failed with exit code 1: Traceback (most recent call last): File "/tmp/b...ssion-py3.12-4304/src.py", line 53, in raises raise AssertionError("DID NOT RAISE") AssertionError: DID NOT RAISE > func = <function <lambda> at 0x00007fee5b893628>, when = 'call' def __init__(self, func, when): #: context of invocation: one of "setup", "call", #: "teardown", "memocollect" self.when = when self.start = time() try: > self.result = func() ../_pytest/runner.py:150: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > return CallInfo(lambda: ihook(item=item, **kwds), when=when) ../_pytest/runner.py:138: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_HookCaller 'pytest_runtest_call'> kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_find_index_str_unicode'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_find_index_str_unicode'>} def __call__(self, **kwargs): assert not self.is_historic() > return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs) ../_pytest/vendored_packages/pluggy.py:724: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.config.PytestPluginManager object at 0x00007fee588da5d0> hook = <_HookCaller 'pytest_runtest_call'>, methods = [] kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_find_index_str_unicode'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_find_index_str_unicode'>} def _hookexec(self, hook, methods, kwargs): # called from all hookcaller instances. # enable_tracing will set its own wrapping function at self._inner_hookexec > return self._inner_hookexec(hook, methods, kwargs) ../_pytest/vendored_packages/pluggy.py:338: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook = <_HookCaller 'pytest_runtest_call'>, methods = [] kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_find_index_str_unicode'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_find_index_str_unicode'>} self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_find_index_str_unicode'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: > return _wrapped_call(hook_impl.function(*args), self.execute) ../_pytest/vendored_packages/pluggy.py:595: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrap_controller = <generator object pytest_runtest_call at 0x00007fee18cd94e8> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 0 meths, kwargs={'i...tr_unicode'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>> def _wrapped_call(wrap_controller, func): """ Wrap calling to a function with a generator which needs to yield exactly once. The yield point will trigger calling the wrapped function and return its _CallOutcome to the yield point. The generator then needs to finish (raise StopIteration) in order for the wrapped call to complete. """ try: next(wrap_controller) # first yield except StopIteration: _raise_wrapfail(wrap_controller, "did not yield") call_outcome = _CallOutcome(func) try: wrap_controller.send(call_outcome) _raise_wrapfail(wrap_controller, "has second yield") except StopIteration: pass > return call_outcome.get_result() ../_pytest/vendored_packages/pluggy.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x00007fee28484760> def get_result(self): if self.excinfo is None: return self.result else: ex = self.excinfo if _py3: raise ex[1].with_traceback(ex[2]) > _reraise(*ex) # noqa ../_pytest/vendored_packages/pluggy.py:279: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x00007fee28484760> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 0 meths, kwargs={'i...tr_unicode'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_find_index_str_unicode'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: return _wrapped_call(hook_impl.function(*args), self.execute) > res = hook_impl.function(*args) ../_pytest/vendored_packages/pluggy.py:596: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = <AppTestMethod 'test_find_index_str_unicode'> def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <AppTestMethod 'test_find_index_str_unicode'> def runtest(self): target = self.obj src = extract_docstring_if_empty_function(target.im_func) space = target.im_self.space if self.config.option.runappdirect: appexec_definitions = self.parent.obj.__dict__ spaceconfig = getattr(self.parent.obj, 'spaceconfig', None) usemodules = spaceconfig.get('usemodules') if spaceconfig else None return run_with_python(self.config.option.python, src, usemodules, > **appexec_definitions) tool/pytest/apptest.py:327: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ python_ = '/Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pypy/goal/pypy3.12-c' target_ = <function test_find_index_str_unicode at 0x00007fee5d32b718> usemodules = ['unicodedata'], definitions = {}, defs = [] def run_with_python(python_, target_, usemodules, **definitions): if python_ is None: py.test.skip("Cannot find the default python3 interpreter to run with -A") defs = [] for symbol, value in sorted(definitions.items()): if isinstance(value, tuple) and isinstance(value[0], py.code.Source): code, args = value defs.append(str(code)) arg_repr = [] for arg in args: if isinstance(arg, types.FunctionType): arg_repr.append(arg.__name__) elif isinstance(arg, types.MethodType): arg_repr.append(arg.__name__) else: arg_repr.append(py3k_repr(arg)) args = ', '.join(arg_repr) defs.append("self.%s = anonymous(%s)\n" % (symbol, args)) elif isinstance(value, types.MethodType): # "def w_method(self)" code = py.code.Code(value) defs.append(str(code.source())) defs.append("type(self).%s = %s\n" % (symbol, value.__name__)) elif isinstance(value, types.ModuleType): name = value.__name__ defs.append("import %s; self.%s = %s\n" % (name, symbol, name)) elif isinstance(value, (str, unicode, int, long, float, list, tuple, dict)) or value is None: defs.append("self.%s = %s\n" % (symbol, py3k_repr(value))) check_usemodules = '' if usemodules: usemodules = [_rename_module(name) for name in usemodules] check_usemodules = """\ missing = set(%r).difference(sys.builtin_module_names) if missing: if not hasattr(sys, 'pypy_version_info'): # They may be extension modules on CPython name = None for name in missing.copy(): if name in ['cpyext', '_cffi_backend', '_rawffi']: missing.remove(name) continue try: __import__(name) except ImportError: pass else: missing.remove(name) del name if missing: sys.exit(81) del missing""" % usemodules source = list(py.code.Source(target_)) while source[0].startswith(('@py.test.mark.', '@pytest.mark.')): source.pop(0) source = source[1:] pyfile = udir.join('src.py') if isinstance(target_, str): # Special case of a docstring; the function name is the first word. target_name = target_.split('(', 1)[0] else: target_name = target_.__name__ with pyfile.open('w') as f: f.write(helpers % (pypyroot, check_usemodules)) f.write('\n'.join(defs)) f.write('def %s():\n' % target_name) f.write('\n'.join(source)) f.write("\ntry:\n %s()\n" % target_name) f.write('finally:\n print("===aefwuiheawiu===")') helper_dir = os.path.join(pypydir, 'tool', 'cpyext') env = os.environ.copy() env['PYTHONPATH'] = helper_dir res, stdout, stderr = run_subprocess( python_, [str(pyfile)], env=env) print pyfile.read() print "from", str(pyfile) print >> sys.stdout, stdout print >> sys.stderr, stderr if res == 81: py.test.skip('%r was not compiled w/ required usemodules: %r' % (python_, usemodules)) elif res != 0: raise AssertionError( > "Subprocess failed with exit code %s:\n%s" % (res, stderr)) E AssertionError: Subprocess failed with exit code 1: E Traceback (most recent call last): E File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 87, in <module> E test_find_index_str_unicode() E File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 79, in test_find_index_str_unicode E raises(UnicodeDecodeError, '\x80'.find, u'') E File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 53, in raises E raise AssertionError("DID NOT RAISE") E AssertionError: DID NOT RAISE tool/pytest/apptest.py:239: AssertionError ----------------------------- Captured stdout call ----------------------------- # -*- encoding: utf-8 -*- if 1: import sys sys.path.append('/Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build') missing = set(['unicodedata']).difference(sys.builtin_module_names) if missing: if not hasattr(sys, 'pypy_version_info'): # They may be extension modules on CPython name = None for name in missing.copy(): if name in ['cpyext', '_cffi_backend', '_rawffi']: missing.remove(name) continue try: __import__(name) except ImportError: pass else: missing.remove(name) del name if missing: sys.exit(81) del missing def skip(message): print(message) raise SystemExit(0) __builtins__.skip = skip __builtins__.py3k_skip = skip class ExceptionWrapper: pass def raises(exc, *args, **kwargs): if not args: return RaisesContext(exc) func = args[0] args = args[1:] import os try: if isinstance(func, str): if func.startswith((' ', os.linesep, '\n')): # it's probably an indented block, so we prefix if True: # to avoid SyntaxError func = "if True:\n" + func frame = sys._getframe(1) exec(func, frame.f_globals, frame.f_locals) else: func(*args, **kwargs) except exc as e: res = ExceptionWrapper() res.value = e res.traceback = e.__traceback__ return res else: raise AssertionError("DID NOT RAISE") class RaisesContext(object): def __init__(self, expected_exception): self.expected_exception = expected_exception self.excinfo = None def __enter__(self): return self def __exit__(self, *tp): __tracebackhide__ = True if tp[0] is None: raise AssertionError("DID NOT RAISE") self.value = tp[1] return issubclass(tp[0], self.expected_exception) __builtins__.raises = raises class Test: pass self = Test() def test_find_index_str_unicode(): assert u'abcdefghiabc'.find(u'bc') == 1 assert u'ab\u0105b\u0107'.find('b', 2) == 3 assert u'ab\u0105b\u0107'.find('b', 0, 1) == -1 assert 'abcdefghiabc'.rfind(u'abc') == 9 raises(UnicodeDecodeError, '\x80'.find, u'') raises(UnicodeDecodeError, '\x80'.rfind, u'') assert 'abcdefghiabc'.index(u'bc') == 1 assert 'abcdefghiabc'.rindex(u'abc') == 9 raises(UnicodeDecodeError, '\x80'.index, u'') raises(UnicodeDecodeError, '\x80'.rindex, u'') assert u"\u1234\u5678".find(u'\u5678') == 1 try: test_find_index_str_unicode() finally: print("===aefwuiheawiu===") from /tmp/buildbot-x86_64/usession-py3.12-4304/src.py ===aefwuiheawiu=== ----------------------------- Captured stderr call ----------------------------- Traceback (most recent call last): File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 87, in <module> test_find_index_str_unicode() File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 79, in test_find_index_str_unicode raises(UnicodeDecodeError, '\x80'.find, u'') File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 53, in raises raise AssertionError("DID NOT RAISE") AssertionError: DID NOT RAISE _________________ AppTestUnicodeString.test_count_str_unicode __________________ self = <CallInfo when='call' exception: Subprocess failed with exit code 1: Traceback (most recent call last): File "/tmp/b...ssion-py3.12-4304/src.py", line 53, in raises raise AssertionError("DID NOT RAISE") AssertionError: DID NOT RAISE > func = <function <lambda> at 0x00007fee5bd43268>, when = 'call' def __init__(self, func, when): #: context of invocation: one of "setup", "call", #: "teardown", "memocollect" self.when = when self.start = time() try: > self.result = func() ../_pytest/runner.py:150: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > return CallInfo(lambda: ihook(item=item, **kwds), when=when) ../_pytest/runner.py:138: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_HookCaller 'pytest_runtest_call'> kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_count_str_unicode'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_count_str_unicode'>} def __call__(self, **kwargs): assert not self.is_historic() > return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs) ../_pytest/vendored_packages/pluggy.py:724: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.config.PytestPluginManager object at 0x00007fee588da5d0> hook = <_HookCaller 'pytest_runtest_call'>, methods = [] kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_count_str_unicode'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_count_str_unicode'>} def _hookexec(self, hook, methods, kwargs): # called from all hookcaller instances. # enable_tracing will set its own wrapping function at self._inner_hookexec > return self._inner_hookexec(hook, methods, kwargs) ../_pytest/vendored_packages/pluggy.py:338: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook = <_HookCaller 'pytest_runtest_call'>, methods = [] kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_count_str_unicode'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_count_str_unicode'>} self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_count_str_unicode'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: > return _wrapped_call(hook_impl.function(*args), self.execute) ../_pytest/vendored_packages/pluggy.py:595: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrap_controller = <generator object pytest_runtest_call at 0x00007fee284b5970> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 0 meths, kwargs={'i...tr_unicode'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>> def _wrapped_call(wrap_controller, func): """ Wrap calling to a function with a generator which needs to yield exactly once. The yield point will trigger calling the wrapped function and return its _CallOutcome to the yield point. The generator then needs to finish (raise StopIteration) in order for the wrapped call to complete. """ try: next(wrap_controller) # first yield except StopIteration: _raise_wrapfail(wrap_controller, "did not yield") call_outcome = _CallOutcome(func) try: wrap_controller.send(call_outcome) _raise_wrapfail(wrap_controller, "has second yield") except StopIteration: pass > return call_outcome.get_result() ../_pytest/vendored_packages/pluggy.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x00007fee387b77e0> def get_result(self): if self.excinfo is None: return self.result else: ex = self.excinfo if _py3: raise ex[1].with_traceback(ex[2]) > _reraise(*ex) # noqa ../_pytest/vendored_packages/pluggy.py:279: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x00007fee387b77e0> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 0 meths, kwargs={'i...tr_unicode'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_count_str_unicode'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: return _wrapped_call(hook_impl.function(*args), self.execute) > res = hook_impl.function(*args) ../_pytest/vendored_packages/pluggy.py:596: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = <AppTestMethod 'test_count_str_unicode'> def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <AppTestMethod 'test_count_str_unicode'> def runtest(self): target = self.obj src = extract_docstring_if_empty_function(target.im_func) space = target.im_self.space if self.config.option.runappdirect: appexec_definitions = self.parent.obj.__dict__ spaceconfig = getattr(self.parent.obj, 'spaceconfig', None) usemodules = spaceconfig.get('usemodules') if spaceconfig else None return run_with_python(self.config.option.python, src, usemodules, > **appexec_definitions) tool/pytest/apptest.py:327: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ python_ = '/Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pypy/goal/pypy3.12-c' target_ = <function test_count_str_unicode at 0x00007fee5d32b808> usemodules = ['unicodedata'], definitions = {}, defs = [] def run_with_python(python_, target_, usemodules, **definitions): if python_ is None: py.test.skip("Cannot find the default python3 interpreter to run with -A") defs = [] for symbol, value in sorted(definitions.items()): if isinstance(value, tuple) and isinstance(value[0], py.code.Source): code, args = value defs.append(str(code)) arg_repr = [] for arg in args: if isinstance(arg, types.FunctionType): arg_repr.append(arg.__name__) elif isinstance(arg, types.MethodType): arg_repr.append(arg.__name__) else: arg_repr.append(py3k_repr(arg)) args = ', '.join(arg_repr) defs.append("self.%s = anonymous(%s)\n" % (symbol, args)) elif isinstance(value, types.MethodType): # "def w_method(self)" code = py.code.Code(value) defs.append(str(code.source())) defs.append("type(self).%s = %s\n" % (symbol, value.__name__)) elif isinstance(value, types.ModuleType): name = value.__name__ defs.append("import %s; self.%s = %s\n" % (name, symbol, name)) elif isinstance(value, (str, unicode, int, long, float, list, tuple, dict)) or value is None: defs.append("self.%s = %s\n" % (symbol, py3k_repr(value))) check_usemodules = '' if usemodules: usemodules = [_rename_module(name) for name in usemodules] check_usemodules = """\ missing = set(%r).difference(sys.builtin_module_names) if missing: if not hasattr(sys, 'pypy_version_info'): # They may be extension modules on CPython name = None for name in missing.copy(): if name in ['cpyext', '_cffi_backend', '_rawffi']: missing.remove(name) continue try: __import__(name) except ImportError: pass else: missing.remove(name) del name if missing: sys.exit(81) del missing""" % usemodules source = list(py.code.Source(target_)) while source[0].startswith(('@py.test.mark.', '@pytest.mark.')): source.pop(0) source = source[1:] pyfile = udir.join('src.py') if isinstance(target_, str): # Special case of a docstring; the function name is the first word. target_name = target_.split('(', 1)[0] else: target_name = target_.__name__ with pyfile.open('w') as f: f.write(helpers % (pypyroot, check_usemodules)) f.write('\n'.join(defs)) f.write('def %s():\n' % target_name) f.write('\n'.join(source)) f.write("\ntry:\n %s()\n" % target_name) f.write('finally:\n print("===aefwuiheawiu===")') helper_dir = os.path.join(pypydir, 'tool', 'cpyext') env = os.environ.copy() env['PYTHONPATH'] = helper_dir res, stdout, stderr = run_subprocess( python_, [str(pyfile)], env=env) print pyfile.read() print "from", str(pyfile) print >> sys.stdout, stdout print >> sys.stderr, stderr if res == 81: py.test.skip('%r was not compiled w/ required usemodules: %r' % (python_, usemodules)) elif res != 0: raise AssertionError( > "Subprocess failed with exit code %s:\n%s" % (res, stderr)) E AssertionError: Subprocess failed with exit code 1: E Traceback (most recent call last): E File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 84, in <module> E test_count_str_unicode() E File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 82, in test_count_str_unicode E raises(UnicodeDecodeError, '\x80'.count, u'') E File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 53, in raises E raise AssertionError("DID NOT RAISE") E AssertionError: DID NOT RAISE tool/pytest/apptest.py:239: AssertionError ----------------------------- Captured stdout call ----------------------------- # -*- encoding: utf-8 -*- if 1: import sys sys.path.append('/Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build') missing = set(['unicodedata']).difference(sys.builtin_module_names) if missing: if not hasattr(sys, 'pypy_version_info'): # They may be extension modules on CPython name = None for name in missing.copy(): if name in ['cpyext', '_cffi_backend', '_rawffi']: missing.remove(name) continue try: __import__(name) except ImportError: pass else: missing.remove(name) del name if missing: sys.exit(81) del missing def skip(message): print(message) raise SystemExit(0) __builtins__.skip = skip __builtins__.py3k_skip = skip class ExceptionWrapper: pass def raises(exc, *args, **kwargs): if not args: return RaisesContext(exc) func = args[0] args = args[1:] import os try: if isinstance(func, str): if func.startswith((' ', os.linesep, '\n')): # it's probably an indented block, so we prefix if True: # to avoid SyntaxError func = "if True:\n" + func frame = sys._getframe(1) exec(func, frame.f_globals, frame.f_locals) else: func(*args, **kwargs) except exc as e: res = ExceptionWrapper() res.value = e res.traceback = e.__traceback__ return res else: raise AssertionError("DID NOT RAISE") class RaisesContext(object): def __init__(self, expected_exception): self.expected_exception = expected_exception self.excinfo = None def __enter__(self): return self def __exit__(self, *tp): __tracebackhide__ = True if tp[0] is None: raise AssertionError("DID NOT RAISE") self.value = tp[1] return issubclass(tp[0], self.expected_exception) __builtins__.raises = raises class Test: pass self = Test() def test_count_str_unicode(): assert 'aaa'.count(u'a') == 3 assert 'aaa'.count(u'b') == 0 assert 'aaa'.count(u'a', -1) == 1 assert 'aaa'.count(u'a', -10) == 3 assert 'aaa'.count(u'a', 0, -1) == 2 assert 'aaa'.count(u'a', 0, -10) == 0 assert 'ababa'.count(u'aba') == 1 raises(UnicodeDecodeError, '\x80'.count, u'') try: test_count_str_unicode() finally: print("===aefwuiheawiu===") from /tmp/buildbot-x86_64/usession-py3.12-4304/src.py ===aefwuiheawiu=== ----------------------------- Captured stderr call ----------------------------- Traceback (most recent call last): File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 84, in <module> test_count_str_unicode() File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 82, in test_count_str_unicode raises(UnicodeDecodeError, '\x80'.count, u'') File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 53, in raises raise AssertionError("DID NOT RAISE") AssertionError: DID NOT RAISE ______________________ AppTestUnicodeString.test_swapcase ______________________ self = <CallInfo when='call' exception: Subprocess failed with exit code 1: Traceback (most recent call last): File "/tmp/b...u'\xe4\xc4\xdf'.swapcase() == u'\xc4\xe4\xdf' ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ AssertionError > func = <function <lambda> at 0x00007fee18dee6b0>, when = 'call' def __init__(self, func, when): #: context of invocation: one of "setup", "call", #: "teardown", "memocollect" self.when = when self.start = time() try: > self.result = func() ../_pytest/runner.py:150: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > return CallInfo(lambda: ihook(item=item, **kwds), when=when) ../_pytest/runner.py:138: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_HookCaller 'pytest_runtest_call'> kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_swapcase'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_swapcase'>} def __call__(self, **kwargs): assert not self.is_historic() > return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs) ../_pytest/vendored_packages/pluggy.py:724: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.config.PytestPluginManager object at 0x00007fee588da5d0> hook = <_HookCaller 'pytest_runtest_call'>, methods = [] kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_swapcase'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_swapcase'>} def _hookexec(self, hook, methods, kwargs): # called from all hookcaller instances. # enable_tracing will set its own wrapping function at self._inner_hookexec > return self._inner_hookexec(hook, methods, kwargs) ../_pytest/vendored_packages/pluggy.py:338: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook = <_HookCaller 'pytest_runtest_call'>, methods = [] kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_swapcase'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_swapcase'>} self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_swapcase'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: > return _wrapped_call(hook_impl.function(*args), self.execute) ../_pytest/vendored_packages/pluggy.py:595: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrap_controller = <generator object pytest_runtest_call at 0x00007fee38740390> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 0 meths, kwargs={'i...t_swapcase'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>> def _wrapped_call(wrap_controller, func): """ Wrap calling to a function with a generator which needs to yield exactly once. The yield point will trigger calling the wrapped function and return its _CallOutcome to the yield point. The generator then needs to finish (raise StopIteration) in order for the wrapped call to complete. """ try: next(wrap_controller) # first yield except StopIteration: _raise_wrapfail(wrap_controller, "did not yield") call_outcome = _CallOutcome(func) try: wrap_controller.send(call_outcome) _raise_wrapfail(wrap_controller, "has second yield") except StopIteration: pass > return call_outcome.get_result() ../_pytest/vendored_packages/pluggy.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x00007fee18d879e0> def get_result(self): if self.excinfo is None: return self.result else: ex = self.excinfo if _py3: raise ex[1].with_traceback(ex[2]) > _reraise(*ex) # noqa ../_pytest/vendored_packages/pluggy.py:279: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x00007fee18d879e0> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 0 meths, kwargs={'i...t_swapcase'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_swapcase'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: return _wrapped_call(hook_impl.function(*args), self.execute) > res = hook_impl.function(*args) ../_pytest/vendored_packages/pluggy.py:596: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = <AppTestMethod 'test_swapcase'> def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <AppTestMethod 'test_swapcase'> def runtest(self): target = self.obj src = extract_docstring_if_empty_function(target.im_func) space = target.im_self.space if self.config.option.runappdirect: appexec_definitions = self.parent.obj.__dict__ spaceconfig = getattr(self.parent.obj, 'spaceconfig', None) usemodules = spaceconfig.get('usemodules') if spaceconfig else None return run_with_python(self.config.option.python, src, usemodules, > **appexec_definitions) tool/pytest/apptest.py:327: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ python_ = '/Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pypy/goal/pypy3.12-c' target_ = <function test_swapcase at 0x00007fee5d32b880> usemodules = ['unicodedata'], definitions = {}, defs = [] def run_with_python(python_, target_, usemodules, **definitions): if python_ is None: py.test.skip("Cannot find the default python3 interpreter to run with -A") defs = [] for symbol, value in sorted(definitions.items()): if isinstance(value, tuple) and isinstance(value[0], py.code.Source): code, args = value defs.append(str(code)) arg_repr = [] for arg in args: if isinstance(arg, types.FunctionType): arg_repr.append(arg.__name__) elif isinstance(arg, types.MethodType): arg_repr.append(arg.__name__) else: arg_repr.append(py3k_repr(arg)) args = ', '.join(arg_repr) defs.append("self.%s = anonymous(%s)\n" % (symbol, args)) elif isinstance(value, types.MethodType): # "def w_method(self)" code = py.code.Code(value) defs.append(str(code.source())) defs.append("type(self).%s = %s\n" % (symbol, value.__name__)) elif isinstance(value, types.ModuleType): name = value.__name__ defs.append("import %s; self.%s = %s\n" % (name, symbol, name)) elif isinstance(value, (str, unicode, int, long, float, list, tuple, dict)) or value is None: defs.append("self.%s = %s\n" % (symbol, py3k_repr(value))) check_usemodules = '' if usemodules: usemodules = [_rename_module(name) for name in usemodules] check_usemodules = """\ missing = set(%r).difference(sys.builtin_module_names) if missing: if not hasattr(sys, 'pypy_version_info'): # They may be extension modules on CPython name = None for name in missing.copy(): if name in ['cpyext', '_cffi_backend', '_rawffi']: missing.remove(name) continue try: __import__(name) except ImportError: pass else: missing.remove(name) del name if missing: sys.exit(81) del missing""" % usemodules source = list(py.code.Source(target_)) while source[0].startswith(('@py.test.mark.', '@pytest.mark.')): source.pop(0) source = source[1:] pyfile = udir.join('src.py') if isinstance(target_, str): # Special case of a docstring; the function name is the first word. target_name = target_.split('(', 1)[0] else: target_name = target_.__name__ with pyfile.open('w') as f: f.write(helpers % (pypyroot, check_usemodules)) f.write('\n'.join(defs)) f.write('def %s():\n' % target_name) f.write('\n'.join(source)) f.write("\ntry:\n %s()\n" % target_name) f.write('finally:\n print("===aefwuiheawiu===")') helper_dir = os.path.join(pypydir, 'tool', 'cpyext') env = os.environ.copy() env['PYTHONPATH'] = helper_dir res, stdout, stderr = run_subprocess( python_, [str(pyfile)], env=env) print pyfile.read() print "from", str(pyfile) print >> sys.stdout, stdout print >> sys.stderr, stderr if res == 81: py.test.skip('%r was not compiled w/ required usemodules: %r' % (python_, usemodules)) elif res != 0: raise AssertionError( > "Subprocess failed with exit code %s:\n%s" % (res, stderr)) E AssertionError: Subprocess failed with exit code 1: E Traceback (most recent call last): E File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 78, in <module> E test_swapcase() E File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 75, in test_swapcase E assert u'\xe4\xc4\xdf'.swapcase() == u'\xc4\xe4\xdf' E ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E AssertionError tool/pytest/apptest.py:239: AssertionError ----------------------------- Captured stdout call ----------------------------- # -*- encoding: utf-8 -*- if 1: import sys sys.path.append('/Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build') missing = set(['unicodedata']).difference(sys.builtin_module_names) if missing: if not hasattr(sys, 'pypy_version_info'): # They may be extension modules on CPython name = None for name in missing.copy(): if name in ['cpyext', '_cffi_backend', '_rawffi']: missing.remove(name) continue try: __import__(name) except ImportError: pass else: missing.remove(name) del name if missing: sys.exit(81) del missing def skip(message): print(message) raise SystemExit(0) __builtins__.skip = skip __builtins__.py3k_skip = skip class ExceptionWrapper: pass def raises(exc, *args, **kwargs): if not args: return RaisesContext(exc) func = args[0] args = args[1:] import os try: if isinstance(func, str): if func.startswith((' ', os.linesep, '\n')): # it's probably an indented block, so we prefix if True: # to avoid SyntaxError func = "if True:\n" + func frame = sys._getframe(1) exec(func, frame.f_globals, frame.f_locals) else: func(*args, **kwargs) except exc as e: res = ExceptionWrapper() res.value = e res.traceback = e.__traceback__ return res else: raise AssertionError("DID NOT RAISE") class RaisesContext(object): def __init__(self, expected_exception): self.expected_exception = expected_exception self.excinfo = None def __enter__(self): return self def __exit__(self, *tp): __tracebackhide__ = True if tp[0] is None: raise AssertionError("DID NOT RAISE") self.value = tp[1] return issubclass(tp[0], self.expected_exception) __builtins__.raises = raises class Test: pass self = Test() def test_swapcase(): assert u'\xe4\xc4\xdf'.swapcase() == u'\xc4\xe4\xdf' assert u'\ud800'.swapcase() == u'\ud800' try: test_swapcase() finally: print("===aefwuiheawiu===") from /tmp/buildbot-x86_64/usession-py3.12-4304/src.py ===aefwuiheawiu=== ----------------------------- Captured stderr call ----------------------------- Traceback (most recent call last): File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 78, in <module> test_swapcase() File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 75, in test_swapcase assert u'\xe4\xc4\xdf'.swapcase() == u'\xc4\xe4\xdf' ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ AssertionError _______________________ AppTestUnicodeString.test_buffer _______________________ self = <CallInfo when='call' exception: Subprocess failed with exit code 1: Traceback (most recent call last): File "/tmp/b...304/src.py", line 75, in test_buffer buf = buffer(u'XY') ^^^^^^ NameError: name 'buffer' is not defined > func = <function <lambda> at 0x00007fee18def880>, when = 'call' def __init__(self, func, when): #: context of invocation: one of "setup", "call", #: "teardown", "memocollect" self.when = when self.start = time() try: > self.result = func() ../_pytest/runner.py:150: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > return CallInfo(lambda: ihook(item=item, **kwds), when=when) ../_pytest/runner.py:138: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_HookCaller 'pytest_runtest_call'> kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_buffer'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_buffer'>} def __call__(self, **kwargs): assert not self.is_historic() > return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs) ../_pytest/vendored_packages/pluggy.py:724: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.config.PytestPluginManager object at 0x00007fee588da5d0> hook = <_HookCaller 'pytest_runtest_call'>, methods = [] kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_buffer'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_buffer'>} def _hookexec(self, hook, methods, kwargs): # called from all hookcaller instances. # enable_tracing will set its own wrapping function at self._inner_hookexec > return self._inner_hookexec(hook, methods, kwargs) ../_pytest/vendored_packages/pluggy.py:338: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook = <_HookCaller 'pytest_runtest_call'>, methods = [] kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_buffer'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_buffer'>} self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_buffer'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: > return _wrapped_call(hook_impl.function(*args), self.execute) ../_pytest/vendored_packages/pluggy.py:595: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrap_controller = <generator object pytest_runtest_call at 0x00007fee28833150> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 0 meths, kwargs={'i...est_buffer'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>> def _wrapped_call(wrap_controller, func): """ Wrap calling to a function with a generator which needs to yield exactly once. The yield point will trigger calling the wrapped function and return its _CallOutcome to the yield point. The generator then needs to finish (raise StopIteration) in order for the wrapped call to complete. """ try: next(wrap_controller) # first yield except StopIteration: _raise_wrapfail(wrap_controller, "did not yield") call_outcome = _CallOutcome(func) try: wrap_controller.send(call_outcome) _raise_wrapfail(wrap_controller, "has second yield") except StopIteration: pass > return call_outcome.get_result() ../_pytest/vendored_packages/pluggy.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x00007fee18492d60> def get_result(self): if self.excinfo is None: return self.result else: ex = self.excinfo if _py3: raise ex[1].with_traceback(ex[2]) > _reraise(*ex) # noqa ../_pytest/vendored_packages/pluggy.py:279: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x00007fee18492d60> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 0 meths, kwargs={'i...est_buffer'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_buffer'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: return _wrapped_call(hook_impl.function(*args), self.execute) > res = hook_impl.function(*args) ../_pytest/vendored_packages/pluggy.py:596: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = <AppTestMethod 'test_buffer'> def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <AppTestMethod 'test_buffer'> def runtest(self): target = self.obj src = extract_docstring_if_empty_function(target.im_func) space = target.im_self.space if self.config.option.runappdirect: appexec_definitions = self.parent.obj.__dict__ spaceconfig = getattr(self.parent.obj, 'spaceconfig', None) usemodules = spaceconfig.get('usemodules') if spaceconfig else None return run_with_python(self.config.option.python, src, usemodules, > **appexec_definitions) tool/pytest/apptest.py:327: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ python_ = '/Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pypy/goal/pypy3.12-c' target_ = <function test_buffer at 0x00007fee5d32b8f8> usemodules = ['unicodedata'], definitions = {}, defs = [] def run_with_python(python_, target_, usemodules, **definitions): if python_ is None: py.test.skip("Cannot find the default python3 interpreter to run with -A") defs = [] for symbol, value in sorted(definitions.items()): if isinstance(value, tuple) and isinstance(value[0], py.code.Source): code, args = value defs.append(str(code)) arg_repr = [] for arg in args: if isinstance(arg, types.FunctionType): arg_repr.append(arg.__name__) elif isinstance(arg, types.MethodType): arg_repr.append(arg.__name__) else: arg_repr.append(py3k_repr(arg)) args = ', '.join(arg_repr) defs.append("self.%s = anonymous(%s)\n" % (symbol, args)) elif isinstance(value, types.MethodType): # "def w_method(self)" code = py.code.Code(value) defs.append(str(code.source())) defs.append("type(self).%s = %s\n" % (symbol, value.__name__)) elif isinstance(value, types.ModuleType): name = value.__name__ defs.append("import %s; self.%s = %s\n" % (name, symbol, name)) elif isinstance(value, (str, unicode, int, long, float, list, tuple, dict)) or value is None: defs.append("self.%s = %s\n" % (symbol, py3k_repr(value))) check_usemodules = '' if usemodules: usemodules = [_rename_module(name) for name in usemodules] check_usemodules = """\ missing = set(%r).difference(sys.builtin_module_names) if missing: if not hasattr(sys, 'pypy_version_info'): # They may be extension modules on CPython name = None for name in missing.copy(): if name in ['cpyext', '_cffi_backend', '_rawffi']: missing.remove(name) continue try: __import__(name) except ImportError: pass else: missing.remove(name) del name if missing: sys.exit(81) del missing""" % usemodules source = list(py.code.Source(target_)) while source[0].startswith(('@py.test.mark.', '@pytest.mark.')): source.pop(0) source = source[1:] pyfile = udir.join('src.py') if isinstance(target_, str): # Special case of a docstring; the function name is the first word. target_name = target_.split('(', 1)[0] else: target_name = target_.__name__ with pyfile.open('w') as f: f.write(helpers % (pypyroot, check_usemodules)) f.write('\n'.join(defs)) f.write('def %s():\n' % target_name) f.write('\n'.join(source)) f.write("\ntry:\n %s()\n" % target_name) f.write('finally:\n print("===aefwuiheawiu===")') helper_dir = os.path.join(pypydir, 'tool', 'cpyext') env = os.environ.copy() env['PYTHONPATH'] = helper_dir res, stdout, stderr = run_subprocess( python_, [str(pyfile)], env=env) print pyfile.read() print "from", str(pyfile) print >> sys.stdout, stdout print >> sys.stderr, stderr if res == 81: py.test.skip('%r was not compiled w/ required usemodules: %r' % (python_, usemodules)) elif res != 0: raise AssertionError( > "Subprocess failed with exit code %s:\n%s" % (res, stderr)) E AssertionError: Subprocess failed with exit code 1: E Traceback (most recent call last): E File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 81, in <module> E test_buffer() E File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 75, in test_buffer E buf = buffer(u'XY') E ^^^^^^ E NameError: name 'buffer' is not defined tool/pytest/apptest.py:239: AssertionError ----------------------------- Captured stdout call ----------------------------- # -*- encoding: utf-8 -*- if 1: import sys sys.path.append('/Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build') missing = set(['unicodedata']).difference(sys.builtin_module_names) if missing: if not hasattr(sys, 'pypy_version_info'): # They may be extension modules on CPython name = None for name in missing.copy(): if name in ['cpyext', '_cffi_backend', '_rawffi']: missing.remove(name) continue try: __import__(name) except ImportError: pass else: missing.remove(name) del name if missing: sys.exit(81) del missing def skip(message): print(message) raise SystemExit(0) __builtins__.skip = skip __builtins__.py3k_skip = skip class ExceptionWrapper: pass def raises(exc, *args, **kwargs): if not args: return RaisesContext(exc) func = args[0] args = args[1:] import os try: if isinstance(func, str): if func.startswith((' ', os.linesep, '\n')): # it's probably an indented block, so we prefix if True: # to avoid SyntaxError func = "if True:\n" + func frame = sys._getframe(1) exec(func, frame.f_globals, frame.f_locals) else: func(*args, **kwargs) except exc as e: res = ExceptionWrapper() res.value = e res.traceback = e.__traceback__ return res else: raise AssertionError("DID NOT RAISE") class RaisesContext(object): def __init__(self, expected_exception): self.expected_exception = expected_exception self.excinfo = None def __enter__(self): return self def __exit__(self, *tp): __tracebackhide__ = True if tp[0] is None: raise AssertionError("DID NOT RAISE") self.value = tp[1] return issubclass(tp[0], self.expected_exception) __builtins__.raises = raises class Test: pass self = Test() def test_buffer(): buf = buffer(u'XY') assert str(buf) in ['X\x00Y\x00', '\x00X\x00Y', 'X\x00\x00\x00Y\x00\x00\x00', '\x00\x00\x00X\x00\x00\x00Y'] try: test_buffer() finally: print("===aefwuiheawiu===") from /tmp/buildbot-x86_64/usession-py3.12-4304/src.py ===aefwuiheawiu=== ----------------------------- Captured stderr call ----------------------------- Traceback (most recent call last): File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 81, in <module> test_buffer() File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 75, in test_buffer buf = buffer(u'XY') ^^^^^^ NameError: name 'buffer' is not defined ____________ AppTestUnicodeString.test_str_unicode_concat_overrides ____________ self = <CallInfo when='call' exception: Subprocess failed with exit code 1: Traceback (most recent call last): File "/tmp/b...class(t1, unicode) or issubclass(t2, unicode): ^^^^^^^ NameError: name 'unicode' is not defined > func = <function <lambda> at 0x00007fee5d407088>, when = 'call' def __init__(self, func, when): #: context of invocation: one of "setup", "call", #: "teardown", "memocollect" self.when = when self.start = time() try: > self.result = func() ../_pytest/runner.py:150: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > return CallInfo(lambda: ihook(item=item, **kwds), when=when) ../_pytest/runner.py:138: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_HookCaller 'pytest_runtest_call'> kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_str_unicode_concat_overrides'>,...icall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_str_unicode_concat_overrides'>} def __call__(self, **kwargs): assert not self.is_historic() > return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs) ../_pytest/vendored_packages/pluggy.py:724: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.config.PytestPluginManager object at 0x00007fee588da5d0> hook = <_HookCaller 'pytest_runtest_call'>, methods = [] kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_str_unicode_concat_overrides'>,...icall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_str_unicode_concat_overrides'>} def _hookexec(self, hook, methods, kwargs): # called from all hookcaller instances. # enable_tracing will set its own wrapping function at self._inner_hookexec > return self._inner_hookexec(hook, methods, kwargs) ../_pytest/vendored_packages/pluggy.py:338: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook = <_HookCaller 'pytest_runtest_call'>, methods = [] kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_str_unicode_concat_overrides'>,...icall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_str_unicode_concat_overrides'>} self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_str_unicode_concat_overrides'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: > return _wrapped_call(hook_impl.function(*args), self.execute) ../_pytest/vendored_packages/pluggy.py:595: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrap_controller = <generator object pytest_runtest_call at 0x00007fee3894b650> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 0 meths, kwargs={'i..._overrides'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>> def _wrapped_call(wrap_controller, func): """ Wrap calling to a function with a generator which needs to yield exactly once. The yield point will trigger calling the wrapped function and return its _CallOutcome to the yield point. The generator then needs to finish (raise StopIteration) in order for the wrapped call to complete. """ try: next(wrap_controller) # first yield except StopIteration: _raise_wrapfail(wrap_controller, "did not yield") call_outcome = _CallOutcome(func) try: wrap_controller.send(call_outcome) _raise_wrapfail(wrap_controller, "has second yield") except StopIteration: pass > return call_outcome.get_result() ../_pytest/vendored_packages/pluggy.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x00007fee195bb8a0> def get_result(self): if self.excinfo is None: return self.result else: ex = self.excinfo if _py3: raise ex[1].with_traceback(ex[2]) > _reraise(*ex) # noqa ../_pytest/vendored_packages/pluggy.py:279: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x00007fee195bb8a0> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 0 meths, kwargs={'i..._overrides'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_str_unicode_concat_overrides'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: return _wrapped_call(hook_impl.function(*args), self.execute) > res = hook_impl.function(*args) ../_pytest/vendored_packages/pluggy.py:596: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = <AppTestMethod 'test_str_unicode_concat_overrides'> def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <AppTestMethod 'test_str_unicode_concat_overrides'> def runtest(self): target = self.obj src = extract_docstring_if_empty_function(target.im_func) space = target.im_self.space if self.config.option.runappdirect: appexec_definitions = self.parent.obj.__dict__ spaceconfig = getattr(self.parent.obj, 'spaceconfig', None) usemodules = spaceconfig.get('usemodules') if spaceconfig else None return run_with_python(self.config.option.python, src, usemodules, > **appexec_definitions) tool/pytest/apptest.py:327: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ python_ = '/Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pypy/goal/pypy3.12-c' target_ = <function test_str_unicode_concat_overrides at 0x00007fee5d32b9e8> usemodules = ['unicodedata'], definitions = {}, defs = [] def run_with_python(python_, target_, usemodules, **definitions): if python_ is None: py.test.skip("Cannot find the default python3 interpreter to run with -A") defs = [] for symbol, value in sorted(definitions.items()): if isinstance(value, tuple) and isinstance(value[0], py.code.Source): code, args = value defs.append(str(code)) arg_repr = [] for arg in args: if isinstance(arg, types.FunctionType): arg_repr.append(arg.__name__) elif isinstance(arg, types.MethodType): arg_repr.append(arg.__name__) else: arg_repr.append(py3k_repr(arg)) args = ', '.join(arg_repr) defs.append("self.%s = anonymous(%s)\n" % (symbol, args)) elif isinstance(value, types.MethodType): # "def w_method(self)" code = py.code.Code(value) defs.append(str(code.source())) defs.append("type(self).%s = %s\n" % (symbol, value.__name__)) elif isinstance(value, types.ModuleType): name = value.__name__ defs.append("import %s; self.%s = %s\n" % (name, symbol, name)) elif isinstance(value, (str, unicode, int, long, float, list, tuple, dict)) or value is None: defs.append("self.%s = %s\n" % (symbol, py3k_repr(value))) check_usemodules = '' if usemodules: usemodules = [_rename_module(name) for name in usemodules] check_usemodules = """\ missing = set(%r).difference(sys.builtin_module_names) if missing: if not hasattr(sys, 'pypy_version_info'): # They may be extension modules on CPython name = None for name in missing.copy(): if name in ['cpyext', '_cffi_backend', '_rawffi']: missing.remove(name) continue try: __import__(name) except ImportError: pass else: missing.remove(name) del name if missing: sys.exit(81) del missing""" % usemodules source = list(py.code.Source(target_)) while source[0].startswith(('@py.test.mark.', '@pytest.mark.')): source.pop(0) source = source[1:] pyfile = udir.join('src.py') if isinstance(target_, str): # Special case of a docstring; the function name is the first word. target_name = target_.split('(', 1)[0] else: target_name = target_.__name__ with pyfile.open('w') as f: f.write(helpers % (pypyroot, check_usemodules)) f.write('\n'.join(defs)) f.write('def %s():\n' % target_name) f.write('\n'.join(source)) f.write("\ntry:\n %s()\n" % target_name) f.write('finally:\n print("===aefwuiheawiu===")') helper_dir = os.path.join(pypydir, 'tool', 'cpyext') env = os.environ.copy() env['PYTHONPATH'] = helper_dir res, stdout, stderr = run_subprocess( python_, [str(pyfile)], env=env) print pyfile.read() print "from", str(pyfile) print >> sys.stdout, stdout print >> sys.stderr, stderr if res == 81: py.test.skip('%r was not compiled w/ required usemodules: %r' % (python_, usemodules)) elif res != 0: raise AssertionError( > "Subprocess failed with exit code %s:\n%s" % (res, stderr)) E AssertionError: Subprocess failed with exit code 1: E Traceback (most recent call last): E File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 116, in <module> E test_str_unicode_concat_overrides() E File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 110, in test_str_unicode_concat_overrides E _test_concat(str, str) E File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 83, in _test_concat E if issubclass(t1, unicode) or issubclass(t2, unicode): E ^^^^^^^ E NameError: name 'unicode' is not defined tool/pytest/apptest.py:239: AssertionError ----------------------------- Captured stdout call ----------------------------- # -*- encoding: utf-8 -*- if 1: import sys sys.path.append('/Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build') missing = set(['unicodedata']).difference(sys.builtin_module_names) if missing: if not hasattr(sys, 'pypy_version_info'): # They may be extension modules on CPython name = None for name in missing.copy(): if name in ['cpyext', '_cffi_backend', '_rawffi']: missing.remove(name) continue try: __import__(name) except ImportError: pass else: missing.remove(name) del name if missing: sys.exit(81) del missing def skip(message): print(message) raise SystemExit(0) __builtins__.skip = skip __builtins__.py3k_skip = skip class ExceptionWrapper: pass def raises(exc, *args, **kwargs): if not args: return RaisesContext(exc) func = args[0] args = args[1:] import os try: if isinstance(func, str): if func.startswith((' ', os.linesep, '\n')): # it's probably an indented block, so we prefix if True: # to avoid SyntaxError func = "if True:\n" + func frame = sys._getframe(1) exec(func, frame.f_globals, frame.f_locals) else: func(*args, **kwargs) except exc as e: res = ExceptionWrapper() res.value = e res.traceback = e.__traceback__ return res else: raise AssertionError("DID NOT RAISE") class RaisesContext(object): def __init__(self, expected_exception): self.expected_exception = expected_exception self.excinfo = None def __enter__(self): return self def __exit__(self, *tp): __tracebackhide__ = True if tp[0] is None: raise AssertionError("DID NOT RAISE") self.value = tp[1] return issubclass(tp[0], self.expected_exception) __builtins__.raises = raises class Test: pass self = Test() def test_str_unicode_concat_overrides(): "Test from Jython about being bug-compatible with CPython." def check(value, expected): assert type(value) == type(expected) assert value == expected def _test_concat(t1, t2): tprecedent = str if issubclass(t1, unicode) or issubclass(t2, unicode): tprecedent = unicode class SubclassB(t2): def __add__(self, other): return SubclassB(t2(self) + t2(other)) check(SubclassB('py') + SubclassB('thon'), SubclassB('python')) check(t1('python') + SubclassB('3'), tprecedent('python3')) check(SubclassB('py') + t1('py'), SubclassB('pypy')) class SubclassC(t2): def __radd__(self, other): return SubclassC(t2(other) + t2(self)) check(SubclassC('stack') + SubclassC('less'), t2('stackless')) check(t1('iron') + SubclassC('python'), SubclassC('ironpython')) check(SubclassC('tiny') + t1('py'), tprecedent('tinypy')) class SubclassD(t2): def __add__(self, other): return SubclassD(t2(self) + t2(other)) def __radd__(self, other): return SubclassD(t2(other) + t2(self)) check(SubclassD('di') + SubclassD('ct'), SubclassD('dict')) check(t1('list') + SubclassD(' comp'), SubclassD('list comp')) check(SubclassD('dun') + t1('der'), SubclassD('dunder')) _test_concat(str, str) _test_concat(unicode, unicode) # the following two cases are really there to emulate a CPython bug. _test_concat(str, unicode) # uses hack in add__String_Unicode() _test_concat(unicode, str) # uses hack in descroperation.binop_impl() try: test_str_unicode_concat_overrides() finally: print("===aefwuiheawiu===") from /tmp/buildbot-x86_64/usession-py3.12-4304/src.py ===aefwuiheawiu=== ----------------------------- Captured stderr call ----------------------------- Traceback (most recent call last): File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 116, in <module> test_str_unicode_concat_overrides() File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 110, in test_str_unicode_concat_overrides _test_concat(str, str) File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 83, in _test_concat if issubclass(t1, unicode) or issubclass(t2, unicode): ^^^^^^^ NameError: name 'unicode' is not defined __________________ AppTestUnicodeString.test_returns_subclass __________________ self = <CallInfo when='call' exception: Subprocess failed with exit code 1: Traceback (most recent call last): File "/tmp/b... line 75, in test_returns_subclass class X(unicode): ^^^^^^^ NameError: name 'unicode' is not defined > func = <function <lambda> at 0x00007fee5d19c188>, when = 'call' def __init__(self, func, when): #: context of invocation: one of "setup", "call", #: "teardown", "memocollect" self.when = when self.start = time() try: > self.result = func() ../_pytest/runner.py:150: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > return CallInfo(lambda: ihook(item=item, **kwds), when=when) ../_pytest/runner.py:138: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_HookCaller 'pytest_runtest_call'> kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_returns_subclass'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_returns_subclass'>} def __call__(self, **kwargs): assert not self.is_historic() > return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs) ../_pytest/vendored_packages/pluggy.py:724: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.config.PytestPluginManager object at 0x00007fee588da5d0> hook = <_HookCaller 'pytest_runtest_call'>, methods = [] kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_returns_subclass'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_returns_subclass'>} def _hookexec(self, hook, methods, kwargs): # called from all hookcaller instances. # enable_tracing will set its own wrapping function at self._inner_hookexec > return self._inner_hookexec(hook, methods, kwargs) ../_pytest/vendored_packages/pluggy.py:338: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook = <_HookCaller 'pytest_runtest_call'>, methods = [] kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_returns_subclass'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_returns_subclass'>} self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_returns_subclass'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: > return _wrapped_call(hook_impl.function(*args), self.execute) ../_pytest/vendored_packages/pluggy.py:595: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrap_controller = <generator object pytest_runtest_call at 0x00007fee289e1f10> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 0 meths, kwargs={'i...s_subclass'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>> def _wrapped_call(wrap_controller, func): """ Wrap calling to a function with a generator which needs to yield exactly once. The yield point will trigger calling the wrapped function and return its _CallOutcome to the yield point. The generator then needs to finish (raise StopIteration) in order for the wrapped call to complete. """ try: next(wrap_controller) # first yield except StopIteration: _raise_wrapfail(wrap_controller, "did not yield") call_outcome = _CallOutcome(func) try: wrap_controller.send(call_outcome) _raise_wrapfail(wrap_controller, "has second yield") except StopIteration: pass > return call_outcome.get_result() ../_pytest/vendored_packages/pluggy.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x00007fee1944e620> def get_result(self): if self.excinfo is None: return self.result else: ex = self.excinfo if _py3: raise ex[1].with_traceback(ex[2]) > _reraise(*ex) # noqa ../_pytest/vendored_packages/pluggy.py:279: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x00007fee1944e620> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 0 meths, kwargs={'i...s_subclass'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_returns_subclass'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: return _wrapped_call(hook_impl.function(*args), self.execute) > res = hook_impl.function(*args) ../_pytest/vendored_packages/pluggy.py:596: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = <AppTestMethod 'test_returns_subclass'> def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <AppTestMethod 'test_returns_subclass'> def runtest(self): target = self.obj src = extract_docstring_if_empty_function(target.im_func) space = target.im_self.space if self.config.option.runappdirect: appexec_definitions = self.parent.obj.__dict__ spaceconfig = getattr(self.parent.obj, 'spaceconfig', None) usemodules = spaceconfig.get('usemodules') if spaceconfig else None return run_with_python(self.config.option.python, src, usemodules, > **appexec_definitions) tool/pytest/apptest.py:327: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ python_ = '/Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pypy/goal/pypy3.12-c' target_ = <function test_returns_subclass at 0x00007fee5d32ba60> usemodules = ['unicodedata'], definitions = {}, defs = [] def run_with_python(python_, target_, usemodules, **definitions): if python_ is None: py.test.skip("Cannot find the default python3 interpreter to run with -A") defs = [] for symbol, value in sorted(definitions.items()): if isinstance(value, tuple) and isinstance(value[0], py.code.Source): code, args = value defs.append(str(code)) arg_repr = [] for arg in args: if isinstance(arg, types.FunctionType): arg_repr.append(arg.__name__) elif isinstance(arg, types.MethodType): arg_repr.append(arg.__name__) else: arg_repr.append(py3k_repr(arg)) args = ', '.join(arg_repr) defs.append("self.%s = anonymous(%s)\n" % (symbol, args)) elif isinstance(value, types.MethodType): # "def w_method(self)" code = py.code.Code(value) defs.append(str(code.source())) defs.append("type(self).%s = %s\n" % (symbol, value.__name__)) elif isinstance(value, types.ModuleType): name = value.__name__ defs.append("import %s; self.%s = %s\n" % (name, symbol, name)) elif isinstance(value, (str, unicode, int, long, float, list, tuple, dict)) or value is None: defs.append("self.%s = %s\n" % (symbol, py3k_repr(value))) check_usemodules = '' if usemodules: usemodules = [_rename_module(name) for name in usemodules] check_usemodules = """\ missing = set(%r).difference(sys.builtin_module_names) if missing: if not hasattr(sys, 'pypy_version_info'): # They may be extension modules on CPython name = None for name in missing.copy(): if name in ['cpyext', '_cffi_backend', '_rawffi']: missing.remove(name) continue try: __import__(name) except ImportError: pass else: missing.remove(name) del name if missing: sys.exit(81) del missing""" % usemodules source = list(py.code.Source(target_)) while source[0].startswith(('@py.test.mark.', '@pytest.mark.')): source.pop(0) source = source[1:] pyfile = udir.join('src.py') if isinstance(target_, str): # Special case of a docstring; the function name is the first word. target_name = target_.split('(', 1)[0] else: target_name = target_.__name__ with pyfile.open('w') as f: f.write(helpers % (pypyroot, check_usemodules)) f.write('\n'.join(defs)) f.write('def %s():\n' % target_name) f.write('\n'.join(source)) f.write("\ntry:\n %s()\n" % target_name) f.write('finally:\n print("===aefwuiheawiu===")') helper_dir = os.path.join(pypydir, 'tool', 'cpyext') env = os.environ.copy() env['PYTHONPATH'] = helper_dir res, stdout, stderr = run_subprocess( python_, [str(pyfile)], env=env) print pyfile.read() print "from", str(pyfile) print >> sys.stdout, stdout print >> sys.stderr, stderr if res == 81: py.test.skip('%r was not compiled w/ required usemodules: %r' % (python_, usemodules)) elif res != 0: raise AssertionError( > "Subprocess failed with exit code %s:\n%s" % (res, stderr)) E AssertionError: Subprocess failed with exit code 1: E Traceback (most recent call last): E File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 84, in <module> E test_returns_subclass() E File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 75, in test_returns_subclass E class X(unicode): E ^^^^^^^ E NameError: name 'unicode' is not defined tool/pytest/apptest.py:239: AssertionError ----------------------------- Captured stdout call ----------------------------- # -*- encoding: utf-8 -*- if 1: import sys sys.path.append('/Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build') missing = set(['unicodedata']).difference(sys.builtin_module_names) if missing: if not hasattr(sys, 'pypy_version_info'): # They may be extension modules on CPython name = None for name in missing.copy(): if name in ['cpyext', '_cffi_backend', '_rawffi']: missing.remove(name) continue try: __import__(name) except ImportError: pass else: missing.remove(name) del name if missing: sys.exit(81) del missing def skip(message): print(message) raise SystemExit(0) __builtins__.skip = skip __builtins__.py3k_skip = skip class ExceptionWrapper: pass def raises(exc, *args, **kwargs): if not args: return RaisesContext(exc) func = args[0] args = args[1:] import os try: if isinstance(func, str): if func.startswith((' ', os.linesep, '\n')): # it's probably an indented block, so we prefix if True: # to avoid SyntaxError func = "if True:\n" + func frame = sys._getframe(1) exec(func, frame.f_globals, frame.f_locals) else: func(*args, **kwargs) except exc as e: res = ExceptionWrapper() res.value = e res.traceback = e.__traceback__ return res else: raise AssertionError("DID NOT RAISE") class RaisesContext(object): def __init__(self, expected_exception): self.expected_exception = expected_exception self.excinfo = None def __enter__(self): return self def __exit__(self, *tp): __tracebackhide__ = True if tp[0] is None: raise AssertionError("DID NOT RAISE") self.value = tp[1] return issubclass(tp[0], self.expected_exception) __builtins__.raises = raises class Test: pass self = Test() def test_returns_subclass(): class X(unicode): pass class Y(object): def __unicode__(self): return X("stuff") assert unicode(Y()).__class__ is X try: test_returns_subclass() finally: print("===aefwuiheawiu===") from /tmp/buildbot-x86_64/usession-py3.12-4304/src.py ===aefwuiheawiu=== ----------------------------- Captured stderr call ----------------------------- Traceback (most recent call last): File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 84, in <module> test_returns_subclass() File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 75, in test_returns_subclass class X(unicode): ^^^^^^^ NameError: name 'unicode' is not defined ______________________ AppTestUnicodeString.test_getslice ______________________ self = <CallInfo when='call' exception: Subprocess failed with exit code 1: Traceback (most recent call last): File "/tmp/b... ^^^^^^^^^^^^ AttributeError: 'str' object has no attribute '__getslice__'. Did you mean: '__getstate__'? > func = <function <lambda> at 0x00007fee5d19d718>, when = 'call' def __init__(self, func, when): #: context of invocation: one of "setup", "call", #: "teardown", "memocollect" self.when = when self.start = time() try: > self.result = func() ../_pytest/runner.py:150: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > return CallInfo(lambda: ihook(item=item, **kwds), when=when) ../_pytest/runner.py:138: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_HookCaller 'pytest_runtest_call'> kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_getslice'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_getslice'>} def __call__(self, **kwargs): assert not self.is_historic() > return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs) ../_pytest/vendored_packages/pluggy.py:724: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.config.PytestPluginManager object at 0x00007fee588da5d0> hook = <_HookCaller 'pytest_runtest_call'>, methods = [] kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_getslice'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_getslice'>} def _hookexec(self, hook, methods, kwargs): # called from all hookcaller instances. # enable_tracing will set its own wrapping function at self._inner_hookexec > return self._inner_hookexec(hook, methods, kwargs) ../_pytest/vendored_packages/pluggy.py:338: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook = <_HookCaller 'pytest_runtest_call'>, methods = [] kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_getslice'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_getslice'>} self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_getslice'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: > return _wrapped_call(hook_impl.function(*args), self.execute) ../_pytest/vendored_packages/pluggy.py:595: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrap_controller = <generator object pytest_runtest_call at 0x00007fee28a1f970> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 0 meths, kwargs={'i...t_getslice'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>> def _wrapped_call(wrap_controller, func): """ Wrap calling to a function with a generator which needs to yield exactly once. The yield point will trigger calling the wrapped function and return its _CallOutcome to the yield point. The generator then needs to finish (raise StopIteration) in order for the wrapped call to complete. """ try: next(wrap_controller) # first yield except StopIteration: _raise_wrapfail(wrap_controller, "did not yield") call_outcome = _CallOutcome(func) try: wrap_controller.send(call_outcome) _raise_wrapfail(wrap_controller, "has second yield") except StopIteration: pass > return call_outcome.get_result() ../_pytest/vendored_packages/pluggy.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x00007fee1904b920> def get_result(self): if self.excinfo is None: return self.result else: ex = self.excinfo if _py3: raise ex[1].with_traceback(ex[2]) > _reraise(*ex) # noqa ../_pytest/vendored_packages/pluggy.py:279: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x00007fee1904b920> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 0 meths, kwargs={'i...t_getslice'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_getslice'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: return _wrapped_call(hook_impl.function(*args), self.execute) > res = hook_impl.function(*args) ../_pytest/vendored_packages/pluggy.py:596: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = <AppTestMethod 'test_getslice'> def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <AppTestMethod 'test_getslice'> def runtest(self): target = self.obj src = extract_docstring_if_empty_function(target.im_func) space = target.im_self.space if self.config.option.runappdirect: appexec_definitions = self.parent.obj.__dict__ spaceconfig = getattr(self.parent.obj, 'spaceconfig', None) usemodules = spaceconfig.get('usemodules') if spaceconfig else None return run_with_python(self.config.option.python, src, usemodules, > **appexec_definitions) tool/pytest/apptest.py:327: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ python_ = '/Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pypy/goal/pypy3.12-c' target_ = <function test_getslice at 0x00007fee5d32bad8> usemodules = ['unicodedata'], definitions = {}, defs = [] def run_with_python(python_, target_, usemodules, **definitions): if python_ is None: py.test.skip("Cannot find the default python3 interpreter to run with -A") defs = [] for symbol, value in sorted(definitions.items()): if isinstance(value, tuple) and isinstance(value[0], py.code.Source): code, args = value defs.append(str(code)) arg_repr = [] for arg in args: if isinstance(arg, types.FunctionType): arg_repr.append(arg.__name__) elif isinstance(arg, types.MethodType): arg_repr.append(arg.__name__) else: arg_repr.append(py3k_repr(arg)) args = ', '.join(arg_repr) defs.append("self.%s = anonymous(%s)\n" % (symbol, args)) elif isinstance(value, types.MethodType): # "def w_method(self)" code = py.code.Code(value) defs.append(str(code.source())) defs.append("type(self).%s = %s\n" % (symbol, value.__name__)) elif isinstance(value, types.ModuleType): name = value.__name__ defs.append("import %s; self.%s = %s\n" % (name, symbol, name)) elif isinstance(value, (str, unicode, int, long, float, list, tuple, dict)) or value is None: defs.append("self.%s = %s\n" % (symbol, py3k_repr(value))) check_usemodules = '' if usemodules: usemodules = [_rename_module(name) for name in usemodules] check_usemodules = """\ missing = set(%r).difference(sys.builtin_module_names) if missing: if not hasattr(sys, 'pypy_version_info'): # They may be extension modules on CPython name = None for name in missing.copy(): if name in ['cpyext', '_cffi_backend', '_rawffi']: missing.remove(name) continue try: __import__(name) except ImportError: pass else: missing.remove(name) del name if missing: sys.exit(81) del missing""" % usemodules source = list(py.code.Source(target_)) while source[0].startswith(('@py.test.mark.', '@pytest.mark.')): source.pop(0) source = source[1:] pyfile = udir.join('src.py') if isinstance(target_, str): # Special case of a docstring; the function name is the first word. target_name = target_.split('(', 1)[0] else: target_name = target_.__name__ with pyfile.open('w') as f: f.write(helpers % (pypyroot, check_usemodules)) f.write('\n'.join(defs)) f.write('def %s():\n' % target_name) f.write('\n'.join(source)) f.write("\ntry:\n %s()\n" % target_name) f.write('finally:\n print("===aefwuiheawiu===")') helper_dir = os.path.join(pypydir, 'tool', 'cpyext') env = os.environ.copy() env['PYTHONPATH'] = helper_dir res, stdout, stderr = run_subprocess( python_, [str(pyfile)], env=env) print pyfile.read() print "from", str(pyfile) print >> sys.stdout, stdout print >> sys.stderr, stderr if res == 81: py.test.skip('%r was not compiled w/ required usemodules: %r' % (python_, usemodules)) elif res != 0: raise AssertionError( > "Subprocess failed with exit code %s:\n%s" % (res, stderr)) E AssertionError: Subprocess failed with exit code 1: E Traceback (most recent call last): E File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 87, in <module> E test_getslice() E File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 75, in test_getslice E assert u'123456'.__getslice__(1, 5) == u'2345' E ^^^^^^^^^^^^ E AttributeError: 'str' object has no attribute '__getslice__'. Did you mean: '__getstate__'? tool/pytest/apptest.py:239: AssertionError ----------------------------- Captured stdout call ----------------------------- # -*- encoding: utf-8 -*- if 1: import sys sys.path.append('/Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build') missing = set(['unicodedata']).difference(sys.builtin_module_names) if missing: if not hasattr(sys, 'pypy_version_info'): # They may be extension modules on CPython name = None for name in missing.copy(): if name in ['cpyext', '_cffi_backend', '_rawffi']: missing.remove(name) continue try: __import__(name) except ImportError: pass else: missing.remove(name) del name if missing: sys.exit(81) del missing def skip(message): print(message) raise SystemExit(0) __builtins__.skip = skip __builtins__.py3k_skip = skip class ExceptionWrapper: pass def raises(exc, *args, **kwargs): if not args: return RaisesContext(exc) func = args[0] args = args[1:] import os try: if isinstance(func, str): if func.startswith((' ', os.linesep, '\n')): # it's probably an indented block, so we prefix if True: # to avoid SyntaxError func = "if True:\n" + func frame = sys._getframe(1) exec(func, frame.f_globals, frame.f_locals) else: func(*args, **kwargs) except exc as e: res = ExceptionWrapper() res.value = e res.traceback = e.__traceback__ return res else: raise AssertionError("DID NOT RAISE") class RaisesContext(object): def __init__(self, expected_exception): self.expected_exception = expected_exception self.excinfo = None def __enter__(self): return self def __exit__(self, *tp): __tracebackhide__ = True if tp[0] is None: raise AssertionError("DID NOT RAISE") self.value = tp[1] return issubclass(tp[0], self.expected_exception) __builtins__.raises = raises class Test: pass self = Test() def test_getslice(): assert u'123456'.__getslice__(1, 5) == u'2345' s = u"\u0105b\u0107" assert s[:] == u"\u0105b\u0107" assert s[1:] == u"b\u0107" assert s[:2] == u"\u0105b" assert s[1:2] == u"b" assert s[-2:] == u"b\u0107" assert s[:-1] == u"\u0105b" assert s[-2:2] == u"b" assert s[1:-1] == u"b" assert s[-2:-1] == u"b" try: test_getslice() finally: print("===aefwuiheawiu===") from /tmp/buildbot-x86_64/usession-py3.12-4304/src.py ===aefwuiheawiu=== ----------------------------- Captured stderr call ----------------------------- Traceback (most recent call last): File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 87, in <module> test_getslice() File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 75, in test_getslice assert u'123456'.__getslice__(1, 5) == u'2345' ^^^^^^^^^^^^ AttributeError: 'str' object has no attribute '__getslice__'. Did you mean: '__getstate__'? _____________ AppTestUnicodeString.test_encode_raw_unicode_escape ______________ self = <CallInfo when='call' exception: Subprocess failed with exit code 1: Traceback (most recent call last): File "/tmp/b...w_unicode_escape u = unicode('\\', 'raw_unicode_escape') ^^^^^^^ NameError: name 'unicode' is not defined > func = <function <lambda> at 0x00007fee2847f6a0>, when = 'call' def __init__(self, func, when): #: context of invocation: one of "setup", "call", #: "teardown", "memocollect" self.when = when self.start = time() try: > self.result = func() ../_pytest/runner.py:150: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > return CallInfo(lambda: ihook(item=item, **kwds), when=when) ../_pytest/runner.py:138: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_HookCaller 'pytest_runtest_call'> kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_encode_raw_unicode_escape'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_encode_raw_unicode_escape'>} def __call__(self, **kwargs): assert not self.is_historic() > return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs) ../_pytest/vendored_packages/pluggy.py:724: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.config.PytestPluginManager object at 0x00007fee588da5d0> hook = <_HookCaller 'pytest_runtest_call'>, methods = [] kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_encode_raw_unicode_escape'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_encode_raw_unicode_escape'>} def _hookexec(self, hook, methods, kwargs): # called from all hookcaller instances. # enable_tracing will set its own wrapping function at self._inner_hookexec > return self._inner_hookexec(hook, methods, kwargs) ../_pytest/vendored_packages/pluggy.py:338: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook = <_HookCaller 'pytest_runtest_call'>, methods = [] kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_encode_raw_unicode_escape'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_encode_raw_unicode_escape'>} self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_encode_raw_unicode_escape'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: > return _wrapped_call(hook_impl.function(*args), self.execute) ../_pytest/vendored_packages/pluggy.py:595: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrap_controller = <generator object pytest_runtest_call at 0x00007fee185631a0> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 0 meths, kwargs={'i...ode_escape'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>> def _wrapped_call(wrap_controller, func): """ Wrap calling to a function with a generator which needs to yield exactly once. The yield point will trigger calling the wrapped function and return its _CallOutcome to the yield point. The generator then needs to finish (raise StopIteration) in order for the wrapped call to complete. """ try: next(wrap_controller) # first yield except StopIteration: _raise_wrapfail(wrap_controller, "did not yield") call_outcome = _CallOutcome(func) try: wrap_controller.send(call_outcome) _raise_wrapfail(wrap_controller, "has second yield") except StopIteration: pass > return call_outcome.get_result() ../_pytest/vendored_packages/pluggy.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x00007fee5e01c2a0> def get_result(self): if self.excinfo is None: return self.result else: ex = self.excinfo if _py3: raise ex[1].with_traceback(ex[2]) > _reraise(*ex) # noqa ../_pytest/vendored_packages/pluggy.py:279: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x00007fee5e01c2a0> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 0 meths, kwargs={'i...ode_escape'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_encode_raw_unicode_escape'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: return _wrapped_call(hook_impl.function(*args), self.execute) > res = hook_impl.function(*args) ../_pytest/vendored_packages/pluggy.py:596: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = <AppTestMethod 'test_encode_raw_unicode_escape'> def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <AppTestMethod 'test_encode_raw_unicode_escape'> def runtest(self): target = self.obj src = extract_docstring_if_empty_function(target.im_func) space = target.im_self.space if self.config.option.runappdirect: appexec_definitions = self.parent.obj.__dict__ spaceconfig = getattr(self.parent.obj, 'spaceconfig', None) usemodules = spaceconfig.get('usemodules') if spaceconfig else None return run_with_python(self.config.option.python, src, usemodules, > **appexec_definitions) tool/pytest/apptest.py:327: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ python_ = '/Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pypy/goal/pypy3.12-c' target_ = <function test_encode_raw_unicode_escape at 0x00007fee5d32bc40> usemodules = ['unicodedata'], definitions = {}, defs = [] def run_with_python(python_, target_, usemodules, **definitions): if python_ is None: py.test.skip("Cannot find the default python3 interpreter to run with -A") defs = [] for symbol, value in sorted(definitions.items()): if isinstance(value, tuple) and isinstance(value[0], py.code.Source): code, args = value defs.append(str(code)) arg_repr = [] for arg in args: if isinstance(arg, types.FunctionType): arg_repr.append(arg.__name__) elif isinstance(arg, types.MethodType): arg_repr.append(arg.__name__) else: arg_repr.append(py3k_repr(arg)) args = ', '.join(arg_repr) defs.append("self.%s = anonymous(%s)\n" % (symbol, args)) elif isinstance(value, types.MethodType): # "def w_method(self)" code = py.code.Code(value) defs.append(str(code.source())) defs.append("type(self).%s = %s\n" % (symbol, value.__name__)) elif isinstance(value, types.ModuleType): name = value.__name__ defs.append("import %s; self.%s = %s\n" % (name, symbol, name)) elif isinstance(value, (str, unicode, int, long, float, list, tuple, dict)) or value is None: defs.append("self.%s = %s\n" % (symbol, py3k_repr(value))) check_usemodules = '' if usemodules: usemodules = [_rename_module(name) for name in usemodules] check_usemodules = """\ missing = set(%r).difference(sys.builtin_module_names) if missing: if not hasattr(sys, 'pypy_version_info'): # They may be extension modules on CPython name = None for name in missing.copy(): if name in ['cpyext', '_cffi_backend', '_rawffi']: missing.remove(name) continue try: __import__(name) except ImportError: pass else: missing.remove(name) del name if missing: sys.exit(81) del missing""" % usemodules source = list(py.code.Source(target_)) while source[0].startswith(('@py.test.mark.', '@pytest.mark.')): source.pop(0) source = source[1:] pyfile = udir.join('src.py') if isinstance(target_, str): # Special case of a docstring; the function name is the first word. target_name = target_.split('(', 1)[0] else: target_name = target_.__name__ with pyfile.open('w') as f: f.write(helpers % (pypyroot, check_usemodules)) f.write('\n'.join(defs)) f.write('def %s():\n' % target_name) f.write('\n'.join(source)) f.write("\ntry:\n %s()\n" % target_name) f.write('finally:\n print("===aefwuiheawiu===")') helper_dir = os.path.join(pypydir, 'tool', 'cpyext') env = os.environ.copy() env['PYTHONPATH'] = helper_dir res, stdout, stderr = run_subprocess( python_, [str(pyfile)], env=env) print pyfile.read() print "from", str(pyfile) print >> sys.stdout, stdout print >> sys.stderr, stderr if res == 81: py.test.skip('%r was not compiled w/ required usemodules: %r' % (python_, usemodules)) elif res != 0: raise AssertionError( > "Subprocess failed with exit code %s:\n%s" % (res, stderr)) E AssertionError: Subprocess failed with exit code 1: E Traceback (most recent call last): E File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 78, in <module> E test_encode_raw_unicode_escape() E File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 75, in test_encode_raw_unicode_escape E u = unicode('\\', 'raw_unicode_escape') E ^^^^^^^ E NameError: name 'unicode' is not defined tool/pytest/apptest.py:239: AssertionError ----------------------------- Captured stdout call ----------------------------- # -*- encoding: utf-8 -*- if 1: import sys sys.path.append('/Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build') missing = set(['unicodedata']).difference(sys.builtin_module_names) if missing: if not hasattr(sys, 'pypy_version_info'): # They may be extension modules on CPython name = None for name in missing.copy(): if name in ['cpyext', '_cffi_backend', '_rawffi']: missing.remove(name) continue try: __import__(name) except ImportError: pass else: missing.remove(name) del name if missing: sys.exit(81) del missing def skip(message): print(message) raise SystemExit(0) __builtins__.skip = skip __builtins__.py3k_skip = skip class ExceptionWrapper: pass def raises(exc, *args, **kwargs): if not args: return RaisesContext(exc) func = args[0] args = args[1:] import os try: if isinstance(func, str): if func.startswith((' ', os.linesep, '\n')): # it's probably an indented block, so we prefix if True: # to avoid SyntaxError func = "if True:\n" + func frame = sys._getframe(1) exec(func, frame.f_globals, frame.f_locals) else: func(*args, **kwargs) except exc as e: res = ExceptionWrapper() res.value = e res.traceback = e.__traceback__ return res else: raise AssertionError("DID NOT RAISE") class RaisesContext(object): def __init__(self, expected_exception): self.expected_exception = expected_exception self.excinfo = None def __enter__(self): return self def __exit__(self, *tp): __tracebackhide__ = True if tp[0] is None: raise AssertionError("DID NOT RAISE") self.value = tp[1] return issubclass(tp[0], self.expected_exception) __builtins__.raises = raises class Test: pass self = Test() def test_encode_raw_unicode_escape(): u = unicode('\\', 'raw_unicode_escape') assert u == u'\\' try: test_encode_raw_unicode_escape() finally: print("===aefwuiheawiu===") from /tmp/buildbot-x86_64/usession-py3.12-4304/src.py ===aefwuiheawiu=== ----------------------------- Captured stderr call ----------------------------- Traceback (most recent call last): File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 78, in <module> test_encode_raw_unicode_escape() File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 75, in test_encode_raw_unicode_escape u = unicode('\\', 'raw_unicode_escape') ^^^^^^^ NameError: name 'unicode' is not defined _________________ AppTestUnicodeString.test_decode_from_buffer _________________ self = <CallInfo when='call' exception: Subprocess failed with exit code 1: Traceback (most recent call last): File "/tmp/b... buf = buffer('character buffers are decoded to unicode') ^^^^^^ NameError: name 'buffer' is not defined > func = <function <lambda> at 0x00007fee285aea70>, when = 'call' def __init__(self, func, when): #: context of invocation: one of "setup", "call", #: "teardown", "memocollect" self.when = when self.start = time() try: > self.result = func() ../_pytest/runner.py:150: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > return CallInfo(lambda: ihook(item=item, **kwds), when=when) ../_pytest/runner.py:138: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_HookCaller 'pytest_runtest_call'> kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_decode_from_buffer'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_decode_from_buffer'>} def __call__(self, **kwargs): assert not self.is_historic() > return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs) ../_pytest/vendored_packages/pluggy.py:724: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.config.PytestPluginManager object at 0x00007fee588da5d0> hook = <_HookCaller 'pytest_runtest_call'>, methods = [] kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_decode_from_buffer'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_decode_from_buffer'>} def _hookexec(self, hook, methods, kwargs): # called from all hookcaller instances. # enable_tracing will set its own wrapping function at self._inner_hookexec > return self._inner_hookexec(hook, methods, kwargs) ../_pytest/vendored_packages/pluggy.py:338: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook = <_HookCaller 'pytest_runtest_call'>, methods = [] kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_decode_from_buffer'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_decode_from_buffer'>} self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_decode_from_buffer'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: > return _wrapped_call(hook_impl.function(*args), self.execute) ../_pytest/vendored_packages/pluggy.py:595: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrap_controller = <generator object pytest_runtest_call at 0x00007fee193682a0> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 0 meths, kwargs={'i...rom_buffer'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>> def _wrapped_call(wrap_controller, func): """ Wrap calling to a function with a generator which needs to yield exactly once. The yield point will trigger calling the wrapped function and return its _CallOutcome to the yield point. The generator then needs to finish (raise StopIteration) in order for the wrapped call to complete. """ try: next(wrap_controller) # first yield except StopIteration: _raise_wrapfail(wrap_controller, "did not yield") call_outcome = _CallOutcome(func) try: wrap_controller.send(call_outcome) _raise_wrapfail(wrap_controller, "has second yield") except StopIteration: pass > return call_outcome.get_result() ../_pytest/vendored_packages/pluggy.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x00007fee5e6aba60> def get_result(self): if self.excinfo is None: return self.result else: ex = self.excinfo if _py3: raise ex[1].with_traceback(ex[2]) > _reraise(*ex) # noqa ../_pytest/vendored_packages/pluggy.py:279: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x00007fee5e6aba60> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 0 meths, kwargs={'i...rom_buffer'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_decode_from_buffer'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: return _wrapped_call(hook_impl.function(*args), self.execute) > res = hook_impl.function(*args) ../_pytest/vendored_packages/pluggy.py:596: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = <AppTestMethod 'test_decode_from_buffer'> def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <AppTestMethod 'test_decode_from_buffer'> def runtest(self): target = self.obj src = extract_docstring_if_empty_function(target.im_func) space = target.im_self.space if self.config.option.runappdirect: appexec_definitions = self.parent.obj.__dict__ spaceconfig = getattr(self.parent.obj, 'spaceconfig', None) usemodules = spaceconfig.get('usemodules') if spaceconfig else None return run_with_python(self.config.option.python, src, usemodules, > **appexec_definitions) tool/pytest/apptest.py:327: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ python_ = '/Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pypy/goal/pypy3.12-c' target_ = <function test_decode_from_buffer at 0x00007fee5d32bcb8> usemodules = ['unicodedata'], definitions = {}, defs = [] def run_with_python(python_, target_, usemodules, **definitions): if python_ is None: py.test.skip("Cannot find the default python3 interpreter to run with -A") defs = [] for symbol, value in sorted(definitions.items()): if isinstance(value, tuple) and isinstance(value[0], py.code.Source): code, args = value defs.append(str(code)) arg_repr = [] for arg in args: if isinstance(arg, types.FunctionType): arg_repr.append(arg.__name__) elif isinstance(arg, types.MethodType): arg_repr.append(arg.__name__) else: arg_repr.append(py3k_repr(arg)) args = ', '.join(arg_repr) defs.append("self.%s = anonymous(%s)\n" % (symbol, args)) elif isinstance(value, types.MethodType): # "def w_method(self)" code = py.code.Code(value) defs.append(str(code.source())) defs.append("type(self).%s = %s\n" % (symbol, value.__name__)) elif isinstance(value, types.ModuleType): name = value.__name__ defs.append("import %s; self.%s = %s\n" % (name, symbol, name)) elif isinstance(value, (str, unicode, int, long, float, list, tuple, dict)) or value is None: defs.append("self.%s = %s\n" % (symbol, py3k_repr(value))) check_usemodules = '' if usemodules: usemodules = [_rename_module(name) for name in usemodules] check_usemodules = """\ missing = set(%r).difference(sys.builtin_module_names) if missing: if not hasattr(sys, 'pypy_version_info'): # They may be extension modules on CPython name = None for name in missing.copy(): if name in ['cpyext', '_cffi_backend', '_rawffi']: missing.remove(name) continue try: __import__(name) except ImportError: pass else: missing.remove(name) del name if missing: sys.exit(81) del missing""" % usemodules source = list(py.code.Source(target_)) while source[0].startswith(('@py.test.mark.', '@pytest.mark.')): source.pop(0) source = source[1:] pyfile = udir.join('src.py') if isinstance(target_, str): # Special case of a docstring; the function name is the first word. target_name = target_.split('(', 1)[0] else: target_name = target_.__name__ with pyfile.open('w') as f: f.write(helpers % (pypyroot, check_usemodules)) f.write('\n'.join(defs)) f.write('def %s():\n' % target_name) f.write('\n'.join(source)) f.write("\ntry:\n %s()\n" % target_name) f.write('finally:\n print("===aefwuiheawiu===")') helper_dir = os.path.join(pypydir, 'tool', 'cpyext') env = os.environ.copy() env['PYTHONPATH'] = helper_dir res, stdout, stderr = run_subprocess( python_, [str(pyfile)], env=env) print pyfile.read() print "from", str(pyfile) print >> sys.stdout, stdout print >> sys.stderr, stderr if res == 81: py.test.skip('%r was not compiled w/ required usemodules: %r' % (python_, usemodules)) elif res != 0: raise AssertionError( > "Subprocess failed with exit code %s:\n%s" % (res, stderr)) E AssertionError: Subprocess failed with exit code 1: E Traceback (most recent call last): E File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 79, in <module> E test_decode_from_buffer() E File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 75, in test_decode_from_buffer E buf = buffer('character buffers are decoded to unicode') E ^^^^^^ E NameError: name 'buffer' is not defined tool/pytest/apptest.py:239: AssertionError ----------------------------- Captured stdout call ----------------------------- # -*- encoding: utf-8 -*- if 1: import sys sys.path.append('/Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build') missing = set(['unicodedata']).difference(sys.builtin_module_names) if missing: if not hasattr(sys, 'pypy_version_info'): # They may be extension modules on CPython name = None for name in missing.copy(): if name in ['cpyext', '_cffi_backend', '_rawffi']: missing.remove(name) continue try: __import__(name) except ImportError: pass else: missing.remove(name) del name if missing: sys.exit(81) del missing def skip(message): print(message) raise SystemExit(0) __builtins__.skip = skip __builtins__.py3k_skip = skip class ExceptionWrapper: pass def raises(exc, *args, **kwargs): if not args: return RaisesContext(exc) func = args[0] args = args[1:] import os try: if isinstance(func, str): if func.startswith((' ', os.linesep, '\n')): # it's probably an indented block, so we prefix if True: # to avoid SyntaxError func = "if True:\n" + func frame = sys._getframe(1) exec(func, frame.f_globals, frame.f_locals) else: func(*args, **kwargs) except exc as e: res = ExceptionWrapper() res.value = e res.traceback = e.__traceback__ return res else: raise AssertionError("DID NOT RAISE") class RaisesContext(object): def __init__(self, expected_exception): self.expected_exception = expected_exception self.excinfo = None def __enter__(self): return self def __exit__(self, *tp): __tracebackhide__ = True if tp[0] is None: raise AssertionError("DID NOT RAISE") self.value = tp[1] return issubclass(tp[0], self.expected_exception) __builtins__.raises = raises class Test: pass self = Test() def test_decode_from_buffer(): buf = buffer('character buffers are decoded to unicode') u = unicode(buf, 'utf-8', 'strict') assert u == u'character buffers are decoded to unicode' try: test_decode_from_buffer() finally: print("===aefwuiheawiu===") from /tmp/buildbot-x86_64/usession-py3.12-4304/src.py ===aefwuiheawiu=== ----------------------------- Captured stderr call ----------------------------- Traceback (most recent call last): File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 79, in <module> test_decode_from_buffer() File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 75, in test_decode_from_buffer buf = buffer('character buffers are decoded to unicode') ^^^^^^ NameError: name 'buffer' is not defined _________ AppTestUnicodeString.test_unicode_conversion_with__unicode__ _________ self = <CallInfo when='call' exception: Subprocess failed with exit code 1: Traceback (most recent call last): File "/tmp/b...unicode_conversion_with__unicode__ class A(unicode): ^^^^^^^ NameError: name 'unicode' is not defined > func = <function <lambda> at 0x00007fee285af9e8>, when = 'call' def __init__(self, func, when): #: context of invocation: one of "setup", "call", #: "teardown", "memocollect" self.when = when self.start = time() try: > self.result = func() ../_pytest/runner.py:150: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > return CallInfo(lambda: ihook(item=item, **kwds), when=when) ../_pytest/runner.py:138: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_HookCaller 'pytest_runtest_call'> kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_unicode_conversion_with__unicod..._': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_unicode_conversion_with__unicode__'>} def __call__(self, **kwargs): assert not self.is_historic() > return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs) ../_pytest/vendored_packages/pluggy.py:724: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.config.PytestPluginManager object at 0x00007fee588da5d0> hook = <_HookCaller 'pytest_runtest_call'>, methods = [] kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_unicode_conversion_with__unicod..._': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_unicode_conversion_with__unicode__'>} def _hookexec(self, hook, methods, kwargs): # called from all hookcaller instances. # enable_tracing will set its own wrapping function at self._inner_hookexec > return self._inner_hookexec(hook, methods, kwargs) ../_pytest/vendored_packages/pluggy.py:338: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook = <_HookCaller 'pytest_runtest_call'>, methods = [] kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_unicode_conversion_with__unicod..._': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_unicode_conversion_with__unicode__'>} self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_unicode_conversion_with__unicode__'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: > return _wrapped_call(hook_impl.function(*args), self.execute) ../_pytest/vendored_packages/pluggy.py:595: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrap_controller = <generator object pytest_runtest_call at 0x00007fee5e400ef8> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 0 meths, kwargs={'i..._unicode__'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>> def _wrapped_call(wrap_controller, func): """ Wrap calling to a function with a generator which needs to yield exactly once. The yield point will trigger calling the wrapped function and return its _CallOutcome to the yield point. The generator then needs to finish (raise StopIteration) in order for the wrapped call to complete. """ try: next(wrap_controller) # first yield except StopIteration: _raise_wrapfail(wrap_controller, "did not yield") call_outcome = _CallOutcome(func) try: wrap_controller.send(call_outcome) _raise_wrapfail(wrap_controller, "has second yield") except StopIteration: pass > return call_outcome.get_result() ../_pytest/vendored_packages/pluggy.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x00007fee199f14e0> def get_result(self): if self.excinfo is None: return self.result else: ex = self.excinfo if _py3: raise ex[1].with_traceback(ex[2]) > _reraise(*ex) # noqa ../_pytest/vendored_packages/pluggy.py:279: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x00007fee199f14e0> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 0 meths, kwargs={'i..._unicode__'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_unicode_conversion_with__unicode__'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: return _wrapped_call(hook_impl.function(*args), self.execute) > res = hook_impl.function(*args) ../_pytest/vendored_packages/pluggy.py:596: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = <AppTestMethod 'test_unicode_conversion_with__unicode__'> def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <AppTestMethod 'test_unicode_conversion_with__unicode__'> def runtest(self): target = self.obj src = extract_docstring_if_empty_function(target.im_func) space = target.im_self.space if self.config.option.runappdirect: appexec_definitions = self.parent.obj.__dict__ spaceconfig = getattr(self.parent.obj, 'spaceconfig', None) usemodules = spaceconfig.get('usemodules') if spaceconfig else None return run_with_python(self.config.option.python, src, usemodules, > **appexec_definitions) tool/pytest/apptest.py:327: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ python_ = '/Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pypy/goal/pypy3.12-c' target_ = <function test_unicode_conversion_with__unicode__ at 0x00007fee5d32bd30> usemodules = ['unicodedata'], definitions = {}, defs = [] def run_with_python(python_, target_, usemodules, **definitions): if python_ is None: py.test.skip("Cannot find the default python3 interpreter to run with -A") defs = [] for symbol, value in sorted(definitions.items()): if isinstance(value, tuple) and isinstance(value[0], py.code.Source): code, args = value defs.append(str(code)) arg_repr = [] for arg in args: if isinstance(arg, types.FunctionType): arg_repr.append(arg.__name__) elif isinstance(arg, types.MethodType): arg_repr.append(arg.__name__) else: arg_repr.append(py3k_repr(arg)) args = ', '.join(arg_repr) defs.append("self.%s = anonymous(%s)\n" % (symbol, args)) elif isinstance(value, types.MethodType): # "def w_method(self)" code = py.code.Code(value) defs.append(str(code.source())) defs.append("type(self).%s = %s\n" % (symbol, value.__name__)) elif isinstance(value, types.ModuleType): name = value.__name__ defs.append("import %s; self.%s = %s\n" % (name, symbol, name)) elif isinstance(value, (str, unicode, int, long, float, list, tuple, dict)) or value is None: defs.append("self.%s = %s\n" % (symbol, py3k_repr(value))) check_usemodules = '' if usemodules: usemodules = [_rename_module(name) for name in usemodules] check_usemodules = """\ missing = set(%r).difference(sys.builtin_module_names) if missing: if not hasattr(sys, 'pypy_version_info'): # They may be extension modules on CPython name = None for name in missing.copy(): if name in ['cpyext', '_cffi_backend', '_rawffi']: missing.remove(name) continue try: __import__(name) except ImportError: pass else: missing.remove(name) del name if missing: sys.exit(81) del missing""" % usemodules source = list(py.code.Source(target_)) while source[0].startswith(('@py.test.mark.', '@pytest.mark.')): source.pop(0) source = source[1:] pyfile = udir.join('src.py') if isinstance(target_, str): # Special case of a docstring; the function name is the first word. target_name = target_.split('(', 1)[0] else: target_name = target_.__name__ with pyfile.open('w') as f: f.write(helpers % (pypyroot, check_usemodules)) f.write('\n'.join(defs)) f.write('def %s():\n' % target_name) f.write('\n'.join(source)) f.write("\ntry:\n %s()\n" % target_name) f.write('finally:\n print("===aefwuiheawiu===")') helper_dir = os.path.join(pypydir, 'tool', 'cpyext') env = os.environ.copy() env['PYTHONPATH'] = helper_dir res, stdout, stderr = run_subprocess( python_, [str(pyfile)], env=env) print pyfile.read() print "from", str(pyfile) print >> sys.stdout, stdout print >> sys.stderr, stderr if res == 81: py.test.skip('%r was not compiled w/ required usemodules: %r' % (python_, usemodules)) elif res != 0: raise AssertionError( > "Subprocess failed with exit code %s:\n%s" % (res, stderr)) E AssertionError: Subprocess failed with exit code 1: E Traceback (most recent call last): E File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 87, in <module> E test_unicode_conversion_with__unicode__() E File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 75, in test_unicode_conversion_with__unicode__ E class A(unicode): E ^^^^^^^ E NameError: name 'unicode' is not defined tool/pytest/apptest.py:239: AssertionError ----------------------------- Captured stdout call ----------------------------- # -*- encoding: utf-8 -*- if 1: import sys sys.path.append('/Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build') missing = set(['unicodedata']).difference(sys.builtin_module_names) if missing: if not hasattr(sys, 'pypy_version_info'): # They may be extension modules on CPython name = None for name in missing.copy(): if name in ['cpyext', '_cffi_backend', '_rawffi']: missing.remove(name) continue try: __import__(name) except ImportError: pass else: missing.remove(name) del name if missing: sys.exit(81) del missing def skip(message): print(message) raise SystemExit(0) __builtins__.skip = skip __builtins__.py3k_skip = skip class ExceptionWrapper: pass def raises(exc, *args, **kwargs): if not args: return RaisesContext(exc) func = args[0] args = args[1:] import os try: if isinstance(func, str): if func.startswith((' ', os.linesep, '\n')): # it's probably an indented block, so we prefix if True: # to avoid SyntaxError func = "if True:\n" + func frame = sys._getframe(1) exec(func, frame.f_globals, frame.f_locals) else: func(*args, **kwargs) except exc as e: res = ExceptionWrapper() res.value = e res.traceback = e.__traceback__ return res else: raise AssertionError("DID NOT RAISE") class RaisesContext(object): def __init__(self, expected_exception): self.expected_exception = expected_exception self.excinfo = None def __enter__(self): return self def __exit__(self, *tp): __tracebackhide__ = True if tp[0] is None: raise AssertionError("DID NOT RAISE") self.value = tp[1] return issubclass(tp[0], self.expected_exception) __builtins__.raises = raises class Test: pass self = Test() def test_unicode_conversion_with__unicode__(): class A(unicode): def __unicode__(self): return "foo" class B(unicode): pass a = A('bar') assert a == 'bar' assert unicode(a) == 'foo' b = B('bar') assert b == 'bar' assert unicode(b) == 'bar' try: test_unicode_conversion_with__unicode__() finally: print("===aefwuiheawiu===") from /tmp/buildbot-x86_64/usession-py3.12-4304/src.py ===aefwuiheawiu=== ----------------------------- Captured stderr call ----------------------------- Traceback (most recent call last): File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 87, in <module> test_unicode_conversion_with__unicode__() File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 75, in test_unicode_conversion_with__unicode__ class A(unicode): ^^^^^^^ NameError: name 'unicode' is not defined ___________ AppTestUnicodeString.test_unicode_conversion_with__str__ ___________ self = <CallInfo when='call' exception: Subprocess failed with exit code 1: Traceback (most recent call last): File "/tmp/b... in test_unicode_conversion_with__str__ s = unicode(A()) ^^^^^^^ NameError: name 'unicode' is not defined > func = <function <lambda> at 0x00007fee28620890>, when = 'call' def __init__(self, func, when): #: context of invocation: one of "setup", "call", #: "teardown", "memocollect" self.when = when self.start = time() try: > self.result = func() ../_pytest/runner.py:150: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > return CallInfo(lambda: ihook(item=item, **kwds), when=when) ../_pytest/runner.py:138: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_HookCaller 'pytest_runtest_call'> kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_unicode_conversion_with__str__'...all__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_unicode_conversion_with__str__'>} def __call__(self, **kwargs): assert not self.is_historic() > return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs) ../_pytest/vendored_packages/pluggy.py:724: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.config.PytestPluginManager object at 0x00007fee588da5d0> hook = <_HookCaller 'pytest_runtest_call'>, methods = [] kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_unicode_conversion_with__str__'...all__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_unicode_conversion_with__str__'>} def _hookexec(self, hook, methods, kwargs): # called from all hookcaller instances. # enable_tracing will set its own wrapping function at self._inner_hookexec > return self._inner_hookexec(hook, methods, kwargs) ../_pytest/vendored_packages/pluggy.py:338: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook = <_HookCaller 'pytest_runtest_call'>, methods = [] kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_unicode_conversion_with__str__'...all__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_unicode_conversion_with__str__'>} self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_unicode_conversion_with__str__'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: > return _wrapped_call(hook_impl.function(*args), self.execute) ../_pytest/vendored_packages/pluggy.py:595: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrap_controller = <generator object pytest_runtest_call at 0x00007fee19d6b7e0> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 0 meths, kwargs={'i...ith__str__'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>> def _wrapped_call(wrap_controller, func): """ Wrap calling to a function with a generator which needs to yield exactly once. The yield point will trigger calling the wrapped function and return its _CallOutcome to the yield point. The generator then needs to finish (raise StopIteration) in order for the wrapped call to complete. """ try: next(wrap_controller) # first yield except StopIteration: _raise_wrapfail(wrap_controller, "did not yield") call_outcome = _CallOutcome(func) try: wrap_controller.send(call_outcome) _raise_wrapfail(wrap_controller, "has second yield") except StopIteration: pass > return call_outcome.get_result() ../_pytest/vendored_packages/pluggy.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x00007fee19d61f20> def get_result(self): if self.excinfo is None: return self.result else: ex = self.excinfo if _py3: raise ex[1].with_traceback(ex[2]) > _reraise(*ex) # noqa ../_pytest/vendored_packages/pluggy.py:279: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x00007fee19d61f20> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 0 meths, kwargs={'i...ith__str__'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_unicode_conversion_with__str__'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: return _wrapped_call(hook_impl.function(*args), self.execute) > res = hook_impl.function(*args) ../_pytest/vendored_packages/pluggy.py:596: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = <AppTestMethod 'test_unicode_conversion_with__str__'> def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <AppTestMethod 'test_unicode_conversion_with__str__'> def runtest(self): target = self.obj src = extract_docstring_if_empty_function(target.im_func) space = target.im_self.space if self.config.option.runappdirect: appexec_definitions = self.parent.obj.__dict__ spaceconfig = getattr(self.parent.obj, 'spaceconfig', None) usemodules = spaceconfig.get('usemodules') if spaceconfig else None return run_with_python(self.config.option.python, src, usemodules, > **appexec_definitions) tool/pytest/apptest.py:327: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ python_ = '/Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pypy/goal/pypy3.12-c' target_ = <function test_unicode_conversion_with__str__ at 0x00007fee5d32bda8> usemodules = ['unicodedata'], definitions = {}, defs = [] def run_with_python(python_, target_, usemodules, **definitions): if python_ is None: py.test.skip("Cannot find the default python3 interpreter to run with -A") defs = [] for symbol, value in sorted(definitions.items()): if isinstance(value, tuple) and isinstance(value[0], py.code.Source): code, args = value defs.append(str(code)) arg_repr = [] for arg in args: if isinstance(arg, types.FunctionType): arg_repr.append(arg.__name__) elif isinstance(arg, types.MethodType): arg_repr.append(arg.__name__) else: arg_repr.append(py3k_repr(arg)) args = ', '.join(arg_repr) defs.append("self.%s = anonymous(%s)\n" % (symbol, args)) elif isinstance(value, types.MethodType): # "def w_method(self)" code = py.code.Code(value) defs.append(str(code.source())) defs.append("type(self).%s = %s\n" % (symbol, value.__name__)) elif isinstance(value, types.ModuleType): name = value.__name__ defs.append("import %s; self.%s = %s\n" % (name, symbol, name)) elif isinstance(value, (str, unicode, int, long, float, list, tuple, dict)) or value is None: defs.append("self.%s = %s\n" % (symbol, py3k_repr(value))) check_usemodules = '' if usemodules: usemodules = [_rename_module(name) for name in usemodules] check_usemodules = """\ missing = set(%r).difference(sys.builtin_module_names) if missing: if not hasattr(sys, 'pypy_version_info'): # They may be extension modules on CPython name = None for name in missing.copy(): if name in ['cpyext', '_cffi_backend', '_rawffi']: missing.remove(name) continue try: __import__(name) except ImportError: pass else: missing.remove(name) del name if missing: sys.exit(81) del missing""" % usemodules source = list(py.code.Source(target_)) while source[0].startswith(('@py.test.mark.', '@pytest.mark.')): source.pop(0) source = source[1:] pyfile = udir.join('src.py') if isinstance(target_, str): # Special case of a docstring; the function name is the first word. target_name = target_.split('(', 1)[0] else: target_name = target_.__name__ with pyfile.open('w') as f: f.write(helpers % (pypyroot, check_usemodules)) f.write('\n'.join(defs)) f.write('def %s():\n' % target_name) f.write('\n'.join(source)) f.write("\ntry:\n %s()\n" % target_name) f.write('finally:\n print("===aefwuiheawiu===")') helper_dir = os.path.join(pypydir, 'tool', 'cpyext') env = os.environ.copy() env['PYTHONPATH'] = helper_dir res, stdout, stderr = run_subprocess( python_, [str(pyfile)], env=env) print pyfile.read() print "from", str(pyfile) print >> sys.stdout, stdout print >> sys.stderr, stderr if res == 81: py.test.skip('%r was not compiled w/ required usemodules: %r' % (python_, usemodules)) elif res != 0: raise AssertionError( > "Subprocess failed with exit code %s:\n%s" % (res, stderr)) E AssertionError: Subprocess failed with exit code 1: E Traceback (most recent call last): E File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 90, in <module> E test_unicode_conversion_with__str__() E File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 79, in test_unicode_conversion_with__str__ E s = unicode(A()) E ^^^^^^^ E NameError: name 'unicode' is not defined tool/pytest/apptest.py:239: AssertionError ----------------------------- Captured stdout call ----------------------------- # -*- encoding: utf-8 -*- if 1: import sys sys.path.append('/Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build') missing = set(['unicodedata']).difference(sys.builtin_module_names) if missing: if not hasattr(sys, 'pypy_version_info'): # They may be extension modules on CPython name = None for name in missing.copy(): if name in ['cpyext', '_cffi_backend', '_rawffi']: missing.remove(name) continue try: __import__(name) except ImportError: pass else: missing.remove(name) del name if missing: sys.exit(81) del missing def skip(message): print(message) raise SystemExit(0) __builtins__.skip = skip __builtins__.py3k_skip = skip class ExceptionWrapper: pass def raises(exc, *args, **kwargs): if not args: return RaisesContext(exc) func = args[0] args = args[1:] import os try: if isinstance(func, str): if func.startswith((' ', os.linesep, '\n')): # it's probably an indented block, so we prefix if True: # to avoid SyntaxError func = "if True:\n" + func frame = sys._getframe(1) exec(func, frame.f_globals, frame.f_locals) else: func(*args, **kwargs) except exc as e: res = ExceptionWrapper() res.value = e res.traceback = e.__traceback__ return res else: raise AssertionError("DID NOT RAISE") class RaisesContext(object): def __init__(self, expected_exception): self.expected_exception = expected_exception self.excinfo = None def __enter__(self): return self def __exit__(self, *tp): __tracebackhide__ = True if tp[0] is None: raise AssertionError("DID NOT RAISE") self.value = tp[1] return issubclass(tp[0], self.expected_exception) __builtins__.raises = raises class Test: pass self = Test() def test_unicode_conversion_with__str__(): # new-style classes class A(object): def __str__(self): return u'\u1234' s = unicode(A()) assert type(s) is unicode assert s == u'\u1234' # with old-style classes, it's different, but it should work as well class A: def __str__(self): return u'\u1234' s = unicode(A()) assert type(s) is unicode assert s == u'\u1234' try: test_unicode_conversion_with__str__() finally: print("===aefwuiheawiu===") from /tmp/buildbot-x86_64/usession-py3.12-4304/src.py ===aefwuiheawiu=== ----------------------------- Captured stderr call ----------------------------- Traceback (most recent call last): File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 90, in <module> test_unicode_conversion_with__str__() File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 79, in test_unicode_conversion_with__str__ s = unicode(A()) ^^^^^^^ NameError: name 'unicode' is not defined _____________ AppTestUnicodeString.test_formatting_unicode__str__ ______________ self = <CallInfo when='call' exception: Subprocess failed with exit code 1: Traceback (most recent call last): File "/tmp/b...04/src.py", line 79, in __str__ return unichr(self.num) ^^^^^^ NameError: name 'unichr' is not defined > func = <function <lambda> at 0x00007fee4803c890>, when = 'call' def __init__(self, func, when): #: context of invocation: one of "setup", "call", #: "teardown", "memocollect" self.when = when self.start = time() try: > self.result = func() ../_pytest/runner.py:150: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > return CallInfo(lambda: ihook(item=item, **kwds), when=when) ../_pytest/runner.py:138: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_HookCaller 'pytest_runtest_call'> kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_formatting_unicode__str__'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_formatting_unicode__str__'>} def __call__(self, **kwargs): assert not self.is_historic() > return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs) ../_pytest/vendored_packages/pluggy.py:724: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.config.PytestPluginManager object at 0x00007fee588da5d0> hook = <_HookCaller 'pytest_runtest_call'>, methods = [] kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_formatting_unicode__str__'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_formatting_unicode__str__'>} def _hookexec(self, hook, methods, kwargs): # called from all hookcaller instances. # enable_tracing will set its own wrapping function at self._inner_hookexec > return self._inner_hookexec(hook, methods, kwargs) ../_pytest/vendored_packages/pluggy.py:338: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook = <_HookCaller 'pytest_runtest_call'>, methods = [] kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_formatting_unicode__str__'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_formatting_unicode__str__'>} self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_formatting_unicode__str__'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: > return _wrapped_call(hook_impl.function(*args), self.execute) ../_pytest/vendored_packages/pluggy.py:595: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrap_controller = <generator object pytest_runtest_call at 0x00007fee59532f98> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 0 meths, kwargs={'i...ode__str__'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>> def _wrapped_call(wrap_controller, func): """ Wrap calling to a function with a generator which needs to yield exactly once. The yield point will trigger calling the wrapped function and return its _CallOutcome to the yield point. The generator then needs to finish (raise StopIteration) in order for the wrapped call to complete. """ try: next(wrap_controller) # first yield except StopIteration: _raise_wrapfail(wrap_controller, "did not yield") call_outcome = _CallOutcome(func) try: wrap_controller.send(call_outcome) _raise_wrapfail(wrap_controller, "has second yield") except StopIteration: pass > return call_outcome.get_result() ../_pytest/vendored_packages/pluggy.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x00007fee5dc7f860> def get_result(self): if self.excinfo is None: return self.result else: ex = self.excinfo if _py3: raise ex[1].with_traceback(ex[2]) > _reraise(*ex) # noqa ../_pytest/vendored_packages/pluggy.py:279: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x00007fee5dc7f860> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 0 meths, kwargs={'i...ode__str__'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_formatting_unicode__str__'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: return _wrapped_call(hook_impl.function(*args), self.execute) > res = hook_impl.function(*args) ../_pytest/vendored_packages/pluggy.py:596: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = <AppTestMethod 'test_formatting_unicode__str__'> def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <AppTestMethod 'test_formatting_unicode__str__'> def runtest(self): target = self.obj src = extract_docstring_if_empty_function(target.im_func) space = target.im_self.space if self.config.option.runappdirect: appexec_definitions = self.parent.obj.__dict__ spaceconfig = getattr(self.parent.obj, 'spaceconfig', None) usemodules = spaceconfig.get('usemodules') if spaceconfig else None return run_with_python(self.config.option.python, src, usemodules, > **appexec_definitions) tool/pytest/apptest.py:327: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ python_ = '/Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pypy/goal/pypy3.12-c' target_ = <function test_formatting_unicode__str__ at 0x00007fee5d32be20> usemodules = ['unicodedata'], definitions = {}, defs = [] def run_with_python(python_, target_, usemodules, **definitions): if python_ is None: py.test.skip("Cannot find the default python3 interpreter to run with -A") defs = [] for symbol, value in sorted(definitions.items()): if isinstance(value, tuple) and isinstance(value[0], py.code.Source): code, args = value defs.append(str(code)) arg_repr = [] for arg in args: if isinstance(arg, types.FunctionType): arg_repr.append(arg.__name__) elif isinstance(arg, types.MethodType): arg_repr.append(arg.__name__) else: arg_repr.append(py3k_repr(arg)) args = ', '.join(arg_repr) defs.append("self.%s = anonymous(%s)\n" % (symbol, args)) elif isinstance(value, types.MethodType): # "def w_method(self)" code = py.code.Code(value) defs.append(str(code.source())) defs.append("type(self).%s = %s\n" % (symbol, value.__name__)) elif isinstance(value, types.ModuleType): name = value.__name__ defs.append("import %s; self.%s = %s\n" % (name, symbol, name)) elif isinstance(value, (str, unicode, int, long, float, list, tuple, dict)) or value is None: defs.append("self.%s = %s\n" % (symbol, py3k_repr(value))) check_usemodules = '' if usemodules: usemodules = [_rename_module(name) for name in usemodules] check_usemodules = """\ missing = set(%r).difference(sys.builtin_module_names) if missing: if not hasattr(sys, 'pypy_version_info'): # They may be extension modules on CPython name = None for name in missing.copy(): if name in ['cpyext', '_cffi_backend', '_rawffi']: missing.remove(name) continue try: __import__(name) except ImportError: pass else: missing.remove(name) del name if missing: sys.exit(81) del missing""" % usemodules source = list(py.code.Source(target_)) while source[0].startswith(('@py.test.mark.', '@pytest.mark.')): source.pop(0) source = source[1:] pyfile = udir.join('src.py') if isinstance(target_, str): # Special case of a docstring; the function name is the first word. target_name = target_.split('(', 1)[0] else: target_name = target_.__name__ with pyfile.open('w') as f: f.write(helpers % (pypyroot, check_usemodules)) f.write('\n'.join(defs)) f.write('def %s():\n' % target_name) f.write('\n'.join(source)) f.write("\ntry:\n %s()\n" % target_name) f.write('finally:\n print("===aefwuiheawiu===")') helper_dir = os.path.join(pypydir, 'tool', 'cpyext') env = os.environ.copy() env['PYTHONPATH'] = helper_dir res, stdout, stderr = run_subprocess( python_, [str(pyfile)], env=env) print pyfile.read() print "from", str(pyfile) print >> sys.stdout, stdout print >> sys.stderr, stderr if res == 81: py.test.skip('%r was not compiled w/ required usemodules: %r' % (python_, usemodules)) elif res != 0: raise AssertionError( > "Subprocess failed with exit code %s:\n%s" % (res, stderr)) E AssertionError: Subprocess failed with exit code 1: E Traceback (most recent call last): E File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 104, in <module> E test_formatting_unicode__str__() E File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 81, in test_formatting_unicode__str__ E s = '%s' % A(111) # this is ASCII E ~~~~~^~~~~~~~ E File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 79, in __str__ E return unichr(self.num) E ^^^^^^ E NameError: name 'unichr' is not defined tool/pytest/apptest.py:239: AssertionError ----------------------------- Captured stdout call ----------------------------- # -*- encoding: utf-8 -*- if 1: import sys sys.path.append('/Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build') missing = set(['unicodedata']).difference(sys.builtin_module_names) if missing: if not hasattr(sys, 'pypy_version_info'): # They may be extension modules on CPython name = None for name in missing.copy(): if name in ['cpyext', '_cffi_backend', '_rawffi']: missing.remove(name) continue try: __import__(name) except ImportError: pass else: missing.remove(name) del name if missing: sys.exit(81) del missing def skip(message): print(message) raise SystemExit(0) __builtins__.skip = skip __builtins__.py3k_skip = skip class ExceptionWrapper: pass def raises(exc, *args, **kwargs): if not args: return RaisesContext(exc) func = args[0] args = args[1:] import os try: if isinstance(func, str): if func.startswith((' ', os.linesep, '\n')): # it's probably an indented block, so we prefix if True: # to avoid SyntaxError func = "if True:\n" + func frame = sys._getframe(1) exec(func, frame.f_globals, frame.f_locals) else: func(*args, **kwargs) except exc as e: res = ExceptionWrapper() res.value = e res.traceback = e.__traceback__ return res else: raise AssertionError("DID NOT RAISE") class RaisesContext(object): def __init__(self, expected_exception): self.expected_exception = expected_exception self.excinfo = None def __enter__(self): return self def __exit__(self, *tp): __tracebackhide__ = True if tp[0] is None: raise AssertionError("DID NOT RAISE") self.value = tp[1] return issubclass(tp[0], self.expected_exception) __builtins__.raises = raises class Test: pass self = Test() def test_formatting_unicode__str__(): class A: def __init__(self, num): self.num = num def __str__(self): return unichr(self.num) s = '%s' % A(111) # this is ASCII assert type(s) is unicode assert s == chr(111) s = '%s' % A(0x1234) # this is not ASCII assert type(s) is unicode assert s == u'\u1234' # now the same with a new-style class... class A(object): def __init__(self, num): self.num = num def __str__(self): return unichr(self.num) s = '%s' % A(111) # this is ASCII assert type(s) is unicode assert s == chr(111) s = '%s' % A(0x1234) # this is not ASCII assert type(s) is unicode assert s == u'\u1234' try: test_formatting_unicode__str__() finally: print("===aefwuiheawiu===") from /tmp/buildbot-x86_64/usession-py3.12-4304/src.py ===aefwuiheawiu=== ----------------------------- Captured stderr call ----------------------------- Traceback (most recent call last): File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 104, in <module> test_formatting_unicode__str__() File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 81, in test_formatting_unicode__str__ s = '%s' % A(111) # this is ASCII ~~~~~^~~~~~~~ File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 79, in __str__ return unichr(self.num) ^^^^^^ NameError: name 'unichr' is not defined _____________ AppTestUnicodeString.test_formatting_unicode__str__2 _____________ self = <CallInfo when='call' exception: Subprocess failed with exit code 1: Traceback (most recent call last): File "/tmp/b...py", line 89, in test_formatting_unicode__str__2 assert s == u'baz bar' ^^^^^^^^^^^^^^^ AssertionError > func = <function <lambda> at 0x00007fee4803d5b0>, when = 'call' def __init__(self, func, when): #: context of invocation: one of "setup", "call", #: "teardown", "memocollect" self.when = when self.start = time() try: > self.result = func() ../_pytest/runner.py:150: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > return CallInfo(lambda: ihook(item=item, **kwds), when=when) ../_pytest/runner.py:138: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_HookCaller 'pytest_runtest_call'> kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_formatting_unicode__str__2'>, '...lticall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_formatting_unicode__str__2'>} def __call__(self, **kwargs): assert not self.is_historic() > return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs) ../_pytest/vendored_packages/pluggy.py:724: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.config.PytestPluginManager object at 0x00007fee588da5d0> hook = <_HookCaller 'pytest_runtest_call'>, methods = [] kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_formatting_unicode__str__2'>, '...lticall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_formatting_unicode__str__2'>} def _hookexec(self, hook, methods, kwargs): # called from all hookcaller instances. # enable_tracing will set its own wrapping function at self._inner_hookexec > return self._inner_hookexec(hook, methods, kwargs) ../_pytest/vendored_packages/pluggy.py:338: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook = <_HookCaller 'pytest_runtest_call'>, methods = [] kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_formatting_unicode__str__2'>, '...lticall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_formatting_unicode__str__2'>} self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_formatting_unicode__str__2'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: > return _wrapped_call(hook_impl.function(*args), self.execute) ../_pytest/vendored_packages/pluggy.py:595: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrap_controller = <generator object pytest_runtest_call at 0x00007fee5d34f150> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 0 meths, kwargs={'i...de__str__2'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>> def _wrapped_call(wrap_controller, func): """ Wrap calling to a function with a generator which needs to yield exactly once. The yield point will trigger calling the wrapped function and return its _CallOutcome to the yield point. The generator then needs to finish (raise StopIteration) in order for the wrapped call to complete. """ try: next(wrap_controller) # first yield except StopIteration: _raise_wrapfail(wrap_controller, "did not yield") call_outcome = _CallOutcome(func) try: wrap_controller.send(call_outcome) _raise_wrapfail(wrap_controller, "has second yield") except StopIteration: pass > return call_outcome.get_result() ../_pytest/vendored_packages/pluggy.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x00007fee5cce9ee0> def get_result(self): if self.excinfo is None: return self.result else: ex = self.excinfo if _py3: raise ex[1].with_traceback(ex[2]) > _reraise(*ex) # noqa ../_pytest/vendored_packages/pluggy.py:279: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x00007fee5cce9ee0> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 0 meths, kwargs={'i...de__str__2'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_formatting_unicode__str__2'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: return _wrapped_call(hook_impl.function(*args), self.execute) > res = hook_impl.function(*args) ../_pytest/vendored_packages/pluggy.py:596: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = <AppTestMethod 'test_formatting_unicode__str__2'> def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <AppTestMethod 'test_formatting_unicode__str__2'> def runtest(self): target = self.obj src = extract_docstring_if_empty_function(target.im_func) space = target.im_self.space if self.config.option.runappdirect: appexec_definitions = self.parent.obj.__dict__ spaceconfig = getattr(self.parent.obj, 'spaceconfig', None) usemodules = spaceconfig.get('usemodules') if spaceconfig else None return run_with_python(self.config.option.python, src, usemodules, > **appexec_definitions) tool/pytest/apptest.py:327: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ python_ = '/Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pypy/goal/pypy3.12-c' target_ = <function test_formatting_unicode__str__2 at 0x00007fee5d32be98> usemodules = ['unicodedata'], definitions = {}, defs = [] def run_with_python(python_, target_, usemodules, **definitions): if python_ is None: py.test.skip("Cannot find the default python3 interpreter to run with -A") defs = [] for symbol, value in sorted(definitions.items()): if isinstance(value, tuple) and isinstance(value[0], py.code.Source): code, args = value defs.append(str(code)) arg_repr = [] for arg in args: if isinstance(arg, types.FunctionType): arg_repr.append(arg.__name__) elif isinstance(arg, types.MethodType): arg_repr.append(arg.__name__) else: arg_repr.append(py3k_repr(arg)) args = ', '.join(arg_repr) defs.append("self.%s = anonymous(%s)\n" % (symbol, args)) elif isinstance(value, types.MethodType): # "def w_method(self)" code = py.code.Code(value) defs.append(str(code.source())) defs.append("type(self).%s = %s\n" % (symbol, value.__name__)) elif isinstance(value, types.ModuleType): name = value.__name__ defs.append("import %s; self.%s = %s\n" % (name, symbol, name)) elif isinstance(value, (str, unicode, int, long, float, list, tuple, dict)) or value is None: defs.append("self.%s = %s\n" % (symbol, py3k_repr(value))) check_usemodules = '' if usemodules: usemodules = [_rename_module(name) for name in usemodules] check_usemodules = """\ missing = set(%r).difference(sys.builtin_module_names) if missing: if not hasattr(sys, 'pypy_version_info'): # They may be extension modules on CPython name = None for name in missing.copy(): if name in ['cpyext', '_cffi_backend', '_rawffi']: missing.remove(name) continue try: __import__(name) except ImportError: pass else: missing.remove(name) del name if missing: sys.exit(81) del missing""" % usemodules source = list(py.code.Source(target_)) while source[0].startswith(('@py.test.mark.', '@pytest.mark.')): source.pop(0) source = source[1:] pyfile = udir.join('src.py') if isinstance(target_, str): # Special case of a docstring; the function name is the first word. target_name = target_.split('(', 1)[0] else: target_name = target_.__name__ with pyfile.open('w') as f: f.write(helpers % (pypyroot, check_usemodules)) f.write('\n'.join(defs)) f.write('def %s():\n' % target_name) f.write('\n'.join(source)) f.write("\ntry:\n %s()\n" % target_name) f.write('finally:\n print("===aefwuiheawiu===")') helper_dir = os.path.join(pypydir, 'tool', 'cpyext') env = os.environ.copy() env['PYTHONPATH'] = helper_dir res, stdout, stderr = run_subprocess( python_, [str(pyfile)], env=env) print pyfile.read() print "from", str(pyfile) print >> sys.stdout, stdout print >> sys.stderr, stderr if res == 81: py.test.skip('%r was not compiled w/ required usemodules: %r' % (python_, usemodules)) elif res != 0: raise AssertionError( > "Subprocess failed with exit code %s:\n%s" % (res, stderr)) E AssertionError: Subprocess failed with exit code 1: E Traceback (most recent call last): E File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 95, in <module> E test_formatting_unicode__str__2() E File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 89, in test_formatting_unicode__str__2 E assert s == u'baz bar' E ^^^^^^^^^^^^^^^ E AssertionError tool/pytest/apptest.py:239: AssertionError ----------------------------- Captured stdout call ----------------------------- # -*- encoding: utf-8 -*- if 1: import sys sys.path.append('/Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build') missing = set(['unicodedata']).difference(sys.builtin_module_names) if missing: if not hasattr(sys, 'pypy_version_info'): # They may be extension modules on CPython name = None for name in missing.copy(): if name in ['cpyext', '_cffi_backend', '_rawffi']: missing.remove(name) continue try: __import__(name) except ImportError: pass else: missing.remove(name) del name if missing: sys.exit(81) del missing def skip(message): print(message) raise SystemExit(0) __builtins__.skip = skip __builtins__.py3k_skip = skip class ExceptionWrapper: pass def raises(exc, *args, **kwargs): if not args: return RaisesContext(exc) func = args[0] args = args[1:] import os try: if isinstance(func, str): if func.startswith((' ', os.linesep, '\n')): # it's probably an indented block, so we prefix if True: # to avoid SyntaxError func = "if True:\n" + func frame = sys._getframe(1) exec(func, frame.f_globals, frame.f_locals) else: func(*args, **kwargs) except exc as e: res = ExceptionWrapper() res.value = e res.traceback = e.__traceback__ return res else: raise AssertionError("DID NOT RAISE") class RaisesContext(object): def __init__(self, expected_exception): self.expected_exception = expected_exception self.excinfo = None def __enter__(self): return self def __exit__(self, *tp): __tracebackhide__ = True if tp[0] is None: raise AssertionError("DID NOT RAISE") self.value = tp[1] return issubclass(tp[0], self.expected_exception) __builtins__.raises = raises class Test: pass self = Test() def test_formatting_unicode__str__2(): class A: def __str__(self): return u'baz' class B: def __str__(self): return 'foo' def __unicode__(self): return u'bar' a = A() b = B() s = '%s %s' % (a, b) assert s == u'baz bar' skip("but this case here is completely insane") s = '%s %s' % (b, a) assert s == u'foo baz' try: test_formatting_unicode__str__2() finally: print("===aefwuiheawiu===") from /tmp/buildbot-x86_64/usession-py3.12-4304/src.py ===aefwuiheawiu=== ----------------------------- Captured stderr call ----------------------------- Traceback (most recent call last): File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 95, in <module> test_formatting_unicode__str__2() File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 89, in test_formatting_unicode__str__2 assert s == u'baz bar' ^^^^^^^^^^^^^^^ AssertionError ___________________ AppTestUnicodeString.test_format_repeat ____________________ self = <CallInfo when='call' exception: Subprocess failed with exit code 1: Traceback (most recent call last): File "/tmp/b...ssion-py3.12-4304/src.py", line 53, in raises raise AssertionError("DID NOT RAISE") AssertionError: DID NOT RAISE > func = <function <lambda> at 0x00007fee28cd4548>, when = 'call' def __init__(self, func, when): #: context of invocation: one of "setup", "call", #: "teardown", "memocollect" self.when = when self.start = time() try: > self.result = func() ../_pytest/runner.py:150: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > return CallInfo(lambda: ihook(item=item, **kwds), when=when) ../_pytest/runner.py:138: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_HookCaller 'pytest_runtest_call'> kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_format_repeat'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_format_repeat'>} def __call__(self, **kwargs): assert not self.is_historic() > return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs) ../_pytest/vendored_packages/pluggy.py:724: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.config.PytestPluginManager object at 0x00007fee588da5d0> hook = <_HookCaller 'pytest_runtest_call'>, methods = [] kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_format_repeat'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_format_repeat'>} def _hookexec(self, hook, methods, kwargs): # called from all hookcaller instances. # enable_tracing will set its own wrapping function at self._inner_hookexec > return self._inner_hookexec(hook, methods, kwargs) ../_pytest/vendored_packages/pluggy.py:338: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook = <_HookCaller 'pytest_runtest_call'>, methods = [] kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_format_repeat'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_format_repeat'>} self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_format_repeat'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: > return _wrapped_call(hook_impl.function(*args), self.execute) ../_pytest/vendored_packages/pluggy.py:595: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrap_controller = <generator object pytest_runtest_call at 0x00007fee5a3e3d80> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 0 meths, kwargs={'i...mat_repeat'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>> def _wrapped_call(wrap_controller, func): """ Wrap calling to a function with a generator which needs to yield exactly once. The yield point will trigger calling the wrapped function and return its _CallOutcome to the yield point. The generator then needs to finish (raise StopIteration) in order for the wrapped call to complete. """ try: next(wrap_controller) # first yield except StopIteration: _raise_wrapfail(wrap_controller, "did not yield") call_outcome = _CallOutcome(func) try: wrap_controller.send(call_outcome) _raise_wrapfail(wrap_controller, "has second yield") except StopIteration: pass > return call_outcome.get_result() ../_pytest/vendored_packages/pluggy.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x00007fee5db4bf60> def get_result(self): if self.excinfo is None: return self.result else: ex = self.excinfo if _py3: raise ex[1].with_traceback(ex[2]) > _reraise(*ex) # noqa ../_pytest/vendored_packages/pluggy.py:279: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x00007fee5db4bf60> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 0 meths, kwargs={'i...mat_repeat'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_format_repeat'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: return _wrapped_call(hook_impl.function(*args), self.execute) > res = hook_impl.function(*args) ../_pytest/vendored_packages/pluggy.py:596: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = <AppTestMethod 'test_format_repeat'> def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <AppTestMethod 'test_format_repeat'> def runtest(self): target = self.obj src = extract_docstring_if_empty_function(target.im_func) space = target.im_self.space if self.config.option.runappdirect: appexec_definitions = self.parent.obj.__dict__ spaceconfig = getattr(self.parent.obj, 'spaceconfig', None) usemodules = spaceconfig.get('usemodules') if spaceconfig else None return run_with_python(self.config.option.python, src, usemodules, > **appexec_definitions) tool/pytest/apptest.py:327: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ python_ = '/Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pypy/goal/pypy3.12-c' target_ = <function test_format_repeat at 0x00007fee5d32bf88> usemodules = ['unicodedata'], definitions = {}, defs = [] def run_with_python(python_, target_, usemodules, **definitions): if python_ is None: py.test.skip("Cannot find the default python3 interpreter to run with -A") defs = [] for symbol, value in sorted(definitions.items()): if isinstance(value, tuple) and isinstance(value[0], py.code.Source): code, args = value defs.append(str(code)) arg_repr = [] for arg in args: if isinstance(arg, types.FunctionType): arg_repr.append(arg.__name__) elif isinstance(arg, types.MethodType): arg_repr.append(arg.__name__) else: arg_repr.append(py3k_repr(arg)) args = ', '.join(arg_repr) defs.append("self.%s = anonymous(%s)\n" % (symbol, args)) elif isinstance(value, types.MethodType): # "def w_method(self)" code = py.code.Code(value) defs.append(str(code.source())) defs.append("type(self).%s = %s\n" % (symbol, value.__name__)) elif isinstance(value, types.ModuleType): name = value.__name__ defs.append("import %s; self.%s = %s\n" % (name, symbol, name)) elif isinstance(value, (str, unicode, int, long, float, list, tuple, dict)) or value is None: defs.append("self.%s = %s\n" % (symbol, py3k_repr(value))) check_usemodules = '' if usemodules: usemodules = [_rename_module(name) for name in usemodules] check_usemodules = """\ missing = set(%r).difference(sys.builtin_module_names) if missing: if not hasattr(sys, 'pypy_version_info'): # They may be extension modules on CPython name = None for name in missing.copy(): if name in ['cpyext', '_cffi_backend', '_rawffi']: missing.remove(name) continue try: __import__(name) except ImportError: pass else: missing.remove(name) del name if missing: sys.exit(81) del missing""" % usemodules source = list(py.code.Source(target_)) while source[0].startswith(('@py.test.mark.', '@pytest.mark.')): source.pop(0) source = source[1:] pyfile = udir.join('src.py') if isinstance(target_, str): # Special case of a docstring; the function name is the first word. target_name = target_.split('(', 1)[0] else: target_name = target_.__name__ with pyfile.open('w') as f: f.write(helpers % (pypyroot, check_usemodules)) f.write('\n'.join(defs)) f.write('def %s():\n' % target_name) f.write('\n'.join(source)) f.write("\ntry:\n %s()\n" % target_name) f.write('finally:\n print("===aefwuiheawiu===")') helper_dir = os.path.join(pypydir, 'tool', 'cpyext') env = os.environ.copy() env['PYTHONPATH'] = helper_dir res, stdout, stderr = run_subprocess( python_, [str(pyfile)], env=env) print pyfile.read() print "from", str(pyfile) print >> sys.stdout, stdout print >> sys.stderr, stderr if res == 81: py.test.skip('%r was not compiled w/ required usemodules: %r' % (python_, usemodules)) elif res != 0: raise AssertionError( > "Subprocess failed with exit code %s:\n%s" % (res, stderr)) E AssertionError: Subprocess failed with exit code 1: E Traceback (most recent call last): E File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 80, in <module> E test_format_repeat() E File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 78, in test_format_repeat E raises(UnicodeEncodeError, format, 123, u"\u2007<5") E File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 53, in raises E raise AssertionError("DID NOT RAISE") E AssertionError: DID NOT RAISE tool/pytest/apptest.py:239: AssertionError ----------------------------- Captured stdout call ----------------------------- # -*- encoding: utf-8 -*- if 1: import sys sys.path.append('/Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build') missing = set(['unicodedata']).difference(sys.builtin_module_names) if missing: if not hasattr(sys, 'pypy_version_info'): # They may be extension modules on CPython name = None for name in missing.copy(): if name in ['cpyext', '_cffi_backend', '_rawffi']: missing.remove(name) continue try: __import__(name) except ImportError: pass else: missing.remove(name) del name if missing: sys.exit(81) del missing def skip(message): print(message) raise SystemExit(0) __builtins__.skip = skip __builtins__.py3k_skip = skip class ExceptionWrapper: pass def raises(exc, *args, **kwargs): if not args: return RaisesContext(exc) func = args[0] args = args[1:] import os try: if isinstance(func, str): if func.startswith((' ', os.linesep, '\n')): # it's probably an indented block, so we prefix if True: # to avoid SyntaxError func = "if True:\n" + func frame = sys._getframe(1) exec(func, frame.f_globals, frame.f_locals) else: func(*args, **kwargs) except exc as e: res = ExceptionWrapper() res.value = e res.traceback = e.__traceback__ return res else: raise AssertionError("DID NOT RAISE") class RaisesContext(object): def __init__(self, expected_exception): self.expected_exception = expected_exception self.excinfo = None def __enter__(self): return self def __exit__(self, *tp): __tracebackhide__ = True if tp[0] is None: raise AssertionError("DID NOT RAISE") self.value = tp[1] return issubclass(tp[0], self.expected_exception) __builtins__.raises = raises class Test: pass self = Test() def test_format_repeat(): assert format(u"abc", u"z<5") == u"abczz" assert format(u"abc", u"\u2007<5") == u"abc\u2007\u2007" # raises UnicodeEncodeError, like CPython does raises(UnicodeEncodeError, format, 123, u"\u2007<5") try: test_format_repeat() finally: print("===aefwuiheawiu===") from /tmp/buildbot-x86_64/usession-py3.12-4304/src.py ===aefwuiheawiu=== ----------------------------- Captured stderr call ----------------------------- Traceback (most recent call last): File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 80, in <module> test_format_repeat() File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 78, in test_format_repeat raises(UnicodeEncodeError, format, 123, u"\u2007<5") File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 53, in raises raise AssertionError("DID NOT RAISE") AssertionError: DID NOT RAISE __________________ AppTestUnicodeString.test_formatting_char ___________________ self = <CallInfo when='call' exception: Subprocess failed with exit code 1: File "/tmp/buildbot-x86_64/usession-py3.12-4304...y", line 77 print num ^^^^^^^^^ SyntaxError: Missing parentheses in call to 'print'. Did you mean print(num)? > func = <function <lambda> at 0x00007fee28cd5628>, when = 'call' def __init__(self, func, when): #: context of invocation: one of "setup", "call", #: "teardown", "memocollect" self.when = when self.start = time() try: > self.result = func() ../_pytest/runner.py:150: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > return CallInfo(lambda: ihook(item=item, **kwds), when=when) ../_pytest/runner.py:138: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_HookCaller 'pytest_runtest_call'> kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_formatting_char'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_formatting_char'>} def __call__(self, **kwargs): assert not self.is_historic() > return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs) ../_pytest/vendored_packages/pluggy.py:724: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.config.PytestPluginManager object at 0x00007fee588da5d0> hook = <_HookCaller 'pytest_runtest_call'>, methods = [] kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_formatting_char'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_formatting_char'>} def _hookexec(self, hook, methods, kwargs): # called from all hookcaller instances. # enable_tracing will set its own wrapping function at self._inner_hookexec > return self._inner_hookexec(hook, methods, kwargs) ../_pytest/vendored_packages/pluggy.py:338: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook = <_HookCaller 'pytest_runtest_call'>, methods = [] kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_formatting_char'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_formatting_char'>} self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_formatting_char'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: > return _wrapped_call(hook_impl.function(*args), self.execute) ../_pytest/vendored_packages/pluggy.py:595: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrap_controller = <generator object pytest_runtest_call at 0x00007fee5cd00ca0> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 0 meths, kwargs={'i...tting_char'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>> def _wrapped_call(wrap_controller, func): """ Wrap calling to a function with a generator which needs to yield exactly once. The yield point will trigger calling the wrapped function and return its _CallOutcome to the yield point. The generator then needs to finish (raise StopIteration) in order for the wrapped call to complete. """ try: next(wrap_controller) # first yield except StopIteration: _raise_wrapfail(wrap_controller, "did not yield") call_outcome = _CallOutcome(func) try: wrap_controller.send(call_outcome) _raise_wrapfail(wrap_controller, "has second yield") except StopIteration: pass > return call_outcome.get_result() ../_pytest/vendored_packages/pluggy.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x00007fee18b5e960> def get_result(self): if self.excinfo is None: return self.result else: ex = self.excinfo if _py3: raise ex[1].with_traceback(ex[2]) > _reraise(*ex) # noqa ../_pytest/vendored_packages/pluggy.py:279: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x00007fee18b5e960> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 0 meths, kwargs={'i...tting_char'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_formatting_char'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: return _wrapped_call(hook_impl.function(*args), self.execute) > res = hook_impl.function(*args) ../_pytest/vendored_packages/pluggy.py:596: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = <AppTestMethod 'test_formatting_char'> def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <AppTestMethod 'test_formatting_char'> def runtest(self): target = self.obj src = extract_docstring_if_empty_function(target.im_func) space = target.im_self.space if self.config.option.runappdirect: appexec_definitions = self.parent.obj.__dict__ spaceconfig = getattr(self.parent.obj, 'spaceconfig', None) usemodules = spaceconfig.get('usemodules') if spaceconfig else None return run_with_python(self.config.option.python, src, usemodules, > **appexec_definitions) tool/pytest/apptest.py:327: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ python_ = '/Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pypy/goal/pypy3.12-c' target_ = <function test_formatting_char at 0x00007fee5b920020> usemodules = ['unicodedata'], definitions = {}, defs = [] def run_with_python(python_, target_, usemodules, **definitions): if python_ is None: py.test.skip("Cannot find the default python3 interpreter to run with -A") defs = [] for symbol, value in sorted(definitions.items()): if isinstance(value, tuple) and isinstance(value[0], py.code.Source): code, args = value defs.append(str(code)) arg_repr = [] for arg in args: if isinstance(arg, types.FunctionType): arg_repr.append(arg.__name__) elif isinstance(arg, types.MethodType): arg_repr.append(arg.__name__) else: arg_repr.append(py3k_repr(arg)) args = ', '.join(arg_repr) defs.append("self.%s = anonymous(%s)\n" % (symbol, args)) elif isinstance(value, types.MethodType): # "def w_method(self)" code = py.code.Code(value) defs.append(str(code.source())) defs.append("type(self).%s = %s\n" % (symbol, value.__name__)) elif isinstance(value, types.ModuleType): name = value.__name__ defs.append("import %s; self.%s = %s\n" % (name, symbol, name)) elif isinstance(value, (str, unicode, int, long, float, list, tuple, dict)) or value is None: defs.append("self.%s = %s\n" % (symbol, py3k_repr(value))) check_usemodules = '' if usemodules: usemodules = [_rename_module(name) for name in usemodules] check_usemodules = """\ missing = set(%r).difference(sys.builtin_module_names) if missing: if not hasattr(sys, 'pypy_version_info'): # They may be extension modules on CPython name = None for name in missing.copy(): if name in ['cpyext', '_cffi_backend', '_rawffi']: missing.remove(name) continue try: __import__(name) except ImportError: pass else: missing.remove(name) del name if missing: sys.exit(81) del missing""" % usemodules source = list(py.code.Source(target_)) while source[0].startswith(('@py.test.mark.', '@pytest.mark.')): source.pop(0) source = source[1:] pyfile = udir.join('src.py') if isinstance(target_, str): # Special case of a docstring; the function name is the first word. target_name = target_.split('(', 1)[0] else: target_name = target_.__name__ with pyfile.open('w') as f: f.write(helpers % (pypyroot, check_usemodules)) f.write('\n'.join(defs)) f.write('def %s():\n' % target_name) f.write('\n'.join(source)) f.write("\ntry:\n %s()\n" % target_name) f.write('finally:\n print("===aefwuiheawiu===")') helper_dir = os.path.join(pypydir, 'tool', 'cpyext') env = os.environ.copy() env['PYTHONPATH'] = helper_dir res, stdout, stderr = run_subprocess( python_, [str(pyfile)], env=env) print pyfile.read() print "from", str(pyfile) print >> sys.stdout, stdout print >> sys.stderr, stderr if res == 81: py.test.skip('%r was not compiled w/ required usemodules: %r' % (python_, usemodules)) elif res != 0: raise AssertionError( > "Subprocess failed with exit code %s:\n%s" % (res, stderr)) E AssertionError: Subprocess failed with exit code 1: E File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 77 E print num E ^^^^^^^^^ E SyntaxError: Missing parentheses in call to 'print'. Did you mean print(num)? tool/pytest/apptest.py:239: AssertionError ----------------------------- Captured stdout call ----------------------------- # -*- encoding: utf-8 -*- if 1: import sys sys.path.append('/Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build') missing = set(['unicodedata']).difference(sys.builtin_module_names) if missing: if not hasattr(sys, 'pypy_version_info'): # They may be extension modules on CPython name = None for name in missing.copy(): if name in ['cpyext', '_cffi_backend', '_rawffi']: missing.remove(name) continue try: __import__(name) except ImportError: pass else: missing.remove(name) del name if missing: sys.exit(81) del missing def skip(message): print(message) raise SystemExit(0) __builtins__.skip = skip __builtins__.py3k_skip = skip class ExceptionWrapper: pass def raises(exc, *args, **kwargs): if not args: return RaisesContext(exc) func = args[0] args = args[1:] import os try: if isinstance(func, str): if func.startswith((' ', os.linesep, '\n')): # it's probably an indented block, so we prefix if True: # to avoid SyntaxError func = "if True:\n" + func frame = sys._getframe(1) exec(func, frame.f_globals, frame.f_locals) else: func(*args, **kwargs) except exc as e: res = ExceptionWrapper() res.value = e res.traceback = e.__traceback__ return res else: raise AssertionError("DID NOT RAISE") class RaisesContext(object): def __init__(self, expected_exception): self.expected_exception = expected_exception self.excinfo = None def __enter__(self): return self def __exit__(self, *tp): __tracebackhide__ = True if tp[0] is None: raise AssertionError("DID NOT RAISE") self.value = tp[1] return issubclass(tp[0], self.expected_exception) __builtins__.raises = raises class Test: pass self = Test() def test_formatting_char(): for num in range(0x80,0x100): uchar = unichr(num) print num assert uchar == u"%c" % num # works only with ints assert uchar == u"%c" % uchar # and unicode chars # the implicit decoding should fail for non-ascii chars raises(UnicodeDecodeError, u"%c".__mod__, chr(num)) raises(UnicodeDecodeError, u"%s".__mod__, chr(num)) try: test_formatting_char() finally: print("===aefwuiheawiu===") from /tmp/buildbot-x86_64/usession-py3.12-4304/src.py ----------------------------- Captured stderr call ----------------------------- File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 77 print num ^^^^^^^^^ SyntaxError: Missing parentheses in call to 'print'. Did you mean print(num)? ____________________ AppTestUnicodeString.test_str_subclass ____________________ self = <CallInfo when='call' exception: Subprocess failed with exit code 1: Traceback (most recent call last): File "/tmp/b...tr_subclass assert unicode(Foo9("hello")) == u"world" ^^^^^^^ NameError: name 'unicode' is not defined > func = <function <lambda> at 0x00007fee5e407448>, when = 'call' def __init__(self, func, when): #: context of invocation: one of "setup", "call", #: "teardown", "memocollect" self.when = when self.start = time() try: > self.result = func() ../_pytest/runner.py:150: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > return CallInfo(lambda: ihook(item=item, **kwds), when=when) ../_pytest/runner.py:138: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_HookCaller 'pytest_runtest_call'> kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_str_subclass'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_str_subclass'>} def __call__(self, **kwargs): assert not self.is_historic() > return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs) ../_pytest/vendored_packages/pluggy.py:724: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.config.PytestPluginManager object at 0x00007fee588da5d0> hook = <_HookCaller 'pytest_runtest_call'>, methods = [] kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_str_subclass'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_str_subclass'>} def _hookexec(self, hook, methods, kwargs): # called from all hookcaller instances. # enable_tracing will set its own wrapping function at self._inner_hookexec > return self._inner_hookexec(hook, methods, kwargs) ../_pytest/vendored_packages/pluggy.py:338: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook = <_HookCaller 'pytest_runtest_call'>, methods = [] kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_str_subclass'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_str_subclass'>} self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_str_subclass'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: > return _wrapped_call(hook_impl.function(*args), self.execute) ../_pytest/vendored_packages/pluggy.py:595: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrap_controller = <generator object pytest_runtest_call at 0x00007fee5db26db8> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 0 meths, kwargs={'i...r_subclass'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>> def _wrapped_call(wrap_controller, func): """ Wrap calling to a function with a generator which needs to yield exactly once. The yield point will trigger calling the wrapped function and return its _CallOutcome to the yield point. The generator then needs to finish (raise StopIteration) in order for the wrapped call to complete. """ try: next(wrap_controller) # first yield except StopIteration: _raise_wrapfail(wrap_controller, "did not yield") call_outcome = _CallOutcome(func) try: wrap_controller.send(call_outcome) _raise_wrapfail(wrap_controller, "has second yield") except StopIteration: pass > return call_outcome.get_result() ../_pytest/vendored_packages/pluggy.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x00007fee1874fea0> def get_result(self): if self.excinfo is None: return self.result else: ex = self.excinfo if _py3: raise ex[1].with_traceback(ex[2]) > _reraise(*ex) # noqa ../_pytest/vendored_packages/pluggy.py:279: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x00007fee1874fea0> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 0 meths, kwargs={'i...r_subclass'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_str_subclass'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: return _wrapped_call(hook_impl.function(*args), self.execute) > res = hook_impl.function(*args) ../_pytest/vendored_packages/pluggy.py:596: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = <AppTestMethod 'test_str_subclass'> def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <AppTestMethod 'test_str_subclass'> def runtest(self): target = self.obj src = extract_docstring_if_empty_function(target.im_func) space = target.im_self.space if self.config.option.runappdirect: appexec_definitions = self.parent.obj.__dict__ spaceconfig = getattr(self.parent.obj, 'spaceconfig', None) usemodules = spaceconfig.get('usemodules') if spaceconfig else None return run_with_python(self.config.option.python, src, usemodules, > **appexec_definitions) tool/pytest/apptest.py:327: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ python_ = '/Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pypy/goal/pypy3.12-c' target_ = <function test_str_subclass at 0x00007fee5b920098> usemodules = ['unicodedata'], definitions = {}, defs = [] def run_with_python(python_, target_, usemodules, **definitions): if python_ is None: py.test.skip("Cannot find the default python3 interpreter to run with -A") defs = [] for symbol, value in sorted(definitions.items()): if isinstance(value, tuple) and isinstance(value[0], py.code.Source): code, args = value defs.append(str(code)) arg_repr = [] for arg in args: if isinstance(arg, types.FunctionType): arg_repr.append(arg.__name__) elif isinstance(arg, types.MethodType): arg_repr.append(arg.__name__) else: arg_repr.append(py3k_repr(arg)) args = ', '.join(arg_repr) defs.append("self.%s = anonymous(%s)\n" % (symbol, args)) elif isinstance(value, types.MethodType): # "def w_method(self)" code = py.code.Code(value) defs.append(str(code.source())) defs.append("type(self).%s = %s\n" % (symbol, value.__name__)) elif isinstance(value, types.ModuleType): name = value.__name__ defs.append("import %s; self.%s = %s\n" % (name, symbol, name)) elif isinstance(value, (str, unicode, int, long, float, list, tuple, dict)) or value is None: defs.append("self.%s = %s\n" % (symbol, py3k_repr(value))) check_usemodules = '' if usemodules: usemodules = [_rename_module(name) for name in usemodules] check_usemodules = """\ missing = set(%r).difference(sys.builtin_module_names) if missing: if not hasattr(sys, 'pypy_version_info'): # They may be extension modules on CPython name = None for name in missing.copy(): if name in ['cpyext', '_cffi_backend', '_rawffi']: missing.remove(name) continue try: __import__(name) except ImportError: pass else: missing.remove(name) del name if missing: sys.exit(81) del missing""" % usemodules source = list(py.code.Source(target_)) while source[0].startswith(('@py.test.mark.', '@pytest.mark.')): source.pop(0) source = source[1:] pyfile = udir.join('src.py') if isinstance(target_, str): # Special case of a docstring; the function name is the first word. target_name = target_.split('(', 1)[0] else: target_name = target_.__name__ with pyfile.open('w') as f: f.write(helpers % (pypyroot, check_usemodules)) f.write('\n'.join(defs)) f.write('def %s():\n' % target_name) f.write('\n'.join(source)) f.write("\ntry:\n %s()\n" % target_name) f.write('finally:\n print("===aefwuiheawiu===")') helper_dir = os.path.join(pypydir, 'tool', 'cpyext') env = os.environ.copy() env['PYTHONPATH'] = helper_dir res, stdout, stderr = run_subprocess( python_, [str(pyfile)], env=env) print pyfile.read() print "from", str(pyfile) print >> sys.stdout, stdout print >> sys.stderr, stderr if res == 81: py.test.skip('%r was not compiled w/ required usemodules: %r' % (python_, usemodules)) elif res != 0: raise AssertionError( > "Subprocess failed with exit code %s:\n%s" % (res, stderr)) E AssertionError: Subprocess failed with exit code 1: E Traceback (most recent call last): E File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 80, in <module> E test_str_subclass() E File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 78, in test_str_subclass E assert unicode(Foo9("hello")) == u"world" E ^^^^^^^ E NameError: name 'unicode' is not defined tool/pytest/apptest.py:239: AssertionError ----------------------------- Captured stdout call ----------------------------- # -*- encoding: utf-8 -*- if 1: import sys sys.path.append('/Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build') missing = set(['unicodedata']).difference(sys.builtin_module_names) if missing: if not hasattr(sys, 'pypy_version_info'): # They may be extension modules on CPython name = None for name in missing.copy(): if name in ['cpyext', '_cffi_backend', '_rawffi']: missing.remove(name) continue try: __import__(name) except ImportError: pass else: missing.remove(name) del name if missing: sys.exit(81) del missing def skip(message): print(message) raise SystemExit(0) __builtins__.skip = skip __builtins__.py3k_skip = skip class ExceptionWrapper: pass def raises(exc, *args, **kwargs): if not args: return RaisesContext(exc) func = args[0] args = args[1:] import os try: if isinstance(func, str): if func.startswith((' ', os.linesep, '\n')): # it's probably an indented block, so we prefix if True: # to avoid SyntaxError func = "if True:\n" + func frame = sys._getframe(1) exec(func, frame.f_globals, frame.f_locals) else: func(*args, **kwargs) except exc as e: res = ExceptionWrapper() res.value = e res.traceback = e.__traceback__ return res else: raise AssertionError("DID NOT RAISE") class RaisesContext(object): def __init__(self, expected_exception): self.expected_exception = expected_exception self.excinfo = None def __enter__(self): return self def __exit__(self, *tp): __tracebackhide__ = True if tp[0] is None: raise AssertionError("DID NOT RAISE") self.value = tp[1] return issubclass(tp[0], self.expected_exception) __builtins__.raises = raises class Test: pass self = Test() def test_str_subclass(): class Foo9(str): def __unicode__(self): return u"world" assert unicode(Foo9("hello")) == u"world" try: test_str_subclass() finally: print("===aefwuiheawiu===") from /tmp/buildbot-x86_64/usession-py3.12-4304/src.py ===aefwuiheawiu=== ----------------------------- Captured stderr call ----------------------------- Traceback (most recent call last): File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 80, in <module> test_str_subclass() File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 78, in test_str_subclass assert unicode(Foo9("hello")) == u"world" ^^^^^^^ NameError: name 'unicode' is not defined __________ AppTestUnicodeString.test_class_with_both_str_and_unicode ___________ self = <CallInfo when='call' exception: Subprocess failed with exit code 1: Traceback (most recent call last): File "/tmp/b...th_both_str_and_unicode assert unicode(A()) == u'bar' ^^^^^^^ NameError: name 'unicode' is not defined > func = <function <lambda> at 0x00007fee195a8368>, when = 'call' def __init__(self, func, when): #: context of invocation: one of "setup", "call", #: "teardown", "memocollect" self.when = when self.start = time() try: > self.result = func() ../_pytest/runner.py:150: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > return CallInfo(lambda: ihook(item=item, **kwds), when=when) ../_pytest/runner.py:138: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_HookCaller 'pytest_runtest_call'> kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_class_with_both_str_and_unicode...ll__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_class_with_both_str_and_unicode'>} def __call__(self, **kwargs): assert not self.is_historic() > return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs) ../_pytest/vendored_packages/pluggy.py:724: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.config.PytestPluginManager object at 0x00007fee588da5d0> hook = <_HookCaller 'pytest_runtest_call'>, methods = [] kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_class_with_both_str_and_unicode...ll__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_class_with_both_str_and_unicode'>} def _hookexec(self, hook, methods, kwargs): # called from all hookcaller instances. # enable_tracing will set its own wrapping function at self._inner_hookexec > return self._inner_hookexec(hook, methods, kwargs) ../_pytest/vendored_packages/pluggy.py:338: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook = <_HookCaller 'pytest_runtest_call'>, methods = [] kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_class_with_both_str_and_unicode...ll__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_class_with_both_str_and_unicode'>} self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_class_with_both_str_and_unicode'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: > return _wrapped_call(hook_impl.function(*args), self.execute) ../_pytest/vendored_packages/pluggy.py:595: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrap_controller = <generator object pytest_runtest_call at 0x00007fee18c06fe8> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 0 meths, kwargs={'i...nd_unicode'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>> def _wrapped_call(wrap_controller, func): """ Wrap calling to a function with a generator which needs to yield exactly once. The yield point will trigger calling the wrapped function and return its _CallOutcome to the yield point. The generator then needs to finish (raise StopIteration) in order for the wrapped call to complete. """ try: next(wrap_controller) # first yield except StopIteration: _raise_wrapfail(wrap_controller, "did not yield") call_outcome = _CallOutcome(func) try: wrap_controller.send(call_outcome) _raise_wrapfail(wrap_controller, "has second yield") except StopIteration: pass > return call_outcome.get_result() ../_pytest/vendored_packages/pluggy.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x00007fee2854c420> def get_result(self): if self.excinfo is None: return self.result else: ex = self.excinfo if _py3: raise ex[1].with_traceback(ex[2]) > _reraise(*ex) # noqa ../_pytest/vendored_packages/pluggy.py:279: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x00007fee2854c420> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 0 meths, kwargs={'i...nd_unicode'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_class_with_both_str_and_unicode'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: return _wrapped_call(hook_impl.function(*args), self.execute) > res = hook_impl.function(*args) ../_pytest/vendored_packages/pluggy.py:596: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = <AppTestMethod 'test_class_with_both_str_and_unicode'> def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <AppTestMethod 'test_class_with_both_str_and_unicode'> def runtest(self): target = self.obj src = extract_docstring_if_empty_function(target.im_func) space = target.im_self.space if self.config.option.runappdirect: appexec_definitions = self.parent.obj.__dict__ spaceconfig = getattr(self.parent.obj, 'spaceconfig', None) usemodules = spaceconfig.get('usemodules') if spaceconfig else None return run_with_python(self.config.option.python, src, usemodules, > **appexec_definitions) tool/pytest/apptest.py:327: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ python_ = '/Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pypy/goal/pypy3.12-c' target_ = <function test_class_with_both_str_and_unicode at 0x00007fee5b920110> usemodules = ['unicodedata'], definitions = {}, defs = [] def run_with_python(python_, target_, usemodules, **definitions): if python_ is None: py.test.skip("Cannot find the default python3 interpreter to run with -A") defs = [] for symbol, value in sorted(definitions.items()): if isinstance(value, tuple) and isinstance(value[0], py.code.Source): code, args = value defs.append(str(code)) arg_repr = [] for arg in args: if isinstance(arg, types.FunctionType): arg_repr.append(arg.__name__) elif isinstance(arg, types.MethodType): arg_repr.append(arg.__name__) else: arg_repr.append(py3k_repr(arg)) args = ', '.join(arg_repr) defs.append("self.%s = anonymous(%s)\n" % (symbol, args)) elif isinstance(value, types.MethodType): # "def w_method(self)" code = py.code.Code(value) defs.append(str(code.source())) defs.append("type(self).%s = %s\n" % (symbol, value.__name__)) elif isinstance(value, types.ModuleType): name = value.__name__ defs.append("import %s; self.%s = %s\n" % (name, symbol, name)) elif isinstance(value, (str, unicode, int, long, float, list, tuple, dict)) or value is None: defs.append("self.%s = %s\n" % (symbol, py3k_repr(value))) check_usemodules = '' if usemodules: usemodules = [_rename_module(name) for name in usemodules] check_usemodules = """\ missing = set(%r).difference(sys.builtin_module_names) if missing: if not hasattr(sys, 'pypy_version_info'): # They may be extension modules on CPython name = None for name in missing.copy(): if name in ['cpyext', '_cffi_backend', '_rawffi']: missing.remove(name) continue try: __import__(name) except ImportError: pass else: missing.remove(name) del name if missing: sys.exit(81) del missing""" % usemodules source = list(py.code.Source(target_)) while source[0].startswith(('@py.test.mark.', '@pytest.mark.')): source.pop(0) source = source[1:] pyfile = udir.join('src.py') if isinstance(target_, str): # Special case of a docstring; the function name is the first word. target_name = target_.split('(', 1)[0] else: target_name = target_.__name__ with pyfile.open('w') as f: f.write(helpers % (pypyroot, check_usemodules)) f.write('\n'.join(defs)) f.write('def %s():\n' % target_name) f.write('\n'.join(source)) f.write("\ntry:\n %s()\n" % target_name) f.write('finally:\n print("===aefwuiheawiu===")') helper_dir = os.path.join(pypydir, 'tool', 'cpyext') env = os.environ.copy() env['PYTHONPATH'] = helper_dir res, stdout, stderr = run_subprocess( python_, [str(pyfile)], env=env) print pyfile.read() print "from", str(pyfile) print >> sys.stdout, stdout print >> sys.stderr, stderr if res == 81: py.test.skip('%r was not compiled w/ required usemodules: %r' % (python_, usemodules)) elif res != 0: raise AssertionError( > "Subprocess failed with exit code %s:\n%s" % (res, stderr)) E AssertionError: Subprocess failed with exit code 1: E Traceback (most recent call last): E File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 93, in <module> E test_class_with_both_str_and_unicode() E File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 82, in test_class_with_both_str_and_unicode E assert unicode(A()) == u'bar' E ^^^^^^^ E NameError: name 'unicode' is not defined tool/pytest/apptest.py:239: AssertionError ----------------------------- Captured stdout call ----------------------------- # -*- encoding: utf-8 -*- if 1: import sys sys.path.append('/Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build') missing = set(['unicodedata']).difference(sys.builtin_module_names) if missing: if not hasattr(sys, 'pypy_version_info'): # They may be extension modules on CPython name = None for name in missing.copy(): if name in ['cpyext', '_cffi_backend', '_rawffi']: missing.remove(name) continue try: __import__(name) except ImportError: pass else: missing.remove(name) del name if missing: sys.exit(81) del missing def skip(message): print(message) raise SystemExit(0) __builtins__.skip = skip __builtins__.py3k_skip = skip class ExceptionWrapper: pass def raises(exc, *args, **kwargs): if not args: return RaisesContext(exc) func = args[0] args = args[1:] import os try: if isinstance(func, str): if func.startswith((' ', os.linesep, '\n')): # it's probably an indented block, so we prefix if True: # to avoid SyntaxError func = "if True:\n" + func frame = sys._getframe(1) exec(func, frame.f_globals, frame.f_locals) else: func(*args, **kwargs) except exc as e: res = ExceptionWrapper() res.value = e res.traceback = e.__traceback__ return res else: raise AssertionError("DID NOT RAISE") class RaisesContext(object): def __init__(self, expected_exception): self.expected_exception = expected_exception self.excinfo = None def __enter__(self): return self def __exit__(self, *tp): __tracebackhide__ = True if tp[0] is None: raise AssertionError("DID NOT RAISE") self.value = tp[1] return issubclass(tp[0], self.expected_exception) __builtins__.raises = raises class Test: pass self = Test() def test_class_with_both_str_and_unicode(): class A(object): def __str__(self): return 'foo' def __unicode__(self): return u'bar' assert unicode(A()) == u'bar' class A: def __str__(self): return 'foo' def __unicode__(self): return u'bar' assert unicode(A()) == u'bar' try: test_class_with_both_str_and_unicode() finally: print("===aefwuiheawiu===") from /tmp/buildbot-x86_64/usession-py3.12-4304/src.py ===aefwuiheawiu=== ----------------------------- Captured stderr call ----------------------------- Traceback (most recent call last): File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 93, in <module> test_class_with_both_str_and_unicode() File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 82, in test_class_with_both_str_and_unicode assert unicode(A()) == u'bar' ^^^^^^^ NameError: name 'unicode' is not defined ______________ AppTestUnicodeString.test_format_unicode_subclass _______________ self = <CallInfo when='call' exception: Subprocess failed with exit code 1: Traceback (most recent call last): File "/tmp/b...5, in test_format_unicode_subclass class U(unicode): ^^^^^^^ NameError: name 'unicode' is not defined > func = <function <lambda> at 0x00007fee195a91f0>, when = 'call' def __init__(self, func, when): #: context of invocation: one of "setup", "call", #: "teardown", "memocollect" self.when = when self.start = time() try: > self.result = func() ../_pytest/runner.py:150: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > return CallInfo(lambda: ihook(item=item, **kwds), when=when) ../_pytest/runner.py:138: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_HookCaller 'pytest_runtest_call'> kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_format_unicode_subclass'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_format_unicode_subclass'>} def __call__(self, **kwargs): assert not self.is_historic() > return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs) ../_pytest/vendored_packages/pluggy.py:724: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.config.PytestPluginManager object at 0x00007fee588da5d0> hook = <_HookCaller 'pytest_runtest_call'>, methods = [] kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_format_unicode_subclass'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_format_unicode_subclass'>} def _hookexec(self, hook, methods, kwargs): # called from all hookcaller instances. # enable_tracing will set its own wrapping function at self._inner_hookexec > return self._inner_hookexec(hook, methods, kwargs) ../_pytest/vendored_packages/pluggy.py:338: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook = <_HookCaller 'pytest_runtest_call'>, methods = [] kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_format_unicode_subclass'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_format_unicode_subclass'>} self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_format_unicode_subclass'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: > return _wrapped_call(hook_impl.function(*args), self.execute) ../_pytest/vendored_packages/pluggy.py:595: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrap_controller = <generator object pytest_runtest_call at 0x00007fee5d002340> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 0 meths, kwargs={'i...e_subclass'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>> def _wrapped_call(wrap_controller, func): """ Wrap calling to a function with a generator which needs to yield exactly once. The yield point will trigger calling the wrapped function and return its _CallOutcome to the yield point. The generator then needs to finish (raise StopIteration) in order for the wrapped call to complete. """ try: next(wrap_controller) # first yield except StopIteration: _raise_wrapfail(wrap_controller, "did not yield") call_outcome = _CallOutcome(func) try: wrap_controller.send(call_outcome) _raise_wrapfail(wrap_controller, "has second yield") except StopIteration: pass > return call_outcome.get_result() ../_pytest/vendored_packages/pluggy.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x00007fee287099e0> def get_result(self): if self.excinfo is None: return self.result else: ex = self.excinfo if _py3: raise ex[1].with_traceback(ex[2]) > _reraise(*ex) # noqa ../_pytest/vendored_packages/pluggy.py:279: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x00007fee287099e0> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 0 meths, kwargs={'i...e_subclass'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_format_unicode_subclass'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: return _wrapped_call(hook_impl.function(*args), self.execute) > res = hook_impl.function(*args) ../_pytest/vendored_packages/pluggy.py:596: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = <AppTestMethod 'test_format_unicode_subclass'> def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <AppTestMethod 'test_format_unicode_subclass'> def runtest(self): target = self.obj src = extract_docstring_if_empty_function(target.im_func) space = target.im_self.space if self.config.option.runappdirect: appexec_definitions = self.parent.obj.__dict__ spaceconfig = getattr(self.parent.obj, 'spaceconfig', None) usemodules = spaceconfig.get('usemodules') if spaceconfig else None return run_with_python(self.config.option.python, src, usemodules, > **appexec_definitions) tool/pytest/apptest.py:327: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ python_ = '/Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pypy/goal/pypy3.12-c' target_ = <function test_format_unicode_subclass at 0x00007fee5b920188> usemodules = ['unicodedata'], definitions = {}, defs = [] def run_with_python(python_, target_, usemodules, **definitions): if python_ is None: py.test.skip("Cannot find the default python3 interpreter to run with -A") defs = [] for symbol, value in sorted(definitions.items()): if isinstance(value, tuple) and isinstance(value[0], py.code.Source): code, args = value defs.append(str(code)) arg_repr = [] for arg in args: if isinstance(arg, types.FunctionType): arg_repr.append(arg.__name__) elif isinstance(arg, types.MethodType): arg_repr.append(arg.__name__) else: arg_repr.append(py3k_repr(arg)) args = ', '.join(arg_repr) defs.append("self.%s = anonymous(%s)\n" % (symbol, args)) elif isinstance(value, types.MethodType): # "def w_method(self)" code = py.code.Code(value) defs.append(str(code.source())) defs.append("type(self).%s = %s\n" % (symbol, value.__name__)) elif isinstance(value, types.ModuleType): name = value.__name__ defs.append("import %s; self.%s = %s\n" % (name, symbol, name)) elif isinstance(value, (str, unicode, int, long, float, list, tuple, dict)) or value is None: defs.append("self.%s = %s\n" % (symbol, py3k_repr(value))) check_usemodules = '' if usemodules: usemodules = [_rename_module(name) for name in usemodules] check_usemodules = """\ missing = set(%r).difference(sys.builtin_module_names) if missing: if not hasattr(sys, 'pypy_version_info'): # They may be extension modules on CPython name = None for name in missing.copy(): if name in ['cpyext', '_cffi_backend', '_rawffi']: missing.remove(name) continue try: __import__(name) except ImportError: pass else: missing.remove(name) del name if missing: sys.exit(81) del missing""" % usemodules source = list(py.code.Source(target_)) while source[0].startswith(('@py.test.mark.', '@pytest.mark.')): source.pop(0) source = source[1:] pyfile = udir.join('src.py') if isinstance(target_, str): # Special case of a docstring; the function name is the first word. target_name = target_.split('(', 1)[0] else: target_name = target_.__name__ with pyfile.open('w') as f: f.write(helpers % (pypyroot, check_usemodules)) f.write('\n'.join(defs)) f.write('def %s():\n' % target_name) f.write('\n'.join(source)) f.write("\ntry:\n %s()\n" % target_name) f.write('finally:\n print("===aefwuiheawiu===")') helper_dir = os.path.join(pypydir, 'tool', 'cpyext') env = os.environ.copy() env['PYTHONPATH'] = helper_dir res, stdout, stderr = run_subprocess( python_, [str(pyfile)], env=env) print pyfile.read() print "from", str(pyfile) print >> sys.stdout, stdout print >> sys.stderr, stderr if res == 81: py.test.skip('%r was not compiled w/ required usemodules: %r' % (python_, usemodules)) elif res != 0: raise AssertionError( > "Subprocess failed with exit code %s:\n%s" % (res, stderr)) E AssertionError: Subprocess failed with exit code 1: E Traceback (most recent call last): E File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 82, in <module> E test_format_unicode_subclass() E File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 75, in test_format_unicode_subclass E class U(unicode): E ^^^^^^^ E NameError: name 'unicode' is not defined tool/pytest/apptest.py:239: AssertionError ----------------------------- Captured stdout call ----------------------------- # -*- encoding: utf-8 -*- if 1: import sys sys.path.append('/Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build') missing = set(['unicodedata']).difference(sys.builtin_module_names) if missing: if not hasattr(sys, 'pypy_version_info'): # They may be extension modules on CPython name = None for name in missing.copy(): if name in ['cpyext', '_cffi_backend', '_rawffi']: missing.remove(name) continue try: __import__(name) except ImportError: pass else: missing.remove(name) del name if missing: sys.exit(81) del missing def skip(message): print(message) raise SystemExit(0) __builtins__.skip = skip __builtins__.py3k_skip = skip class ExceptionWrapper: pass def raises(exc, *args, **kwargs): if not args: return RaisesContext(exc) func = args[0] args = args[1:] import os try: if isinstance(func, str): if func.startswith((' ', os.linesep, '\n')): # it's probably an indented block, so we prefix if True: # to avoid SyntaxError func = "if True:\n" + func frame = sys._getframe(1) exec(func, frame.f_globals, frame.f_locals) else: func(*args, **kwargs) except exc as e: res = ExceptionWrapper() res.value = e res.traceback = e.__traceback__ return res else: raise AssertionError("DID NOT RAISE") class RaisesContext(object): def __init__(self, expected_exception): self.expected_exception = expected_exception self.excinfo = None def __enter__(self): return self def __exit__(self, *tp): __tracebackhide__ = True if tp[0] is None: raise AssertionError("DID NOT RAISE") self.value = tp[1] return issubclass(tp[0], self.expected_exception) __builtins__.raises = raises class Test: pass self = Test() def test_format_unicode_subclass(): class U(unicode): def __unicode__(self): return u'__unicode__ overridden' u = U(u'xxx') assert repr("%s" % u) == "u'__unicode__ overridden'" assert repr("{}".format(u)) == "'__unicode__ overridden'" try: test_format_unicode_subclass() finally: print("===aefwuiheawiu===") from /tmp/buildbot-x86_64/usession-py3.12-4304/src.py ===aefwuiheawiu=== ----------------------------- Captured stderr call ----------------------------- Traceback (most recent call last): File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 82, in <module> test_format_unicode_subclass() File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 75, in test_format_unicode_subclass class U(unicode): ^^^^^^^ NameError: name 'unicode' is not defined ________________ AppTestUnicodeString.test_replace_with_buffer _________________ self = <CallInfo when='call' exception: Subprocess failed with exit code 1: Traceback (most recent call last): File "/tmp/b....replace(buffer('b'), buffer('e')) == u'aec' ^^^^^^ NameError: name 'buffer' is not defined > func = <function <lambda> at 0x00007fee19390890>, when = 'call' def __init__(self, func, when): #: context of invocation: one of "setup", "call", #: "teardown", "memocollect" self.when = when self.start = time() try: > self.result = func() ../_pytest/runner.py:150: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > return CallInfo(lambda: ihook(item=item, **kwds), when=when) ../_pytest/runner.py:138: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_HookCaller 'pytest_runtest_call'> kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_replace_with_buffer'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_replace_with_buffer'>} def __call__(self, **kwargs): assert not self.is_historic() > return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs) ../_pytest/vendored_packages/pluggy.py:724: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.config.PytestPluginManager object at 0x00007fee588da5d0> hook = <_HookCaller 'pytest_runtest_call'>, methods = [] kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_replace_with_buffer'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_replace_with_buffer'>} def _hookexec(self, hook, methods, kwargs): # called from all hookcaller instances. # enable_tracing will set its own wrapping function at self._inner_hookexec > return self._inner_hookexec(hook, methods, kwargs) ../_pytest/vendored_packages/pluggy.py:338: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook = <_HookCaller 'pytest_runtest_call'>, methods = [] kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_replace_with_buffer'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_replace_with_buffer'>} self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_replace_with_buffer'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: > return _wrapped_call(hook_impl.function(*args), self.execute) ../_pytest/vendored_packages/pluggy.py:595: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrap_controller = <generator object pytest_runtest_call at 0x00007fee5ced5178> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 0 meths, kwargs={'i...ith_buffer'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>> def _wrapped_call(wrap_controller, func): """ Wrap calling to a function with a generator which needs to yield exactly once. The yield point will trigger calling the wrapped function and return its _CallOutcome to the yield point. The generator then needs to finish (raise StopIteration) in order for the wrapped call to complete. """ try: next(wrap_controller) # first yield except StopIteration: _raise_wrapfail(wrap_controller, "did not yield") call_outcome = _CallOutcome(func) try: wrap_controller.send(call_outcome) _raise_wrapfail(wrap_controller, "has second yield") except StopIteration: pass > return call_outcome.get_result() ../_pytest/vendored_packages/pluggy.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x00007fee288d26e0> def get_result(self): if self.excinfo is None: return self.result else: ex = self.excinfo if _py3: raise ex[1].with_traceback(ex[2]) > _reraise(*ex) # noqa ../_pytest/vendored_packages/pluggy.py:279: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x00007fee288d26e0> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 0 meths, kwargs={'i...ith_buffer'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_replace_with_buffer'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: return _wrapped_call(hook_impl.function(*args), self.execute) > res = hook_impl.function(*args) ../_pytest/vendored_packages/pluggy.py:596: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = <AppTestMethod 'test_replace_with_buffer'> def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <AppTestMethod 'test_replace_with_buffer'> def runtest(self): target = self.obj src = extract_docstring_if_empty_function(target.im_func) space = target.im_self.space if self.config.option.runappdirect: appexec_definitions = self.parent.obj.__dict__ spaceconfig = getattr(self.parent.obj, 'spaceconfig', None) usemodules = spaceconfig.get('usemodules') if spaceconfig else None return run_with_python(self.config.option.python, src, usemodules, > **appexec_definitions) tool/pytest/apptest.py:327: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ python_ = '/Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pypy/goal/pypy3.12-c' target_ = <function test_replace_with_buffer at 0x00007fee5b920278> usemodules = ['unicodedata'], definitions = {}, defs = [] def run_with_python(python_, target_, usemodules, **definitions): if python_ is None: py.test.skip("Cannot find the default python3 interpreter to run with -A") defs = [] for symbol, value in sorted(definitions.items()): if isinstance(value, tuple) and isinstance(value[0], py.code.Source): code, args = value defs.append(str(code)) arg_repr = [] for arg in args: if isinstance(arg, types.FunctionType): arg_repr.append(arg.__name__) elif isinstance(arg, types.MethodType): arg_repr.append(arg.__name__) else: arg_repr.append(py3k_repr(arg)) args = ', '.join(arg_repr) defs.append("self.%s = anonymous(%s)\n" % (symbol, args)) elif isinstance(value, types.MethodType): # "def w_method(self)" code = py.code.Code(value) defs.append(str(code.source())) defs.append("type(self).%s = %s\n" % (symbol, value.__name__)) elif isinstance(value, types.ModuleType): name = value.__name__ defs.append("import %s; self.%s = %s\n" % (name, symbol, name)) elif isinstance(value, (str, unicode, int, long, float, list, tuple, dict)) or value is None: defs.append("self.%s = %s\n" % (symbol, py3k_repr(value))) check_usemodules = '' if usemodules: usemodules = [_rename_module(name) for name in usemodules] check_usemodules = """\ missing = set(%r).difference(sys.builtin_module_names) if missing: if not hasattr(sys, 'pypy_version_info'): # They may be extension modules on CPython name = None for name in missing.copy(): if name in ['cpyext', '_cffi_backend', '_rawffi']: missing.remove(name) continue try: __import__(name) except ImportError: pass else: missing.remove(name) del name if missing: sys.exit(81) del missing""" % usemodules source = list(py.code.Source(target_)) while source[0].startswith(('@py.test.mark.', '@pytest.mark.')): source.pop(0) source = source[1:] pyfile = udir.join('src.py') if isinstance(target_, str): # Special case of a docstring; the function name is the first word. target_name = target_.split('(', 1)[0] else: target_name = target_.__name__ with pyfile.open('w') as f: f.write(helpers % (pypyroot, check_usemodules)) f.write('\n'.join(defs)) f.write('def %s():\n' % target_name) f.write('\n'.join(source)) f.write("\ntry:\n %s()\n" % target_name) f.write('finally:\n print("===aefwuiheawiu===")') helper_dir = os.path.join(pypydir, 'tool', 'cpyext') env = os.environ.copy() env['PYTHONPATH'] = helper_dir res, stdout, stderr = run_subprocess( python_, [str(pyfile)], env=env) print pyfile.read() print "from", str(pyfile) print >> sys.stdout, stdout print >> sys.stderr, stderr if res == 81: py.test.skip('%r was not compiled w/ required usemodules: %r' % (python_, usemodules)) elif res != 0: raise AssertionError( > "Subprocess failed with exit code %s:\n%s" % (res, stderr)) E AssertionError: Subprocess failed with exit code 1: E Traceback (most recent call last): E File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 79, in <module> E test_replace_with_buffer() E File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 75, in test_replace_with_buffer E assert u'abc'.replace(buffer('b'), buffer('e')) == u'aec' E ^^^^^^ E NameError: name 'buffer' is not defined tool/pytest/apptest.py:239: AssertionError ----------------------------- Captured stdout call ----------------------------- # -*- encoding: utf-8 -*- if 1: import sys sys.path.append('/Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build') missing = set(['unicodedata']).difference(sys.builtin_module_names) if missing: if not hasattr(sys, 'pypy_version_info'): # They may be extension modules on CPython name = None for name in missing.copy(): if name in ['cpyext', '_cffi_backend', '_rawffi']: missing.remove(name) continue try: __import__(name) except ImportError: pass else: missing.remove(name) del name if missing: sys.exit(81) del missing def skip(message): print(message) raise SystemExit(0) __builtins__.skip = skip __builtins__.py3k_skip = skip class ExceptionWrapper: pass def raises(exc, *args, **kwargs): if not args: return RaisesContext(exc) func = args[0] args = args[1:] import os try: if isinstance(func, str): if func.startswith((' ', os.linesep, '\n')): # it's probably an indented block, so we prefix if True: # to avoid SyntaxError func = "if True:\n" + func frame = sys._getframe(1) exec(func, frame.f_globals, frame.f_locals) else: func(*args, **kwargs) except exc as e: res = ExceptionWrapper() res.value = e res.traceback = e.__traceback__ return res else: raise AssertionError("DID NOT RAISE") class RaisesContext(object): def __init__(self, expected_exception): self.expected_exception = expected_exception self.excinfo = None def __enter__(self): return self def __exit__(self, *tp): __tracebackhide__ = True if tp[0] is None: raise AssertionError("DID NOT RAISE") self.value = tp[1] return issubclass(tp[0], self.expected_exception) __builtins__.raises = raises class Test: pass self = Test() def test_replace_with_buffer(): assert u'abc'.replace(buffer('b'), buffer('e')) == u'aec' assert u'abc'.replace(buffer('b'), u'e') == u'aec' assert u'abc'.replace(u'b', buffer('e')) == u'aec' try: test_replace_with_buffer() finally: print("===aefwuiheawiu===") from /tmp/buildbot-x86_64/usession-py3.12-4304/src.py ===aefwuiheawiu=== ----------------------------- Captured stderr call ----------------------------- Traceback (most recent call last): File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 79, in <module> test_replace_with_buffer() File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 75, in test_replace_with_buffer assert u'abc'.replace(buffer('b'), buffer('e')) == u'aec' ^^^^^^ NameError: name 'buffer' is not defined __________________ AppTestUnicodeString.test_unicode_subclass __________________ self = <CallInfo when='call' exception: Subprocess failed with exit code 1: Traceback (most recent call last): File "/tmp/b... line 75, in test_unicode_subclass class S(unicode): ^^^^^^^ NameError: name 'unicode' is not defined > func = <function <lambda> at 0x00007fee19391cb8>, when = 'call' def __init__(self, func, when): #: context of invocation: one of "setup", "call", #: "teardown", "memocollect" self.when = when self.start = time() try: > self.result = func() ../_pytest/runner.py:150: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > return CallInfo(lambda: ihook(item=item, **kwds), when=when) ../_pytest/runner.py:138: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_HookCaller 'pytest_runtest_call'> kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_unicode_subclass'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_unicode_subclass'>} def __call__(self, **kwargs): assert not self.is_historic() > return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs) ../_pytest/vendored_packages/pluggy.py:724: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.config.PytestPluginManager object at 0x00007fee588da5d0> hook = <_HookCaller 'pytest_runtest_call'>, methods = [] kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_unicode_subclass'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_unicode_subclass'>} def _hookexec(self, hook, methods, kwargs): # called from all hookcaller instances. # enable_tracing will set its own wrapping function at self._inner_hookexec > return self._inner_hookexec(hook, methods, kwargs) ../_pytest/vendored_packages/pluggy.py:338: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook = <_HookCaller 'pytest_runtest_call'>, methods = [] kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_unicode_subclass'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_unicode_subclass'>} self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_unicode_subclass'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: > return _wrapped_call(hook_impl.function(*args), self.execute) ../_pytest/vendored_packages/pluggy.py:595: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrap_controller = <generator object pytest_runtest_call at 0x00007fee5b89d740> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 0 meths, kwargs={'i...e_subclass'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>> def _wrapped_call(wrap_controller, func): """ Wrap calling to a function with a generator which needs to yield exactly once. The yield point will trigger calling the wrapped function and return its _CallOutcome to the yield point. The generator then needs to finish (raise StopIteration) in order for the wrapped call to complete. """ try: next(wrap_controller) # first yield except StopIteration: _raise_wrapfail(wrap_controller, "did not yield") call_outcome = _CallOutcome(func) try: wrap_controller.send(call_outcome) _raise_wrapfail(wrap_controller, "has second yield") except StopIteration: pass > return call_outcome.get_result() ../_pytest/vendored_packages/pluggy.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x00007fee184ca5e0> def get_result(self): if self.excinfo is None: return self.result else: ex = self.excinfo if _py3: raise ex[1].with_traceback(ex[2]) > _reraise(*ex) # noqa ../_pytest/vendored_packages/pluggy.py:279: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x00007fee184ca5e0> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 0 meths, kwargs={'i...e_subclass'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_unicode_subclass'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: return _wrapped_call(hook_impl.function(*args), self.execute) > res = hook_impl.function(*args) ../_pytest/vendored_packages/pluggy.py:596: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = <AppTestMethod 'test_unicode_subclass'> def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <AppTestMethod 'test_unicode_subclass'> def runtest(self): target = self.obj src = extract_docstring_if_empty_function(target.im_func) space = target.im_self.space if self.config.option.runappdirect: appexec_definitions = self.parent.obj.__dict__ spaceconfig = getattr(self.parent.obj, 'spaceconfig', None) usemodules = spaceconfig.get('usemodules') if spaceconfig else None return run_with_python(self.config.option.python, src, usemodules, > **appexec_definitions) tool/pytest/apptest.py:327: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ python_ = '/Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pypy/goal/pypy3.12-c' target_ = <function test_unicode_subclass at 0x00007fee5b9202f0> usemodules = ['unicodedata'], definitions = {}, defs = [] def run_with_python(python_, target_, usemodules, **definitions): if python_ is None: py.test.skip("Cannot find the default python3 interpreter to run with -A") defs = [] for symbol, value in sorted(definitions.items()): if isinstance(value, tuple) and isinstance(value[0], py.code.Source): code, args = value defs.append(str(code)) arg_repr = [] for arg in args: if isinstance(arg, types.FunctionType): arg_repr.append(arg.__name__) elif isinstance(arg, types.MethodType): arg_repr.append(arg.__name__) else: arg_repr.append(py3k_repr(arg)) args = ', '.join(arg_repr) defs.append("self.%s = anonymous(%s)\n" % (symbol, args)) elif isinstance(value, types.MethodType): # "def w_method(self)" code = py.code.Code(value) defs.append(str(code.source())) defs.append("type(self).%s = %s\n" % (symbol, value.__name__)) elif isinstance(value, types.ModuleType): name = value.__name__ defs.append("import %s; self.%s = %s\n" % (name, symbol, name)) elif isinstance(value, (str, unicode, int, long, float, list, tuple, dict)) or value is None: defs.append("self.%s = %s\n" % (symbol, py3k_repr(value))) check_usemodules = '' if usemodules: usemodules = [_rename_module(name) for name in usemodules] check_usemodules = """\ missing = set(%r).difference(sys.builtin_module_names) if missing: if not hasattr(sys, 'pypy_version_info'): # They may be extension modules on CPython name = None for name in missing.copy(): if name in ['cpyext', '_cffi_backend', '_rawffi']: missing.remove(name) continue try: __import__(name) except ImportError: pass else: missing.remove(name) del name if missing: sys.exit(81) del missing""" % usemodules source = list(py.code.Source(target_)) while source[0].startswith(('@py.test.mark.', '@pytest.mark.')): source.pop(0) source = source[1:] pyfile = udir.join('src.py') if isinstance(target_, str): # Special case of a docstring; the function name is the first word. target_name = target_.split('(', 1)[0] else: target_name = target_.__name__ with pyfile.open('w') as f: f.write(helpers % (pypyroot, check_usemodules)) f.write('\n'.join(defs)) f.write('def %s():\n' % target_name) f.write('\n'.join(source)) f.write("\ntry:\n %s()\n" % target_name) f.write('finally:\n print("===aefwuiheawiu===")') helper_dir = os.path.join(pypydir, 'tool', 'cpyext') env = os.environ.copy() env['PYTHONPATH'] = helper_dir res, stdout, stderr = run_subprocess( python_, [str(pyfile)], env=env) print pyfile.read() print "from", str(pyfile) print >> sys.stdout, stdout print >> sys.stderr, stderr if res == 81: py.test.skip('%r was not compiled w/ required usemodules: %r' % (python_, usemodules)) elif res != 0: raise AssertionError( > "Subprocess failed with exit code %s:\n%s" % (res, stderr)) E AssertionError: Subprocess failed with exit code 1: E Traceback (most recent call last): E File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 85, in <module> E test_unicode_subclass() E File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 75, in test_unicode_subclass E class S(unicode): E ^^^^^^^ E NameError: name 'unicode' is not defined tool/pytest/apptest.py:239: AssertionError ----------------------------- Captured stdout call ----------------------------- # -*- encoding: utf-8 -*- if 1: import sys sys.path.append('/Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build') missing = set(['unicodedata']).difference(sys.builtin_module_names) if missing: if not hasattr(sys, 'pypy_version_info'): # They may be extension modules on CPython name = None for name in missing.copy(): if name in ['cpyext', '_cffi_backend', '_rawffi']: missing.remove(name) continue try: __import__(name) except ImportError: pass else: missing.remove(name) del name if missing: sys.exit(81) del missing def skip(message): print(message) raise SystemExit(0) __builtins__.skip = skip __builtins__.py3k_skip = skip class ExceptionWrapper: pass def raises(exc, *args, **kwargs): if not args: return RaisesContext(exc) func = args[0] args = args[1:] import os try: if isinstance(func, str): if func.startswith((' ', os.linesep, '\n')): # it's probably an indented block, so we prefix if True: # to avoid SyntaxError func = "if True:\n" + func frame = sys._getframe(1) exec(func, frame.f_globals, frame.f_locals) else: func(*args, **kwargs) except exc as e: res = ExceptionWrapper() res.value = e res.traceback = e.__traceback__ return res else: raise AssertionError("DID NOT RAISE") class RaisesContext(object): def __init__(self, expected_exception): self.expected_exception = expected_exception self.excinfo = None def __enter__(self): return self def __exit__(self, *tp): __tracebackhide__ = True if tp[0] is None: raise AssertionError("DID NOT RAISE") self.value = tp[1] return issubclass(tp[0], self.expected_exception) __builtins__.raises = raises class Test: pass self = Test() def test_unicode_subclass(): class S(unicode): pass a = S(u'hello \u1234') b = unicode(a) assert type(b) is unicode assert b == u'hello \u1234' assert u'%s' % S(u'mar\xe7') == u'mar\xe7' try: test_unicode_subclass() finally: print("===aefwuiheawiu===") from /tmp/buildbot-x86_64/usession-py3.12-4304/src.py ===aefwuiheawiu=== ----------------------------- Captured stderr call ----------------------------- Traceback (most recent call last): File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 85, in <module> test_unicode_subclass() File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 75, in test_unicode_subclass class S(unicode): ^^^^^^^ NameError: name 'unicode' is not defined ________________ AppTestUnicodeString.test_replace_str_unicode _________________ self = <CallInfo when='call' exception: Subprocess failed with exit code 1: Traceback (most recent call last): File "/tmp/b..._str_unicode assert type(res) == unicode ^^^^^^^ NameError: name 'unicode' is not defined > func = <function <lambda> at 0x00007fee192389f8>, when = 'call' def __init__(self, func, when): #: context of invocation: one of "setup", "call", #: "teardown", "memocollect" self.when = when self.start = time() try: > self.result = func() ../_pytest/runner.py:150: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > return CallInfo(lambda: ihook(item=item, **kwds), when=when) ../_pytest/runner.py:138: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_HookCaller 'pytest_runtest_call'> kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_replace_str_unicode'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_replace_str_unicode'>} def __call__(self, **kwargs): assert not self.is_historic() > return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs) ../_pytest/vendored_packages/pluggy.py:724: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.config.PytestPluginManager object at 0x00007fee588da5d0> hook = <_HookCaller 'pytest_runtest_call'>, methods = [] kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_replace_str_unicode'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_replace_str_unicode'>} def _hookexec(self, hook, methods, kwargs): # called from all hookcaller instances. # enable_tracing will set its own wrapping function at self._inner_hookexec > return self._inner_hookexec(hook, methods, kwargs) ../_pytest/vendored_packages/pluggy.py:338: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook = <_HookCaller 'pytest_runtest_call'>, methods = [] kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_replace_str_unicode'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_replace_str_unicode'>} self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_replace_str_unicode'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: > return _wrapped_call(hook_impl.function(*args), self.execute) ../_pytest/vendored_packages/pluggy.py:595: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrap_controller = <generator object pytest_runtest_call at 0x00007fee18cfc4f8> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 0 meths, kwargs={'i...tr_unicode'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>> def _wrapped_call(wrap_controller, func): """ Wrap calling to a function with a generator which needs to yield exactly once. The yield point will trigger calling the wrapped function and return its _CallOutcome to the yield point. The generator then needs to finish (raise StopIteration) in order for the wrapped call to complete. """ try: next(wrap_controller) # first yield except StopIteration: _raise_wrapfail(wrap_controller, "did not yield") call_outcome = _CallOutcome(func) try: wrap_controller.send(call_outcome) _raise_wrapfail(wrap_controller, "has second yield") except StopIteration: pass > return call_outcome.get_result() ../_pytest/vendored_packages/pluggy.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x00007fee193d9220> def get_result(self): if self.excinfo is None: return self.result else: ex = self.excinfo if _py3: raise ex[1].with_traceback(ex[2]) > _reraise(*ex) # noqa ../_pytest/vendored_packages/pluggy.py:279: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x00007fee193d9220> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 0 meths, kwargs={'i...tr_unicode'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_replace_str_unicode'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: return _wrapped_call(hook_impl.function(*args), self.execute) > res = hook_impl.function(*args) ../_pytest/vendored_packages/pluggy.py:596: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = <AppTestMethod 'test_replace_str_unicode'> def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <AppTestMethod 'test_replace_str_unicode'> def runtest(self): target = self.obj src = extract_docstring_if_empty_function(target.im_func) space = target.im_self.space if self.config.option.runappdirect: appexec_definitions = self.parent.obj.__dict__ spaceconfig = getattr(self.parent.obj, 'spaceconfig', None) usemodules = spaceconfig.get('usemodules') if spaceconfig else None return run_with_python(self.config.option.python, src, usemodules, > **appexec_definitions) tool/pytest/apptest.py:327: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ python_ = '/Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pypy/goal/pypy3.12-c' target_ = <function test_replace_str_unicode at 0x00007fee5b920458> usemodules = ['unicodedata'], definitions = {}, defs = [] def run_with_python(python_, target_, usemodules, **definitions): if python_ is None: py.test.skip("Cannot find the default python3 interpreter to run with -A") defs = [] for symbol, value in sorted(definitions.items()): if isinstance(value, tuple) and isinstance(value[0], py.code.Source): code, args = value defs.append(str(code)) arg_repr = [] for arg in args: if isinstance(arg, types.FunctionType): arg_repr.append(arg.__name__) elif isinstance(arg, types.MethodType): arg_repr.append(arg.__name__) else: arg_repr.append(py3k_repr(arg)) args = ', '.join(arg_repr) defs.append("self.%s = anonymous(%s)\n" % (symbol, args)) elif isinstance(value, types.MethodType): # "def w_method(self)" code = py.code.Code(value) defs.append(str(code.source())) defs.append("type(self).%s = %s\n" % (symbol, value.__name__)) elif isinstance(value, types.ModuleType): name = value.__name__ defs.append("import %s; self.%s = %s\n" % (name, symbol, name)) elif isinstance(value, (str, unicode, int, long, float, list, tuple, dict)) or value is None: defs.append("self.%s = %s\n" % (symbol, py3k_repr(value))) check_usemodules = '' if usemodules: usemodules = [_rename_module(name) for name in usemodules] check_usemodules = """\ missing = set(%r).difference(sys.builtin_module_names) if missing: if not hasattr(sys, 'pypy_version_info'): # They may be extension modules on CPython name = None for name in missing.copy(): if name in ['cpyext', '_cffi_backend', '_rawffi']: missing.remove(name) continue try: __import__(name) except ImportError: pass else: missing.remove(name) del name if missing: sys.exit(81) del missing""" % usemodules source = list(py.code.Source(target_)) while source[0].startswith(('@py.test.mark.', '@pytest.mark.')): source.pop(0) source = source[1:] pyfile = udir.join('src.py') if isinstance(target_, str): # Special case of a docstring; the function name is the first word. target_name = target_.split('(', 1)[0] else: target_name = target_.__name__ with pyfile.open('w') as f: f.write(helpers % (pypyroot, check_usemodules)) f.write('\n'.join(defs)) f.write('def %s():\n' % target_name) f.write('\n'.join(source)) f.write("\ntry:\n %s()\n" % target_name) f.write('finally:\n print("===aefwuiheawiu===")') helper_dir = os.path.join(pypydir, 'tool', 'cpyext') env = os.environ.copy() env['PYTHONPATH'] = helper_dir res, stdout, stderr = run_subprocess( python_, [str(pyfile)], env=env) print pyfile.read() print "from", str(pyfile) print >> sys.stdout, stdout print >> sys.stderr, stderr if res == 81: py.test.skip('%r was not compiled w/ required usemodules: %r' % (python_, usemodules)) elif res != 0: raise AssertionError( > "Subprocess failed with exit code %s:\n%s" % (res, stderr)) E AssertionError: Subprocess failed with exit code 1: E Traceback (most recent call last): E File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 81, in <module> E test_replace_str_unicode() E File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 77, in test_replace_str_unicode E assert type(res) == unicode E ^^^^^^^ E NameError: name 'unicode' is not defined tool/pytest/apptest.py:239: AssertionError ----------------------------- Captured stdout call ----------------------------- # -*- encoding: utf-8 -*- if 1: import sys sys.path.append('/Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build') missing = set(['unicodedata']).difference(sys.builtin_module_names) if missing: if not hasattr(sys, 'pypy_version_info'): # They may be extension modules on CPython name = None for name in missing.copy(): if name in ['cpyext', '_cffi_backend', '_rawffi']: missing.remove(name) continue try: __import__(name) except ImportError: pass else: missing.remove(name) del name if missing: sys.exit(81) del missing def skip(message): print(message) raise SystemExit(0) __builtins__.skip = skip __builtins__.py3k_skip = skip class ExceptionWrapper: pass def raises(exc, *args, **kwargs): if not args: return RaisesContext(exc) func = args[0] args = args[1:] import os try: if isinstance(func, str): if func.startswith((' ', os.linesep, '\n')): # it's probably an indented block, so we prefix if True: # to avoid SyntaxError func = "if True:\n" + func frame = sys._getframe(1) exec(func, frame.f_globals, frame.f_locals) else: func(*args, **kwargs) except exc as e: res = ExceptionWrapper() res.value = e res.traceback = e.__traceback__ return res else: raise AssertionError("DID NOT RAISE") class RaisesContext(object): def __init__(self, expected_exception): self.expected_exception = expected_exception self.excinfo = None def __enter__(self): return self def __exit__(self, *tp): __tracebackhide__ = True if tp[0] is None: raise AssertionError("DID NOT RAISE") self.value = tp[1] return issubclass(tp[0], self.expected_exception) __builtins__.raises = raises class Test: pass self = Test() def test_replace_str_unicode(): res = 'one!two!three!'.replace(u'!', u'@', 1) assert res == u'one@two!three!' assert type(res) == unicode raises(UnicodeDecodeError, '\x80'.replace, 'a', u'b') raises(UnicodeDecodeError, '\x80'.replace, u'a', 'b') try: test_replace_str_unicode() finally: print("===aefwuiheawiu===") from /tmp/buildbot-x86_64/usession-py3.12-4304/src.py ===aefwuiheawiu=== ----------------------------- Captured stderr call ----------------------------- Traceback (most recent call last): File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 81, in <module> test_replace_str_unicode() File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 77, in test_replace_str_unicode assert type(res) == unicode ^^^^^^^ NameError: name 'unicode' is not defined ___________________ AppTestUnicodeString.test_join_subclass ____________________ self = <CallInfo when='call' exception: Subprocess failed with exit code 1: Traceback (most recent call last): File "/tmp/b...bclass class UnicodeSubclass(unicode): ^^^^^^^ NameError: name 'unicode' is not defined > func = <function <lambda> at 0x00007fee19239e20>, when = 'call' def __init__(self, func, when): #: context of invocation: one of "setup", "call", #: "teardown", "memocollect" self.when = when self.start = time() try: > self.result = func() ../_pytest/runner.py:150: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > return CallInfo(lambda: ihook(item=item, **kwds), when=when) ../_pytest/runner.py:138: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_HookCaller 'pytest_runtest_call'> kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_join_subclass'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_join_subclass'>} def __call__(self, **kwargs): assert not self.is_historic() > return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs) ../_pytest/vendored_packages/pluggy.py:724: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.config.PytestPluginManager object at 0x00007fee588da5d0> hook = <_HookCaller 'pytest_runtest_call'>, methods = [] kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_join_subclass'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_join_subclass'>} def _hookexec(self, hook, methods, kwargs): # called from all hookcaller instances. # enable_tracing will set its own wrapping function at self._inner_hookexec > return self._inner_hookexec(hook, methods, kwargs) ../_pytest/vendored_packages/pluggy.py:338: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook = <_HookCaller 'pytest_runtest_call'>, methods = [] kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_join_subclass'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_join_subclass'>} self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_join_subclass'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: > return _wrapped_call(hook_impl.function(*args), self.execute) ../_pytest/vendored_packages/pluggy.py:595: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrap_controller = <generator object pytest_runtest_call at 0x00007fee2844f420> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 0 meths, kwargs={'i...n_subclass'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>> def _wrapped_call(wrap_controller, func): """ Wrap calling to a function with a generator which needs to yield exactly once. The yield point will trigger calling the wrapped function and return its _CallOutcome to the yield point. The generator then needs to finish (raise StopIteration) in order for the wrapped call to complete. """ try: next(wrap_controller) # first yield except StopIteration: _raise_wrapfail(wrap_controller, "did not yield") call_outcome = _CallOutcome(func) try: wrap_controller.send(call_outcome) _raise_wrapfail(wrap_controller, "has second yield") except StopIteration: pass > return call_outcome.get_result() ../_pytest/vendored_packages/pluggy.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x00007fee5b70a460> def get_result(self): if self.excinfo is None: return self.result else: ex = self.excinfo if _py3: raise ex[1].with_traceback(ex[2]) > _reraise(*ex) # noqa ../_pytest/vendored_packages/pluggy.py:279: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x00007fee5b70a460> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 0 meths, kwargs={'i...n_subclass'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_join_subclass'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: return _wrapped_call(hook_impl.function(*args), self.execute) > res = hook_impl.function(*args) ../_pytest/vendored_packages/pluggy.py:596: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = <AppTestMethod 'test_join_subclass'> def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <AppTestMethod 'test_join_subclass'> def runtest(self): target = self.obj src = extract_docstring_if_empty_function(target.im_func) space = target.im_self.space if self.config.option.runappdirect: appexec_definitions = self.parent.obj.__dict__ spaceconfig = getattr(self.parent.obj, 'spaceconfig', None) usemodules = spaceconfig.get('usemodules') if spaceconfig else None return run_with_python(self.config.option.python, src, usemodules, > **appexec_definitions) tool/pytest/apptest.py:327: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ python_ = '/Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pypy/goal/pypy3.12-c' target_ = <function test_join_subclass at 0x00007fee5b9204d0> usemodules = ['unicodedata'], definitions = {}, defs = [] def run_with_python(python_, target_, usemodules, **definitions): if python_ is None: py.test.skip("Cannot find the default python3 interpreter to run with -A") defs = [] for symbol, value in sorted(definitions.items()): if isinstance(value, tuple) and isinstance(value[0], py.code.Source): code, args = value defs.append(str(code)) arg_repr = [] for arg in args: if isinstance(arg, types.FunctionType): arg_repr.append(arg.__name__) elif isinstance(arg, types.MethodType): arg_repr.append(arg.__name__) else: arg_repr.append(py3k_repr(arg)) args = ', '.join(arg_repr) defs.append("self.%s = anonymous(%s)\n" % (symbol, args)) elif isinstance(value, types.MethodType): # "def w_method(self)" code = py.code.Code(value) defs.append(str(code.source())) defs.append("type(self).%s = %s\n" % (symbol, value.__name__)) elif isinstance(value, types.ModuleType): name = value.__name__ defs.append("import %s; self.%s = %s\n" % (name, symbol, name)) elif isinstance(value, (str, unicode, int, long, float, list, tuple, dict)) or value is None: defs.append("self.%s = %s\n" % (symbol, py3k_repr(value))) check_usemodules = '' if usemodules: usemodules = [_rename_module(name) for name in usemodules] check_usemodules = """\ missing = set(%r).difference(sys.builtin_module_names) if missing: if not hasattr(sys, 'pypy_version_info'): # They may be extension modules on CPython name = None for name in missing.copy(): if name in ['cpyext', '_cffi_backend', '_rawffi']: missing.remove(name) continue try: __import__(name) except ImportError: pass else: missing.remove(name) del name if missing: sys.exit(81) del missing""" % usemodules source = list(py.code.Source(target_)) while source[0].startswith(('@py.test.mark.', '@pytest.mark.')): source.pop(0) source = source[1:] pyfile = udir.join('src.py') if isinstance(target_, str): # Special case of a docstring; the function name is the first word. target_name = target_.split('(', 1)[0] else: target_name = target_.__name__ with pyfile.open('w') as f: f.write(helpers % (pypyroot, check_usemodules)) f.write('\n'.join(defs)) f.write('def %s():\n' % target_name) f.write('\n'.join(source)) f.write("\ntry:\n %s()\n" % target_name) f.write('finally:\n print("===aefwuiheawiu===")') helper_dir = os.path.join(pypydir, 'tool', 'cpyext') env = os.environ.copy() env['PYTHONPATH'] = helper_dir res, stdout, stderr = run_subprocess( python_, [str(pyfile)], env=env) print pyfile.read() print "from", str(pyfile) print >> sys.stdout, stdout print >> sys.stderr, stderr if res == 81: py.test.skip('%r was not compiled w/ required usemodules: %r' % (python_, usemodules)) elif res != 0: raise AssertionError( > "Subprocess failed with exit code %s:\n%s" % (res, stderr)) E AssertionError: Subprocess failed with exit code 1: E Traceback (most recent call last): E File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 85, in <module> E test_join_subclass() E File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 75, in test_join_subclass E class UnicodeSubclass(unicode): E ^^^^^^^ E NameError: name 'unicode' is not defined tool/pytest/apptest.py:239: AssertionError ----------------------------- Captured stdout call ----------------------------- # -*- encoding: utf-8 -*- if 1: import sys sys.path.append('/Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build') missing = set(['unicodedata']).difference(sys.builtin_module_names) if missing: if not hasattr(sys, 'pypy_version_info'): # They may be extension modules on CPython name = None for name in missing.copy(): if name in ['cpyext', '_cffi_backend', '_rawffi']: missing.remove(name) continue try: __import__(name) except ImportError: pass else: missing.remove(name) del name if missing: sys.exit(81) del missing def skip(message): print(message) raise SystemExit(0) __builtins__.skip = skip __builtins__.py3k_skip = skip class ExceptionWrapper: pass def raises(exc, *args, **kwargs): if not args: return RaisesContext(exc) func = args[0] args = args[1:] import os try: if isinstance(func, str): if func.startswith((' ', os.linesep, '\n')): # it's probably an indented block, so we prefix if True: # to avoid SyntaxError func = "if True:\n" + func frame = sys._getframe(1) exec(func, frame.f_globals, frame.f_locals) else: func(*args, **kwargs) except exc as e: res = ExceptionWrapper() res.value = e res.traceback = e.__traceback__ return res else: raise AssertionError("DID NOT RAISE") class RaisesContext(object): def __init__(self, expected_exception): self.expected_exception = expected_exception self.excinfo = None def __enter__(self): return self def __exit__(self, *tp): __tracebackhide__ = True if tp[0] is None: raise AssertionError("DID NOT RAISE") self.value = tp[1] return issubclass(tp[0], self.expected_exception) __builtins__.raises = raises class Test: pass self = Test() def test_join_subclass(): class UnicodeSubclass(unicode): pass class StrSubclass(str): pass s1 = UnicodeSubclass(u'a') assert u''.join([s1]) is not s1 s2 = StrSubclass(u'a') assert u''.join([s2]) is not s2 try: test_join_subclass() finally: print("===aefwuiheawiu===") from /tmp/buildbot-x86_64/usession-py3.12-4304/src.py ===aefwuiheawiu=== ----------------------------- Captured stderr call ----------------------------- Traceback (most recent call last): File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 85, in <module> test_join_subclass() File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 75, in test_join_subclass class UnicodeSubclass(unicode): ^^^^^^^ NameError: name 'unicode' is not defined __________ AppTestUnicodeString.test_encoding_and_errors_cant_be_none __________ self = <CallInfo when='call' exception: Subprocess failed with exit code 1: Traceback (most recent call last): File "/tmp/b... File "<string>", line 1, in <module> AttributeError: 'str' object has no attribute 'decode'. Did you mean: 'encode'? > func = <function <lambda> at 0x00007fee184af2e0>, when = 'call' def __init__(self, func, when): #: context of invocation: one of "setup", "call", #: "teardown", "memocollect" self.when = when self.start = time() try: > self.result = func() ../_pytest/runner.py:150: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > return CallInfo(lambda: ihook(item=item, **kwds), when=when) ../_pytest/runner.py:138: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_HookCaller 'pytest_runtest_call'> kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_encoding_and_errors_cant_be_non...l__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_encoding_and_errors_cant_be_none'>} def __call__(self, **kwargs): assert not self.is_historic() > return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs) ../_pytest/vendored_packages/pluggy.py:724: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.config.PytestPluginManager object at 0x00007fee588da5d0> hook = <_HookCaller 'pytest_runtest_call'>, methods = [] kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_encoding_and_errors_cant_be_non...l__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_encoding_and_errors_cant_be_none'>} def _hookexec(self, hook, methods, kwargs): # called from all hookcaller instances. # enable_tracing will set its own wrapping function at self._inner_hookexec > return self._inner_hookexec(hook, methods, kwargs) ../_pytest/vendored_packages/pluggy.py:338: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook = <_HookCaller 'pytest_runtest_call'>, methods = [] kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_encoding_and_errors_cant_be_non...l__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_encoding_and_errors_cant_be_none'>} self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_encoding_and_errors_cant_be_none'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: > return _wrapped_call(hook_impl.function(*args), self.execute) ../_pytest/vendored_packages/pluggy.py:595: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrap_controller = <generator object pytest_runtest_call at 0x00007fee28663790> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 0 meths, kwargs={'i...nt_be_none'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>> def _wrapped_call(wrap_controller, func): """ Wrap calling to a function with a generator which needs to yield exactly once. The yield point will trigger calling the wrapped function and return its _CallOutcome to the yield point. The generator then needs to finish (raise StopIteration) in order for the wrapped call to complete. """ try: next(wrap_controller) # first yield except StopIteration: _raise_wrapfail(wrap_controller, "did not yield") call_outcome = _CallOutcome(func) try: wrap_controller.send(call_outcome) _raise_wrapfail(wrap_controller, "has second yield") except StopIteration: pass > return call_outcome.get_result() ../_pytest/vendored_packages/pluggy.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x00007fee5dfbcf20> def get_result(self): if self.excinfo is None: return self.result else: ex = self.excinfo if _py3: raise ex[1].with_traceback(ex[2]) > _reraise(*ex) # noqa ../_pytest/vendored_packages/pluggy.py:279: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x00007fee5dfbcf20> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 0 meths, kwargs={'i...nt_be_none'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_encoding_and_errors_cant_be_none'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: return _wrapped_call(hook_impl.function(*args), self.execute) > res = hook_impl.function(*args) ../_pytest/vendored_packages/pluggy.py:596: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = <AppTestMethod 'test_encoding_and_errors_cant_be_none'> def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <AppTestMethod 'test_encoding_and_errors_cant_be_none'> def runtest(self): target = self.obj src = extract_docstring_if_empty_function(target.im_func) space = target.im_self.space if self.config.option.runappdirect: appexec_definitions = self.parent.obj.__dict__ spaceconfig = getattr(self.parent.obj, 'spaceconfig', None) usemodules = spaceconfig.get('usemodules') if spaceconfig else None return run_with_python(self.config.option.python, src, usemodules, > **appexec_definitions) tool/pytest/apptest.py:327: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ python_ = '/Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pypy/goal/pypy3.12-c' target_ = <function test_encoding_and_errors_cant_be_none at 0x00007fee5b920548> usemodules = ['unicodedata'], definitions = {}, defs = [] def run_with_python(python_, target_, usemodules, **definitions): if python_ is None: py.test.skip("Cannot find the default python3 interpreter to run with -A") defs = [] for symbol, value in sorted(definitions.items()): if isinstance(value, tuple) and isinstance(value[0], py.code.Source): code, args = value defs.append(str(code)) arg_repr = [] for arg in args: if isinstance(arg, types.FunctionType): arg_repr.append(arg.__name__) elif isinstance(arg, types.MethodType): arg_repr.append(arg.__name__) else: arg_repr.append(py3k_repr(arg)) args = ', '.join(arg_repr) defs.append("self.%s = anonymous(%s)\n" % (symbol, args)) elif isinstance(value, types.MethodType): # "def w_method(self)" code = py.code.Code(value) defs.append(str(code.source())) defs.append("type(self).%s = %s\n" % (symbol, value.__name__)) elif isinstance(value, types.ModuleType): name = value.__name__ defs.append("import %s; self.%s = %s\n" % (name, symbol, name)) elif isinstance(value, (str, unicode, int, long, float, list, tuple, dict)) or value is None: defs.append("self.%s = %s\n" % (symbol, py3k_repr(value))) check_usemodules = '' if usemodules: usemodules = [_rename_module(name) for name in usemodules] check_usemodules = """\ missing = set(%r).difference(sys.builtin_module_names) if missing: if not hasattr(sys, 'pypy_version_info'): # They may be extension modules on CPython name = None for name in missing.copy(): if name in ['cpyext', '_cffi_backend', '_rawffi']: missing.remove(name) continue try: __import__(name) except ImportError: pass else: missing.remove(name) del name if missing: sys.exit(81) del missing""" % usemodules source = list(py.code.Source(target_)) while source[0].startswith(('@py.test.mark.', '@pytest.mark.')): source.pop(0) source = source[1:] pyfile = udir.join('src.py') if isinstance(target_, str): # Special case of a docstring; the function name is the first word. target_name = target_.split('(', 1)[0] else: target_name = target_.__name__ with pyfile.open('w') as f: f.write(helpers % (pypyroot, check_usemodules)) f.write('\n'.join(defs)) f.write('def %s():\n' % target_name) f.write('\n'.join(source)) f.write("\ntry:\n %s()\n" % target_name) f.write('finally:\n print("===aefwuiheawiu===")') helper_dir = os.path.join(pypydir, 'tool', 'cpyext') env = os.environ.copy() env['PYTHONPATH'] = helper_dir res, stdout, stderr = run_subprocess( python_, [str(pyfile)], env=env) print pyfile.read() print "from", str(pyfile) print >> sys.stdout, stdout print >> sys.stderr, stderr if res == 81: py.test.skip('%r was not compiled w/ required usemodules: %r' % (python_, usemodules)) elif res != 0: raise AssertionError( > "Subprocess failed with exit code %s:\n%s" % (res, stderr)) E AssertionError: Subprocess failed with exit code 1: E Traceback (most recent call last): E File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 80, in <module> E test_encoding_and_errors_cant_be_none() E File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 75, in test_encoding_and_errors_cant_be_none E raises(TypeError, "''.decode(None)") E File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 44, in raises E exec(func, frame.f_globals, frame.f_locals) E File "<string>", line 1, in <module> E AttributeError: 'str' object has no attribute 'decode'. Did you mean: 'encode'? tool/pytest/apptest.py:239: AssertionError ----------------------------- Captured stdout call ----------------------------- # -*- encoding: utf-8 -*- if 1: import sys sys.path.append('/Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build') missing = set(['unicodedata']).difference(sys.builtin_module_names) if missing: if not hasattr(sys, 'pypy_version_info'): # They may be extension modules on CPython name = None for name in missing.copy(): if name in ['cpyext', '_cffi_backend', '_rawffi']: missing.remove(name) continue try: __import__(name) except ImportError: pass else: missing.remove(name) del name if missing: sys.exit(81) del missing def skip(message): print(message) raise SystemExit(0) __builtins__.skip = skip __builtins__.py3k_skip = skip class ExceptionWrapper: pass def raises(exc, *args, **kwargs): if not args: return RaisesContext(exc) func = args[0] args = args[1:] import os try: if isinstance(func, str): if func.startswith((' ', os.linesep, '\n')): # it's probably an indented block, so we prefix if True: # to avoid SyntaxError func = "if True:\n" + func frame = sys._getframe(1) exec(func, frame.f_globals, frame.f_locals) else: func(*args, **kwargs) except exc as e: res = ExceptionWrapper() res.value = e res.traceback = e.__traceback__ return res else: raise AssertionError("DID NOT RAISE") class RaisesContext(object): def __init__(self, expected_exception): self.expected_exception = expected_exception self.excinfo = None def __enter__(self): return self def __exit__(self, *tp): __tracebackhide__ = True if tp[0] is None: raise AssertionError("DID NOT RAISE") self.value = tp[1] return issubclass(tp[0], self.expected_exception) __builtins__.raises = raises class Test: pass self = Test() def test_encoding_and_errors_cant_be_none(): raises(TypeError, "''.decode(None)") raises(TypeError, "u''.encode(None)") raises(TypeError, "unicode('', encoding=None)") raises(TypeError, 'u"".encode("utf-8", None)') try: test_encoding_and_errors_cant_be_none() finally: print("===aefwuiheawiu===") from /tmp/buildbot-x86_64/usession-py3.12-4304/src.py ===aefwuiheawiu=== ----------------------------- Captured stderr call ----------------------------- Traceback (most recent call last): File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 80, in <module> test_encoding_and_errors_cant_be_none() File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 75, in test_encoding_and_errors_cant_be_none raises(TypeError, "''.decode(None)") File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 44, in raises exec(func, frame.f_globals, frame.f_locals) File "<string>", line 1, in <module> AttributeError: 'str' object has no attribute 'decode'. Did you mean: 'encode'? ______________ AppTestUnicodeString.test_unicode_constructor_misc ______________ self = <CallInfo when='call' exception: Subprocess failed with exit code 1: Traceback (most recent call last): File "/tmp/b... test_unicode_constructor_misc assert unicode(x) is x ^^^^^^^ NameError: name 'unicode' is not defined > func = <function <lambda> at 0x00007fee28b90cc8>, when = 'call' def __init__(self, func, when): #: context of invocation: one of "setup", "call", #: "teardown", "memocollect" self.when = when self.start = time() try: > self.result = func() ../_pytest/runner.py:150: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > return CallInfo(lambda: ihook(item=item, **kwds), when=when) ../_pytest/runner.py:138: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_HookCaller 'pytest_runtest_call'> kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_unicode_constructor_misc'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_unicode_constructor_misc'>} def __call__(self, **kwargs): assert not self.is_historic() > return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs) ../_pytest/vendored_packages/pluggy.py:724: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.config.PytestPluginManager object at 0x00007fee588da5d0> hook = <_HookCaller 'pytest_runtest_call'>, methods = [] kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_unicode_constructor_misc'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_unicode_constructor_misc'>} def _hookexec(self, hook, methods, kwargs): # called from all hookcaller instances. # enable_tracing will set its own wrapping function at self._inner_hookexec > return self._inner_hookexec(hook, methods, kwargs) ../_pytest/vendored_packages/pluggy.py:338: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook = <_HookCaller 'pytest_runtest_call'>, methods = [] kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_unicode_constructor_misc'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_unicode_constructor_misc'>} self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_unicode_constructor_misc'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: > return _wrapped_call(hook_impl.function(*args), self.execute) ../_pytest/vendored_packages/pluggy.py:595: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrap_controller = <generator object pytest_runtest_call at 0x00007fee5d2b9ec0> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 0 meths, kwargs={'i...uctor_misc'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>> def _wrapped_call(wrap_controller, func): """ Wrap calling to a function with a generator which needs to yield exactly once. The yield point will trigger calling the wrapped function and return its _CallOutcome to the yield point. The generator then needs to finish (raise StopIteration) in order for the wrapped call to complete. """ try: next(wrap_controller) # first yield except StopIteration: _raise_wrapfail(wrap_controller, "did not yield") call_outcome = _CallOutcome(func) try: wrap_controller.send(call_outcome) _raise_wrapfail(wrap_controller, "has second yield") except StopIteration: pass > return call_outcome.get_result() ../_pytest/vendored_packages/pluggy.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x00007fee199f1be0> def get_result(self): if self.excinfo is None: return self.result else: ex = self.excinfo if _py3: raise ex[1].with_traceback(ex[2]) > _reraise(*ex) # noqa ../_pytest/vendored_packages/pluggy.py:279: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x00007fee199f1be0> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 0 meths, kwargs={'i...uctor_misc'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_unicode_constructor_misc'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: return _wrapped_call(hook_impl.function(*args), self.execute) > res = hook_impl.function(*args) ../_pytest/vendored_packages/pluggy.py:596: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = <AppTestMethod 'test_unicode_constructor_misc'> def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <AppTestMethod 'test_unicode_constructor_misc'> def runtest(self): target = self.obj src = extract_docstring_if_empty_function(target.im_func) space = target.im_self.space if self.config.option.runappdirect: appexec_definitions = self.parent.obj.__dict__ spaceconfig = getattr(self.parent.obj, 'spaceconfig', None) usemodules = spaceconfig.get('usemodules') if spaceconfig else None return run_with_python(self.config.option.python, src, usemodules, > **appexec_definitions) tool/pytest/apptest.py:327: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ python_ = '/Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pypy/goal/pypy3.12-c' target_ = <function test_unicode_constructor_misc at 0x00007fee5b9205c0> usemodules = ['unicodedata'], definitions = {}, defs = [] def run_with_python(python_, target_, usemodules, **definitions): if python_ is None: py.test.skip("Cannot find the default python3 interpreter to run with -A") defs = [] for symbol, value in sorted(definitions.items()): if isinstance(value, tuple) and isinstance(value[0], py.code.Source): code, args = value defs.append(str(code)) arg_repr = [] for arg in args: if isinstance(arg, types.FunctionType): arg_repr.append(arg.__name__) elif isinstance(arg, types.MethodType): arg_repr.append(arg.__name__) else: arg_repr.append(py3k_repr(arg)) args = ', '.join(arg_repr) defs.append("self.%s = anonymous(%s)\n" % (symbol, args)) elif isinstance(value, types.MethodType): # "def w_method(self)" code = py.code.Code(value) defs.append(str(code.source())) defs.append("type(self).%s = %s\n" % (symbol, value.__name__)) elif isinstance(value, types.ModuleType): name = value.__name__ defs.append("import %s; self.%s = %s\n" % (name, symbol, name)) elif isinstance(value, (str, unicode, int, long, float, list, tuple, dict)) or value is None: defs.append("self.%s = %s\n" % (symbol, py3k_repr(value))) check_usemodules = '' if usemodules: usemodules = [_rename_module(name) for name in usemodules] check_usemodules = """\ missing = set(%r).difference(sys.builtin_module_names) if missing: if not hasattr(sys, 'pypy_version_info'): # They may be extension modules on CPython name = None for name in missing.copy(): if name in ['cpyext', '_cffi_backend', '_rawffi']: missing.remove(name) continue try: __import__(name) except ImportError: pass else: missing.remove(name) del name if missing: sys.exit(81) del missing""" % usemodules source = list(py.code.Source(target_)) while source[0].startswith(('@py.test.mark.', '@pytest.mark.')): source.pop(0) source = source[1:] pyfile = udir.join('src.py') if isinstance(target_, str): # Special case of a docstring; the function name is the first word. target_name = target_.split('(', 1)[0] else: target_name = target_.__name__ with pyfile.open('w') as f: f.write(helpers % (pypyroot, check_usemodules)) f.write('\n'.join(defs)) f.write('def %s():\n' % target_name) f.write('\n'.join(source)) f.write("\ntry:\n %s()\n" % target_name) f.write('finally:\n print("===aefwuiheawiu===")') helper_dir = os.path.join(pypydir, 'tool', 'cpyext') env = os.environ.copy() env['PYTHONPATH'] = helper_dir res, stdout, stderr = run_subprocess( python_, [str(pyfile)], env=env) print pyfile.read() print "from", str(pyfile) print >> sys.stdout, stdout print >> sys.stderr, stderr if res == 81: py.test.skip('%r was not compiled w/ required usemodules: %r' % (python_, usemodules)) elif res != 0: raise AssertionError( > "Subprocess failed with exit code %s:\n%s" % (res, stderr)) E AssertionError: Subprocess failed with exit code 1: E Traceback (most recent call last): E File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 102, in <module> E test_unicode_constructor_misc() E File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 77, in test_unicode_constructor_misc E assert unicode(x) is x E ^^^^^^^ E NameError: name 'unicode' is not defined tool/pytest/apptest.py:239: AssertionError ----------------------------- Captured stdout call ----------------------------- # -*- encoding: utf-8 -*- if 1: import sys sys.path.append('/Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build') missing = set(['unicodedata']).difference(sys.builtin_module_names) if missing: if not hasattr(sys, 'pypy_version_info'): # They may be extension modules on CPython name = None for name in missing.copy(): if name in ['cpyext', '_cffi_backend', '_rawffi']: missing.remove(name) continue try: __import__(name) except ImportError: pass else: missing.remove(name) del name if missing: sys.exit(81) del missing def skip(message): print(message) raise SystemExit(0) __builtins__.skip = skip __builtins__.py3k_skip = skip class ExceptionWrapper: pass def raises(exc, *args, **kwargs): if not args: return RaisesContext(exc) func = args[0] args = args[1:] import os try: if isinstance(func, str): if func.startswith((' ', os.linesep, '\n')): # it's probably an indented block, so we prefix if True: # to avoid SyntaxError func = "if True:\n" + func frame = sys._getframe(1) exec(func, frame.f_globals, frame.f_locals) else: func(*args, **kwargs) except exc as e: res = ExceptionWrapper() res.value = e res.traceback = e.__traceback__ return res else: raise AssertionError("DID NOT RAISE") class RaisesContext(object): def __init__(self, expected_exception): self.expected_exception = expected_exception self.excinfo = None def __enter__(self): return self def __exit__(self, *tp): __tracebackhide__ = True if tp[0] is None: raise AssertionError("DID NOT RAISE") self.value = tp[1] return issubclass(tp[0], self.expected_exception) __builtins__.raises = raises class Test: pass self = Test() def test_unicode_constructor_misc(): x = u'foo' x += u'bar' assert unicode(x) is x # class U(unicode): def __unicode__(self): return u'BOK' u = U(x) assert unicode(u) == u'BOK' # class U2(unicode): pass z = U2(u'foobaz') assert type(unicode(z)) is unicode assert unicode(z) == u'foobaz' # assert unicode(encoding='supposedly_the_encoding') == u'' assert unicode(errors='supposedly_the_error') == u'' e = raises(TypeError, unicode, u'', 'supposedly_the_encoding') assert str(e.value) == 'decoding Unicode is not supported' e = raises(TypeError, unicode, u'', errors='supposedly_the_error') assert str(e.value) == 'decoding Unicode is not supported' e = raises(TypeError, unicode, u, 'supposedly_the_encoding') assert str(e.value) == 'decoding Unicode is not supported' e = raises(TypeError, unicode, z, 'supposedly_the_encoding') assert str(e.value) == 'decoding Unicode is not supported' try: test_unicode_constructor_misc() finally: print("===aefwuiheawiu===") from /tmp/buildbot-x86_64/usession-py3.12-4304/src.py ===aefwuiheawiu=== ----------------------------- Captured stderr call ----------------------------- Traceback (most recent call last): File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 102, in <module> test_unicode_constructor_misc() File "/tmp/buildbot-x86_64/usession-py3.12-4304/src.py", line 77, in test_unicode_constructor_misc assert unicode(x) is x ^^^^^^^ NameError: name 'unicode' is not defined =========================== short test summary info ============================ FAIL objspace/std/test/test_newformat.py::AppTestFloatFormatting::()::test_locale_german FAIL objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_partition_str_unicode FAIL objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_mul FAIL objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_rindex FAIL objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_find_index_str_unicode FAIL objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_count_str_unicode FAIL objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_swapcase FAIL objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_buffer FAIL objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_str_unicode_concat_overrides FAIL objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_returns_subclass FAIL objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_getslice FAIL objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_encode_raw_unicode_escape FAIL objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_decode_from_buffer FAIL objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_unicode_conversion_with__unicode__ FAIL objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_unicode_conversion_with__str__ FAIL objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_formatting_unicode__str__ FAIL objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_formatting_unicode__str__2 FAIL objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_format_repeat FAIL objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_formatting_char FAIL objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_str_subclass FAIL objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_class_with_both_str_and_unicode FAIL objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_format_unicode_subclass FAIL objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_replace_with_buffer FAIL objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_unicode_subclass FAIL objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_replace_str_unicode FAIL objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_join_subclass FAIL objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_encoding_and_errors_cant_be_none FAIL objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_unicode_constructor_misc ============= 28 failed, 1005 passed, 349 skipped in 98.93 seconds ============= ++ 18:00:16 starting module/__builtin__/test [6 started in total] __ module/__builtin__/test [6 done in total, somefailed=False] ________________ /Users/matti/oss/pypy-x86_64-buildbot/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 darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 pytest-2.9.2 from /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pytest.pyc rootdir: /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build, inifile: pytest.ini plugins: hypothesis-4.57.1 collected 282 items module/__builtin__/test/test_abstractinst.py ........... module/__builtin__/test/test_breakpoint.py ........ module/__builtin__/test/test_builtin.py ....................................................................... module/__builtin__/test/test_construct_singletons.py . module/__builtin__/test/test_descriptor.py ................................... module/__builtin__/test/test_dir.py ........... module/__builtin__/test/test_filter.py ........ module/__builtin__/test/test_filter_pickle.py ..... module/__builtin__/test/test_format.py . module/__builtin__/test/test_functional.py ....................................................................................... module/__builtin__/test/test_map_pickle.py ... module/__builtin__/test/test_minmax.py ....................... module/__builtin__/test/test_rawinput.py .. module/__builtin__/test/test_sum.py . module/__builtin__/test/test_vars.py ... module/__builtin__/test/test_zip.py ........... module/__builtin__/test/test_zip_pickle.py . ========================= 282 passed in 24.58 seconds ========================== ++ 18:00:44 starting module/__pypy__/test [7 started in total] __ module/__pypy__/test [7 done in total, somefailed=False] ___________________ /Users/matti/oss/pypy-x86_64-buildbot/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 darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 pytest-2.9.2 from /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pytest.pyc rootdir: /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build, inifile: pytest.ini plugins: hypothesis-4.57.1 collected 75 items module/__pypy__/test/test_builders.py ..... module/__pypy__/test/test_bytebuffer.py ... module/__pypy__/test/test_debug.py sssssss module/__pypy__/test/test_identitydict.py ...... module/__pypy__/test/test_intop.py ........... module/__pypy__/test/test_locals2fast.py ..... module/__pypy__/test/test_magic.py .......s.. module/__pypy__/test/test_newmemoryview.py ........ module/__pypy__/test/test_os.py . module/__pypy__/test/test_signal.py ..... module/__pypy__/test/test_special.py sssssssssss..s ==================== 55 passed, 20 skipped in 11.21 seconds ==================== ++ 18:00:59 starting module/_abc/test [8 started in total] __ module/_abc/test [8 done in total, somefailed=False] _______________________ /Users/matti/oss/pypy-x86_64-buildbot/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 darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 pytest-2.9.2 from /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pytest.pyc rootdir: /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build, inifile: pytest.ini plugins: hypothesis-4.57.1 collected 3 items module/_abc/test/test_abc.py ... =========================== 3 passed in 0.29 seconds =========================== ++ 18:01:01 starting module/_ast/test [9 started in total] __ module/_ast/test [9 done in total, somefailed=False] _______________________ /Users/matti/oss/pypy-x86_64-buildbot/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 darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 pytest-2.9.2 from /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pytest.pyc rootdir: /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build, inifile: pytest.ini plugins: hypothesis-4.57.1 collected 54 items module/_ast/test/test_ast.py ...................................................... ========================== 54 passed in 5.44 seconds =========================== ++ 18:01:10 starting module/_cffi_backend/test [10 started in total] __ module/_cffi_backend/test [10 done in total, somefailed=True] ______________ /Users/matti/oss/pypy-x86_64-buildbot/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 darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 pytest-2.9.2 from /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pytest.pyc rootdir: /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build, inifile: pytest.ini plugins: hypothesis-4.57.1 collected 444 items module/_cffi_backend/test/test_c.py sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss module/_cffi_backend/test/test_fastpath.py .................. module/_cffi_backend/test/test_ffi_obj.py ................................F............. module/_cffi_backend/test/test_re_python.py .................... module/_cffi_backend/test/test_recompiler.py ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss module/_cffi_backend/test/test_unicode_literals.py ....... =================================== FAILURES =================================== ____________________ AppTestFFIObj.test_ffi_new_allocator_1 ____________________ self = <CallInfo when='call' exception: Subprocess failed with exit code 1: Traceback (most recent call last): File "/tmp/b...ertionError("cannot seem to get an int[10] not " AssertionError: cannot seem to get an int[10] not completely cleared > func = <function <lambda> at 0x00007fcb2065dcb8>, when = 'call' def __init__(self, func, when): #: context of invocation: one of "setup", "call", #: "teardown", "memocollect" self.when = when self.start = time() try: > self.result = func() ../_pytest/runner.py:150: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > return CallInfo(lambda: ihook(item=item, **kwds), when=when) ../_pytest/runner.py:138: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_HookCaller 'pytest_runtest_call'> kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_ffi_new_allocator_1'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_ffi_new_allocator_1'>} def __call__(self, **kwargs): assert not self.is_historic() > return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs) ../_pytest/vendored_packages/pluggy.py:724: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.config.PytestPluginManager object at 0x00007fcb408d6de8> hook = <_HookCaller 'pytest_runtest_call'>, methods = [] kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_ffi_new_allocator_1'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_ffi_new_allocator_1'>} def _hookexec(self, hook, methods, kwargs): # called from all hookcaller instances. # enable_tracing will set its own wrapping function at self._inner_hookexec > return self._inner_hookexec(hook, methods, kwargs) ../_pytest/vendored_packages/pluggy.py:338: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook = <_HookCaller 'pytest_runtest_call'>, methods = [] kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_ffi_new_allocator_1'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_ffi_new_allocator_1'>} self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_ffi_new_allocator_1'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: > return _wrapped_call(hook_impl.function(*args), self.execute) ../_pytest/vendored_packages/pluggy.py:595: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrap_controller = <generator object pytest_runtest_call at 0x00007fcb1239a520> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 0 meths, kwargs={'i...llocator_1'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>> def _wrapped_call(wrap_controller, func): """ Wrap calling to a function with a generator which needs to yield exactly once. The yield point will trigger calling the wrapped function and return its _CallOutcome to the yield point. The generator then needs to finish (raise StopIteration) in order for the wrapped call to complete. """ try: next(wrap_controller) # first yield except StopIteration: _raise_wrapfail(wrap_controller, "did not yield") call_outcome = _CallOutcome(func) try: wrap_controller.send(call_outcome) _raise_wrapfail(wrap_controller, "has second yield") except StopIteration: pass > return call_outcome.get_result() ../_pytest/vendored_packages/pluggy.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x00007fcb206c6ca0> def get_result(self): if self.excinfo is None: return self.result else: ex = self.excinfo if _py3: raise ex[1].with_traceback(ex[2]) > _reraise(*ex) # noqa ../_pytest/vendored_packages/pluggy.py:279: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x00007fcb206c6ca0> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 0 meths, kwargs={'i...llocator_1'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_ffi_new_allocator_1'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: return _wrapped_call(hook_impl.function(*args), self.execute) > res = hook_impl.function(*args) ../_pytest/vendored_packages/pluggy.py:596: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = <AppTestMethod 'test_ffi_new_allocator_1'> def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <AppTestMethod 'test_ffi_new_allocator_1'> def runtest(self): target = self.obj src = extract_docstring_if_empty_function(target.im_func) space = target.im_self.space if self.config.option.runappdirect: appexec_definitions = self.parent.obj.__dict__ spaceconfig = getattr(self.parent.obj, 'spaceconfig', None) usemodules = spaceconfig.get('usemodules') if spaceconfig else None return run_with_python(self.config.option.python, src, usemodules, > **appexec_definitions) tool/pytest/apptest.py:327: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ python_ = '/Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pypy/goal/pypy3.12-c' target_ = <function test_ffi_new_allocator_1 at 0x00007fcb296f7538> usemodules = ['_cffi_backend', 'array'], definitions = {}, defs = [] def run_with_python(python_, target_, usemodules, **definitions): if python_ is None: py.test.skip("Cannot find the default python3 interpreter to run with -A") defs = [] for symbol, value in sorted(definitions.items()): if isinstance(value, tuple) and isinstance(value[0], py.code.Source): code, args = value defs.append(str(code)) arg_repr = [] for arg in args: if isinstance(arg, types.FunctionType): arg_repr.append(arg.__name__) elif isinstance(arg, types.MethodType): arg_repr.append(arg.__name__) else: arg_repr.append(py3k_repr(arg)) args = ', '.join(arg_repr) defs.append("self.%s = anonymous(%s)\n" % (symbol, args)) elif isinstance(value, types.MethodType): # "def w_method(self)" code = py.code.Code(value) defs.append(str(code.source())) defs.append("type(self).%s = %s\n" % (symbol, value.__name__)) elif isinstance(value, types.ModuleType): name = value.__name__ defs.append("import %s; self.%s = %s\n" % (name, symbol, name)) elif isinstance(value, (str, unicode, int, long, float, list, tuple, dict)) or value is None: defs.append("self.%s = %s\n" % (symbol, py3k_repr(value))) check_usemodules = '' if usemodules: usemodules = [_rename_module(name) for name in usemodules] check_usemodules = """\ missing = set(%r).difference(sys.builtin_module_names) if missing: if not hasattr(sys, 'pypy_version_info'): # They may be extension modules on CPython name = None for name in missing.copy(): if name in ['cpyext', '_cffi_backend', '_rawffi']: missing.remove(name) continue try: __import__(name) except ImportError: pass else: missing.remove(name) del name if missing: sys.exit(81) del missing""" % usemodules source = list(py.code.Source(target_)) while source[0].startswith(('@py.test.mark.', '@pytest.mark.')): source.pop(0) source = source[1:] pyfile = udir.join('src.py') if isinstance(target_, str): # Special case of a docstring; the function name is the first word. target_name = target_.split('(', 1)[0] else: target_name = target_.__name__ with pyfile.open('w') as f: f.write(helpers % (pypyroot, check_usemodules)) f.write('\n'.join(defs)) f.write('def %s():\n' % target_name) f.write('\n'.join(source)) f.write("\ntry:\n %s()\n" % target_name) f.write('finally:\n print("===aefwuiheawiu===")') helper_dir = os.path.join(pypydir, 'tool', 'cpyext') env = os.environ.copy() env['PYTHONPATH'] = helper_dir res, stdout, stderr = run_subprocess( python_, [str(pyfile)], env=env) print pyfile.read() print "from", str(pyfile) print >> sys.stdout, stdout print >> sys.stderr, stderr if res == 81: py.test.skip('%r was not compiled w/ required usemodules: %r' % (python_, usemodules)) elif res != 0: raise AssertionError( > "Subprocess failed with exit code %s:\n%s" % (res, stderr)) E AssertionError: Subprocess failed with exit code 1: E Traceback (most recent call last): E File "/tmp/buildbot-x86_64/usession-py3.12-4309/src.py", line 96, in <module> E test_ffi_new_allocator_1() E File "/tmp/buildbot-x86_64/usession-py3.12-4309/src.py", line 93, in test_ffi_new_allocator_1 E raise AssertionError("cannot seem to get an int[10] not " E AssertionError: cannot seem to get an int[10] not completely cleared tool/pytest/apptest.py:239: AssertionError ----------------------------- Captured stdout call ----------------------------- # -*- encoding: utf-8 -*- if 1: import sys sys.path.append('/Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build') missing = set(['_cffi_backend', 'array']).difference(sys.builtin_module_names) if missing: if not hasattr(sys, 'pypy_version_info'): # They may be extension modules on CPython name = None for name in missing.copy(): if name in ['cpyext', '_cffi_backend', '_rawffi']: missing.remove(name) continue try: __import__(name) except ImportError: pass else: missing.remove(name) del name if missing: sys.exit(81) del missing def skip(message): print(message) raise SystemExit(0) __builtins__.skip = skip __builtins__.py3k_skip = skip class ExceptionWrapper: pass def raises(exc, *args, **kwargs): if not args: return RaisesContext(exc) func = args[0] args = args[1:] import os try: if isinstance(func, str): if func.startswith((' ', os.linesep, '\n')): # it's probably an indented block, so we prefix if True: # to avoid SyntaxError func = "if True:\n" + func frame = sys._getframe(1) exec(func, frame.f_globals, frame.f_locals) else: func(*args, **kwargs) except exc as e: res = ExceptionWrapper() res.value = e res.traceback = e.__traceback__ return res else: raise AssertionError("DID NOT RAISE") class RaisesContext(object): def __init__(self, expected_exception): self.expected_exception = expected_exception self.excinfo = None def __enter__(self): return self def __exit__(self, *tp): __tracebackhide__ = True if tp[0] is None: raise AssertionError("DID NOT RAISE") self.value = tp[1] return issubclass(tp[0], self.expected_exception) __builtins__.raises = raises class Test: pass self = Test() def test_ffi_new_allocator_1(): import _cffi_backend as _cffi1_backend ffi = _cffi1_backend.FFI() alloc1 = ffi.new_allocator() alloc2 = ffi.new_allocator(should_clear_after_alloc=False) for retry in range(100): p1 = alloc1("int[10]") p2 = alloc2("int[10]") combination = 0 for i in range(10): assert p1[i] == 0 combination |= p2[i] p1[i] = -42 p2[i] = -43 if combination != 0: break del p1, p2 import gc; gc.collect() else: raise AssertionError("cannot seem to get an int[10] not " "completely cleared") try: test_ffi_new_allocator_1() finally: print("===aefwuiheawiu===") from /tmp/buildbot-x86_64/usession-py3.12-4309/src.py ===aefwuiheawiu=== ----------------------------- Captured stderr call ----------------------------- Traceback (most recent call last): File "/tmp/buildbot-x86_64/usession-py3.12-4309/src.py", line 96, in <module> test_ffi_new_allocator_1() File "/tmp/buildbot-x86_64/usession-py3.12-4309/src.py", line 93, in test_ffi_new_allocator_1 raise AssertionError("cannot seem to get an int[10] not " AssertionError: cannot seem to get an int[10] not completely cleared =========================== short test summary info ============================ FAIL module/_cffi_backend/test/test_ffi_obj.py::AppTestFFIObj::()::test_ffi_new_allocator_1 ============== 1 failed, 90 passed, 353 skipped in 13.15 seconds =============== ++ 18:01:27 starting module/_codecs/test [11 started in total] __ module/_codecs/test [11 done in total, somefailed=False] ___________________ /Users/matti/oss/pypy-x86_64-buildbot/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 darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 pytest-2.9.2 from /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pytest.pyc rootdir: /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build, inifile: pytest.ini plugins: hypothesis-4.57.1 collected 89 items module/_codecs/test/test_codecs.py ....................sss.................................................................. ===================== 86 passed, 3 skipped in 8.11 seconds ===================== ++ 18:01:37 starting module/_collections/test [12 started in total] __ module/_collections/test [12 done in total, somefailed=False] ______________ /Users/matti/oss/pypy-x86_64-buildbot/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 darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 pytest-2.9.2 from /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pytest.pyc rootdir: /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build, inifile: pytest.ini plugins: hypothesis-4.57.1 collected 0 items ========================= no tests ran in 0.00 seconds ========================= ++ 18:01:40 starting module/_continuation/test [13 started in total] __ module/_continuation/test [13 done in total, somefailed=False] _____________ /Users/matti/oss/pypy-x86_64-buildbot/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 darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 pytest-2.9.2 from /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pytest.pyc rootdir: /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build, inifile: pytest.ini plugins: hypothesis-4.57.1 collected 72 items / 2 skipped module/_continuation/test/test_generator.py ssss module/_continuation/test/test_greenlet.py ............................ module/_continuation/test/test_stacklet.py ssssssssssssssssssssssssssssssssssssssss ==================== 28 passed, 46 skipped in 4.31 seconds ===================== ++ 18:01:47 starting module/_cppyy/test [14 started in total] __ module/_cppyy/test [14 done in total, somefailed=False] ____________________ /Users/matti/oss/pypy-x86_64-buildbot/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 darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 pytest-2.9.2 from /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pytest.pyc rootdir: /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build, inifile: pytest.ini plugins: hypothesis-4.57.1 collected 0 items ========================= no tests ran in 0.02 seconds ========================= ++ 18:01:49 starting module/_csv/test [15 started in total] __ module/_csv/test [15 done in total, somefailed=False] ______________________ /Users/matti/oss/pypy-x86_64-buildbot/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 darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 pytest-2.9.2 from /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pytest.pyc rootdir: /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build, inifile: pytest.ini plugins: hypothesis-4.57.1 collected 27 items module/_csv/test/test_dialect.py .............. module/_csv/test/test_reader.py ............. ========================== 27 passed in 2.47 seconds =========================== ++ 18:01:55 starting module/_demo/test [16 started in total] __ module/_demo/test [16 done in total, somefailed=False] _____________________ /Users/matti/oss/pypy-x86_64-buildbot/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 darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 pytest-2.9.2 from /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pytest.pyc rootdir: /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build, inifile: pytest.ini plugins: hypothesis-4.57.1 collected 1 items module/_demo/test/test_sieve.py s ========================== 1 skipped in 0.12 seconds =========================== ++ 18:01:57 starting module/_hpy_universal/test/_vendored [17 started in total] __ module/_hpy_universal/test/_vendored [17 done in total, somefailed=False] __ /Users/matti/oss/pypy-x86_64-buildbot/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 darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 pytest-2.9.2 from /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pytest.pyc rootdir: /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build, inifile: pytest.ini plugins: hypothesis-4.57.1 collected 0 items ========================= no tests ran in 0.01 seconds ========================= ++ 18:02:00 starting module/_hpy_universal/test/pypy [18 started in total] __ module/_hpy_universal/test/pypy [18 done in total, somefailed=False] _______ /Users/matti/oss/pypy-x86_64-buildbot/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 darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 pytest-2.9.2 from /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pytest.pyc rootdir: /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build, inifile: pytest.ini plugins: hypothesis-4.57.1 collected 0 items ========================= no tests ran in 0.01 seconds ========================= ++ 18:02:03 starting module/_io/test [19 started in total] __ module/_io/test [19 done in total, somefailed=False] _______________________ /Users/matti/oss/pypy-x86_64-buildbot/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 darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 pytest-2.9.2 from /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pytest.pyc rootdir: /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build, inifile: pytest.ini plugins: hypothesis-4.57.1 collected 134 items / 1 skipped module/_io/test/test_bufferedio.py .................................................s..................................................... module/_io/test/test_fileio.py ............................... ==================== 133 passed, 2 skipped in 13.40 seconds ==================== ++ 18:02:20 starting module/_jitlog/test [20 started in total] __ module/_jitlog/test [20 done in total, somefailed=False] ___________________ /Users/matti/oss/pypy-x86_64-buildbot/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 darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 pytest-2.9.2 from /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pytest.pyc rootdir: /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build, inifile: pytest.ini plugins: hypothesis-4.57.1 collected 1 items module/_jitlog/test/test__jitlog.py . =========================== 1 passed in 0.15 seconds =========================== ++ 18:02:22 starting module/_locale/test [21 started in total] __ module/_locale/test [21 done in total, somefailed=False] ___________________ /Users/matti/oss/pypy-x86_64-buildbot/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 darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 pytest-2.9.2 from /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pytest.pyc rootdir: /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build, inifile: pytest.ini plugins: hypothesis-4.57.1 collected 15 items module/_locale/test/test_locale.py ssssssssssssss. ===================== 1 passed, 14 skipped in 0.16 seconds ===================== ++ 18:02:25 starting module/_lsprof/test [22 started in total] __ module/_lsprof/test [22 done in total, somefailed=False] ___________________ /Users/matti/oss/pypy-x86_64-buildbot/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 darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 pytest-2.9.2 from /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pytest.pyc rootdir: /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build, inifile: pytest.ini plugins: hypothesis-4.57.1 collected 6 items module/_lsprof/test/test_cprofile.py ...... =========================== 6 passed in 1.56 seconds =========================== ++ 18:02:29 starting module/_md5/test [23 started in total] __ module/_md5/test [23 done in total, somefailed=False] ______________________ /Users/matti/oss/pypy-x86_64-buildbot/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 darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 pytest-2.9.2 from /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pytest.pyc rootdir: /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build, inifile: pytest.ini plugins: hypothesis-4.57.1 collected 8 items module/_md5/test/test_md5.py ........ =========================== 8 passed in 0.72 seconds =========================== ++ 18:02:33 starting module/_minimal_curses/test [24 started in total] __ module/_minimal_curses/test [24 done in total, somefailed=False] ___________ /Users/matti/oss/pypy-x86_64-buildbot/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 darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 pytest-2.9.2 from /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pytest.pyc rootdir: /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build, inifile: pytest.ini plugins: hypothesis-4.57.1 collected 0 items ========================= no tests ran in 0.01 seconds ========================= ++ 18:02:35 starting module/_multibytecodec/test [25 started in total] __ module/_multibytecodec/test [25 done in total, somefailed=False] ___________ /Users/matti/oss/pypy-x86_64-buildbot/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 darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 pytest-2.9.2 from /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pytest.pyc rootdir: /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build, inifile: pytest.ini plugins: hypothesis-4.57.1 collected 3 items module/_multibytecodec/test/test_multibtye_codecs.py ... =========================== 3 passed in 0.38 seconds =========================== ++ 18:02:38 starting module/_multiprocessing/test [26 started in total] __ module/_multiprocessing/test [26 done in total, somefailed=False] __________ /Users/matti/oss/pypy-x86_64-buildbot/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 darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 pytest-2.9.2 from /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pytest.pyc rootdir: /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build, inifile: pytest.ini plugins: hypothesis-4.57.1 collected 10 items module/_multiprocessing/test/test_semaphore.py ..sssss.s module/_multiprocessing/test/test_win32.py s ===================== 3 passed, 7 skipped in 1.16 seconds ====================== ++ 18:02:41 starting module/_opcode/test [27 started in total] __ module/_opcode/test [27 done in total, somefailed=False] ___________________ /Users/matti/oss/pypy-x86_64-buildbot/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 darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 pytest-2.9.2 from /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pytest.pyc rootdir: /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build, inifile: pytest.ini plugins: hypothesis-4.57.1 collected 0 items ========================= no tests ran in 0.00 seconds ========================= ++ 18:02:44 starting module/_pickle/test [28 started in total] __ module/_pickle/test [28 done in total, somefailed=False] ___________________ /Users/matti/oss/pypy-x86_64-buildbot/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 darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 pytest-2.9.2 from /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pytest.pyc rootdir: /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build, inifile: pytest.ini plugins: hypothesis-4.57.1 collected 0 items ========================= no tests ran in 0.00 seconds ========================= ++ 18:02:46 starting module/_pickle_support/test [29 started in total] __ module/_pickle_support/test [29 done in total, somefailed=False] ___________ /Users/matti/oss/pypy-x86_64-buildbot/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 darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 pytest-2.9.2 from /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pytest.pyc rootdir: /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build, inifile: pytest.ini plugins: hypothesis-4.57.1 collected 0 items ========================= no tests ran in 0.00 seconds ========================= ++ 18:02:49 starting module/_posixsubprocess/test [30 started in total] __ module/_posixsubprocess/test [30 done in total, somefailed=False] __________ /Users/matti/oss/pypy-x86_64-buildbot/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 darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 pytest-2.9.2 from /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pytest.pyc rootdir: /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build, inifile: pytest.ini plugins: hypothesis-4.57.1 collected 0 items ========================= no tests ran in 0.84 seconds ========================= ++ 18:02:52 starting module/_pypyjson/test [31 started in total] __ module/_pypyjson/test [31 done in total, somefailed=False] _________________ /Users/matti/oss/pypy-x86_64-buildbot/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 darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 pytest-2.9.2 from /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pytest.pyc rootdir: /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build, inifile: pytest.ini plugins: hypothesis-4.57.1 collected 29 items module/_pypyjson/test/test__pypyjson.py ............................. ========================== 29 passed in 2.62 seconds =========================== ++ 18:02:58 starting module/_random/test [32 started in total] __ module/_random/test [32 done in total, somefailed=False] ___________________ /Users/matti/oss/pypy-x86_64-buildbot/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 darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 pytest-2.9.2 from /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pytest.pyc rootdir: /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build, inifile: pytest.ini plugins: hypothesis-4.57.1 collected 12 items module/_random/test/test_random.py ............ ========================== 12 passed in 1.93 seconds =========================== ++ 18:03:02 starting module/_rawffi/alt/test [33 started in total] __ module/_rawffi/alt/test [33 done in total, somefailed=False] _______________ /Users/matti/oss/pypy-x86_64-buildbot/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 darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 pytest-2.9.2 from /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pytest.pyc rootdir: /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build, inifile: pytest.ini plugins: hypothesis-4.57.1 collected 61 items module/_rawffi/alt/test/test_ffitype.py ..... module/_rawffi/alt/test/test_funcptr.py ....ss.................................... module/_rawffi/alt/test/test_struct.py .............. ===================== 59 passed, 2 skipped in 7.14 seconds ===================== ++ 18:03:13 starting module/_rawffi/test [34 started in total] __ module/_rawffi/test [34 done in total, somefailed=True] ____________________ /Users/matti/oss/pypy-x86_64-buildbot/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 darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 pytest-2.9.2 from /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pytest.pyc rootdir: /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build, inifile: pytest.ini plugins: hypothesis-4.57.1 collected 80 items module/_rawffi/test/test__rawffi.py ..F................................................................... module/_rawffi/test/test_exit.py . module/_rawffi/test/test_nested.py ...... module/_rawffi/test/test_tracker.py sss =================================== FAILURES =================================== __________________ AppTestFfi.test_libload_fail_nonutf8_name ___________________ self = <CallInfo when='call' exception: Subprocess failed with exit code 1: Traceback (most recent call last): File "/tmp/b...8_name assert re.search(r'missing.*?\.so', str(e)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ AssertionError > func = <function <lambda> at 0x00007f797b684890>, when = 'call' def __init__(self, func, when): #: context of invocation: one of "setup", "call", #: "teardown", "memocollect" self.when = when self.start = time() try: > self.result = func() ../_pytest/runner.py:150: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > return CallInfo(lambda: ihook(item=item, **kwds), when=when) ../_pytest/runner.py:138: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_HookCaller 'pytest_runtest_call'> kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_libload_fail_nonutf8_name'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_libload_fail_nonutf8_name'>} def __call__(self, **kwargs): assert not self.is_historic() > return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs) ../_pytest/vendored_packages/pluggy.py:724: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.config.PytestPluginManager object at 0x00007f79988d8608> hook = <_HookCaller 'pytest_runtest_call'>, methods = [] kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_libload_fail_nonutf8_name'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_libload_fail_nonutf8_name'>} def _hookexec(self, hook, methods, kwargs): # called from all hookcaller instances. # enable_tracing will set its own wrapping function at self._inner_hookexec > return self._inner_hookexec(hook, methods, kwargs) ../_pytest/vendored_packages/pluggy.py:338: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook = <_HookCaller 'pytest_runtest_call'>, methods = [] kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_libload_fail_nonutf8_name'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_libload_fail_nonutf8_name'>} self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_libload_fail_nonutf8_name'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: > return _wrapped_call(hook_impl.function(*args), self.execute) ../_pytest/vendored_packages/pluggy.py:595: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrap_controller = <generator object pytest_runtest_call at 0x00007f797b6805c0> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 0 meths, kwargs={'i...nutf8_name'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>> def _wrapped_call(wrap_controller, func): """ Wrap calling to a function with a generator which needs to yield exactly once. The yield point will trigger calling the wrapped function and return its _CallOutcome to the yield point. The generator then needs to finish (raise StopIteration) in order for the wrapped call to complete. """ try: next(wrap_controller) # first yield except StopIteration: _raise_wrapfail(wrap_controller, "did not yield") call_outcome = _CallOutcome(func) try: wrap_controller.send(call_outcome) _raise_wrapfail(wrap_controller, "has second yield") except StopIteration: pass > return call_outcome.get_result() ../_pytest/vendored_packages/pluggy.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x00007f795819d360> def get_result(self): if self.excinfo is None: return self.result else: ex = self.excinfo if _py3: raise ex[1].with_traceback(ex[2]) > _reraise(*ex) # noqa ../_pytest/vendored_packages/pluggy.py:279: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x00007f795819d360> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 0 meths, kwargs={'i...nutf8_name'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_libload_fail_nonutf8_name'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: return _wrapped_call(hook_impl.function(*args), self.execute) > res = hook_impl.function(*args) ../_pytest/vendored_packages/pluggy.py:596: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = <AppTestMethod 'test_libload_fail_nonutf8_name'> def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <AppTestMethod 'test_libload_fail_nonutf8_name'> def runtest(self): target = self.obj src = extract_docstring_if_empty_function(target.im_func) space = target.im_self.space if self.config.option.runappdirect: appexec_definitions = self.parent.obj.__dict__ spaceconfig = getattr(self.parent.obj, 'spaceconfig', None) usemodules = spaceconfig.get('usemodules') if spaceconfig else None return run_with_python(self.config.option.python, src, usemodules, > **appexec_definitions) tool/pytest/apptest.py:327: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ python_ = '/Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pypy/goal/pypy3.12-c' target_ = <function test_libload_fail_nonutf8_name at 0x00007f797b269a60> usemodules = ['_rawffi', '_struct'] definitions = {'float_typemap': u'fd', 'is64bit': True, 'iswin32': False, 'lib_name': u'/tmp/buildbot-x86_64/usession-py3.12-4333/test__rawffi/x.dylib', ...} defs = ["self.float_typemap = 'fd'\n", 'self.is64bit = True\n', 'self.iswin32 = False\n', "self.lib_name = '/tmp/buildbot-x86...3.12-4333/test__rawffi/x.dylib'\n", "self.libc_name = '/usr/lib/libc.dylib'\n", "self.libm_name = 'libm.dylib'\n", ...] symbol = 'sizes_and_alignments' value = {u'?': (1L, 1L), u'B': (1L, 1L), u'H': (2L, 2L), u'I': (4L, 4L), ...} def run_with_python(python_, target_, usemodules, **definitions): if python_ is None: py.test.skip("Cannot find the default python3 interpreter to run with -A") defs = [] for symbol, value in sorted(definitions.items()): if isinstance(value, tuple) and isinstance(value[0], py.code.Source): code, args = value defs.append(str(code)) arg_repr = [] for arg in args: if isinstance(arg, types.FunctionType): arg_repr.append(arg.__name__) elif isinstance(arg, types.MethodType): arg_repr.append(arg.__name__) else: arg_repr.append(py3k_repr(arg)) args = ', '.join(arg_repr) defs.append("self.%s = anonymous(%s)\n" % (symbol, args)) elif isinstance(value, types.MethodType): # "def w_method(self)" code = py.code.Code(value) defs.append(str(code.source())) defs.append("type(self).%s = %s\n" % (symbol, value.__name__)) elif isinstance(value, types.ModuleType): name = value.__name__ defs.append("import %s; self.%s = %s\n" % (name, symbol, name)) elif isinstance(value, (str, unicode, int, long, float, list, tuple, dict)) or value is None: defs.append("self.%s = %s\n" % (symbol, py3k_repr(value))) check_usemodules = '' if usemodules: usemodules = [_rename_module(name) for name in usemodules] check_usemodules = """\ missing = set(%r).difference(sys.builtin_module_names) if missing: if not hasattr(sys, 'pypy_version_info'): # They may be extension modules on CPython name = None for name in missing.copy(): if name in ['cpyext', '_cffi_backend', '_rawffi']: missing.remove(name) continue try: __import__(name) except ImportError: pass else: missing.remove(name) del name if missing: sys.exit(81) del missing""" % usemodules source = list(py.code.Source(target_)) while source[0].startswith(('@py.test.mark.', '@pytest.mark.')): source.pop(0) source = source[1:] pyfile = udir.join('src.py') if isinstance(target_, str): # Special case of a docstring; the function name is the first word. target_name = target_.split('(', 1)[0] else: target_name = target_.__name__ with pyfile.open('w') as f: f.write(helpers % (pypyroot, check_usemodules)) f.write('\n'.join(defs)) f.write('def %s():\n' % target_name) f.write('\n'.join(source)) f.write("\ntry:\n %s()\n" % target_name) f.write('finally:\n print("===aefwuiheawiu===")') helper_dir = os.path.join(pypydir, 'tool', 'cpyext') env = os.environ.copy() env['PYTHONPATH'] = helper_dir res, stdout, stderr = run_subprocess( python_, [str(pyfile)], env=env) print pyfile.read() print "from", str(pyfile) print >> sys.stdout, stdout print >> sys.stderr, stderr if res == 81: py.test.skip('%r was not compiled w/ required usemodules: %r' % (python_, usemodules)) elif res != 0: raise AssertionError( > "Subprocess failed with exit code %s:\n%s" % (res, stderr)) E AssertionError: Subprocess failed with exit code 1: E Traceback (most recent call last): E File "/tmp/buildbot-x86_64/usession-py3.12-4333/src.py", line 96, in test_libload_fail_nonutf8_name E _rawffi.CDLL(b'missing\xff.so') E ^^^^ E OSError: Cannot load library missing\uxFF: dlopen(missing\uxFF E E During handling of the above exception, another exception occurred: E E Traceback (most recent call last): E File "/tmp/buildbot-x86_64/usession-py3.12-4333/src.py", line 103, in <module> E test_libload_fail_nonutf8_name() E File "/tmp/buildbot-x86_64/usession-py3.12-4333/src.py", line 99, in test_libload_fail_nonutf8_name E assert re.search(r'missing.*?\.so', str(e)) E ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E AssertionError tool/pytest/apptest.py:239: AssertionError ----------------------------- Captured stdout call ----------------------------- # -*- encoding: utf-8 -*- if 1: import sys sys.path.append('/Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build') missing = set(['_rawffi', '_struct']).difference(sys.builtin_module_names) if missing: if not hasattr(sys, 'pypy_version_info'): # They may be extension modules on CPython name = None for name in missing.copy(): if name in ['cpyext', '_cffi_backend', '_rawffi']: missing.remove(name) continue try: __import__(name) except ImportError: pass else: missing.remove(name) del name if missing: sys.exit(81) del missing def skip(message): print(message) raise SystemExit(0) __builtins__.skip = skip __builtins__.py3k_skip = skip class ExceptionWrapper: pass def raises(exc, *args, **kwargs): if not args: return RaisesContext(exc) func = args[0] args = args[1:] import os try: if isinstance(func, str): if func.startswith((' ', os.linesep, '\n')): # it's probably an indented block, so we prefix if True: # to avoid SyntaxError func = "if True:\n" + func frame = sys._getframe(1) exec(func, frame.f_globals, frame.f_locals) else: func(*args, **kwargs) except exc as e: res = ExceptionWrapper() res.value = e res.traceback = e.__traceback__ return res else: raise AssertionError("DID NOT RAISE") class RaisesContext(object): def __init__(self, expected_exception): self.expected_exception = expected_exception self.excinfo = None def __enter__(self): return self def __exit__(self, *tp): __tracebackhide__ = True if tp[0] is None: raise AssertionError("DID NOT RAISE") self.value = tp[1] return issubclass(tp[0], self.expected_exception) __builtins__.raises = raises class Test: pass self = Test() self.float_typemap = 'fd' self.is64bit = True self.iswin32 = False self.lib_name = '/tmp/buildbot-x86_64/usession-py3.12-4333/test__rawffi/x.dylib' self.libc_name = '/usr/lib/libc.dylib' self.libm_name = 'libm.dylib' self.platform = 'darwin_x86_64' self.runappdirect = True self.sizes_and_alignments = {'c': (1, 1,), 'b': (1, 1,), 'B': (1, 1,), 'h': (2, 2,), 'u': (4, 4,), 'H': (2, 2,), 'i': (4, 4,), 'I': (4, 4,), 'l': (8, 8,), 'L': (8, 8,), 'q': (8, 8,), 'Q': (8, 8,), 'f': (4, 4,), 'd': (8, 8,), 'g': (16, 16,), 's': (8, 8,), 'P': (8, 8,), 'z': (8, 8,), 'O': (8, 8,), 'Z': (8, 8,), '?': (1, 1,), 'v': (2, 2,)} def test_libload_fail_nonutf8_name(): import _rawffi, re # a non-UTF8 filename must still produce a usable (matchable) message, # not a mangled/invalid-utf8 string try: _rawffi.CDLL(b'missing\xff.so') except OSError as e: print(e) assert re.search(r'missing.*?\.so', str(e)) else: raise AssertionError("did not fail??") try: test_libload_fail_nonutf8_name() finally: print("===aefwuiheawiu===") from /tmp/buildbot-x86_64/usession-py3.12-4333/src.py Cannot load library missing\uxFF: dlopen(missing\uxFF ===aefwuiheawiu=== ----------------------------- Captured stderr call ----------------------------- Traceback (most recent call last): File "/tmp/buildbot-x86_64/usession-py3.12-4333/src.py", line 96, in test_libload_fail_nonutf8_name _rawffi.CDLL(b'missing\xff.so') ^^^^ OSError: Cannot load library missing\uxFF: dlopen(missing\uxFF During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/tmp/buildbot-x86_64/usession-py3.12-4333/src.py", line 103, in <module> test_libload_fail_nonutf8_name() File "/tmp/buildbot-x86_64/usession-py3.12-4333/src.py", line 99, in test_libload_fail_nonutf8_name assert re.search(r'missing.*?\.so', str(e)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ AssertionError =========================== short test summary info ============================ FAIL module/_rawffi/test/test__rawffi.py::AppTestFfi::()::test_libload_fail_nonutf8_name ================ 1 failed, 76 passed, 3 skipped in 8.63 seconds ================ ++ 18:03:25 starting module/_socket/test [35 started in total] __ module/_socket/test [35 done in total, somefailed=False] ___________________ /Users/matti/oss/pypy-x86_64-buildbot/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 darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 pytest-2.9.2 from /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pytest.pyc rootdir: /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build, inifile: pytest.ini plugins: hypothesis-4.57.1 collected 0 items ========================= no tests ran in 0.20 seconds ========================= ++ 18:03:27 starting module/_sre/test [36 started in total] __ module/_sre/test [36 done in total, somefailed=False] ______________________ /Users/matti/oss/pypy-x86_64-buildbot/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 darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 pytest-2.9.2 from /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pytest.pyc rootdir: /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build, inifile: pytest.ini plugins: hypothesis-4.57.1 collected 94 items module/_sre/test/test_app_sre.py ..............................ssssssssssssssssssssssssssssssssssss module/_sre/test/test_sre_buf.py ............................ ==================== 58 passed, 36 skipped in 7.47 seconds ===================== ++ 18:03:38 starting module/_vmprof/test [37 started in total] __ module/_vmprof/test [37 done in total, somefailed=False] ___________________ /Users/matti/oss/pypy-x86_64-buildbot/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 darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 pytest-2.9.2 from /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pytest.pyc rootdir: /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build, inifile: pytest.ini plugins: hypothesis-4.57.1 collected 5 items module/_vmprof/test/test__vmprof.py ..... =========================== 5 passed in 1.85 seconds =========================== ++ 18:03:42 starting module/_warnings/test [38 started in total] __ module/_warnings/test [38 done in total, somefailed=False] _________________ /Users/matti/oss/pypy-x86_64-buildbot/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 darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 pytest-2.9.2 from /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pytest.pyc rootdir: /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build, inifile: pytest.ini plugins: hypothesis-4.57.1 collected 0 items ========================= no tests ran in 0.01 seconds ========================= ++ 18:03:45 starting module/_weakref/test [39 started in total] __ module/_weakref/test [39 done in total, somefailed=False] __________________ /Users/matti/oss/pypy-x86_64-buildbot/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 darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 pytest-2.9.2 from /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pytest.pyc rootdir: /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build, inifile: pytest.ini plugins: hypothesis-4.57.1 collected 0 items ========================= no tests ran in 0.00 seconds ========================= ++ 18:03:47 starting module/_winreg/test [40 started in total] __ module/_winreg/test [40 done in total, somefailed=False] ___________________ /Users/matti/oss/pypy-x86_64-buildbot/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 darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 pytest-2.9.2 from /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pytest.pyc rootdir: /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build, inifile: pytest.ini plugins: hypothesis-4.57.1 collected 0 items / 1 skipped ========================== 1 skipped in 0.07 seconds =========================== ++ 18:03:50 starting module/array/test [41 started in total] __ module/array/test [41 done in total, somefailed=False] _____________________ /Users/matti/oss/pypy-x86_64-buildbot/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 darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 pytest-2.9.2 from /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pytest.pyc rootdir: /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build, inifile: pytest.ini plugins: hypothesis-4.57.1 collected 60 items module/array/test/test_array.py ............................................................ ========================== 60 passed in 5.51 seconds =========================== ++ 18:03:58 starting module/atexit/test [42 started in total] __ module/atexit/test [42 done in total, somefailed=False] ____________________ /Users/matti/oss/pypy-x86_64-buildbot/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 darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 pytest-2.9.2 from /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pytest.pyc rootdir: /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build, inifile: pytest.ini plugins: hypothesis-4.57.1 collected 0 items ========================= no tests ran in 0.00 seconds ========================= ++ 18:04:01 starting module/binascii/test [43 started in total] __ module/binascii/test [43 done in total, somefailed=False] __________________ /Users/matti/oss/pypy-x86_64-buildbot/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 darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 pytest-2.9.2 from /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pytest.pyc rootdir: /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build, inifile: pytest.ini plugins: hypothesis-4.57.1 collected 18 items module/binascii/test/test_binascii.py .................. ========================== 18 passed in 1.85 seconds =========================== ++ 18:04:05 starting module/bz2/test [44 started in total] __ module/bz2/test [44 done in total, somefailed=False] _______________________ /Users/matti/oss/pypy-x86_64-buildbot/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 darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 pytest-2.9.2 from /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pytest.pyc rootdir: /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build, inifile: pytest.ini plugins: hypothesis-4.57.1 collected 45 items module/bz2/test/test_bz2_compdecomp.py ssssssssssssssss module/bz2/test/test_bz2_file.py ssssssssssssssssssssssssssss module/bz2/test/test_large.py s ========================== 45 skipped in 4.11 seconds ========================== ++ 18:04:12 starting module/cmath/test [45 started in total] __ module/cmath/test [45 done in total, somefailed=False] _____________________ /Users/matti/oss/pypy-x86_64-buildbot/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 darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 pytest-2.9.2 from /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pytest.pyc rootdir: /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build, inifile: pytest.ini plugins: hypothesis-4.57.1 collected 16 items module/cmath/test/test_cmath.py ................ ========================== 16 passed in 1.44 seconds =========================== ++ 18:04:16 starting module/cpyext/test [46 started in total] __ module/cpyext/test [46 done in total, somefailed=True] _____________________ /Users/matti/oss/pypy-x86_64-buildbot/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 darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 pytest-2.9.2 from /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pytest.pyc rootdir: /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build, inifile: pytest.ini plugins: hypothesis-4.57.1 collected 457 items / 1 skipped module/cpyext/test/test_arraymodule.py ..........x....... module/cpyext/test/test_async_iter.py sss module/cpyext/test/test_boolobject.py ... module/cpyext/test/test_borrow.py ... module/cpyext/test/test_buffer.py ...... module/cpyext/test/test_bytearrayobject.py ...... module/cpyext/test/test_bytesobject.py ......... module/cpyext/test/test_capsule.py ... module/cpyext/test/test_cell.py . module/cpyext/test/test_classobject.py .. module/cpyext/test/test_codecs.py . module/cpyext/test/test_complexobject.py ..... module/cpyext/test/test_contextvars.py . module/cpyext/test/test_cpyext.py .....F................... module/cpyext/test/test_datetime.py ....... module/cpyext/test/test_dictobject.py ........... module/cpyext/test/test_eval.py .......x... module/cpyext/test/test_exception.py .. module/cpyext/test/test_fileobject.py . module/cpyext/test/test_floatobject.py ............ module/cpyext/test/test_frameobject.py ..... module/cpyext/test/test_funcobject.py ....... module/cpyext/test/test_genobject.py .. module/cpyext/test/test_getargs.py ................ module/cpyext/test/test_import.py .. module/cpyext/test/test_iterator.py .. module/cpyext/test/test_listobject.py ..... module/cpyext/test/test_longobject.py ............... module/cpyext/test/test_marshal.py .. module/cpyext/test/test_memoryobject.py .s......... module/cpyext/test/test_methodobject.py .............. module/cpyext/test/test_misc.py . module/cpyext/test/test_module.py ....................... module/cpyext/test/test_namespaceobject.py . module/cpyext/test/test_number.py ... module/cpyext/test/test_object.py .................... module/cpyext/test/test_pyerrors.py ................s......... module/cpyext/test/test_pymem.py . module/cpyext/test/test_pysignals.py . module/cpyext/test/test_pystate.py ....x.....F. module/cpyext/test/test_pystrhex.py . module/cpyext/test/test_pystrtod.py . module/cpyext/test/test_sequence.py .... module/cpyext/test/test_setobject.py . module/cpyext/test/test_sliceobject.py ...... module/cpyext/test/test_structseq.py . module/cpyext/test/test_sysmodule.py ... module/cpyext/test/test_thread.py x...x. module/cpyext/test/test_tupleobject.py ..... module/cpyext/test/test_typeobject.py .......................................................................................... module/cpyext/test/test_unicodeobject.py ................................ module/cpyext/test/test_userslots.py .... module/cpyext/test/test_version.py .. module/cpyext/test/test_weakref.py .. =================================== FAILURES =================================== __________________ AppTestCpythonExtension.test_load_dynamic ___________________ self = <CallInfo when='call' exception: Subprocess failed with exit code 1: Traceback (most recent call last): File "/tmp/b...in test_load_dynamic assert foo.__dict__ == foo2.__dict__ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ AssertionError > func = <function <lambda> at 0x00007fe5e952b6a0>, when = 'call' def __init__(self, func, when): #: context of invocation: one of "setup", "call", #: "teardown", "memocollect" self.when = when self.start = time() try: > self.result = func() ../_pytest/runner.py:150: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > return CallInfo(lambda: ihook(item=item, **kwds), when=when) ../_pytest/runner.py:138: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_HookCaller 'pytest_runtest_call'> kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_load_dynamic'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_load_dynamic'>} def __call__(self, **kwargs): assert not self.is_historic() > return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs) ../_pytest/vendored_packages/pluggy.py:724: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.config.PytestPluginManager object at 0x00007fe5e88d6608> hook = <_HookCaller 'pytest_runtest_call'>, methods = [] kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_load_dynamic'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_load_dynamic'>} def _hookexec(self, hook, methods, kwargs): # called from all hookcaller instances. # enable_tracing will set its own wrapping function at self._inner_hookexec > return self._inner_hookexec(hook, methods, kwargs) ../_pytest/vendored_packages/pluggy.py:338: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook = <_HookCaller 'pytest_runtest_call'>, methods = [] kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_load_dynamic'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_load_dynamic'>} self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_load_dynamic'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: > return _wrapped_call(hook_impl.function(*args), self.execute) ../_pytest/vendored_packages/pluggy.py:595: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrap_controller = <generator object pytest_runtest_call at 0x00007fe5ea61bfd8> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 0 meths, kwargs={'i...ad_dynamic'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>> def _wrapped_call(wrap_controller, func): """ Wrap calling to a function with a generator which needs to yield exactly once. The yield point will trigger calling the wrapped function and return its _CallOutcome to the yield point. The generator then needs to finish (raise StopIteration) in order for the wrapped call to complete. """ try: next(wrap_controller) # first yield except StopIteration: _raise_wrapfail(wrap_controller, "did not yield") call_outcome = _CallOutcome(func) try: wrap_controller.send(call_outcome) _raise_wrapfail(wrap_controller, "has second yield") except StopIteration: pass > return call_outcome.get_result() ../_pytest/vendored_packages/pluggy.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x00007fe5caca6020> def get_result(self): if self.excinfo is None: return self.result else: ex = self.excinfo if _py3: raise ex[1].with_traceback(ex[2]) > _reraise(*ex) # noqa ../_pytest/vendored_packages/pluggy.py:279: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x00007fe5caca6020> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 0 meths, kwargs={'i...ad_dynamic'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_load_dynamic'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: return _wrapped_call(hook_impl.function(*args), self.execute) > res = hook_impl.function(*args) ../_pytest/vendored_packages/pluggy.py:596: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = <AppTestMethod 'test_load_dynamic'> def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <AppTestMethod 'test_load_dynamic'> def runtest(self): target = self.obj src = extract_docstring_if_empty_function(target.im_func) space = target.im_self.space if self.config.option.runappdirect: appexec_definitions = self.parent.obj.__dict__ spaceconfig = getattr(self.parent.obj, 'spaceconfig', None) usemodules = spaceconfig.get('usemodules') if spaceconfig else None return run_with_python(self.config.option.python, src, usemodules, > **appexec_definitions) tool/pytest/apptest.py:327: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ python_ = '/Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pypy/goal/pypy3.12-c' target_ = <function test_load_dynamic at 0x00007fe5ca0a52e0> usemodules = ['cpyext', '_thread', '_struct', 'array', 'itertools', 'time', ...] definitions = {'compile_module': <bound method AppTestCpythonExtension.w_compile_module of <pypy.module.cpyext.test.test_cpyext.AppT...w_import_extension of <pypy.module.cpyext.test.test_cpyext.AppTestCpythonExtension object at 0x00007fe5a8c7cb80>>, ...} defs = ['def w_compile_module(self, name,\n source_files=None, source_strings=None):\n from extbuild import get_sys...e=prologue,\n include_dirs=include_dirs, more_init=more_init,\n PY_SSIZE_T_CLEAN=PY_SSIZE_T_CLEAN)', ...] symbol = 'udir', value = u'/tmp/buildbot-x86_64/usession-py3.12-4345' code = <py._code.code.Code object at 0x00007fe5a8c7ccd0> def run_with_python(python_, target_, usemodules, **definitions): if python_ is None: py.test.skip("Cannot find the default python3 interpreter to run with -A") defs = [] for symbol, value in sorted(definitions.items()): if isinstance(value, tuple) and isinstance(value[0], py.code.Source): code, args = value defs.append(str(code)) arg_repr = [] for arg in args: if isinstance(arg, types.FunctionType): arg_repr.append(arg.__name__) elif isinstance(arg, types.MethodType): arg_repr.append(arg.__name__) else: arg_repr.append(py3k_repr(arg)) args = ', '.join(arg_repr) defs.append("self.%s = anonymous(%s)\n" % (symbol, args)) elif isinstance(value, types.MethodType): # "def w_method(self)" code = py.code.Code(value) defs.append(str(code.source())) defs.append("type(self).%s = %s\n" % (symbol, value.__name__)) elif isinstance(value, types.ModuleType): name = value.__name__ defs.append("import %s; self.%s = %s\n" % (name, symbol, name)) elif isinstance(value, (str, unicode, int, long, float, list, tuple, dict)) or value is None: defs.append("self.%s = %s\n" % (symbol, py3k_repr(value))) check_usemodules = '' if usemodules: usemodules = [_rename_module(name) for name in usemodules] check_usemodules = """\ missing = set(%r).difference(sys.builtin_module_names) if missing: if not hasattr(sys, 'pypy_version_info'): # They may be extension modules on CPython name = None for name in missing.copy(): if name in ['cpyext', '_cffi_backend', '_rawffi']: missing.remove(name) continue try: __import__(name) except ImportError: pass else: missing.remove(name) del name if missing: sys.exit(81) del missing""" % usemodules source = list(py.code.Source(target_)) while source[0].startswith(('@py.test.mark.', '@pytest.mark.')): source.pop(0) source = source[1:] pyfile = udir.join('src.py') if isinstance(target_, str): # Special case of a docstring; the function name is the first word. target_name = target_.split('(', 1)[0] else: target_name = target_.__name__ with pyfile.open('w') as f: f.write(helpers % (pypyroot, check_usemodules)) f.write('\n'.join(defs)) f.write('def %s():\n' % target_name) f.write('\n'.join(source)) f.write("\ntry:\n %s()\n" % target_name) f.write('finally:\n print("===aefwuiheawiu===")') helper_dir = os.path.join(pypydir, 'tool', 'cpyext') env = os.environ.copy() env['PYTHONPATH'] = helper_dir res, stdout, stderr = run_subprocess( python_, [str(pyfile)], env=env) print pyfile.read() print "from", str(pyfile) print >> sys.stdout, stdout print >> sys.stderr, stderr if res == 81: py.test.skip('%r was not compiled w/ required usemodules: %r' % (python_, usemodules)) elif res != 0: raise AssertionError( > "Subprocess failed with exit code %s:\n%s" % (res, stderr)) E AssertionError: Subprocess failed with exit code 1: E Traceback (most recent call last): E File "/tmp/buildbot-x86_64/usession-py3.12-4345/src.py", line 145, in <module> E test_load_dynamic() E File "/tmp/buildbot-x86_64/usession-py3.12-4345/src.py", line 143, in test_load_dynamic E assert foo.__dict__ == foo2.__dict__ E ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E AssertionError tool/pytest/apptest.py:239: AssertionError ----------------------------- Captured stdout call ----------------------------- # -*- encoding: utf-8 -*- if 1: import sys sys.path.append('/Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build') missing = set(['cpyext', '_thread', '_struct', 'array', 'itertools', 'time', 'binascii', 'mmap', '_signal', '_cffi_backend']).difference(sys.builtin_module_names) if missing: if not hasattr(sys, 'pypy_version_info'): # They may be extension modules on CPython name = None for name in missing.copy(): if name in ['cpyext', '_cffi_backend', '_rawffi']: missing.remove(name) continue try: __import__(name) except ImportError: pass else: missing.remove(name) del name if missing: sys.exit(81) del missing def skip(message): print(message) raise SystemExit(0) __builtins__.skip = skip __builtins__.py3k_skip = skip class ExceptionWrapper: pass def raises(exc, *args, **kwargs): if not args: return RaisesContext(exc) func = args[0] args = args[1:] import os try: if isinstance(func, str): if func.startswith((' ', os.linesep, '\n')): # it's probably an indented block, so we prefix if True: # to avoid SyntaxError func = "if True:\n" + func frame = sys._getframe(1) exec(func, frame.f_globals, frame.f_locals) else: func(*args, **kwargs) except exc as e: res = ExceptionWrapper() res.value = e res.traceback = e.__traceback__ return res else: raise AssertionError("DID NOT RAISE") class RaisesContext(object): def __init__(self, expected_exception): self.expected_exception = expected_exception self.excinfo = None def __enter__(self): return self def __exit__(self, *tp): __tracebackhide__ = True if tp[0] is None: raise AssertionError("DID NOT RAISE") self.value = tp[1] return issubclass(tp[0], self.expected_exception) __builtins__.raises = raises class Test: pass self = Test() def w_compile_module(self, name, source_files=None, source_strings=None): from extbuild import get_sys_info_app sys_info = get_sys_info_app(self.udir) return sys_info.compile_extension_module(name, source_files=source_files, source_strings=source_strings) type(self).compile_module = w_compile_module def w_debug_collect(self): import gc gc.collect() gc.collect() gc.collect() type(self).debug_collect = w_debug_collect self.here = '/Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pypy/module/cpyext/test' def w_import_extension(self, modname, functions, prologue="", include_dirs=None, more_init="", PY_SSIZE_T_CLEAN=False): from extbuild import get_sys_info_app sys_info = get_sys_info_app(self.udir) return sys_info.import_extension( modname, functions, prologue=prologue, include_dirs=include_dirs, more_init=more_init, PY_SSIZE_T_CLEAN=PY_SSIZE_T_CLEAN) type(self).import_extension = w_import_extension def w_import_module(self, name, init=None, body='', filename=None, include_dirs=None, PY_SSIZE_T_CLEAN=False, use_imp=False): from extbuild import get_sys_info_app sys_info = get_sys_info_app(self.udir) return sys_info.import_module( name, init=init, body=body, filename=filename, include_dirs=include_dirs, PY_SSIZE_T_CLEAN=PY_SSIZE_T_CLEAN) type(self).import_module = w_import_module def w_load_module(self, mod, name): from extbuild import get_sys_info_app sys_info = get_sys_info_app(self.udir) return sys_info.load_module(mod, name) type(self).load_module = w_load_module self.runappdirect = True self.udir = '/tmp/buildbot-x86_64/usession-py3.12-4345' def test_load_dynamic(): import sys body = """ static struct PyModuleDef moduledef = { PyModuleDef_HEAD_INIT, "%(modname)s", /* m_name */ NULL, /* m_doc */ -1, /* m_size */ NULL, /* m_methods */ }; """ foo = self.import_module(name='foo', body=body, use_imp=True) assert 'foo' in sys.modules del sys.modules['foo'] # replaces imp.load_dynamic('foo', foo.__file__), removed in 3.12 import importlib.machinery, importlib.util loader = importlib.machinery.ExtensionFileLoader('foo', foo.__file__) spec = importlib.util.spec_from_file_location( 'foo', foo.__file__, loader=loader) foo2 = importlib.util.module_from_spec(spec) sys.modules['foo'] = foo2 loader.exec_module(foo2) assert 'foo' in sys.modules assert foo.__dict__ == foo2.__dict__ try: test_load_dynamic() finally: print("===aefwuiheawiu===") from /tmp/buildbot-x86_64/usession-py3.12-4345/src.py ===aefwuiheawiu=== ----------------------------- Captured stderr call ----------------------------- Traceback (most recent call last): File "/tmp/buildbot-x86_64/usession-py3.12-4345/src.py", line 145, in <module> test_load_dynamic() File "/tmp/buildbot-x86_64/usession-py3.12-4345/src.py", line 143, in test_load_dynamic assert foo.__dict__ == foo2.__dict__ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ AssertionError _____________________ AppTestThreads.test_thread_interrupt _____________________ self = <CallInfo when='call' exception: Subprocess failed with exit code 1: Traceback (most recent call last): File "/tmp/b....py", line 192, in test_thread_interrupt assert cancelled_exception ^^^^^^^^^^^^^^^^^^^ AssertionError > func = <function <lambda> at 0x00007fe5cacbc020>, when = 'call' def __init__(self, func, when): #: context of invocation: one of "setup", "call", #: "teardown", "memocollect" self.when = when self.start = time() try: > self.result = func() ../_pytest/runner.py:150: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > return CallInfo(lambda: ihook(item=item, **kwds), when=when) ../_pytest/runner.py:138: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_HookCaller 'pytest_runtest_call'> kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_thread_interrupt'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_thread_interrupt'>} def __call__(self, **kwargs): assert not self.is_historic() > return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs) ../_pytest/vendored_packages/pluggy.py:724: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.config.PytestPluginManager object at 0x00007fe5e88d6608> hook = <_HookCaller 'pytest_runtest_call'>, methods = [] kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_thread_interrupt'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_thread_interrupt'>} def _hookexec(self, hook, methods, kwargs): # called from all hookcaller instances. # enable_tracing will set its own wrapping function at self._inner_hookexec > return self._inner_hookexec(hook, methods, kwargs) ../_pytest/vendored_packages/pluggy.py:338: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook = <_HookCaller 'pytest_runtest_call'>, methods = [] kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_thread_interrupt'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_thread_interrupt'>} self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_thread_interrupt'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: > return _wrapped_call(hook_impl.function(*args), self.execute) ../_pytest/vendored_packages/pluggy.py:595: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrap_controller = <generator object pytest_runtest_call at 0x00007fe5a8608e58> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 0 meths, kwargs={'i..._interrupt'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>> def _wrapped_call(wrap_controller, func): """ Wrap calling to a function with a generator which needs to yield exactly once. The yield point will trigger calling the wrapped function and return its _CallOutcome to the yield point. The generator then needs to finish (raise StopIteration) in order for the wrapped call to complete. """ try: next(wrap_controller) # first yield except StopIteration: _raise_wrapfail(wrap_controller, "did not yield") call_outcome = _CallOutcome(func) try: wrap_controller.send(call_outcome) _raise_wrapfail(wrap_controller, "has second yield") except StopIteration: pass > return call_outcome.get_result() ../_pytest/vendored_packages/pluggy.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x00007fe5c87c5a20> def get_result(self): if self.excinfo is None: return self.result else: ex = self.excinfo if _py3: raise ex[1].with_traceback(ex[2]) > _reraise(*ex) # noqa ../_pytest/vendored_packages/pluggy.py:279: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x00007fe5c87c5a20> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 0 meths, kwargs={'i..._interrupt'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_thread_interrupt'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: return _wrapped_call(hook_impl.function(*args), self.execute) > res = hook_impl.function(*args) ../_pytest/vendored_packages/pluggy.py:596: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = <AppTestMethod 'test_thread_interrupt'> def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <AppTestMethod 'test_thread_interrupt'> def runtest(self): target = self.obj src = extract_docstring_if_empty_function(target.im_func) space = target.im_self.space if self.config.option.runappdirect: appexec_definitions = self.parent.obj.__dict__ spaceconfig = getattr(self.parent.obj, 'spaceconfig', None) usemodules = spaceconfig.get('usemodules') if spaceconfig else None return run_with_python(self.config.option.python, src, usemodules, > **appexec_definitions) tool/pytest/apptest.py:327: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ python_ = '/Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pypy/goal/pypy3.12-c' target_ = <function test_thread_interrupt at 0x00007fe5eaa05448> usemodules = ['cpyext', '_thread', '_struct', 'array', 'itertools', 'time', ...] definitions = {'compile_module': <bound method AppTestThreads.w_compile_module of <pypy.module.cpyext.test.test_pystate.AppTestThrea...Threads.w_import_extension of <pypy.module.cpyext.test.test_pystate.AppTestThreads object at 0x00007fe5ba4c5cc8>>, ...} defs = ['def w_compile_module(self, name,\n source_files=None, source_strings=None):\n from extbuild import get_sys...e=prologue,\n include_dirs=include_dirs, more_init=more_init,\n PY_SSIZE_T_CLEAN=PY_SSIZE_T_CLEAN)', ...] symbol = 'udir', value = u'/tmp/buildbot-x86_64/usession-py3.12-4345' code = <py._code.code.Code object at 0x00007fe5ba4c5e88> def run_with_python(python_, target_, usemodules, **definitions): if python_ is None: py.test.skip("Cannot find the default python3 interpreter to run with -A") defs = [] for symbol, value in sorted(definitions.items()): if isinstance(value, tuple) and isinstance(value[0], py.code.Source): code, args = value defs.append(str(code)) arg_repr = [] for arg in args: if isinstance(arg, types.FunctionType): arg_repr.append(arg.__name__) elif isinstance(arg, types.MethodType): arg_repr.append(arg.__name__) else: arg_repr.append(py3k_repr(arg)) args = ', '.join(arg_repr) defs.append("self.%s = anonymous(%s)\n" % (symbol, args)) elif isinstance(value, types.MethodType): # "def w_method(self)" code = py.code.Code(value) defs.append(str(code.source())) defs.append("type(self).%s = %s\n" % (symbol, value.__name__)) elif isinstance(value, types.ModuleType): name = value.__name__ defs.append("import %s; self.%s = %s\n" % (name, symbol, name)) elif isinstance(value, (str, unicode, int, long, float, list, tuple, dict)) or value is None: defs.append("self.%s = %s\n" % (symbol, py3k_repr(value))) check_usemodules = '' if usemodules: usemodules = [_rename_module(name) for name in usemodules] check_usemodules = """\ missing = set(%r).difference(sys.builtin_module_names) if missing: if not hasattr(sys, 'pypy_version_info'): # They may be extension modules on CPython name = None for name in missing.copy(): if name in ['cpyext', '_cffi_backend', '_rawffi']: missing.remove(name) continue try: __import__(name) except ImportError: pass else: missing.remove(name) del name if missing: sys.exit(81) del missing""" % usemodules source = list(py.code.Source(target_)) while source[0].startswith(('@py.test.mark.', '@pytest.mark.')): source.pop(0) source = source[1:] pyfile = udir.join('src.py') if isinstance(target_, str): # Special case of a docstring; the function name is the first word. target_name = target_.split('(', 1)[0] else: target_name = target_.__name__ with pyfile.open('w') as f: f.write(helpers % (pypyroot, check_usemodules)) f.write('\n'.join(defs)) f.write('def %s():\n' % target_name) f.write('\n'.join(source)) f.write("\ntry:\n %s()\n" % target_name) f.write('finally:\n print("===aefwuiheawiu===")') helper_dir = os.path.join(pypydir, 'tool', 'cpyext') env = os.environ.copy() env['PYTHONPATH'] = helper_dir res, stdout, stderr = run_subprocess( python_, [str(pyfile)], env=env) print pyfile.read() print "from", str(pyfile) print >> sys.stdout, stdout print >> sys.stderr, stderr if res == 81: py.test.skip('%r was not compiled w/ required usemodules: %r' % (python_, usemodules)) elif res != 0: raise AssertionError( > "Subprocess failed with exit code %s:\n%s" % (res, stderr)) E AssertionError: Subprocess failed with exit code 1: E Traceback (most recent call last): E File "/tmp/buildbot-x86_64/usession-py3.12-4345/src.py", line 204, in <module> E test_thread_interrupt() E File "/tmp/buildbot-x86_64/usession-py3.12-4345/src.py", line 192, in test_thread_interrupt E assert cancelled_exception E ^^^^^^^^^^^^^^^^^^^ E AssertionError tool/pytest/apptest.py:239: AssertionError ----------------------------- Captured stdout call ----------------------------- # -*- encoding: utf-8 -*- if 1: import sys sys.path.append('/Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build') missing = set(['cpyext', '_thread', '_struct', 'array', 'itertools', 'time', 'binascii', 'mmap', '_signal', '_cffi_backend']).difference(sys.builtin_module_names) if missing: if not hasattr(sys, 'pypy_version_info'): # They may be extension modules on CPython name = None for name in missing.copy(): if name in ['cpyext', '_cffi_backend', '_rawffi']: missing.remove(name) continue try: __import__(name) except ImportError: pass else: missing.remove(name) del name if missing: sys.exit(81) del missing def skip(message): print(message) raise SystemExit(0) __builtins__.skip = skip __builtins__.py3k_skip = skip class ExceptionWrapper: pass def raises(exc, *args, **kwargs): if not args: return RaisesContext(exc) func = args[0] args = args[1:] import os try: if isinstance(func, str): if func.startswith((' ', os.linesep, '\n')): # it's probably an indented block, so we prefix if True: # to avoid SyntaxError func = "if True:\n" + func frame = sys._getframe(1) exec(func, frame.f_globals, frame.f_locals) else: func(*args, **kwargs) except exc as e: res = ExceptionWrapper() res.value = e res.traceback = e.__traceback__ return res else: raise AssertionError("DID NOT RAISE") class RaisesContext(object): def __init__(self, expected_exception): self.expected_exception = expected_exception self.excinfo = None def __enter__(self): return self def __exit__(self, *tp): __tracebackhide__ = True if tp[0] is None: raise AssertionError("DID NOT RAISE") self.value = tp[1] return issubclass(tp[0], self.expected_exception) __builtins__.raises = raises class Test: pass self = Test() def w_compile_module(self, name, source_files=None, source_strings=None): from extbuild import get_sys_info_app sys_info = get_sys_info_app(self.udir) return sys_info.compile_extension_module(name, source_files=source_files, source_strings=source_strings) type(self).compile_module = w_compile_module def w_debug_collect(self): import gc gc.collect() gc.collect() gc.collect() type(self).debug_collect = w_debug_collect self.here = '/Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pypy/module/cpyext/test' def w_import_extension(self, modname, functions, prologue="", include_dirs=None, more_init="", PY_SSIZE_T_CLEAN=False): from extbuild import get_sys_info_app sys_info = get_sys_info_app(self.udir) return sys_info.import_extension( modname, functions, prologue=prologue, include_dirs=include_dirs, more_init=more_init, PY_SSIZE_T_CLEAN=PY_SSIZE_T_CLEAN) type(self).import_extension = w_import_extension def w_import_module(self, name, init=None, body='', filename=None, include_dirs=None, PY_SSIZE_T_CLEAN=False, use_imp=False): from extbuild import get_sys_info_app sys_info = get_sys_info_app(self.udir) return sys_info.import_module( name, init=init, body=body, filename=filename, include_dirs=include_dirs, PY_SSIZE_T_CLEAN=PY_SSIZE_T_CLEAN) type(self).import_module = w_import_module def w_load_module(self, mod, name): from extbuild import get_sys_info_app sys_info = get_sys_info_app(self.udir) return sys_info.load_module(mod, name) type(self).load_module = w_load_module self.runappdirect = True self.udir = '/tmp/buildbot-x86_64/usession-py3.12-4345' def test_thread_interrupt(): if not self.runappdirect: skip("test fails untranslated for obscure reasons") import signal # to initialize the signal infrastructure import _thread as thread, time module = self.import_extension('disruptor', [ ("surprise", "METH_VARARGS", """ long tid; PyObject *exc; if (!PyArg_ParseTuple(args, "lO", &tid, &exc)) return NULL; return PyLong_FromLong(PyThreadState_SetAsyncExc(tid, exc)); """), ("nosurprise", "METH_VARARGS", """ long tid; if (!PyArg_ParseTuple(args, "l", &tid)) return NULL; return PyLong_FromLong(PyThreadState_SetAsyncExc(tid, NULL)); """), ]) # raise in another thread def f(): try: childstarted.append(thread.get_ident()) while 1: print("waiting in child") time.sleep(0.1) except KeyError: childstarted.pop() else: thread.interrupt_main() # to crash the test cancelled_exception = False for i in range(20): print(i) # first wait for the child to start childstarted = [] thread.start_new_thread(f, ()) for i in range(500): if childstarted: break time.sleep(0.1) # then interrupt it from the main thread res = module.surprise(childstarted[0], KeyError) assert res == 1 # try to cancel the interrupt # this is racing! the child could either have been terminated # already or not try: res = module.nosurprise(childstarted[0]) assert res in (0, 1) except IndexError: pass else: if res == 1: cancelled_exception = True # actually send exception res = module.surprise(childstarted[0], KeyError) assert res in (0, 1) # now wait for the exception to arrive in the child thread # which empties childstarted again for i in range(500): if not childstarted: break time.sleep(0.1) assert res == 1 if self.runappdirect: # only after translation assert cancelled_exception else: # best we can do is check that the test ran pass # raise to main with raises(ValueError): res = module.surprise(thread.get_ident(), ValueError) while 1: print("sleeping") time.sleep(0.1) try: test_thread_interrupt() finally: print("===aefwuiheawiu===") from /tmp/buildbot-x86_64/usession-py3.12-4345/src.py 0 waiting in child 1 waiting in child 2 waiting in child 3 waiting in child 4 waiting in child 5 waiting in child 6 waiting in child 7 waiting in child 8 waiting in child 9 waiting in child 10 waiting in child 11 waiting in child 12 waiting in child 13 waiting in child 14 waiting in child 15 waiting in child 16 waiting in child 17 waiting in child 18 waiting in child 19 waiting in child ===aefwuiheawiu=== ----------------------------- Captured stderr call ----------------------------- Traceback (most recent call last): File "/tmp/buildbot-x86_64/usession-py3.12-4345/src.py", line 204, in <module> test_thread_interrupt() File "/tmp/buildbot-x86_64/usession-py3.12-4345/src.py", line 192, in test_thread_interrupt assert cancelled_exception ^^^^^^^^^^^^^^^^^^^ AssertionError =========================== short test summary info ============================ FAIL module/cpyext/test/test_cpyext.py::AppTestCpythonExtension::()::test_load_dynamic FAIL module/cpyext/test/test_pystate.py::AppTestThreads::()::test_thread_interrupt ========= 2 failed, 445 passed, 6 skipped, 5 xfailed in 857.55 seconds ========= ++ 18:18:42 starting module/crypt/test [47 started in total] __ module/crypt/test [47 done in total, somefailed=False] _____________________ /Users/matti/oss/pypy-x86_64-buildbot/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 darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 pytest-2.9.2 from /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pytest.pyc rootdir: /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build, inifile: pytest.ini plugins: hypothesis-4.57.1 collected 1 items module/crypt/test/test_crypt.py s ========================== 1 skipped in 0.12 seconds =========================== ++ 18:18:45 starting module/errno/test [48 started in total] __ module/errno/test [48 done in total, somefailed=False] _____________________ /Users/matti/oss/pypy-x86_64-buildbot/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 darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 pytest-2.9.2 from /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pytest.pyc rootdir: /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build, inifile: pytest.ini plugins: hypothesis-4.57.1 collected 3 items module/errno/test/test_errno.py ... =========================== 3 passed in 0.29 seconds =========================== ++ 18:18:47 starting module/exceptions/test [49 started in total] __ module/exceptions/test [49 done in total, somefailed=False] ________________ /Users/matti/oss/pypy-x86_64-buildbot/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 darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 pytest-2.9.2 from /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pytest.pyc rootdir: /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build, inifile: pytest.ini plugins: hypothesis-4.57.1 collected 48 items module/exceptions/test/test_exc.py ................................................ ========================== 48 passed in 4.19 seconds =========================== ++ 18:18:54 starting module/faulthandler/test [50 started in total] __ module/faulthandler/test [50 done in total, somefailed=False] ______________ /Users/matti/oss/pypy-x86_64-buildbot/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 darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 pytest-2.9.2 from /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pytest.pyc rootdir: /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build, inifile: pytest.ini plugins: hypothesis-4.57.1 collected 2 items module/faulthandler/test/test_faulthander.py .. =========================== 2 passed in 0.22 seconds =========================== ++ 18:18:57 starting module/fcntl/test [51 started in total] __ module/fcntl/test [51 done in total, somefailed=False] _____________________ /Users/matti/oss/pypy-x86_64-buildbot/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 darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 pytest-2.9.2 from /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pytest.pyc rootdir: /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build, inifile: pytest.ini plugins: hypothesis-4.57.1 collected 8 items module/fcntl/test/test_fcntl.py ........ =========================== 8 passed in 1.29 seconds =========================== ++ 18:19:00 starting module/gc/test [52 started in total] __ module/gc/test [52 done in total, somefailed=False] ________________________ /Users/matti/oss/pypy-x86_64-buildbot/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 darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 pytest-2.9.2 from /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pytest.pyc rootdir: /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build, inifile: pytest.ini plugins: hypothesis-4.57.1 collected 24 items module/gc/test/test_gc.py sssssx.. module/gc/test/test_hook.py ssssssss module/gc/test/test_referents.py ...s.... =============== 9 passed, 14 skipped, 1 xfailed in 1.39 seconds ================ ++ 18:19:05 starting module/imp/test [53 started in total] __ module/imp/test [53 done in total, somefailed=False] _______________________ /Users/matti/oss/pypy-x86_64-buildbot/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 darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 pytest-2.9.2 from /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pytest.pyc rootdir: /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build, inifile: pytest.ini plugins: hypothesis-4.57.1 collected 99 items module/imp/test/test_app.py ................ module/imp/test/test_import.py ..........................s....................................................ssss ==================== 94 passed, 5 skipped in 11.56 seconds ===================== ++ 18:19:19 starting module/itertools/test [54 started in total] __ module/itertools/test [54 done in total, somefailed=False] _________________ /Users/matti/oss/pypy-x86_64-buildbot/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 darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 pytest-2.9.2 from /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pytest.pyc rootdir: /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build, inifile: pytest.ini plugins: hypothesis-4.57.1 collected 87 items module/itertools/test/test_itertools.py ....................................................................................... ========================== 87 passed in 8.27 seconds =========================== ++ 18:19:32 starting module/marshal/test [55 started in total] __ module/marshal/test [55 done in total, somefailed=False] ___________________ /Users/matti/oss/pypy-x86_64-buildbot/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 darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 pytest-2.9.2 from /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pytest.pyc rootdir: /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build, inifile: pytest.ini plugins: hypothesis-4.57.1 collected 0 items ========================= no tests ran in 0.41 seconds ========================= ++ 18:19:34 starting module/math/test [56 started in total] __ module/math/test [56 done in total, somefailed=False] ______________________ /Users/matti/oss/pypy-x86_64-buildbot/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 darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 pytest-2.9.2 from /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pytest.pyc rootdir: /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build, inifile: pytest.ini plugins: hypothesis-4.57.1 collected 31 items module/math/test/test_math.py ............................... ========================== 31 passed in 2.88 seconds =========================== ++ 18:19:40 starting module/micronumpy/test [57 started in total] __ module/micronumpy/test [57 done in total, somefailed=False] ________________ /Users/matti/oss/pypy-x86_64-buildbot/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 darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 pytest-2.9.2 from /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pytest.pyc rootdir: /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build, inifile: pytest.ini plugins: hypothesis-4.57.1 collected 0 items ========================= no tests ran in 0.02 seconds ========================= ++ 18:19:42 starting module/mmap/test [58 started in total] __ module/mmap/test [58 done in total, somefailed=False] ______________________ /Users/matti/oss/pypy-x86_64-buildbot/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 darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 pytest-2.9.2 from /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pytest.pyc rootdir: /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build, inifile: pytest.ini plugins: hypothesis-4.57.1 collected 46 items module/mmap/test/test_mmap.py .............................................. ========================== 46 passed in 4.09 seconds =========================== ++ 18:19:49 starting module/operator/test [59 started in total] __ module/operator/test [59 done in total, somefailed=False] __________________ /Users/matti/oss/pypy-x86_64-buildbot/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 darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 pytest-2.9.2 from /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pytest.pyc rootdir: /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build, inifile: pytest.ini plugins: hypothesis-4.57.1 collected 24 items module/operator/test/test_operator.py ........................ ========================== 24 passed in 2.23 seconds =========================== ++ 18:19:54 starting module/posix/test [60 started in total] __ module/posix/test [60 done in total, somefailed=True] ______________________ /Users/matti/oss/pypy-x86_64-buildbot/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 darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 pytest-2.9.2 from /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pytest.pyc rootdir: /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build, inifile: pytest.ini plugins: hypothesis-4.57.1 collected 155 items / 2 skipped module/posix/test/test_posix2.py .............................................................s........................................s..sF................ssss.......s module/posix/test/test_scandir.py .................... =================================== FAILURES =================================== ______________________ AppTestPosix.test_darwin_constants ______________________ self = <CallInfo when='call' exception: Subprocess failed with exit code 1: Traceback (most recent call last): File "/tmp/b... test_darwin_constants getattr(self.posix, name) AttributeError: module 'posix' has no attribute '_COPYFILE_DATA' > func = <function <lambda> at 0x00007f84b0b3cb60>, when = 'call' def __init__(self, func, when): #: context of invocation: one of "setup", "call", #: "teardown", "memocollect" self.when = when self.start = time() try: > self.result = func() ../_pytest/runner.py:150: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > return CallInfo(lambda: ihook(item=item, **kwds), when=when) ../_pytest/runner.py:138: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_HookCaller 'pytest_runtest_call'> kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_darwin_constants'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_darwin_constants'>} def __call__(self, **kwargs): assert not self.is_historic() > return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs) ../_pytest/vendored_packages/pluggy.py:724: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.config.PytestPluginManager object at 0x00007f84e08dc608> hook = <_HookCaller 'pytest_runtest_call'>, methods = [] kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_darwin_constants'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_darwin_constants'>} def _hookexec(self, hook, methods, kwargs): # called from all hookcaller instances. # enable_tracing will set its own wrapping function at self._inner_hookexec > return self._inner_hookexec(hook, methods, kwargs) ../_pytest/vendored_packages/pluggy.py:338: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook = <_HookCaller 'pytest_runtest_call'>, methods = [] kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_darwin_constants'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_darwin_constants'>} self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_darwin_constants'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: > return _wrapped_call(hook_impl.function(*args), self.execute) ../_pytest/vendored_packages/pluggy.py:595: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrap_controller = <generator object pytest_runtest_call at 0x00007f84b0c44908> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 0 meths, kwargs={'i..._constants'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>> def _wrapped_call(wrap_controller, func): """ Wrap calling to a function with a generator which needs to yield exactly once. The yield point will trigger calling the wrapped function and return its _CallOutcome to the yield point. The generator then needs to finish (raise StopIteration) in order for the wrapped call to complete. """ try: next(wrap_controller) # first yield except StopIteration: _raise_wrapfail(wrap_controller, "did not yield") call_outcome = _CallOutcome(func) try: wrap_controller.send(call_outcome) _raise_wrapfail(wrap_controller, "has second yield") except StopIteration: pass > return call_outcome.get_result() ../_pytest/vendored_packages/pluggy.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x00007f84b0c40de0> def get_result(self): if self.excinfo is None: return self.result else: ex = self.excinfo if _py3: raise ex[1].with_traceback(ex[2]) > _reraise(*ex) # noqa ../_pytest/vendored_packages/pluggy.py:279: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x00007f84b0c40de0> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 0 meths, kwargs={'i..._constants'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_darwin_constants'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: return _wrapped_call(hook_impl.function(*args), self.execute) > res = hook_impl.function(*args) ../_pytest/vendored_packages/pluggy.py:596: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = <AppTestMethod 'test_darwin_constants'> def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <AppTestMethod 'test_darwin_constants'> def runtest(self): target = self.obj src = extract_docstring_if_empty_function(target.im_func) space = target.im_self.space if self.config.option.runappdirect: appexec_definitions = self.parent.obj.__dict__ spaceconfig = getattr(self.parent.obj, 'spaceconfig', None) usemodules = spaceconfig.get('usemodules') if spaceconfig else None return run_with_python(self.config.option.python, src, usemodules, > **appexec_definitions) tool/pytest/apptest.py:327: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ python_ = '/Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pypy/goal/pypy3.12-c' target_ = <function test_darwin_constants at 0x00007f84d16e1d30> usemodules = ['binascii', 'posix', '_signal', '_struct', 'time', '_socket', ...] definitions = {'Path': (<py._code.source.Source object at 0x00007f84e2223590>, []), 'SIGABRT': 6, 'bytes_dir': '/tmp/buildbot-x86_64/usession-py3.12-4359/fixc5x9fier.txt', 'confstr_name': u'CS_XBS5_LP64_OFF64_CFLAGS', ...} defs = ['def anonymous():\n class Path:\n def __init__(self, _path):\n self._pat...-4359/fixc5x9fier.txt'\n", "self.confstr_name = 'CS_XBS5_LP64_OFF64_CFLAGS'\n", "self.confstr_result = '-W 64'\n", ...] symbol = 'udir', value = u'/tmp/buildbot-x86_64/usession-py3.12-4359' code = <py._code.source.Source object at 0x00007f84e2223558>, args = '' arg_repr = [] def run_with_python(python_, target_, usemodules, **definitions): if python_ is None: py.test.skip("Cannot find the default python3 interpreter to run with -A") defs = [] for symbol, value in sorted(definitions.items()): if isinstance(value, tuple) and isinstance(value[0], py.code.Source): code, args = value defs.append(str(code)) arg_repr = [] for arg in args: if isinstance(arg, types.FunctionType): arg_repr.append(arg.__name__) elif isinstance(arg, types.MethodType): arg_repr.append(arg.__name__) else: arg_repr.append(py3k_repr(arg)) args = ', '.join(arg_repr) defs.append("self.%s = anonymous(%s)\n" % (symbol, args)) elif isinstance(value, types.MethodType): # "def w_method(self)" code = py.code.Code(value) defs.append(str(code.source())) defs.append("type(self).%s = %s\n" % (symbol, value.__name__)) elif isinstance(value, types.ModuleType): name = value.__name__ defs.append("import %s; self.%s = %s\n" % (name, symbol, name)) elif isinstance(value, (str, unicode, int, long, float, list, tuple, dict)) or value is None: defs.append("self.%s = %s\n" % (symbol, py3k_repr(value))) check_usemodules = '' if usemodules: usemodules = [_rename_module(name) for name in usemodules] check_usemodules = """\ missing = set(%r).difference(sys.builtin_module_names) if missing: if not hasattr(sys, 'pypy_version_info'): # They may be extension modules on CPython name = None for name in missing.copy(): if name in ['cpyext', '_cffi_backend', '_rawffi']: missing.remove(name) continue try: __import__(name) except ImportError: pass else: missing.remove(name) del name if missing: sys.exit(81) del missing""" % usemodules source = list(py.code.Source(target_)) while source[0].startswith(('@py.test.mark.', '@pytest.mark.')): source.pop(0) source = source[1:] pyfile = udir.join('src.py') if isinstance(target_, str): # Special case of a docstring; the function name is the first word. target_name = target_.split('(', 1)[0] else: target_name = target_.__name__ with pyfile.open('w') as f: f.write(helpers % (pypyroot, check_usemodules)) f.write('\n'.join(defs)) f.write('def %s():\n' % target_name) f.write('\n'.join(source)) f.write("\ntry:\n %s()\n" % target_name) f.write('finally:\n print("===aefwuiheawiu===")') helper_dir = os.path.join(pypydir, 'tool', 'cpyext') env = os.environ.copy() env['PYTHONPATH'] = helper_dir res, stdout, stderr = run_subprocess( python_, [str(pyfile)], env=env) print pyfile.read() print "from", str(pyfile) print >> sys.stdout, stdout print >> sys.stderr, stderr if res == 81: py.test.skip('%r was not compiled w/ required usemodules: %r' % (python_, usemodules)) elif res != 0: raise AssertionError( > "Subprocess failed with exit code %s:\n%s" % (res, stderr)) E AssertionError: Subprocess failed with exit code 1: E Traceback (most recent call last): E File "/tmp/buildbot-x86_64/usession-py3.12-4359/src.py", line 146, in <module> E test_darwin_constants() E File "/tmp/buildbot-x86_64/usession-py3.12-4359/src.py", line 144, in test_darwin_constants E getattr(self.posix, name) E AttributeError: module 'posix' has no attribute '_COPYFILE_DATA' tool/pytest/apptest.py:239: AssertionError ----------------------------- Captured stdout call ----------------------------- # -*- encoding: utf-8 -*- if 1: import sys sys.path.append('/Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build') missing = set(['binascii', 'posix', '_signal', '_struct', 'time', '_socket', 'pwd']).difference(sys.builtin_module_names) if missing: if not hasattr(sys, 'pypy_version_info'): # They may be extension modules on CPython name = None for name in missing.copy(): if name in ['cpyext', '_cffi_backend', '_rawffi']: missing.remove(name) continue try: __import__(name) except ImportError: pass else: missing.remove(name) del name if missing: sys.exit(81) del missing def skip(message): print(message) raise SystemExit(0) __builtins__.skip = skip __builtins__.py3k_skip = skip class ExceptionWrapper: pass def raises(exc, *args, **kwargs): if not args: return RaisesContext(exc) func = args[0] args = args[1:] import os try: if isinstance(func, str): if func.startswith((' ', os.linesep, '\n')): # it's probably an indented block, so we prefix if True: # to avoid SyntaxError func = "if True:\n" + func frame = sys._getframe(1) exec(func, frame.f_globals, frame.f_locals) else: func(*args, **kwargs) except exc as e: res = ExceptionWrapper() res.value = e res.traceback = e.__traceback__ return res else: raise AssertionError("DID NOT RAISE") class RaisesContext(object): def __init__(self, expected_exception): self.expected_exception = expected_exception self.excinfo = None def __enter__(self): return self def __exit__(self, *tp): __tracebackhide__ = True if tp[0] is None: raise AssertionError("DID NOT RAISE") self.value = tp[1] return issubclass(tp[0], self.expected_exception) __builtins__.raises = raises class Test: pass self = Test() def anonymous(): class Path: def __init__(self, _path): self._path =_path def __fspath__(self): return self._path return Path self.Path = anonymous() self.SIGABRT = 6 self.bytes_dir = b'/tmp/buildbot-x86_64/usession-py3.12-4359/fixc5x9fier.txt' self.confstr_name = 'CS_XBS5_LP64_OFF64_CFLAGS' self.confstr_result = '-W 64' self.confstr_value = 28 self.dir_unicode = '/tmp/buildbot-x86_64/usession-py3.12-4359/dir_extra' self.env_path = '/Users/matti/oss/pypy-x86_64-buildbot/bin:/opt/homebrew_x86_64/bin:/opt/homebrew_x86_64/sbin:/Library/Frameworks/Python.framework/Versions/3.11/bin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/Library/Apple/usr/bin' self.esurrogate_dir = b'/tmp/buildbot-x86_64/usession-py3.12-4359/foo' self.expected_major_12345 = 0 self.expected_minor_12345 = 12345 self.geteuid = 501 self.getgid = 20 self.getgroups = [20, 12, 61, 79, 80, 81, 98, 398, 399, 703, 702, 701, 33, 100, 204, 250, 395, 400] self.getpgid = 21905 self.getsid0 = 7729 self.getuid = 501 self.path = '/tmp/buildbot-x86_64/usession-py3.12-4359/posixtestfile.txt' self.path2 = '/tmp/buildbot-x86_64/usession-py3.12-4359/test_posix2-' self.path3 = '/tmp/buildbot-x86_64/usession-py3.12-4359/unlinktestfile.txt' self.pdir = '/tmp/buildbot-x86_64/usession-py3.12-4359/posixtestdir' self.platform = 'darwin' def anonymous(): import posix as m ; return m self.posix = anonymous() self.python = '/Users/matti/oss/pypy-x86_64-buildbot/bin/python' self.runappdirect = True self.sep = '/' self.sysconf_name = 'SC_REALTIME_SIGNALS' self.sysconf_result = -1 self.sysconf_value = 36 self.udir = '/tmp/buildbot-x86_64/usession-py3.12-4359' def test_darwin_constants(): darwin_constants =['_COPYFILE_DATA'] for name in darwin_constants: getattr(self.posix, name) try: test_darwin_constants() finally: print("===aefwuiheawiu===") from /tmp/buildbot-x86_64/usession-py3.12-4359/src.py ===aefwuiheawiu=== ----------------------------- Captured stderr call ----------------------------- Traceback (most recent call last): File "/tmp/buildbot-x86_64/usession-py3.12-4359/src.py", line 146, in <module> test_darwin_constants() File "/tmp/buildbot-x86_64/usession-py3.12-4359/src.py", line 144, in test_darwin_constants getattr(self.posix, name) AttributeError: module 'posix' has no attribute '_COPYFILE_DATA' =========================== short test summary info ============================ FAIL module/posix/test/test_posix2.py::AppTestPosix::()::test_darwin_constants ============== 1 failed, 146 passed, 10 skipped in 22.22 seconds =============== ++ 18:20:22 starting module/pwd/test [61 started in total] __ module/pwd/test [61 done in total, somefailed=False] _______________________ /Users/matti/oss/pypy-x86_64-buildbot/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 darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 pytest-2.9.2 from /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pytest.pyc rootdir: /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build, inifile: pytest.ini plugins: hypothesis-4.57.1 collected 4 items module/pwd/test/test_pwd.py .... =========================== 4 passed in 0.46 seconds =========================== ++ 18:20:25 starting module/pyexpat/test [62 started in total] __ module/pyexpat/test [62 done in total, somefailed=False] ___________________ /Users/matti/oss/pypy-x86_64-buildbot/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 darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 pytest-2.9.2 from /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pytest.pyc rootdir: /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build, inifile: pytest.ini plugins: hypothesis-4.57.1 collected 17 items module/pyexpat/test/test_parser.py ................. ========================== 17 passed in 1.65 seconds =========================== ++ 18:20:30 starting module/pypyjit/test [63 started in total] __ module/pypyjit/test [63 done in total, somefailed=False] ___________________ /Users/matti/oss/pypy-x86_64-buildbot/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 darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 pytest-2.9.2 from /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pytest.pyc rootdir: /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build, inifile: pytest.ini plugins: hypothesis-4.57.1 collected 15 items module/pypyjit/test/test_jit_hook.py sssssssss module/pypyjit/test/test_jit_not_in_trace.py .. module/pypyjit/test/test_jit_setup.py .... ===================== 6 passed, 9 skipped in 0.66 seconds ====================== ++ 18:20:33 starting module/select/test [64 started in total] __ module/select/test [64 done in total, somefailed=True] _____________________ /Users/matti/oss/pypy-x86_64-buildbot/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 darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 pytest-2.9.2 from /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pytest.pyc rootdir: /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build, inifile: pytest.ini plugins: hypothesis-4.57.1 collected 45 items module/select/test/test_epoll.py ssssssssss module/select/test/test_kqueue.py .F.... module/select/test/test_select.py ............F............... module/select/test/test_select_signal.py . =================================== FAILURES =================================== _______________________ AppTestKqueue.test_create_event ________________________ self = <CallInfo when='call' exception: Subprocess failed with exit code 1: Traceback (most recent call last): File "/tmp/b....py", line 92, in test_create_event assert cmp(ev, None) != 0 ^^^ NameError: name 'cmp' is not defined > func = <function <lambda> at 0x00007fe44038a890>, when = 'call' def __init__(self, func, when): #: context of invocation: one of "setup", "call", #: "teardown", "memocollect" self.when = when self.start = time() try: > self.result = func() ../_pytest/runner.py:150: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > return CallInfo(lambda: ihook(item=item, **kwds), when=when) ../_pytest/runner.py:138: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_HookCaller 'pytest_runtest_call'> kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_create_event'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_create_event'>} def __call__(self, **kwargs): assert not self.is_historic() > return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs) ../_pytest/vendored_packages/pluggy.py:724: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.config.PytestPluginManager object at 0x00007fe4608da608> hook = <_HookCaller 'pytest_runtest_call'>, methods = [] kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_create_event'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_create_event'>} def _hookexec(self, hook, methods, kwargs): # called from all hookcaller instances. # enable_tracing will set its own wrapping function at self._inner_hookexec > return self._inner_hookexec(hook, methods, kwargs) ../_pytest/vendored_packages/pluggy.py:338: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook = <_HookCaller 'pytest_runtest_call'>, methods = [] kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_create_event'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_create_event'>} self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_create_event'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: > return _wrapped_call(hook_impl.function(*args), self.execute) ../_pytest/vendored_packages/pluggy.py:595: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrap_controller = <generator object pytest_runtest_call at 0x00007fe44038dda8> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 0 meths, kwargs={'i...eate_event'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>> def _wrapped_call(wrap_controller, func): """ Wrap calling to a function with a generator which needs to yield exactly once. The yield point will trigger calling the wrapped function and return its _CallOutcome to the yield point. The generator then needs to finish (raise StopIteration) in order for the wrapped call to complete. """ try: next(wrap_controller) # first yield except StopIteration: _raise_wrapfail(wrap_controller, "did not yield") call_outcome = _CallOutcome(func) try: wrap_controller.send(call_outcome) _raise_wrapfail(wrap_controller, "has second yield") except StopIteration: pass > return call_outcome.get_result() ../_pytest/vendored_packages/pluggy.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x00007fe440392fe0> def get_result(self): if self.excinfo is None: return self.result else: ex = self.excinfo if _py3: raise ex[1].with_traceback(ex[2]) > _reraise(*ex) # noqa ../_pytest/vendored_packages/pluggy.py:279: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x00007fe440392fe0> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 0 meths, kwargs={'i...eate_event'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_create_event'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: return _wrapped_call(hook_impl.function(*args), self.execute) > res = hook_impl.function(*args) ../_pytest/vendored_packages/pluggy.py:596: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = <AppTestMethod 'test_create_event'> def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <AppTestMethod 'test_create_event'> def runtest(self): target = self.obj src = extract_docstring_if_empty_function(target.im_func) space = target.im_self.space if self.config.option.runappdirect: appexec_definitions = self.parent.obj.__dict__ spaceconfig = getattr(self.parent.obj, 'spaceconfig', None) usemodules = spaceconfig.get('usemodules') if spaceconfig else None return run_with_python(self.config.option.python, src, usemodules, > **appexec_definitions) tool/pytest/apptest.py:327: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ python_ = '/Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pypy/goal/pypy3.12-c' target_ = <function test_create_event at 0x00007fe462b5f010> usemodules = ['select', '_socket', 'posix', 'time'], definitions = {}, defs = [] def run_with_python(python_, target_, usemodules, **definitions): if python_ is None: py.test.skip("Cannot find the default python3 interpreter to run with -A") defs = [] for symbol, value in sorted(definitions.items()): if isinstance(value, tuple) and isinstance(value[0], py.code.Source): code, args = value defs.append(str(code)) arg_repr = [] for arg in args: if isinstance(arg, types.FunctionType): arg_repr.append(arg.__name__) elif isinstance(arg, types.MethodType): arg_repr.append(arg.__name__) else: arg_repr.append(py3k_repr(arg)) args = ', '.join(arg_repr) defs.append("self.%s = anonymous(%s)\n" % (symbol, args)) elif isinstance(value, types.MethodType): # "def w_method(self)" code = py.code.Code(value) defs.append(str(code.source())) defs.append("type(self).%s = %s\n" % (symbol, value.__name__)) elif isinstance(value, types.ModuleType): name = value.__name__ defs.append("import %s; self.%s = %s\n" % (name, symbol, name)) elif isinstance(value, (str, unicode, int, long, float, list, tuple, dict)) or value is None: defs.append("self.%s = %s\n" % (symbol, py3k_repr(value))) check_usemodules = '' if usemodules: usemodules = [_rename_module(name) for name in usemodules] check_usemodules = """\ missing = set(%r).difference(sys.builtin_module_names) if missing: if not hasattr(sys, 'pypy_version_info'): # They may be extension modules on CPython name = None for name in missing.copy(): if name in ['cpyext', '_cffi_backend', '_rawffi']: missing.remove(name) continue try: __import__(name) except ImportError: pass else: missing.remove(name) del name if missing: sys.exit(81) del missing""" % usemodules source = list(py.code.Source(target_)) while source[0].startswith(('@py.test.mark.', '@pytest.mark.')): source.pop(0) source = source[1:] pyfile = udir.join('src.py') if isinstance(target_, str): # Special case of a docstring; the function name is the first word. target_name = target_.split('(', 1)[0] else: target_name = target_.__name__ with pyfile.open('w') as f: f.write(helpers % (pypyroot, check_usemodules)) f.write('\n'.join(defs)) f.write('def %s():\n' % target_name) f.write('\n'.join(source)) f.write("\ntry:\n %s()\n" % target_name) f.write('finally:\n print("===aefwuiheawiu===")') helper_dir = os.path.join(pypydir, 'tool', 'cpyext') env = os.environ.copy() env['PYTHONPATH'] = helper_dir res, stdout, stderr = run_subprocess( python_, [str(pyfile)], env=env) print pyfile.read() print "from", str(pyfile) print >> sys.stdout, stdout print >> sys.stderr, stderr if res == 81: py.test.skip('%r was not compiled w/ required usemodules: %r' % (python_, usemodules)) elif res != 0: raise AssertionError( > "Subprocess failed with exit code %s:\n%s" % (res, stderr)) E AssertionError: Subprocess failed with exit code 1: E Traceback (most recent call last): E File "/tmp/buildbot-x86_64/usession-py3.12-4363/src.py", line 140, in <module> E test_create_event() E File "/tmp/buildbot-x86_64/usession-py3.12-4363/src.py", line 92, in test_create_event E assert cmp(ev, None) != 0 E ^^^ E NameError: name 'cmp' is not defined tool/pytest/apptest.py:239: AssertionError ----------------------------- Captured stdout call ----------------------------- # -*- encoding: utf-8 -*- if 1: import sys sys.path.append('/Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build') missing = set(['select', '_socket', 'posix', 'time']).difference(sys.builtin_module_names) if missing: if not hasattr(sys, 'pypy_version_info'): # They may be extension modules on CPython name = None for name in missing.copy(): if name in ['cpyext', '_cffi_backend', '_rawffi']: missing.remove(name) continue try: __import__(name) except ImportError: pass else: missing.remove(name) del name if missing: sys.exit(81) del missing def skip(message): print(message) raise SystemExit(0) __builtins__.skip = skip __builtins__.py3k_skip = skip class ExceptionWrapper: pass def raises(exc, *args, **kwargs): if not args: return RaisesContext(exc) func = args[0] args = args[1:] import os try: if isinstance(func, str): if func.startswith((' ', os.linesep, '\n')): # it's probably an indented block, so we prefix if True: # to avoid SyntaxError func = "if True:\n" + func frame = sys._getframe(1) exec(func, frame.f_globals, frame.f_locals) else: func(*args, **kwargs) except exc as e: res = ExceptionWrapper() res.value = e res.traceback = e.__traceback__ return res else: raise AssertionError("DID NOT RAISE") class RaisesContext(object): def __init__(self, expected_exception): self.expected_exception = expected_exception self.excinfo = None def __enter__(self): return self def __exit__(self, *tp): __tracebackhide__ = True if tp[0] is None: raise AssertionError("DID NOT RAISE") self.value = tp[1] return issubclass(tp[0], self.expected_exception) __builtins__.raises = raises class Test: pass self = Test() def test_create_event(): import select import sys from operator import lt, le, gt, ge fd = sys.stderr.fileno() ev = select.kevent(fd) other = select.kevent(1000) assert ev.ident == fd assert ev.filter == select.KQ_FILTER_READ assert ev.flags == select.KQ_EV_ADD assert ev.fflags == 0 assert ev.data == 0 assert ev.udata == 0 assert ev == ev assert ev != other assert ev < other assert other >= ev assert cmp(ev, None) != 0 assert cmp(ev, 1) != 0 assert cmp(ev, "ev") != 0 assert cmp(ev, None) == -cmp(None, ev) assert cmp(ev, 1) == -cmp(1, ev) assert cmp(ev, "ev") == -cmp("ev", ev) ev = select.kevent(fd, select.KQ_FILTER_WRITE) assert ev.ident == fd assert ev.filter == select.KQ_FILTER_WRITE assert ev.flags == select.KQ_EV_ADD assert ev.fflags == 0 assert ev.data == 0 assert ev.udata == 0 assert ev == ev assert ev != other ev = select.kevent(fd, select.KQ_FILTER_WRITE, select.KQ_EV_ONESHOT) assert ev.ident == fd assert ev.filter == select.KQ_FILTER_WRITE assert ev.flags == select.KQ_EV_ONESHOT assert ev.fflags == 0 assert ev.data == 0 assert ev.udata == 0 assert ev == ev assert ev != other ev = select.kevent(1, 2, 3, 4, 5, 6) assert ev.ident == 1 assert ev.filter == 2 assert ev.flags == 3 assert ev.fflags == 4 assert ev.data == 5 assert ev.udata == 6 assert ev == ev assert ev != other bignum = sys.maxsize * 2 + 1 ev = select.kevent(bignum, 1, 2, 3, sys.maxsize, bignum) assert ev.ident == bignum assert ev.filter == 1 assert ev.flags == 2 assert ev.fflags == 3 assert ev.data == sys.maxsize assert ev.udata == bignum assert ev == ev assert ev != other try: test_create_event() finally: print("===aefwuiheawiu===") from /tmp/buildbot-x86_64/usession-py3.12-4363/src.py ===aefwuiheawiu=== ----------------------------- Captured stderr call ----------------------------- Traceback (most recent call last): File "/tmp/buildbot-x86_64/usession-py3.12-4363/src.py", line 140, in <module> test_create_event() File "/tmp/buildbot-x86_64/usession-py3.12-4363/src.py", line 92, in test_create_event assert cmp(ev, None) != 0 ^^^ NameError: name 'cmp' is not defined _______________________ AppTestSelectWithPipes.test_poll _______________________ self = <CallInfo when='call' exception: Subprocess failed with exit code 1: Traceback (most recent call last): File "/tmp/b... 111, in test_poll assert res == [(readend.fileno(), 1)] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ AssertionError > func = <function <lambda> at 0x00007fe4306ce458>, when = 'call' def __init__(self, func, when): #: context of invocation: one of "setup", "call", #: "teardown", "memocollect" self.when = when self.start = time() try: > self.result = func() ../_pytest/runner.py:150: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > return CallInfo(lambda: ihook(item=item, **kwds), when=when) ../_pytest/runner.py:138: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_HookCaller 'pytest_runtest_call'> kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_poll'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_poll'>} def __call__(self, **kwargs): assert not self.is_historic() > return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs) ../_pytest/vendored_packages/pluggy.py:724: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.config.PytestPluginManager object at 0x00007fe4608da608> hook = <_HookCaller 'pytest_runtest_call'>, methods = [] kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_poll'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_poll'>} def _hookexec(self, hook, methods, kwargs): # called from all hookcaller instances. # enable_tracing will set its own wrapping function at self._inner_hookexec > return self._inner_hookexec(hook, methods, kwargs) ../_pytest/vendored_packages/pluggy.py:338: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook = <_HookCaller 'pytest_runtest_call'>, methods = [] kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_poll'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_poll'>} self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_poll'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: > return _wrapped_call(hook_impl.function(*args), self.execute) ../_pytest/vendored_packages/pluggy.py:595: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrap_controller = <generator object pytest_runtest_call at 0x00007fe4306d7a38> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 0 meths, kwargs={'i...'test_poll'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>> def _wrapped_call(wrap_controller, func): """ Wrap calling to a function with a generator which needs to yield exactly once. The yield point will trigger calling the wrapped function and return its _CallOutcome to the yield point. The generator then needs to finish (raise StopIteration) in order for the wrapped call to complete. """ try: next(wrap_controller) # first yield except StopIteration: _raise_wrapfail(wrap_controller, "did not yield") call_outcome = _CallOutcome(func) try: wrap_controller.send(call_outcome) _raise_wrapfail(wrap_controller, "has second yield") except StopIteration: pass > return call_outcome.get_result() ../_pytest/vendored_packages/pluggy.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x00007fe4306c3aa0> def get_result(self): if self.excinfo is None: return self.result else: ex = self.excinfo if _py3: raise ex[1].with_traceback(ex[2]) > _reraise(*ex) # noqa ../_pytest/vendored_packages/pluggy.py:279: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x00007fe4306c3aa0> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 0 meths, kwargs={'i...'test_poll'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_poll'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: return _wrapped_call(hook_impl.function(*args), self.execute) > res = hook_impl.function(*args) ../_pytest/vendored_packages/pluggy.py:596: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = <AppTestMethod 'test_poll'> def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <AppTestMethod 'test_poll'> def runtest(self): target = self.obj src = extract_docstring_if_empty_function(target.im_func) space = target.im_self.space if self.config.option.runappdirect: appexec_definitions = self.parent.obj.__dict__ spaceconfig = getattr(self.parent.obj, 'spaceconfig', None) usemodules = spaceconfig.get('usemodules') if spaceconfig else None return run_with_python(self.config.option.python, src, usemodules, > **appexec_definitions) tool/pytest/apptest.py:327: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ python_ = '/Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pypy/goal/pypy3.12-c' target_ = <function test_poll at 0x00007fe462b5ff10> usemodules = ['select', 'time', '_thread'] definitions = {'getpair': <bound method AppTestSelectWithPipes.w_getpair of <pypy.module.select.test.test_select.AppTestSelectWithPipes instance at 0x00007fe4306c3c60>>} defs = ['def w_getpair(self):\n # Wraps a file descriptor in an socket-like object\n import os\n class FileAsSocket:...e(self.fd)\n s1, s2 = os.pipe()\n return FileAsSocket(s1), FileAsSocket(s2)', 'type(self).getpair = w_getpair\n'] symbol = 'getpair' value = <bound method AppTestSelectWithPipes.w_getpair of <pypy.module.select.test.test_select.AppTestSelectWithPipes instance at 0x00007fe4306c3c60>> code = <py._code.code.Code object at 0x00007fe4306cba98> def run_with_python(python_, target_, usemodules, **definitions): if python_ is None: py.test.skip("Cannot find the default python3 interpreter to run with -A") defs = [] for symbol, value in sorted(definitions.items()): if isinstance(value, tuple) and isinstance(value[0], py.code.Source): code, args = value defs.append(str(code)) arg_repr = [] for arg in args: if isinstance(arg, types.FunctionType): arg_repr.append(arg.__name__) elif isinstance(arg, types.MethodType): arg_repr.append(arg.__name__) else: arg_repr.append(py3k_repr(arg)) args = ', '.join(arg_repr) defs.append("self.%s = anonymous(%s)\n" % (symbol, args)) elif isinstance(value, types.MethodType): # "def w_method(self)" code = py.code.Code(value) defs.append(str(code.source())) defs.append("type(self).%s = %s\n" % (symbol, value.__name__)) elif isinstance(value, types.ModuleType): name = value.__name__ defs.append("import %s; self.%s = %s\n" % (name, symbol, name)) elif isinstance(value, (str, unicode, int, long, float, list, tuple, dict)) or value is None: defs.append("self.%s = %s\n" % (symbol, py3k_repr(value))) check_usemodules = '' if usemodules: usemodules = [_rename_module(name) for name in usemodules] check_usemodules = """\ missing = set(%r).difference(sys.builtin_module_names) if missing: if not hasattr(sys, 'pypy_version_info'): # They may be extension modules on CPython name = None for name in missing.copy(): if name in ['cpyext', '_cffi_backend', '_rawffi']: missing.remove(name) continue try: __import__(name) except ImportError: pass else: missing.remove(name) del name if missing: sys.exit(81) del missing""" % usemodules source = list(py.code.Source(target_)) while source[0].startswith(('@py.test.mark.', '@pytest.mark.')): source.pop(0) source = source[1:] pyfile = udir.join('src.py') if isinstance(target_, str): # Special case of a docstring; the function name is the first word. target_name = target_.split('(', 1)[0] else: target_name = target_.__name__ with pyfile.open('w') as f: f.write(helpers % (pypyroot, check_usemodules)) f.write('\n'.join(defs)) f.write('def %s():\n' % target_name) f.write('\n'.join(source)) f.write("\ntry:\n %s()\n" % target_name) f.write('finally:\n print("===aefwuiheawiu===")') helper_dir = os.path.join(pypydir, 'tool', 'cpyext') env = os.environ.copy() env['PYTHONPATH'] = helper_dir res, stdout, stderr = run_subprocess( python_, [str(pyfile)], env=env) print pyfile.read() print "from", str(pyfile) print >> sys.stdout, stdout print >> sys.stderr, stderr if res == 81: py.test.skip('%r was not compiled w/ required usemodules: %r' % (python_, usemodules)) elif res != 0: raise AssertionError( > "Subprocess failed with exit code %s:\n%s" % (res, stderr)) E AssertionError: Subprocess failed with exit code 1: E Traceback (most recent call last): E File "/tmp/buildbot-x86_64/usession-py3.12-4363/src.py", line 121, in <module> E test_poll() E File "/tmp/buildbot-x86_64/usession-py3.12-4363/src.py", line 111, in test_poll E assert res == [(readend.fileno(), 1)] E ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E AssertionError tool/pytest/apptest.py:239: AssertionError ----------------------------- Captured stdout call ----------------------------- # -*- encoding: utf-8 -*- if 1: import sys sys.path.append('/Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build') missing = set(['select', 'time', '_thread']).difference(sys.builtin_module_names) if missing: if not hasattr(sys, 'pypy_version_info'): # They may be extension modules on CPython name = None for name in missing.copy(): if name in ['cpyext', '_cffi_backend', '_rawffi']: missing.remove(name) continue try: __import__(name) except ImportError: pass else: missing.remove(name) del name if missing: sys.exit(81) del missing def skip(message): print(message) raise SystemExit(0) __builtins__.skip = skip __builtins__.py3k_skip = skip class ExceptionWrapper: pass def raises(exc, *args, **kwargs): if not args: return RaisesContext(exc) func = args[0] args = args[1:] import os try: if isinstance(func, str): if func.startswith((' ', os.linesep, '\n')): # it's probably an indented block, so we prefix if True: # to avoid SyntaxError func = "if True:\n" + func frame = sys._getframe(1) exec(func, frame.f_globals, frame.f_locals) else: func(*args, **kwargs) except exc as e: res = ExceptionWrapper() res.value = e res.traceback = e.__traceback__ return res else: raise AssertionError("DID NOT RAISE") class RaisesContext(object): def __init__(self, expected_exception): self.expected_exception = expected_exception self.excinfo = None def __enter__(self): return self def __exit__(self, *tp): __tracebackhide__ = True if tp[0] is None: raise AssertionError("DID NOT RAISE") self.value = tp[1] return issubclass(tp[0], self.expected_exception) __builtins__.raises = raises class Test: pass self = Test() def w_getpair(self): # Wraps a file descriptor in an socket-like object import os class FileAsSocket: def __init__(self, fd): self.fd = fd def fileno(self): return self.fd def send(self, data): return os.write(self.fd, data) def recv(self, length): return os.read(self.fd, length) def close(self): return os.close(self.fd) s1, s2 = os.pipe() return FileAsSocket(s1), FileAsSocket(s2) type(self).getpair = w_getpair def test_poll(): import select if not hasattr(select, 'poll'): skip("no select.poll() on this platform") readend, writeend = self.getpair() try: class A(object): def fileno(self): return readend.fileno() poll = select.poll() poll.register(A()) res = poll.poll(10) # timeout in ms assert res == [] res = poll.poll(1.1) # check floats assert res == [] writeend.send(b"foo!") # can't easily test actual blocking, is done in lib-python tests res = poll.poll() assert res == [(readend.fileno(), 1)] # check negative timeout # proper test in lib-python, test_poll_blocks_with_negative_ms res = poll.poll(-0.001) assert res == [(readend.fileno(), 1)] finally: readend.close() writeend.close() try: test_poll() finally: print("===aefwuiheawiu===") from /tmp/buildbot-x86_64/usession-py3.12-4363/src.py ===aefwuiheawiu=== ----------------------------- Captured stderr call ----------------------------- Traceback (most recent call last): File "/tmp/buildbot-x86_64/usession-py3.12-4363/src.py", line 121, in <module> test_poll() File "/tmp/buildbot-x86_64/usession-py3.12-4363/src.py", line 111, in test_poll assert res == [(readend.fileno(), 1)] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ AssertionError =========================== short test summary info ============================ FAIL module/select/test/test_kqueue.py::AppTestKqueue::()::test_create_event FAIL module/select/test/test_select.py::AppTestSelectWithPipes::()::test_poll =============== 2 failed, 33 passed, 10 skipped in 14.98 seconds =============== ++ 18:20:50 starting module/signal/test [65 started in total] __ module/signal/test [65 done in total, somefailed=False] ____________________ /Users/matti/oss/pypy-x86_64-buildbot/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 darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 pytest-2.9.2 from /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pytest.pyc rootdir: /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build, inifile: pytest.ini plugins: hypothesis-4.57.1 collected 25 items module/signal/test/test_signal.py ......................sss ==================== 22 passed, 3 skipped in 11.32 seconds ===================== ++ 18:21:05 starting module/struct/test [66 started in total] __ module/struct/test [66 done in total, somefailed=False] ____________________ /Users/matti/oss/pypy-x86_64-buildbot/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 darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 pytest-2.9.2 from /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pytest.pyc rootdir: /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build, inifile: pytest.ini plugins: hypothesis-4.57.1 collected 7 items module/struct/test/test_struct.py ....... =========================== 7 passed in 0.66 seconds =========================== ++ 18:21:08 starting module/sys/test [67 started in total] __ module/sys/test [67 done in total, somefailed=False] _______________________ /Users/matti/oss/pypy-x86_64-buildbot/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 darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 pytest-2.9.2 from /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pytest.pyc rootdir: /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build, inifile: pytest.ini plugins: hypothesis-4.57.1 collected 73 items module/sys/test/test_sysmodule.py ................................................................... module/sys/test/test_version.py ...... ========================== 73 passed in 7.00 seconds =========================== ++ 18:21:19 starting module/termios/test [68 started in total] __ module/termios/test [68 done in total, somefailed=True] ____________________ /Users/matti/oss/pypy-x86_64-buildbot/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 darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 pytest-2.9.2 from /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pytest.pyc rootdir: /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build, inifile: pytest.ini plugins: hypothesis-4.57.1 collected 3 items module/termios/test/test_termios.py F.. =================================== FAILURES =================================== __________________________ AppTestTermios.test_values __________________________ self = <CallInfo when='call' exception: Subprocess failed with exit code 1: Traceback (most recent call last): File "/tmp/b...d(self.orig_module_dict.items()) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ AssertionError > func = <function <lambda> at 0x00007fb9724e0db8>, when = 'call' def __init__(self, func, when): #: context of invocation: one of "setup", "call", #: "teardown", "memocollect" self.when = when self.start = time() try: > self.result = func() ../_pytest/runner.py:150: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > return CallInfo(lambda: ihook(item=item, **kwds), when=when) ../_pytest/runner.py:138: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_HookCaller 'pytest_runtest_call'> kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_values'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_values'>} def __call__(self, **kwargs): assert not self.is_historic() > return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs) ../_pytest/vendored_packages/pluggy.py:724: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.config.PytestPluginManager object at 0x00007fb9708da608> hook = <_HookCaller 'pytest_runtest_call'>, methods = [] kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_values'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_values'>} def _hookexec(self, hook, methods, kwargs): # called from all hookcaller instances. # enable_tracing will set its own wrapping function at self._inner_hookexec > return self._inner_hookexec(hook, methods, kwargs) ../_pytest/vendored_packages/pluggy.py:338: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook = <_HookCaller 'pytest_runtest_call'>, methods = [] kwargs = {'__multicall__': <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_values'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>, 'item': <AppTestMethod 'test_values'>} self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_values'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: > return _wrapped_call(hook_impl.function(*args), self.execute) ../_pytest/vendored_packages/pluggy.py:595: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ wrap_controller = <generator object pytest_runtest_call at 0x00007fb972aea430> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 0 meths, kwargs={'i...est_values'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>> def _wrapped_call(wrap_controller, func): """ Wrap calling to a function with a generator which needs to yield exactly once. The yield point will trigger calling the wrapped function and return its _CallOutcome to the yield point. The generator then needs to finish (raise StopIteration) in order for the wrapped call to complete. """ try: next(wrap_controller) # first yield except StopIteration: _raise_wrapfail(wrap_controller, "did not yield") call_outcome = _CallOutcome(func) try: wrap_controller.send(call_outcome) _raise_wrapfail(wrap_controller, "has second yield") except StopIteration: pass > return call_outcome.get_result() ../_pytest/vendored_packages/pluggy.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x00007fb9737630a0> def get_result(self): if self.excinfo is None: return self.result else: ex = self.excinfo if _py3: raise ex[1].with_traceback(ex[2]) > _reraise(*ex) # noqa ../_pytest/vendored_packages/pluggy.py:279: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.vendored_packages.pluggy._CallOutcome instance at 0x00007fb9737630a0> func = <bound method _MultiCall.execute of <_MultiCall 0 results, 0 meths, kwargs={'i...est_values'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 0 meths, kwargs={'item': <AppTestMethod 'test_values'>, '__multicall__': <_MultiCall 0 results, 0 meths, kwargs={...}>}> def execute(self): all_kwargs = self.kwargs self.results = results = [] firstresult = self.specopts.get("firstresult") while self.hook_impls: hook_impl = self.hook_impls.pop() args = [all_kwargs[argname] for argname in hook_impl.argnames] if hook_impl.hookwrapper: return _wrapped_call(hook_impl.function(*args), self.execute) > res = hook_impl.function(*args) ../_pytest/vendored_packages/pluggy.py:596: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = <AppTestMethod 'test_values'> def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <AppTestMethod 'test_values'> def runtest(self): target = self.obj src = extract_docstring_if_empty_function(target.im_func) space = target.im_self.space if self.config.option.runappdirect: appexec_definitions = self.parent.obj.__dict__ spaceconfig = getattr(self.parent.obj, 'spaceconfig', None) usemodules = spaceconfig.get('usemodules') if spaceconfig else None return run_with_python(self.config.option.python, src, usemodules, > **appexec_definitions) tool/pytest/apptest.py:327: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ python_ = '/Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pypy/goal/pypy3.12-c' target_ = <function test_values at 0x00007fb9724e0188>, usemodules = ['termios'] definitions = {'orig_module_dict': (<py._code.source.Source object at 0x00007fb972aedad0>, [])} defs = ["def anonymous(): return {'B0': 0, 'B110': 110, 'B115200': 115200, 'B1200': 1200, 'B134': 134, 'B150': 150, 'B1800': ...USP': 10, 'VT0': 0, 'VT1': 65536, 'VTDLY': 65536, 'VTIME': 17, 'VWERASE': 4}", 'self.orig_module_dict = anonymous()\n'] symbol = 'orig_module_dict' value = (<py._code.source.Source object at 0x00007fb972aedad0>, []) code = <py._code.source.Source object at 0x00007fb972aedad0>, args = '' arg_repr = [] def run_with_python(python_, target_, usemodules, **definitions): if python_ is None: py.test.skip("Cannot find the default python3 interpreter to run with -A") defs = [] for symbol, value in sorted(definitions.items()): if isinstance(value, tuple) and isinstance(value[0], py.code.Source): code, args = value defs.append(str(code)) arg_repr = [] for arg in args: if isinstance(arg, types.FunctionType): arg_repr.append(arg.__name__) elif isinstance(arg, types.MethodType): arg_repr.append(arg.__name__) else: arg_repr.append(py3k_repr(arg)) args = ', '.join(arg_repr) defs.append("self.%s = anonymous(%s)\n" % (symbol, args)) elif isinstance(value, types.MethodType): # "def w_method(self)" code = py.code.Code(value) defs.append(str(code.source())) defs.append("type(self).%s = %s\n" % (symbol, value.__name__)) elif isinstance(value, types.ModuleType): name = value.__name__ defs.append("import %s; self.%s = %s\n" % (name, symbol, name)) elif isinstance(value, (str, unicode, int, long, float, list, tuple, dict)) or value is None: defs.append("self.%s = %s\n" % (symbol, py3k_repr(value))) check_usemodules = '' if usemodules: usemodules = [_rename_module(name) for name in usemodules] check_usemodules = """\ missing = set(%r).difference(sys.builtin_module_names) if missing: if not hasattr(sys, 'pypy_version_info'): # They may be extension modules on CPython name = None for name in missing.copy(): if name in ['cpyext', '_cffi_backend', '_rawffi']: missing.remove(name) continue try: __import__(name) except ImportError: pass else: missing.remove(name) del name if missing: sys.exit(81) del missing""" % usemodules source = list(py.code.Source(target_)) while source[0].startswith(('@py.test.mark.', '@pytest.mark.')): source.pop(0) source = source[1:] pyfile = udir.join('src.py') if isinstance(target_, str): # Special case of a docstring; the function name is the first word. target_name = target_.split('(', 1)[0] else: target_name = target_.__name__ with pyfile.open('w') as f: f.write(helpers % (pypyroot, check_usemodules)) f.write('\n'.join(defs)) f.write('def %s():\n' % target_name) f.write('\n'.join(source)) f.write("\ntry:\n %s()\n" % target_name) f.write('finally:\n print("===aefwuiheawiu===")') helper_dir = os.path.join(pypydir, 'tool', 'cpyext') env = os.environ.copy() env['PYTHONPATH'] = helper_dir res, stdout, stderr = run_subprocess( python_, [str(pyfile)], env=env) print pyfile.read() print "from", str(pyfile) print >> sys.stdout, stdout print >> sys.stderr, stderr if res == 81: py.test.skip('%r was not compiled w/ required usemodules: %r' % (python_, usemodules)) elif res != 0: raise AssertionError( > "Subprocess failed with exit code %s:\n%s" % (res, stderr)) E AssertionError: Subprocess failed with exit code 1: E Traceback (most recent call last): E File "/tmp/buildbot-x86_64/usession-py3.12-4367/src.py", line 85, in <module> E test_values() E File "/tmp/buildbot-x86_64/usession-py3.12-4367/src.py", line 83, in test_values E assert sorted(d.items()) == sorted(self.orig_module_dict.items()) E ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E AssertionError tool/pytest/apptest.py:239: AssertionError ----------------------------- Captured stdout call ----------------------------- # -*- encoding: utf-8 -*- if 1: import sys sys.path.append('/Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build') missing = set(['termios']).difference(sys.builtin_module_names) if missing: if not hasattr(sys, 'pypy_version_info'): # They may be extension modules on CPython name = None for name in missing.copy(): if name in ['cpyext', '_cffi_backend', '_rawffi']: missing.remove(name) continue try: __import__(name) except ImportError: pass else: missing.remove(name) del name if missing: sys.exit(81) del missing def skip(message): print(message) raise SystemExit(0) __builtins__.skip = skip __builtins__.py3k_skip = skip class ExceptionWrapper: pass def raises(exc, *args, **kwargs): if not args: return RaisesContext(exc) func = args[0] args = args[1:] import os try: if isinstance(func, str): if func.startswith((' ', os.linesep, '\n')): # it's probably an indented block, so we prefix if True: # to avoid SyntaxError func = "if True:\n" + func frame = sys._getframe(1) exec(func, frame.f_globals, frame.f_locals) else: func(*args, **kwargs) except exc as e: res = ExceptionWrapper() res.value = e res.traceback = e.__traceback__ return res else: raise AssertionError("DID NOT RAISE") class RaisesContext(object): def __init__(self, expected_exception): self.expected_exception = expected_exception self.excinfo = None def __enter__(self): return self def __exit__(self, *tp): __tracebackhide__ = True if tp[0] is None: raise AssertionError("DID NOT RAISE") self.value = tp[1] return issubclass(tp[0], self.expected_exception) __builtins__.raises = raises class Test: pass self = Test() def anonymous(): return {'B0': 0, 'B110': 110, 'B115200': 115200, 'B1200': 1200, 'B134': 134, 'B150': 150, 'B1800': 1800, 'B19200': 19200, 'B200': 200, 'B230400': 230400, 'B2400': 2400, 'B300': 300, 'B38400': 38400, 'B4800': 4800, 'B50': 50, 'B57600': 57600, 'B600': 600, 'B75': 75, 'B9600': 9600, 'BRKINT': 2, 'BS0': 0, 'BS1': 32768, 'BSDLY': 32768, 'CDSUSP': 25, 'CEOF': 4, 'CEOL': 255, 'CEOT': 4, 'CERASE': 127, 'CFLUSH': 15, 'CINTR': 3, 'CKILL': 21, 'CLNEXT': 22, 'CLOCAL': 32768, 'CQUIT': 28, 'CR0': 0, 'CR1': 4096, 'CR2': 8192, 'CR3': 12288, 'CRDLY': 12288, 'CREAD': 2048, 'CRPRNT': 18, 'CRTSCTS': 196608, 'CS5': 0, 'CS6': 256, 'CS7': 512, 'CS8': 768, 'CSIZE': 768, 'CSTART': 17, 'CSTOP': 19, 'CSTOPB': 1024, 'CSUSP': 26, 'CWERASE': 23, 'ECHO': 8, 'ECHOCTL': 64, 'ECHOE': 2, 'ECHOK': 4, 'ECHOKE': 1, 'ECHONL': 16, 'ECHOPRT': 32, 'EXTA': 19200, 'EXTB': 38400, 'FF0': 0, 'FF1': 16384, 'FFDLY': 16384, 'FIOASYNC': 2147772029, 'FIOCLEX': 536897025, 'FIONBIO': 2147772030, 'FIONCLEX': 536897026, 'FIONREAD': 1074030207, 'FLUSHO': 8388608, 'HUPCL': 16384, 'ICANON': 256, 'ICRNL': 256, 'IEXTEN': 1024, 'IGNBRK': 1, 'IGNCR': 128, 'IGNPAR': 4, 'IMAXBEL': 8192, 'INLCR': 64, 'INPCK': 16, 'ISIG': 128, 'ISTRIP': 32, 'IXANY': 2048, 'IXOFF': 1024, 'IXON': 512, 'NCCS': 20, 'NL0': 0, 'NL1': 256, 'NLDLY': 768, 'NOFLSH': 2147483648, 'OCRNL': 16, 'OFDEL': 131072, 'OFILL': 128, 'ONLCR': 2, 'ONLRET': 64, 'ONOCR': 32, 'OPOST': 1, 'PARENB': 4096, 'PARMRK': 8, 'PARODD': 8192, 'PENDIN': 536870912, 'TAB0': 0, 'TAB1': 1024, 'TAB2': 2048, 'TAB3': 4, 'TABDLY': 3076, 'TCIFLUSH': 1, 'TCIOFF': 3, 'TCIOFLUSH': 3, 'TCION': 4, 'TCOFLUSH': 2, 'TCOOFF': 1, 'TCOON': 2, 'TCSADRAIN': 1, 'TCSAFLUSH': 2, 'TCSANOW': 0, 'TCSASOFT': 16, 'TIOCCONS': 2147775586, 'TIOCEXCL': 536900621, 'TIOCGETD': 1074033690, 'TIOCGPGRP': 1074033783, 'TIOCGWINSZ': 1074295912, 'TIOCMBIC': 2147775595, 'TIOCMBIS': 2147775596, 'TIOCMGET': 1074033770, 'TIOCMSET': 2147775597, 'TIOCM_CAR': 64, 'TIOCM_CD': 64, 'TIOCM_CTS': 32, 'TIOCM_DSR': 256, 'TIOCM_DTR': 2, 'TIOCM_LE': 1, 'TIOCM_RI': 128, 'TIOCM_RNG': 128, 'TIOCM_RTS': 4, 'TIOCM_SR': 16, 'TIOCM_ST': 8, 'TIOCNOTTY': 536900721, 'TIOCNXCL': 536900622, 'TIOCOUTQ': 1074033779, 'TIOCPKT': 2147775600, 'TIOCPKT_DATA': 0, 'TIOCPKT_DOSTOP': 32, 'TIOCPKT_FLUSHREAD': 1, 'TIOCPKT_FLUSHWRITE': 2, 'TIOCPKT_NOSTOP': 16, 'TIOCPKT_START': 8, 'TIOCPKT_STOP': 4, 'TIOCSCTTY': 536900705, 'TIOCSETD': 2147775515, 'TIOCSPGRP': 2147775606, 'TIOCSTI': 2147578994, 'TIOCSWINSZ': 2148037735, 'TOSTOP': 4194304, 'VDISCARD': 15, 'VEOF': 0, 'VEOL': 1, 'VEOL2': 2, 'VERASE': 3, 'VINTR': 8, 'VKILL': 5, 'VLNEXT': 14, 'VMIN': 16, 'VQUIT': 9, 'VREPRINT': 6, 'VSTART': 12, 'VSTOP': 13, 'VSUSP': 10, 'VT0': 0, 'VT1': 65536, 'VTDLY': 65536, 'VTIME': 17, 'VWERASE': 4} self.orig_module_dict = anonymous() def test_values(): import termios d = {} for name in dir(termios): val = getattr(termios, name) if name.isupper() and type(val) is int: d[name] = val assert sorted(d.items()) == sorted(self.orig_module_dict.items()) try: test_values() finally: print("===aefwuiheawiu===") from /tmp/buildbot-x86_64/usession-py3.12-4367/src.py ===aefwuiheawiu=== ----------------------------- Captured stderr call ----------------------------- Traceback (most recent call last): File "/tmp/buildbot-x86_64/usession-py3.12-4367/src.py", line 85, in <module> test_values() File "/tmp/buildbot-x86_64/usession-py3.12-4367/src.py", line 83, in test_values assert sorted(d.items()) == sorted(self.orig_module_dict.items()) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ AssertionError =========================== short test summary info ============================ FAIL module/termios/test/test_termios.py::AppTestTermios::()::test_values ====================== 1 failed, 2 passed in 0.71 seconds ====================== ++ 18:21:22 starting module/test_lib_pypy [69 started in total] __ module/test_lib_pypy [69 done in total, somefailed=False] __________________ /Users/matti/oss/pypy-x86_64-buildbot/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 darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 pytest-2.9.2 from /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pytest.pyc rootdir: /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build, inifile: pytest.ini plugins: hypothesis-4.57.1 collected 238 items / 5 skipped module/test_lib_pypy/test_code_module.py ... module/test_lib_pypy/test_collections.py ..................... module/test_lib_pypy/test_marshal_extra.py ....................................................................................................................................................... module/test_lib_pypy/test_md5_extra.py ssssss module/test_lib_pypy/test_pickle_extra.py s module/test_lib_pypy/test_sha_extra.py ..... module/test_lib_pypy/test_site_extra.py . module/test_lib_pypy/test_stackless.py .............................. module/test_lib_pypy/test_stackless_pickling.py .. module/test_lib_pypy/test_structseq.py ........... module/test_lib_pypy/test_tputil.py ....... ==================== 231 passed, 12 skipped in 5.43 seconds ==================== ++ 18:21:30 starting module/thread/test [70 started in total] __ module/thread/test [70 done in total, somefailed=False] ____________________ /Users/matti/oss/pypy-x86_64-buildbot/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 darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 pytest-2.9.2 from /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pytest.pyc rootdir: /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build, inifile: pytest.ini plugins: hypothesis-4.57.1 collected 49 items module/thread/test/test_fork.py .... module/thread/test/test_import_lock.py .... module/thread/test/test_local.py ...... module/thread/test/test_lock.py .................... module/thread/test/test_thread.py ............... ========================== 49 passed in 71.85 seconds ========================== ++ 18:22:51 starting module/time/test [71 started in total] __ module/time/test [71 done in total, somefailed=False] ______________________ /Users/matti/oss/pypy-x86_64-buildbot/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 darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 pytest-2.9.2 from /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pytest.pyc rootdir: /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build, inifile: pytest.ini plugins: hypothesis-4.57.1 collected 0 items ========================= no tests ran in 0.04 seconds ========================= ++ 18:22:53 starting module/token/test [72 started in total] __ module/token/test [72 done in total, somefailed=False] _____________________ /Users/matti/oss/pypy-x86_64-buildbot/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 darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 pytest-2.9.2 from /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pytest.pyc rootdir: /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build, inifile: pytest.ini plugins: hypothesis-4.57.1 collected 0 items ========================= no tests ran in 0.01 seconds ========================= ++ 18:22:56 starting module/unicodedata/test [73 started in total] __ module/unicodedata/test [73 done in total, somefailed=False] _______________ /Users/matti/oss/pypy-x86_64-buildbot/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 darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 pytest-2.9.2 from /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pytest.pyc rootdir: /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build, inifile: pytest.ini plugins: hypothesis-4.57.1 collected 19 items module/unicodedata/test/test_unicodedata.py ................... ========================== 19 passed in 1.74 seconds =========================== ++ 18:23:00 starting module/zipimport/test [74 started in total] __ module/zipimport/test [74 done in total, somefailed=False] _________________ /Users/matti/oss/pypy-x86_64-buildbot/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 darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 pytest-2.9.2 from /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pytest.pyc rootdir: /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build, inifile: pytest.ini plugins: hypothesis-4.57.1 collected 0 items ========================= no tests ran in 0.00 seconds ========================= ++ 18:23:03 starting module/zlib/test [75 started in total] __ module/zlib/test [75 done in total, somefailed=False] ______________________ /Users/matti/oss/pypy-x86_64-buildbot/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 darwin -- Python 2.7.18[pypy-7.3.17-final], pytest-2.9.2, py-1.4.29, pluggy-0.3.1 pytest-2.9.2 from /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build/pytest.pyc rootdir: /Users/matti/build-worker-x86_64/pypy-c-jit-macos-x86-64/build, inifile: pytest.ini plugins: hypothesis-4.57.1 collected 46 items module/zlib/test/test_zlib.py .............................................. ========================== 46 passed in 4.16 seconds =========================== program finished with exit code 1 elapsedTime=1509.760707