s pypy/config/test/test_makerestdoc.py /build_dir/own-linux-x86-32/build/pypy/config/test/test_makerestdoc.py:12: Skipped: don't have docutils . pypy/config/test/test_pypyoption.py::test_required . pypy/config/test/test_pypyoption.py::test_conflicting_gcrootfinder . pypy/config/test/test_pypyoption.py::test_frameworkgc . pypy/config/test/test_pypyoption.py::test_set_opt_level . pypy/config/test/test_pypyoption.py::test_set_pypy_opt_level . pypy/config/test/test_pypyoption.py::test_check_documentation::['objspace.usemodules.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['objspace.usemodules.micronumpy.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['objspace.usemodules.cpyext.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['objspace.usemodules.signal.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['objspace.usemodules._sre.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['objspace.usemodules.time.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['objspace.usemodules.array.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['objspace.usemodules.cStringIO.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['objspace.usemodules.__builtin__.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['objspace.usemodules.parser.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['objspace.usemodules._md5.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['objspace.usemodules._pickle_support.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['objspace.usemodules._lsprof.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['objspace.usemodules._warnings.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['objspace.usemodules.unicodedata.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['objspace.usemodules.posix.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['objspace.usemodules._winreg.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['objspace.usemodules._weakref.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['objspace.usemodules.__pypy__.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['objspace.usemodules.marshal.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['objspace.usemodules.token.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['objspace.usemodules.math.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['objspace.usemodules._cffi_backend.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['objspace.usemodules.select.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['objspace.usemodules.operator.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['objspace.usemodules._vmprof.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['objspace.usemodules.binascii.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['objspace.usemodules.fcntl.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['objspace.usemodules._ast.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['objspace.usemodules._io.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['objspace.usemodules.errno.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['objspace.usemodules._sha.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['objspace.usemodules._rawffi.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['objspace.usemodules._continuation.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['objspace.usemodules.zlib.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['objspace.usemodules.imp.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['objspace.usemodules.itertools.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['objspace.usemodules._socket.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['objspace.usemodules.bz2.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['objspace.usemodules.termios.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['objspace.usemodules.symbol.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['objspace.usemodules._collections.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['objspace.usemodules.pyexpat.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['objspace.usemodules.exceptions.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['objspace.usemodules.thread.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['objspace.usemodules.struct.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['objspace.usemodules._jitlog.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['objspace.usemodules.crypt.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['objspace.usemodules._minimal_curses.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['objspace.usemodules._file.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['objspace.usemodules._codecs.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['objspace.usemodules._demo.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['objspace.usemodules.sys.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['objspace.usemodules._multiprocessing.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['objspace.usemodules.gc.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['objspace.usemodules._multibytecodec.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['objspace.usemodules.pwd.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['objspace.usemodules.cmath.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['objspace.usemodules.zipimport.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['objspace.usemodules.faulthandler.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['objspace.usemodules._cppyy.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['objspace.usemodules._locale.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['objspace.usemodules.pypyjit.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['objspace.usemodules.mmap.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['objspace.usemodules._testing.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['objspace.usemodules._pypyjson.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['objspace.usemodules._csv.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['objspace.usemodules._random.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['objspace.allworkingmodules.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['objspace.extmodules.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['objspace.translationmodules.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['objspace.lonepycfiles.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['objspace.soabi.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['objspace.honor__builtins__.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['objspace.disable_call_speedhacks.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['objspace.disable_entrypoints.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['objspace.hash.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['objspace.std.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['objspace.std.withtproxy.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['objspace.std.withprebuiltint.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['objspace.std.prebuiltintfrom.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['objspace.std.prebuiltintto.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['objspace.std.withsmalllong.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['objspace.std.withspecialisedtuple.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['objspace.std.withliststrategies.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['objspace.std.withmethodcachecounter.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['objspace.std.methodcachesizeexp.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['objspace.std.intshortcut.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['objspace.std.optimized_list_getitem.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['objspace.std.newshortcut.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['objspace.std.reinterpretasserts.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['translation.continuation.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['translation.type_system.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['translation.backend.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['translation.shared.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['translation.log.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['translation.gc.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['translation.gctransformer.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['translation.gcremovetypeptr.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['translation.gcrootfinder.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['translation.thread.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['translation.sandbox.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['translation.rweakref.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['translation.jit.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['translation.jit_backend.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['translation.jit_profiler.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['translation.check_str_without_nul.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['translation.verbose.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['translation.cc.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['translation.profopt.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['translation.profoptargs.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['translation.instrument.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['translation.countmallocs.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['translation.countfieldaccess.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['translation.fork_before.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['translation.dont_write_c_files.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['translation.instrumentctl.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['translation.output.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['translation.secondaryentrypoints.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['translation.dump_static_data_info.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['translation.no__thread.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['translation.make_jobs.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['translation.list_comprehension_operations.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['translation.withsmallfuncsets.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['translation.taggedpointers.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['translation.keepgoing.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['translation.lldebug.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['translation.lldebug0.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['translation.lto.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['translation.icon.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['translation.manifest.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['translation.libname.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['translation.backendopt.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['translation.backendopt.inline.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['translation.backendopt.inline_threshold.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['translation.backendopt.inline_heuristic.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['translation.backendopt.print_statistics.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['translation.backendopt.merge_if_blocks.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['translation.backendopt.mallocs.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['translation.backendopt.constfold.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['translation.backendopt.profile_based_inline.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['translation.backendopt.profile_based_inline_threshold.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['translation.backendopt.profile_based_inline_heuristic.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['translation.backendopt.remove_asserts.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['translation.backendopt.really_remove_asserts.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['translation.backendopt.storesink.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['translation.backendopt.replace_we_are_jitted.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['translation.backendopt.none.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['translation.platform.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['translation.split_gc_address_space.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['translation.reverse_debugger.txt'] . pypy/config/test/test_pypyoption.py::test_check_documentation::['translation.rpython_translate.txt'] . pypy/interpreter/pyparser/test/test_automata.py::test_states . pypy/interpreter/pyparser/test/test_automata.py::test_recognize . pypy/interpreter/pyparser/test/test_automata.py::test_nonascii . pypy/interpreter/pyparser/test/test_future.py::test_docstring . pypy/interpreter/pyparser/test/test_future.py::test_comment . pypy/interpreter/pyparser/test/test_future.py::test_tripledocstring . pypy/interpreter/pyparser/test/test_future.py::test_escapedquote_in_tripledocstring . pypy/interpreter/pyparser/test/test_future.py::test_empty_line . pypy/interpreter/pyparser/test/test_future.py::test_from . pypy/interpreter/pyparser/test/test_future.py::test_froms . pypy/interpreter/pyparser/test/test_future.py::test_from_as . pypy/interpreter/pyparser/test/test_future.py::test_froms_as . pypy/interpreter/pyparser/test/test_future.py::test_from_paren . pypy/interpreter/pyparser/test/test_future.py::test_froms_paren . pypy/interpreter/pyparser/test/test_future.py::test_froms_paren_as . pypy/interpreter/pyparser/test/test_future.py::test_paren_with_newline . pypy/interpreter/pyparser/test/test_future.py::test_paren_with_newline_2 . pypy/interpreter/pyparser/test/test_future.py::test_multiline . pypy/interpreter/pyparser/test/test_future.py::test_windows_style_lineendings . pypy/interpreter/pyparser/test/test_future.py::test_mac_style_lineendings . pypy/interpreter/pyparser/test/test_future.py::test_semicolon . pypy/interpreter/pyparser/test/test_future.py::test_semicolon_2 . pypy/interpreter/pyparser/test/test_future.py::test_full_chain . pypy/interpreter/pyparser/test/test_future.py::test_intervening_code . pypy/interpreter/pyparser/test/test_future.py::test_nonexisting . pypy/interpreter/pyparser/test/test_future.py::test_nonexisting_2 . pypy/interpreter/pyparser/test/test_future.py::test_from_import_abs_import . pypy/interpreter/pyparser/test/test_future.py::test_raw_doc . pypy/interpreter/pyparser/test/test_future.py::test_unicode_doc . pypy/interpreter/pyparser/test/test_future.py::test_raw_unicode_doc . pypy/interpreter/pyparser/test/test_future.py::test_continuation_line . pypy/interpreter/pyparser/test/test_future.py::test_continuation_lines . pypy/interpreter/pyparser/test/test_future.py::test_lots_of_continuation_lines . pypy/interpreter/pyparser/test/test_future.py::test_continuation_lines_raise . pypy/interpreter/pyparser/test/test_future.py::test_continuation_lines_in_docstring_single_quoted . pypy/interpreter/pyparser/test/test_future.py::test_continuation_lines_in_docstring_triple_quoted . pypy/interpreter/pyparser/test/test_future.py::test_blank_lines . pypy/interpreter/pyparser/test/test_future.py::test_dummy_semicolons . pypy/interpreter/pyparser/test/test_future.py::test_future_doc_future . pypy/interpreter/pyparser/test/test_future.py::test_docstring_implicit_concatenation . pypy/interpreter/pyparser/test/test_gendfa.py::test_states . pypy/interpreter/pyparser/test/test_metaparser.py::TestParserGenerator::()::test_multiple_rules . pypy/interpreter/pyparser/test/test_metaparser.py::TestParserGenerator::()::test_simple . pypy/interpreter/pyparser/test/test_metaparser.py::TestParserGenerator::()::test_load_python_grammars . pypy/interpreter/pyparser/test/test_metaparser.py::TestParserGenerator::()::test_items . pypy/interpreter/pyparser/test/test_metaparser.py::TestParserGenerator::()::test_alternatives . pypy/interpreter/pyparser/test/test_metaparser.py::TestParserGenerator::()::test_optional . pypy/interpreter/pyparser/test/test_metaparser.py::TestParserGenerator::()::test_optional_repeater . pypy/interpreter/pyparser/test/test_metaparser.py::TestParserGenerator::()::test_grouping . pypy/interpreter/pyparser/test/test_metaparser.py::TestParserGenerator::()::test_keyword . pypy/interpreter/pyparser/test/test_metaparser.py::TestParserGenerator::()::test_token . pypy/interpreter/pyparser/test/test_metaparser.py::TestParserGenerator::()::test_operator . pypy/interpreter/pyparser/test/test_metaparser.py::TestParserGenerator::()::test_symbol . pypy/interpreter/pyparser/test/test_metaparser.py::TestParserGenerator::()::test_repeaters . pypy/interpreter/pyparser/test/test_metaparser.py::TestParserGenerator::()::test_error . pypy/interpreter/pyparser/test/test_metaparser.py::TestParserGenerator::()::test_comments_and_whitespace . pypy/interpreter/pyparser/test/test_parser.py::test_char_set . pypy/interpreter/pyparser/test/test_parser.py::TestParser::()::test_multiple_rules . pypy/interpreter/pyparser/test/test_parser.py::TestParser::()::test_recursive_rule . pypy/interpreter/pyparser/test/test_parser.py::TestParser::()::test_symbol . pypy/interpreter/pyparser/test/test_parser.py::TestParser::()::test_token . pypy/interpreter/pyparser/test/test_parser.py::TestParser::()::test_optional . pypy/interpreter/pyparser/test/test_parser.py::TestParser::()::test_grouping . pypy/interpreter/pyparser/test/test_parser.py::TestParser::()::test_alternative . pypy/interpreter/pyparser/test/test_parser.py::TestParser::()::test_keyword . pypy/interpreter/pyparser/test/test_parser.py::TestParser::()::test_repeaters . pypy/interpreter/pyparser/test/test_parser.py::TestParser::()::test_optimized_terminal . pypy/interpreter/pyparser/test/test_parser.py::TestParser::()::test_error_string . pypy/interpreter/pyparser/test/test_parser.py::TestParser::()::test_line_attached_to_terminal . pypy/interpreter/pyparser/test/test_parsestring.py::TestParsetring::()::test_simple . pypy/interpreter/pyparser/test/test_parsestring.py::TestParsetring::()::test_unicode . pypy/interpreter/pyparser/test/test_parsestring.py::TestParsetring::()::test_unicode_literals . pypy/interpreter/pyparser/test/test_parsestring.py::TestParsetring::()::test_bytes . pypy/interpreter/pyparser/test/test_parsestring.py::TestParsetring::()::test_simple_enc_roundtrip . pypy/interpreter/pyparser/test/test_parsestring.py::TestParsetring::()::test_multiline_unicode_strings_with_backslash . pypy/interpreter/pyparser/test/test_parsestring.py::TestParsetring::()::test_bug1 . pypy/interpreter/pyparser/test/test_parsestring.py::TestParsetring::()::test_wide_unicode_in_source . pypy/interpreter/pyparser/test/test_parsestring.py::TestParsetring::()::test_decode_unicode_utf8 . pypy/interpreter/pyparser/test/test_pyparse.py::TestPythonParser::()::test_with_and_as . pypy/interpreter/pyparser/test/test_pyparse.py::TestPythonParser::()::test_dont_imply_dedent . pypy/interpreter/pyparser/test/test_pyparse.py::TestPythonParser::()::test_clear_state . pypy/interpreter/pyparser/test/test_pyparse.py::TestPythonParser::()::test_encoding . pypy/interpreter/pyparser/test/test_pyparse.py::TestPythonParser::()::test_non_unicode_codec . pypy/interpreter/pyparser/test/test_pyparse.py::TestPythonParser::()::test_syntax_error . pypy/interpreter/pyparser/test/test_pyparse.py::TestPythonParser::()::test_is . pypy/interpreter/pyparser/test/test_pyparse.py::TestPythonParser::()::test_indentation_error . pypy/interpreter/pyparser/test/test_pyparse.py::TestPythonParser::()::test_mac_newline . pypy/interpreter/pyparser/test/test_pyparse.py::TestPythonParser::()::test_mode . pypy/interpreter/pyparser/test/test_pyparse.py::TestPythonParser::()::test_multiline_string . pypy/interpreter/pyparser/test/test_pyparse.py::TestPythonParser::()::test_bytes_literal . pypy/interpreter/pyparser/test/test_pyparse.py::TestPythonParser::()::test_new_octal_literal . pypy/interpreter/pyparser/test/test_pyparse.py::TestPythonParser::()::test_new_binary_literal . pypy/interpreter/pyparser/test/test_pyparse.py::TestPythonParser::()::test_print_function . pypy/interpreter/pyparser/test/test_pyparse.py::TestPythonParser::()::test_universal_newlines . pypy/interpreter/pyparser/test/test_pyparse.py::TestPythonParser::()::test_revdb_dollar_num . pypy/interpreter/pyparser/test/test_pyparse.py::TestPythonParser::()::test_error_forgotten_chars . pypy/interpreter/pyparser/test/test_pyparse.py::TestPythonParserRevDB::()::test_with_and_as . pypy/interpreter/pyparser/test/test_pyparse.py::TestPythonParserRevDB::()::test_dont_imply_dedent . pypy/interpreter/pyparser/test/test_pyparse.py::TestPythonParserRevDB::()::test_clear_state . pypy/interpreter/pyparser/test/test_pyparse.py::TestPythonParserRevDB::()::test_encoding . pypy/interpreter/pyparser/test/test_pyparse.py::TestPythonParserRevDB::()::test_non_unicode_codec . pypy/interpreter/pyparser/test/test_pyparse.py::TestPythonParserRevDB::()::test_syntax_error . pypy/interpreter/pyparser/test/test_pyparse.py::TestPythonParserRevDB::()::test_is . pypy/interpreter/pyparser/test/test_pyparse.py::TestPythonParserRevDB::()::test_indentation_error . pypy/interpreter/pyparser/test/test_pyparse.py::TestPythonParserRevDB::()::test_mac_newline . pypy/interpreter/pyparser/test/test_pyparse.py::TestPythonParserRevDB::()::test_mode . pypy/interpreter/pyparser/test/test_pyparse.py::TestPythonParserRevDB::()::test_multiline_string . pypy/interpreter/pyparser/test/test_pyparse.py::TestPythonParserRevDB::()::test_bytes_literal . pypy/interpreter/pyparser/test/test_pyparse.py::TestPythonParserRevDB::()::test_new_octal_literal . pypy/interpreter/pyparser/test/test_pyparse.py::TestPythonParserRevDB::()::test_new_binary_literal . pypy/interpreter/pyparser/test/test_pyparse.py::TestPythonParserRevDB::()::test_print_function . pypy/interpreter/pyparser/test/test_pyparse.py::TestPythonParserRevDB::()::test_universal_newlines . pypy/interpreter/pyparser/test/test_pyparse.py::TestPythonParserRevDB::()::test_error_forgotten_chars . pypy/interpreter/pyparser/test/test_pyparse.py::TestPythonParserRevDB::()::test_revdb_dollar_num . pypy/interpreter/pyparser/test/test_pytokenizer.py::TestTokenizer::()::test_simple . pypy/interpreter/pyparser/test/test_pytokenizer.py::TestTokenizer::()::test_error_parenthesis . pypy/interpreter/pyparser/test/test_pytokenizer.py::TestTokenizer::()::test_unknown_char . pypy/interpreter/pyparser/test/test_pytokenizer.py::TestTokenizer::()::test_eol_string . pypy/interpreter/pyparser/test/test_pytokenizer.py::TestTokenizer::()::test_eof_triple_quoted . pypy/module/__pypy__/test/test_builders.py::AppTestBuilders::()::test_simple . pypy/module/__pypy__/test/test_builders.py::AppTestBuilders::()::test_preallocate . pypy/module/__pypy__/test/test_builders.py::AppTestBuilders::()::test_append_slice . pypy/module/__pypy__/test/test_builders.py::AppTestBuilders::()::test_stringbuilder . pypy/module/__pypy__/test/test_builders.py::AppTestBuilders::()::test_encode . pypy/module/__pypy__/test/test_bytebuffer.py::AppTest::()::test_bytebuffer . pypy/module/__pypy__/test/test_bytebuffer.py::AppTest::()::test_buffer_getslice_empty . pypy/module/__pypy__/test/test_debug.py::AppTestDebug::()::test_debug_print . pypy/module/__pypy__/test/test_debug.py::AppTestDebug::()::test_debug_print_once . pypy/module/__pypy__/test/test_debug.py::AppTestDebug::()::test_debug_flush . pypy/module/__pypy__/test/test_debug.py::AppTestDebug::()::test_debug_read_timestamp . pypy/module/__pypy__/test/test_debug.py::AppTestDebug::()::test_debug_get_timestamp_unit . pypy/module/__pypy__/test/test_debug.py::AppTestDebug::()::test_debug_start_stop_timestamp . pypy/module/__pypy__/test/test_debug.py::AppTestDebug::()::test_remote_exec_exists . pypy/module/__pypy__/test/test_identitydict.py::AppTestIdentityDict::()::test_numbers . pypy/module/__pypy__/test/test_identitydict.py::AppTestIdentityDict::()::test_get . pypy/module/__pypy__/test/test_identitydict.py::AppTestIdentityDict::()::test_unhashable . pypy/module/__pypy__/test/test_identitydict.py::AppTestIdentityDict::()::test_keys . pypy/module/__pypy__/test/test_identitydict.py::AppTestIdentityDict::()::test_in . pypy/module/__pypy__/test/test_identitydict.py::AppTestIdentityDict::()::test_iterate . pypy/module/__pypy__/test/test_intop.py::AppTestIntOp::()::test_intmask . pypy/module/__pypy__/test/test_intop.py::AppTestIntOp::()::test_int_add . pypy/module/__pypy__/test/test_intop.py::AppTestIntOp::()::test_int_sub . pypy/module/__pypy__/test/test_intop.py::AppTestIntOp::()::test_int_mul . pypy/module/__pypy__/test/test_intop.py::AppTestIntOp::()::test_int_floordiv . pypy/module/__pypy__/test/test_intop.py::AppTestIntOp::()::test_int_mod . pypy/module/__pypy__/test/test_intop.py::AppTestIntOp::()::test_int_lshift . pypy/module/__pypy__/test/test_intop.py::AppTestIntOp::()::test_int_rshift . pypy/module/__pypy__/test/test_intop.py::AppTestIntOp::()::test_uint_rshift . pypy/module/__pypy__/test/test_intop.py::AppTestIntOp::()::test_mulmod . pypy/module/__pypy__/test/test_intop.py::AppTestIntOp::()::test_invalid . pypy/module/__pypy__/test/test_locals2fast.py::AppTestLocals2Fast::()::test_set_locals_using_save_locals . pypy/module/__pypy__/test/test_locals2fast.py::AppTestLocals2Fast::()::test_frame_simple_change . pypy/module/__pypy__/test/test_locals2fast.py::AppTestLocals2Fast::()::test_frame_co_freevars . pypy/module/__pypy__/test/test_locals2fast.py::AppTestLocals2Fast::()::test_frame_co_cellvars . pypy/module/__pypy__/test/test_locals2fast.py::AppTestLocals2Fast::()::test_frame_change_in_inner_frame . pypy/module/__pypy__/test/test_magic.py::AppTestMagic::()::test_save_module_content_for_future_reload . pypy/module/__pypy__/test/test_magic.py::AppTestMagic::()::test_new_code_hook . pypy/module/__pypy__/test/test_magic.py::AppTestMagic::()::test_decode_long . pypy/module/__pypy__/test/test_magic.py::AppTestMagic::()::test_promote . pypy/module/__pypy__/test/test_magic.py::AppTestMagic::()::test_utf8_content s pypy/module/__pypy__/test/test_magic.py::AppTestMagic::()::test_get_osfhandle Skipped: win32 only . pypy/module/__pypy__/test/test_magic.py::AppTestMagic::()::test_list_get_physical_size . pypy/module/__pypy__/test/test_newmemoryview.py::AppTestMinimal::()::test_newmemoryview . pypy/module/__pypy__/test/test_newmemoryview.py::AppTestMinimal::()::test_empty . pypy/module/__pypy__/test/test_newmemoryview.py::AppTestMinimal::()::test_bufferable . pypy/module/__pypy__/test/test_os.py::AppTestOs::()::test_real_getenv . pypy/module/__pypy__/test/test_signal.py::AppTestMinimal::()::test_signal . pypy/module/__pypy__/test/test_signal.py::AppTestThreadSignal::()::test_exit_twice . pypy/module/__pypy__/test/test_signal.py::AppTestThreadSignal::()::test_enable_signals . pypy/module/__pypy__/test/test_signal.py::AppTestThreadSignal::()::test_thread_fork_signals s pypy/module/__pypy__/test/test_signal.py::AppTestThreadSignalLock::()::test_enable_signals Skipped: this is only a test for -A runs on top of pypy . pypy/module/__pypy__/test/test_special.py::AppTest::()::test_cpumodel . pypy/module/__pypy__/test/test_special.py::AppTest::()::test_builtinify . pypy/module/__pypy__/test/test_special.py::AppTest::()::test_hidden_applevel . pypy/module/__pypy__/test/test_special.py::AppTest::()::test_hidden_applevel_frames . pypy/module/__pypy__/test/test_special.py::AppTest::()::test_get_hidden_tb . pypy/module/__pypy__/test/test_special.py::AppTest::()::test_lookup_special . pypy/module/__pypy__/test/test_special.py::AppTest::()::test_do_what_I_mean . pypy/module/__pypy__/test/test_special.py::AppTest::()::test_list_strategy . pypy/module/__pypy__/test/test_special.py::AppTest::()::test_dict_strategy . pypy/module/__pypy__/test/test_special.py::AppTest::()::test_set_strategy s pypy/module/__pypy__/test/test_special.py::AppTest::()::test_instance_strategy Skipped: not for 32-bit python . pypy/module/__pypy__/test/test_special.py::AppTestJitFeatures::()::test_jit_backend_features s pypy/module/__pypy__/test/test_special.py::AppTestJitFeatures::()::test_internal_error Skipped: we don't wrap a random exception inside SystemError when untranslated, because it makes testing harder . pypy/module/__pypy__/test/test_time.py::AppTestTime::()::test_clock_realtime . pypy/module/__pypy__/test/test_time.py::AppTestTime::()::test_clock_monotonic . pypy/module/__pypy__/test/test_time.py::AppTestTime::()::test_clock_getres . pypy/module/__builtin__/test/apptest_compile.py::test_simple . pypy/module/__builtin__/test/apptest_compile.py::test_error_message . pypy/module/__builtin__/test/apptest_compile.py::test_unicode . pypy/module/__builtin__/test/apptest_compile.py::test_unicode_encoding . pypy/module/__builtin__/test/apptest_compile.py::test_recompile_ast . pypy/module/__builtin__/test/apptest_compile.py::test_leading_newlines . pypy/module/__builtin__/test/apptest_compile.py::test_null_bytes . pypy/module/__builtin__/test/apptest_compile.py::test_null_bytes_flag . pypy/module/__builtin__/test/test_abstractinst.py::TestAbstractInst::()::test_abstract_isclass . pypy/module/__builtin__/test/test_abstractinst.py::TestAbstractInst::()::test_abstract_getclass . pypy/module/__builtin__/test/test_abstractinst.py::AppTestAbstractInst::()::test_abstract_isinstance . pypy/module/__builtin__/test/test_abstractinst.py::AppTestAbstractInst::()::test_abstract_issubclass . pypy/module/__builtin__/test/test_abstractinst.py::AppTestAbstractInst::()::test_overriding . pypy/module/__builtin__/test/test_abstractinst.py::AppTestAbstractInst::()::test_dont_call_instancecheck_fast_path . pypy/module/__builtin__/test/test_abstractinst.py::AppTestAbstractInst::()::test_instancecheck_exception_not_eaten . pypy/module/__builtin__/test/test_abstractinst.py::AppTestAbstractInst::()::test_issubclass_exception_not_eaten . pypy/module/__builtin__/test/test_abstractinst.py::AppTestAbstractInst::()::test_issubclass_no_fallback . pypy/module/__builtin__/test/test_abstractinst.py::AppTestAbstractInst::()::test_exception_match_calls_subclasscheck . pypy/module/__builtin__/test/test_abstractinst.py::AppTestAbstractInst::()::test_exception_raising_calls_subclasscheck . pypy/module/__builtin__/test/test_abstractinst.py::AppTestAbstractInst::()::test_exception_bad_subclasscheck . pypy/module/__builtin__/test/test_apply.py::AppTestApply::()::test_trivial_listonly . pypy/module/__builtin__/test/test_apply.py::AppTestApply::()::test_trivial_dictonly . pypy/module/__builtin__/test/test_apply.py::AppTestApply::()::test_trivial . pypy/module/__builtin__/test/test_builtin.py::AppTestBuiltinApp::()::test_builtin_names . pypy/module/__builtin__/test/test_builtin.py::AppTestBuiltinApp::()::test_bytes_alias . pypy/module/__builtin__/test/test_builtin.py::AppTestBuiltinApp::()::test_eval_adds_builtins . pypy/module/__builtin__/test/test_builtin.py::AppTestBuiltinApp::()::test_import . pypy/module/__builtin__/test/test_builtin.py::AppTestBuiltinApp::()::test_chr . pypy/module/__builtin__/test/test_builtin.py::AppTestBuiltinApp::()::test_bin . pypy/module/__builtin__/test/test_builtin.py::AppTestBuiltinApp::()::test_unichr . pypy/module/__builtin__/test/test_builtin.py::AppTestBuiltinApp::()::test_intern . pypy/module/__builtin__/test/test_builtin.py::AppTestBuiltinApp::()::test_globals . pypy/module/__builtin__/test/test_builtin.py::AppTestBuiltinApp::()::test_locals . pypy/module/__builtin__/test/test_builtin.py::AppTestBuiltinApp::()::test_locals_deleted_local . pypy/module/__builtin__/test/test_builtin.py::AppTestBuiltinApp::()::test_dir . pypy/module/__builtin__/test/test_builtin.py::AppTestBuiltinApp::()::test_dir_in_broken_locals . pypy/module/__builtin__/test/test_builtin.py::AppTestBuiltinApp::()::test_dir_broken_module . pypy/module/__builtin__/test/test_builtin.py::AppTestBuiltinApp::()::test_dir_broken_object . pypy/module/__builtin__/test/test_builtin.py::AppTestBuiltinApp::()::test_dir_custom . pypy/module/__builtin__/test/test_builtin.py::AppTestBuiltinApp::()::test_dir_custom_lookup . pypy/module/__builtin__/test/test_builtin.py::AppTestBuiltinApp::()::test_format . pypy/module/__builtin__/test/test_builtin.py::AppTestBuiltinApp::()::test_vars . pypy/module/__builtin__/test/test_builtin.py::AppTestBuiltinApp::()::test_sum . pypy/module/__builtin__/test/test_builtin.py::AppTestBuiltinApp::()::test_sum_fast_path . pypy/module/__builtin__/test/test_builtin.py::AppTestBuiltinApp::()::test_sum_empty_edge_cases . pypy/module/__builtin__/test/test_builtin.py::AppTestBuiltinApp::()::test_sum_type_errors . pypy/module/__builtin__/test/test_builtin.py::AppTestBuiltinApp::()::test_sum_strange_objects . pypy/module/__builtin__/test/test_builtin.py::AppTestBuiltinApp::()::test_sum_first_object_edge_cases . pypy/module/__builtin__/test/test_builtin.py::AppTestBuiltinApp::()::test_type_selftest . pypy/module/__builtin__/test/test_builtin.py::AppTestBuiltinApp::()::test_iter_sequence . pypy/module/__builtin__/test/test_builtin.py::AppTestBuiltinApp::()::test_iter___iter__ . pypy/module/__builtin__/test/test_builtin.py::AppTestBuiltinApp::()::test_iter_callable_sentinel . pypy/module/__builtin__/test/test_builtin.py::AppTestBuiltinApp::()::test_enumerate . pypy/module/__builtin__/test/test_builtin.py::AppTestBuiltinApp::()::test_next . pypy/module/__builtin__/test/test_builtin.py::AppTestBuiltinApp::()::test_next__next__ . pypy/module/__builtin__/test/test_builtin.py::AppTestBuiltinApp::()::test_xrange_args . pypy/module/__builtin__/test/test_builtin.py::AppTestBuiltinApp::()::test_xrange_repr . pypy/module/__builtin__/test/test_builtin.py::AppTestBuiltinApp::()::test_xrange_up . pypy/module/__builtin__/test/test_builtin.py::AppTestBuiltinApp::()::test_xrange_down . pypy/module/__builtin__/test/test_builtin.py::AppTestBuiltinApp::()::test_xrange_has_type_identity . pypy/module/__builtin__/test/test_builtin.py::AppTestBuiltinApp::()::test_xrange_len . pypy/module/__builtin__/test/test_builtin.py::AppTestBuiltinApp::()::test_xrange_indexing . pypy/module/__builtin__/test/test_builtin.py::AppTestBuiltinApp::()::test_xrange_bad_args . pypy/module/__builtin__/test/test_builtin.py::AppTestBuiltinApp::()::test_sorted . pypy/module/__builtin__/test/test_builtin.py::AppTestBuiltinApp::()::test_sorted_with_keywords . pypy/module/__builtin__/test/test_builtin.py::AppTestBuiltinApp::()::test_reversed_simple_sequences . pypy/module/__builtin__/test/test_builtin.py::AppTestBuiltinApp::()::test_reversed_custom_objects . pypy/module/__builtin__/test/test_builtin.py::AppTestBuiltinApp::()::test_cmp . pypy/module/__builtin__/test/test_builtin.py::AppTestBuiltinApp::()::test_cmp_more s pypy/module/__builtin__/test/test_builtin.py::AppTestBuiltinApp::()::test_cmp_cyclic Skipped: underlying Python may raise random exceptions on stack ovf . pypy/module/__builtin__/test/test_builtin.py::AppTestBuiltinApp::()::test_coerce . pypy/module/__builtin__/test/test_builtin.py::AppTestBuiltinApp::()::test_return_None . pypy/module/__builtin__/test/test_builtin.py::AppTestBuiltinApp::()::test_divmod . pypy/module/__builtin__/test/test_builtin.py::AppTestBuiltinApp::()::test_callable . pypy/module/__builtin__/test/test_builtin.py::AppTestBuiltinApp::()::test_uncallable . pypy/module/__builtin__/test/test_builtin.py::AppTestBuiltinApp::()::test_hash . pypy/module/__builtin__/test/test_builtin.py::AppTestBuiltinApp::()::test_eval . pypy/module/__builtin__/test/test_builtin.py::AppTestBuiltinApp::()::test_isinstance . pypy/module/__builtin__/test/test_builtin.py::AppTestBuiltinApp::()::test_issubclass . pypy/module/__builtin__/test/test_builtin.py::AppTestBuiltinApp::()::test_staticmethod . pypy/module/__builtin__/test/test_builtin.py::AppTestBuiltinApp::()::test_classmethod . pypy/module/__builtin__/test/test_builtin.py::AppTestBuiltinApp::()::test_hasattr . pypy/module/__builtin__/test/test_builtin.py::AppTestBuiltinApp::()::test_execfile_args . pypy/module/__builtin__/test/test_builtin.py::AppTestBuiltinApp::()::test_print_function . pypy/module/__builtin__/test/test_builtin.py::AppTestBuiltinApp::()::test_print_exceptions . pypy/module/__builtin__/test/test_builtin.py::AppTestBuiltinApp::()::test_round . pypy/module/__builtin__/test/test_builtin.py::AppTestBuiltinApp::()::test_vars_obscure_case . pypy/module/__builtin__/test/test_builtin.py::AppTestGetattr::()::test_getattr . pypy/module/__builtin__/test/test_builtin.py::AppTestGetattr::()::test_getattr_typecheck . pypy/module/__builtin__/test/test_builtin.py::TestInternal::()::test_execfile . pypy/module/__builtin__/test/test_builtin.py::TestInternal::()::test_execfile_different_lineendings . pypy/module/__builtin__/test/test_classobj.py::AppTestOldstyle::()::test_simple . pypy/module/__builtin__/test/test_classobj.py::AppTestOldstyle::()::test_isinstance . pypy/module/__builtin__/test/test_classobj.py::AppTestOldstyle::()::test_issubclass . pypy/module/__builtin__/test/test_classobj.py::AppTestOldstyle::()::test_mutate_class_special . pypy/module/__builtin__/test/test_classobj.py::AppTestOldstyle::()::test_class_repr . pypy/module/__builtin__/test/test_classobj.py::AppTestOldstyle::()::test_class_str . pypy/module/__builtin__/test/test_classobj.py::AppTestOldstyle::()::test_del_error_class_special . pypy/module/__builtin__/test/test_classobj.py::AppTestOldstyle::()::test_mutate_instance_special . pypy/module/__builtin__/test/test_classobj.py::AppTestOldstyle::()::test_init . pypy/module/__builtin__/test/test_classobj.py::AppTestOldstyle::()::test_method . pypy/module/__builtin__/test/test_classobj.py::AppTestOldstyle::()::test_inheritance . pypy/module/__builtin__/test/test_classobj.py::AppTestOldstyle::()::test_inheritance_unbound_method . pypy/module/__builtin__/test/test_classobj.py::AppTestOldstyle::()::test_len_getsetdelitem . pypy/module/__builtin__/test/test_classobj.py::AppTestOldstyle::()::test_len_errors . pypy/module/__builtin__/test/test_classobj.py::AppTestOldstyle::()::test_call . pypy/module/__builtin__/test/test_classobj.py::AppTestOldstyle::()::test_nonzero . pypy/module/__builtin__/test/test_classobj.py::AppTestOldstyle::()::test_repr . pypy/module/__builtin__/test/test_classobj.py::AppTestOldstyle::()::test_str . pypy/module/__builtin__/test/test_classobj.py::AppTestOldstyle::()::test_iter . pypy/module/__builtin__/test/test_classobj.py::AppTestOldstyle::()::test_getsetdelattr . pypy/module/__builtin__/test/test_classobj.py::AppTestOldstyle::()::test_instance_override . pypy/module/__builtin__/test/test_classobj.py::AppTestOldstyle::()::test_unary_method . pypy/module/__builtin__/test/test_classobj.py::AppTestOldstyle::()::test_cmp . pypy/module/__builtin__/test/test_classobj.py::AppTestOldstyle::()::test_coerce . pypy/module/__builtin__/test/test_classobj.py::AppTestOldstyle::()::test_coerce_inf . pypy/module/__builtin__/test/test_classobj.py::AppTestOldstyle::()::test_coerce_reverse . pypy/module/__builtin__/test/test_classobj.py::AppTestOldstyle::()::test_binaryop . pypy/module/__builtin__/test/test_classobj.py::AppTestOldstyle::()::test_binaryop_coerces . pypy/module/__builtin__/test/test_classobj.py::AppTestOldstyle::()::test_binaryop_calls_coerce_always . pypy/module/__builtin__/test/test_classobj.py::AppTestOldstyle::()::test_binaryop_raises . pypy/module/__builtin__/test/test_classobj.py::AppTestOldstyle::()::test_iadd . pypy/module/__builtin__/test/test_classobj.py::AppTestOldstyle::()::test_cmp_and_coerce . pypy/module/__builtin__/test/test_classobj.py::AppTestOldstyle::()::test_hash . pypy/module/__builtin__/test/test_classobj.py::AppTestOldstyle::()::test_index . pypy/module/__builtin__/test/test_classobj.py::AppTestOldstyle::()::test_contains . pypy/module/__builtin__/test/test_classobj.py::AppTestOldstyle::()::test_pow . pypy/module/__builtin__/test/test_classobj.py::AppTestOldstyle::()::test_getsetdelslice . pypy/module/__builtin__/test/test_classobj.py::AppTestOldstyle::()::test_contains_bug . pypy/module/__builtin__/test/test_classobj.py::AppTestOldstyle::()::test_class_instantiation_bug . pypy/module/__builtin__/test/test_classobj.py::AppTestOldstyle::()::test_instance_new F pypy/module/__builtin__/test/test_classobj.py::AppTestOldstyle::()::test_del self = func = at 0xf47c2f44>, 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, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 0xf7aa732c> hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf6a444cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf6a444cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf4783c4c> 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 0xf4783c4c> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf4783c2c> 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 0xf4783c2c> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def runtest(self): target = self.obj if self.config.option.runappdirect: return target() space = target.im_self.space filename = self._getdynfilename(target) func = app2interp_temp(target.im_func, filename=filename) w_instance = self.parent.w_instance > self.execute_appex(space, func, space, w_instance) tool/pytest/apptest.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , space = StdObjSpace target = args = (StdObjSpace, ) def execute_appex(self, space, target, *args): self.space = space try: > target(*args) tool/pytest/apptest.py:30: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace args_w = (,) w_func = args = def appcaller(space, *args_w): if not isinstance(space, ObjSpace): raise TypeError("first argument must be a space instance.") # the last argument can be an Arguments w_func = self.wget(space, name) if not args_w: return space.call_function(w_func) else: args = args_w[-1] assert args is not None if not isinstance(args, Arguments): > return space.call_function(w_func, *args_w) interpreter/gateway.py:1227: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = args_w = (,) nargs = 1, Function = Method = def call_function(self, w_func, *args_w): nargs = len(args_w) # used for pruning funccall versions if not self.config.objspace.disable_call_speedhacks and nargs < 5: # start of hack for performance from pypy.interpreter.function import Function, Method if isinstance(w_func, Method): w_inst = w_func.w_instance if w_inst is not None: if nargs < 4: func = w_func.w_function if isinstance(func, Function): return func.funccall(w_inst, *args_w) elif args_w and ( self.abstract_isinstance_w(args_w[0], w_func.w_class)): w_func = w_func.w_function if isinstance(w_func, Function): > return w_func.funccall(*args_w) interpreter/baseobjspace.py:1210: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = args_w = (,) gateway = PyCode = code = def funccall(self, *args_w): # speed hack from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit nargs = len(args_w) fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, args_w[0]) elif nargs == 2: assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, args_w[0], args_w[1]) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) return code.fastcall_3(self.space, self, args_w[0], args_w[1], args_w[2]) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) return code.fastcall_4(self.space, self, args_w[0], args_w[1], args_w[2], args_w[3]) elif (nargs | PyCode.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) if nargs < 5: new_frame = self.space.createframe(code, self.w_func_globals, self) for i in funccallunrolling: if i < nargs: new_frame.locals_cells_stack_w[i] = args_w[i] > return new_frame.run() interpreter/function.py:118: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 9 def run(self): """Start this frame's execution.""" if self.getcode().co_flags & pycode.CO_GENERATOR: from pypy.interpreter.generator import GeneratorIterator return GeneratorIterator(self) else: > return self.execute_frame() interpreter/pyframe.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 9 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:290: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 9 e = SyntaxError("Non-ASCII character '\\xe2' in file /build_dir/own-linux-x86-32/b..., ('/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py', 423, 0, None)) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:943: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 9 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:286: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 9 pycode = next_instr = 0L ec = def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 9 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x01\x00g\x00\x00\x89\x00\x00d\x02\x00f\x00\x00\x87\x00\x00f\x01\x00d\x03\x00\x86\x00\x00...00\xca\x00\x00\x01\xcc\x18\x00\x88\x00\x00d\x04\x00d\x04\x00g\x02\x00k\x02\x00s\xce\x00t\x02\x00\x82\x01\x00d\x00\x00S' next_instr = 0L ec = def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 9 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x01\x00g\x00\x00\x89\x00\x00d\x02\x00f\x00\x00\x87\x00\x00f\x01\x00d\x03\x00\x86\x00\x00...00\xca\x00\x00\x01\xcc\x18\x00\x88\x00\x00d\x04\x00d\x04\x00g\x02\x00k\x02\x00s\xce\x00t\x02\x00\x82\x01\x00d\x00\x00S' next_instr = 64L ec = @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: self.last_instr = intmask(next_instr) if jit.we_are_jitted(): if self.debugdata: ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: ec.bytecode_trace(self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) next_instr += 1 if opcode >= HAVE_ARGUMENT: lo = ord(co_code[next_instr]) hi = ord(co_code[next_instr+1]) next_instr += 2 oparg = (hi * 256) | lo else: oparg = 0 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into a switch(). while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption lo = ord(co_code[next_instr+1]) hi = ord(co_code[next_instr+2]) next_instr += 3 oparg = (oparg * 65536) | (hi * 256) | lo if opcode == opcodedesc.RETURN_VALUE.index: if not self.blockstack_non_empty(): self.frame_finished_execution = True # for generators raise Return w_returnvalue = self.popvalue() block = self.unrollstack(SReturnValue.kind) if block is None: self.pushvalue(w_returnvalue) raise Return else: unroller = SReturnValue(w_returnvalue) next_instr = block.handle(self, unroller) return next_instr # now inside a 'finally' block elif opcode == opcodedesc.END_FINALLY.index: unroller = self.end_finally() if isinstance(unroller, SuspendedUnroller): # go on unrolling the stack block = self.unrollstack(unroller.kind) if block is None: w_result = unroller.nomoreblocks() self.pushvalue(w_result) raise Return else: next_instr = block.handle(self, unroller) return next_instr elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, ec) elif opcode == opcodedesc.BREAK_LOOP.index: next_instr = self.BREAK_LOOP(oparg, next_instr) elif opcode == opcodedesc.CONTINUE_LOOP.index: return self.CONTINUE_LOOP(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: next_instr = self.JUMP_IF_FALSE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_DEBUG.index: next_instr = self.JUMP_IF_NOT_DEBUG(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: next_instr = self.JUMP_IF_TRUE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: next_instr = self.POP_JUMP_IF_FALSE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: next_instr = self.POP_JUMP_IF_TRUE(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_DIVIDE.index: self.BINARY_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CLASS.index: self.BUILD_CLASS(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR.index: self.CALL_FUNCTION_VAR(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR_KW.index: self.CALL_FUNCTION_VAR_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: self.CALL_METHOD(oparg, next_instr) elif opcode == opcodedesc.COMPARE_OP.index: self.COMPARE_OP(oparg, next_instr) elif opcode == opcodedesc.DELETE_ATTR.index: self.DELETE_ATTR(oparg, next_instr) elif opcode == opcodedesc.DELETE_FAST.index: self.DELETE_FAST(oparg, next_instr) elif opcode == opcodedesc.DELETE_GLOBAL.index: self.DELETE_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.DELETE_NAME.index: self.DELETE_NAME(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_0.index: self.DELETE_SLICE_0(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_1.index: self.DELETE_SLICE_1(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_2.index: self.DELETE_SLICE_2(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_3.index: self.DELETE_SLICE_3(oparg, next_instr) elif opcode == opcodedesc.DELETE_SUBSCR.index: self.DELETE_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.DUP_TOP.index: self.DUP_TOP(oparg, next_instr) elif opcode == opcodedesc.DUP_TOPX.index: self.DUP_TOPX(oparg, next_instr) elif opcode == opcodedesc.EXEC_STMT.index: self.EXEC_STMT(oparg, next_instr) elif opcode == opcodedesc.GET_ITER.index: self.GET_ITER(oparg, next_instr) elif opcode == opcodedesc.IMPORT_FROM.index: self.IMPORT_FROM(oparg, next_instr) elif opcode == opcodedesc.IMPORT_NAME.index: self.IMPORT_NAME(oparg, next_instr) elif opcode == opcodedesc.IMPORT_STAR.index: self.IMPORT_STAR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_ADD.index: self.INPLACE_ADD(oparg, next_instr) elif opcode == opcodedesc.INPLACE_AND.index: self.INPLACE_AND(oparg, next_instr) elif opcode == opcodedesc.INPLACE_DIVIDE.index: self.INPLACE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_FLOOR_DIVIDE.index: self.INPLACE_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_LSHIFT.index: self.INPLACE_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MODULO.index: self.INPLACE_MODULO(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MULTIPLY.index: self.INPLACE_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.INPLACE_OR.index: self.INPLACE_OR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_POWER.index: self.INPLACE_POWER(oparg, next_instr) elif opcode == opcodedesc.INPLACE_RSHIFT.index: self.INPLACE_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_SUBTRACT.index: self.INPLACE_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_TRUE_DIVIDE.index: self.INPLACE_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_XOR.index: self.INPLACE_XOR(oparg, next_instr) elif opcode == opcodedesc.LIST_APPEND.index: self.LIST_APPEND(oparg, next_instr) elif opcode == opcodedesc.LOAD_ATTR.index: self.LOAD_ATTR(oparg, next_instr) elif opcode == opcodedesc.LOAD_CLOSURE.index: self.LOAD_CLOSURE(oparg, next_instr) elif opcode == opcodedesc.LOAD_CONST.index: self.LOAD_CONST(oparg, next_instr) elif opcode == opcodedesc.LOAD_DEREF.index: self.LOAD_DEREF(oparg, next_instr) elif opcode == opcodedesc.LOAD_FAST.index: self.LOAD_FAST(oparg, next_instr) elif opcode == opcodedesc.LOAD_GLOBAL.index: self.LOAD_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.LOAD_LOCALS.index: self.LOAD_LOCALS(oparg, next_instr) elif opcode == opcodedesc.LOAD_NAME.index: self.LOAD_NAME(oparg, next_instr) elif opcode == opcodedesc.LOOKUP_METHOD.index: > self.LOOKUP_METHOD(oparg, next_instr) interpreter/pyopcode.py:356: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = at line 9 nameindex = 1, ignored = (64L,) MutableCell = space = StdObjSpace w_obj = def LOOKUP_METHOD(f, nameindex, *ignored): from pypy.objspace.std.typeobject import MutableCell # stack before after # -------------- --fast-method----fallback-case------------ # # w_object None # w_object => w_function w_boundmethod_or_whatever # (more stuff) (more stuff) (more stuff) # space = f.space w_obj = f.popvalue() if not jit.we_are_jitted(): # mapdict has an extra-fast version of this function if LOOKUP_METHOD_mapdict(f, nameindex, w_obj): return w_name = f.getname_w(nameindex) w_value = None w_type = space.type(w_obj) if w_type.has_object_getattribute(): name = space.text_w(w_name) # bit of a mess to use these internal functions, but it allows the # mapdict caching below to work without an additional lookup version_tag = w_type.version_tag() if version_tag is None: _, w_descr = w_type._lookup_where(name) w_descr_cell = None else: _, w_descr_cell = w_type._pure_lookup_where_with_method_cache( name, version_tag) w_descr = w_descr_cell if isinstance(w_descr, MutableCell): w_descr = w_descr.unwrap_cell(space) if w_descr is None: # this handles directly the common case # module.function(args..) > w_value = w_obj.getdictvalue(space, name) objspace/std/callmethod.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def getdictvalue(self, space, name): w_value = space.finditem_str(self.w_dict, name) if self.lazy and w_value is None: > return self._load_lazily(space, name) interpreter/mixedmodule.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def _load_lazily(self, space, name): w_name = space.new_interned_str(name) try: loader = self.loaders[name] except KeyError: return None else: > w_value = loader(space) interpreter/mixedmodule.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace def ifileloader(space): d = {'space':space} # EVIL HACK (but it works, and this is not RPython :-) while 1: try: value = eval(spec, d) except NameError as ex: name = ex.args[0].split("'")[1] # super-Evil if name in d: raise # propagate the NameError try: > d[name] = __import__(pkgroot+'.'+name, None, None, [name]) interpreter/mixedmodule.py:182: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from pypy.interpreter.gateway import unwrap_spec from pypy.interpreter.error import oefmt from rpython.rlib import rgc > from pypy.module.gc.hook import W_GcCollectStepStats module/gc/interp_gc.py:4: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from rpython.memory.gc.hook import GcHooks > from rpython.memory.gc import incminimark module/gc/hook.py:2: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ # XXX Should find a way to bound the major collection threshold by the # XXX total addressable size. Maybe by keeping some minimarkpage arenas # XXX pre-reserved, enough for a few nursery collections? What about # XXX raw-malloced memory? # XXX try merging old_objects_pointing_to_pinned into # XXX old_objects_pointing_to_young (IRC 2014-10-22, fijal and gregor_w) import sys import os import time from rpython.rtyper.lltypesystem import lltype, llmemory, llarena, llgroup from rpython.rtyper.lltypesystem.lloperation import llop from rpython.rtyper.lltypesystem.llmemory import raw_malloc_usage from rpython.memory.gc.base import GCBase, MovingGCBase > from rpython.memory.gc import env E File "/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py", line 423 E SyntaxError: Non-ASCII character '\xe2' in file /build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py on line 423, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details ../rpython/memory/gc/incminimark.py:70: SyntaxError . pypy/module/__builtin__/test/test_classobj.py::AppTestOldstyle::()::test_catch_attributeerror_of_descriptor . pypy/module/__builtin__/test/test_classobj.py::AppTestOldstyle::()::test_multiple_inheritance_more F pypy/module/__builtin__/test/test_classobj.py::AppTestOldstyle::()::test_weakref self = func = at 0xf47c2d4c>, 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, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 0xf7aa732c> hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf6a444cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf6a444cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf426a4ec> 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 0xf426a4ec> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf42600cc> 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 0xf42600cc> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def runtest(self): target = self.obj if self.config.option.runappdirect: return target() space = target.im_self.space filename = self._getdynfilename(target) func = app2interp_temp(target.im_func, filename=filename) w_instance = self.parent.w_instance > self.execute_appex(space, func, space, w_instance) tool/pytest/apptest.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , space = StdObjSpace target = args = (StdObjSpace, ) def execute_appex(self, space, target, *args): self.space = space try: > target(*args) tool/pytest/apptest.py:30: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace args_w = (,) w_func = args = def appcaller(space, *args_w): if not isinstance(space, ObjSpace): raise TypeError("first argument must be a space instance.") # the last argument can be an Arguments w_func = self.wget(space, name) if not args_w: return space.call_function(w_func) else: args = args_w[-1] assert args is not None if not isinstance(args, Arguments): > return space.call_function(w_func, *args_w) interpreter/gateway.py:1227: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = args_w = (,) nargs = 1, Function = Method = def call_function(self, w_func, *args_w): nargs = len(args_w) # used for pruning funccall versions if not self.config.objspace.disable_call_speedhacks and nargs < 5: # start of hack for performance from pypy.interpreter.function import Function, Method if isinstance(w_func, Method): w_inst = w_func.w_instance if w_inst is not None: if nargs < 4: func = w_func.w_function if isinstance(func, Function): return func.funccall(w_inst, *args_w) elif args_w and ( self.abstract_isinstance_w(args_w[0], w_func.w_class)): w_func = w_func.w_function if isinstance(w_func, Function): > return w_func.funccall(*args_w) interpreter/baseobjspace.py:1210: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = args_w = (,) gateway = PyCode = code = def funccall(self, *args_w): # speed hack from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit nargs = len(args_w) fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, args_w[0]) elif nargs == 2: assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, args_w[0], args_w[1]) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) return code.fastcall_3(self.space, self, args_w[0], args_w[1], args_w[2]) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) return code.fastcall_4(self.space, self, args_w[0], args_w[1], args_w[2], args_w[3]) elif (nargs | PyCode.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) if nargs < 5: new_frame = self.space.createframe(code, self.w_func_globals, self) for i in funccallunrolling: if i < nargs: new_frame.locals_cells_stack_w[i] = args_w[i] > return new_frame.run() interpreter/function.py:118: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 9 def run(self): """Start this frame's execution.""" if self.getcode().co_flags & pycode.CO_GENERATOR: from pypy.interpreter.generator import GeneratorIterator return GeneratorIterator(self) else: > return self.execute_frame() interpreter/pyframe.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 9 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:290: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 9 e = SyntaxError("Non-ASCII character '\\xe2' in file /build_dir/own-linux-x86-32/b..., ('/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py', 423, 0, None)) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:943: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 9 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:286: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 9 pycode = next_instr = 0L ec = def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 9 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x01\x00d\x01\x00d\x00\x00l\x01\x00}\x02\x00d\x02\x00f\x00\x00d\x03\x00\x84\x00\x00\x83\x...xc9\x04\x00\xca\x00\x00\x01\xcc\x15\x00|\x05\x00\x83\x00\x00d\x00\x00k\x08\x00s\x97\x00t\x03\x00\x82\x01\x00d\x00\x00S' next_instr = 0L ec = def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 9 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x01\x00d\x01\x00d\x00\x00l\x01\x00}\x02\x00d\x02\x00f\x00\x00d\x03\x00\x84\x00\x00\x83\x...xc9\x04\x00\xca\x00\x00\x01\xcc\x15\x00|\x05\x00\x83\x00\x00d\x00\x00k\x08\x00s\x97\x00t\x03\x00\x82\x01\x00d\x00\x00S' next_instr = 103L ec = @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: self.last_instr = intmask(next_instr) if jit.we_are_jitted(): if self.debugdata: ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: ec.bytecode_trace(self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) next_instr += 1 if opcode >= HAVE_ARGUMENT: lo = ord(co_code[next_instr]) hi = ord(co_code[next_instr+1]) next_instr += 2 oparg = (hi * 256) | lo else: oparg = 0 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into a switch(). while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption lo = ord(co_code[next_instr+1]) hi = ord(co_code[next_instr+2]) next_instr += 3 oparg = (oparg * 65536) | (hi * 256) | lo if opcode == opcodedesc.RETURN_VALUE.index: if not self.blockstack_non_empty(): self.frame_finished_execution = True # for generators raise Return w_returnvalue = self.popvalue() block = self.unrollstack(SReturnValue.kind) if block is None: self.pushvalue(w_returnvalue) raise Return else: unroller = SReturnValue(w_returnvalue) next_instr = block.handle(self, unroller) return next_instr # now inside a 'finally' block elif opcode == opcodedesc.END_FINALLY.index: unroller = self.end_finally() if isinstance(unroller, SuspendedUnroller): # go on unrolling the stack block = self.unrollstack(unroller.kind) if block is None: w_result = unroller.nomoreblocks() self.pushvalue(w_result) raise Return else: next_instr = block.handle(self, unroller) return next_instr elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, ec) elif opcode == opcodedesc.BREAK_LOOP.index: next_instr = self.BREAK_LOOP(oparg, next_instr) elif opcode == opcodedesc.CONTINUE_LOOP.index: return self.CONTINUE_LOOP(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: next_instr = self.JUMP_IF_FALSE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_DEBUG.index: next_instr = self.JUMP_IF_NOT_DEBUG(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: next_instr = self.JUMP_IF_TRUE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: next_instr = self.POP_JUMP_IF_FALSE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: next_instr = self.POP_JUMP_IF_TRUE(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_DIVIDE.index: self.BINARY_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CLASS.index: self.BUILD_CLASS(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR.index: self.CALL_FUNCTION_VAR(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR_KW.index: self.CALL_FUNCTION_VAR_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: self.CALL_METHOD(oparg, next_instr) elif opcode == opcodedesc.COMPARE_OP.index: self.COMPARE_OP(oparg, next_instr) elif opcode == opcodedesc.DELETE_ATTR.index: self.DELETE_ATTR(oparg, next_instr) elif opcode == opcodedesc.DELETE_FAST.index: self.DELETE_FAST(oparg, next_instr) elif opcode == opcodedesc.DELETE_GLOBAL.index: self.DELETE_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.DELETE_NAME.index: self.DELETE_NAME(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_0.index: self.DELETE_SLICE_0(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_1.index: self.DELETE_SLICE_1(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_2.index: self.DELETE_SLICE_2(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_3.index: self.DELETE_SLICE_3(oparg, next_instr) elif opcode == opcodedesc.DELETE_SUBSCR.index: self.DELETE_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.DUP_TOP.index: self.DUP_TOP(oparg, next_instr) elif opcode == opcodedesc.DUP_TOPX.index: self.DUP_TOPX(oparg, next_instr) elif opcode == opcodedesc.EXEC_STMT.index: self.EXEC_STMT(oparg, next_instr) elif opcode == opcodedesc.GET_ITER.index: self.GET_ITER(oparg, next_instr) elif opcode == opcodedesc.IMPORT_FROM.index: self.IMPORT_FROM(oparg, next_instr) elif opcode == opcodedesc.IMPORT_NAME.index: self.IMPORT_NAME(oparg, next_instr) elif opcode == opcodedesc.IMPORT_STAR.index: self.IMPORT_STAR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_ADD.index: self.INPLACE_ADD(oparg, next_instr) elif opcode == opcodedesc.INPLACE_AND.index: self.INPLACE_AND(oparg, next_instr) elif opcode == opcodedesc.INPLACE_DIVIDE.index: self.INPLACE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_FLOOR_DIVIDE.index: self.INPLACE_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_LSHIFT.index: self.INPLACE_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MODULO.index: self.INPLACE_MODULO(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MULTIPLY.index: self.INPLACE_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.INPLACE_OR.index: self.INPLACE_OR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_POWER.index: self.INPLACE_POWER(oparg, next_instr) elif opcode == opcodedesc.INPLACE_RSHIFT.index: self.INPLACE_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_SUBTRACT.index: self.INPLACE_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_TRUE_DIVIDE.index: self.INPLACE_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_XOR.index: self.INPLACE_XOR(oparg, next_instr) elif opcode == opcodedesc.LIST_APPEND.index: self.LIST_APPEND(oparg, next_instr) elif opcode == opcodedesc.LOAD_ATTR.index: self.LOAD_ATTR(oparg, next_instr) elif opcode == opcodedesc.LOAD_CLOSURE.index: self.LOAD_CLOSURE(oparg, next_instr) elif opcode == opcodedesc.LOAD_CONST.index: self.LOAD_CONST(oparg, next_instr) elif opcode == opcodedesc.LOAD_DEREF.index: self.LOAD_DEREF(oparg, next_instr) elif opcode == opcodedesc.LOAD_FAST.index: self.LOAD_FAST(oparg, next_instr) elif opcode == opcodedesc.LOAD_GLOBAL.index: self.LOAD_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.LOAD_LOCALS.index: self.LOAD_LOCALS(oparg, next_instr) elif opcode == opcodedesc.LOAD_NAME.index: self.LOAD_NAME(oparg, next_instr) elif opcode == opcodedesc.LOOKUP_METHOD.index: > self.LOOKUP_METHOD(oparg, next_instr) interpreter/pyopcode.py:356: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = at line 9 nameindex = 4, ignored = (103L,) MutableCell = space = StdObjSpace w_obj = def LOOKUP_METHOD(f, nameindex, *ignored): from pypy.objspace.std.typeobject import MutableCell # stack before after # -------------- --fast-method----fallback-case------------ # # w_object None # w_object => w_function w_boundmethod_or_whatever # (more stuff) (more stuff) (more stuff) # space = f.space w_obj = f.popvalue() if not jit.we_are_jitted(): # mapdict has an extra-fast version of this function if LOOKUP_METHOD_mapdict(f, nameindex, w_obj): return w_name = f.getname_w(nameindex) w_value = None w_type = space.type(w_obj) if w_type.has_object_getattribute(): name = space.text_w(w_name) # bit of a mess to use these internal functions, but it allows the # mapdict caching below to work without an additional lookup version_tag = w_type.version_tag() if version_tag is None: _, w_descr = w_type._lookup_where(name) w_descr_cell = None else: _, w_descr_cell = w_type._pure_lookup_where_with_method_cache( name, version_tag) w_descr = w_descr_cell if isinstance(w_descr, MutableCell): w_descr = w_descr.unwrap_cell(space) if w_descr is None: # this handles directly the common case # module.function(args..) > w_value = w_obj.getdictvalue(space, name) objspace/std/callmethod.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def getdictvalue(self, space, name): w_value = space.finditem_str(self.w_dict, name) if self.lazy and w_value is None: > return self._load_lazily(space, name) interpreter/mixedmodule.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def _load_lazily(self, space, name): w_name = space.new_interned_str(name) try: loader = self.loaders[name] except KeyError: return None else: > w_value = loader(space) interpreter/mixedmodule.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace def ifileloader(space): d = {'space':space} # EVIL HACK (but it works, and this is not RPython :-) while 1: try: value = eval(spec, d) except NameError as ex: name = ex.args[0].split("'")[1] # super-Evil if name in d: raise # propagate the NameError try: > d[name] = __import__(pkgroot+'.'+name, None, None, [name]) interpreter/mixedmodule.py:182: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from pypy.interpreter.gateway import unwrap_spec from pypy.interpreter.error import oefmt from rpython.rlib import rgc > from pypy.module.gc.hook import W_GcCollectStepStats module/gc/interp_gc.py:4: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from rpython.memory.gc.hook import GcHooks > from rpython.memory.gc import incminimark module/gc/hook.py:2: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ # XXX Should find a way to bound the major collection threshold by the # XXX total addressable size. Maybe by keeping some minimarkpage arenas # XXX pre-reserved, enough for a few nursery collections? What about # XXX raw-malloced memory? # XXX try merging old_objects_pointing_to_pinned into # XXX old_objects_pointing_to_young (IRC 2014-10-22, fijal and gregor_w) import sys import os import time from rpython.rtyper.lltypesystem import lltype, llmemory, llarena, llgroup from rpython.rtyper.lltypesystem.lloperation import llop from rpython.rtyper.lltypesystem.llmemory import raw_malloc_usage from rpython.memory.gc.base import GCBase, MovingGCBase > from rpython.memory.gc import env E File "/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py", line 423 E SyntaxError: Non-ASCII character '\xe2' in file /build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py on line 423, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details ../rpython/memory/gc/incminimark.py:70: SyntaxError . pypy/module/__builtin__/test/test_classobj.py::AppTestOldstyle::()::test_next . pypy/module/__builtin__/test/test_classobj.py::AppTestOldstyle::()::test_cmp_returning_notimplemented . pypy/module/__builtin__/test/test_classobj.py::AppTestOldstyle::()::test_assignment_to_del . pypy/module/__builtin__/test/test_classobj.py::AppTestOldstyle::()::test_context_manager . pypy/module/__builtin__/test/test_classobj.py::AppTestOldstyle::()::test_reverse . pypy/module/__builtin__/test/test_classobj.py::AppTestOldstyle::()::test_special_method_via_getattr . pypy/module/__builtin__/test/test_classobj.py::AppTestOldstyle::()::test_cant_subclass_instance . pypy/module/__builtin__/test/test_classobj.py::AppTestOldstyle::()::test_dict_descriptor . pypy/module/__builtin__/test/test_classobj.py::AppTestOldstyle::()::test_partial_ordering . pypy/module/__builtin__/test/test_classobj.py::AppTestOldstyle::()::test_eq_order . pypy/module/__builtin__/test/test_classobj.py::AppTestOldstyle::()::test_override___int__ . pypy/module/__builtin__/test/test_classobj.py::AppTestOldStyleClassBytesDict::()::test_moduledict . pypy/module/__builtin__/test/test_classobj.py::AppTestOldStyleClassBytesDict::()::test_attr_slots . pypy/module/__builtin__/test/test_classobj.py::AppTestOldStyleClassBytesDict::()::test_attr_unicode . pypy/module/__builtin__/test/test_classobj.py::AppTestOldStyleMapDict::()::test_has_mapdict . pypy/module/__builtin__/test/test_descriptor.py::AppTestBuiltinApp::()::test_staticmethod . pypy/module/__builtin__/test/test_descriptor.py::AppTestBuiltinApp::()::test_staticmethod_subclass . pypy/module/__builtin__/test/test_descriptor.py::AppTestBuiltinApp::()::test_classmethod . pypy/module/__builtin__/test/test_descriptor.py::AppTestBuiltinApp::()::test_classmethod_subclass . pypy/module/__builtin__/test/test_descriptor.py::AppTestBuiltinApp::()::test_property_simple . pypy/module/__builtin__/test/test_descriptor.py::AppTestBuiltinApp::()::test_super . pypy/module/__builtin__/test/test_descriptor.py::AppTestBuiltinApp::()::test_super_metaclass . pypy/module/__builtin__/test/test_descriptor.py::AppTestBuiltinApp::()::test_super_classmethod . pypy/module/__builtin__/test/test_descriptor.py::AppTestBuiltinApp::()::test_super_fail . pypy/module/__builtin__/test/test_descriptor.py::AppTestBuiltinApp::()::test_super_various . pypy/module/__builtin__/test/test_descriptor.py::AppTestBuiltinApp::()::test_super_lookup . pypy/module/__builtin__/test/test_descriptor.py::AppTestBuiltinApp::()::test_super_lookup2 . pypy/module/__builtin__/test/test_descriptor.py::AppTestBuiltinApp::()::test_proxy_super . pypy/module/__builtin__/test/test_descriptor.py::AppTestBuiltinApp::()::test_super_errors . pypy/module/__builtin__/test/test_descriptor.py::AppTestBuiltinApp::()::test_classmethods_various . pypy/module/__builtin__/test/test_descriptor.py::AppTestBuiltinApp::()::test_super_thisclass . pypy/module/__builtin__/test/test_descriptor.py::AppTestBuiltinApp::()::test_super_self_selfclass . pypy/module/__builtin__/test/test_descriptor.py::AppTestBuiltinApp::()::test_super_repr . pypy/module/__builtin__/test/test_descriptor.py::AppTestBuiltinApp::()::test_super_get_corner_case . pypy/module/__builtin__/test/test_descriptor.py::AppTestBuiltinApp::()::test_property_docstring . pypy/module/__builtin__/test/test_descriptor.py::AppTestBuiltinApp::()::test_property . pypy/module/__builtin__/test/test_descriptor.py::AppTestBuiltinApp::()::test_property_subclass . pypy/module/__builtin__/test/test_descriptor.py::AppTestBuiltinApp::()::test_property_subclass_with_init . pypy/module/__builtin__/test/test_descriptor.py::AppTestBuiltinApp::()::test_property_decorator . pypy/module/__builtin__/test/test_descriptor.py::AppTestBuiltinApp::()::test_uninitialized_property . pypy/module/__builtin__/test/test_descriptor.py::AppTestBuiltinApp::()::test_uninitialized_super . pypy/module/__builtin__/test/test_filter.py::AppTestFilter::()::test_filter_no_arguments . pypy/module/__builtin__/test/test_filter.py::AppTestFilter::()::test_filter_no_function_no_seq . pypy/module/__builtin__/test/test_filter.py::AppTestFilter::()::test_filter_function_no_seq . pypy/module/__builtin__/test/test_filter.py::AppTestFilter::()::test_filter_function_too_many_args . pypy/module/__builtin__/test/test_filter.py::AppTestFilter::()::test_filter_no_function_list . pypy/module/__builtin__/test/test_filter.py::AppTestFilter::()::test_filter_no_function_tuple . pypy/module/__builtin__/test/test_filter.py::AppTestFilter::()::test_filter_no_function_string . pypy/module/__builtin__/test/test_filter.py::AppTestFilter::()::test_filter_no_function_with_bools . pypy/module/__builtin__/test/test_filter.py::AppTestFilter::()::test_filter_list . pypy/module/__builtin__/test/test_filter.py::AppTestFilter::()::test_filter_tuple . pypy/module/__builtin__/test/test_filter.py::AppTestFilter::()::test_filter_string . pypy/module/__builtin__/test/test_functional.py::AppTestMap::()::test_trivial_map_one_seq . pypy/module/__builtin__/test/test_functional.py::AppTestMap::()::test_trivial_map_one_seq_2 . pypy/module/__builtin__/test/test_functional.py::AppTestMap::()::test_trivial_map_two_seq . pypy/module/__builtin__/test/test_functional.py::AppTestMap::()::test_trivial_map_sizes_dont_match_and_should . pypy/module/__builtin__/test/test_functional.py::AppTestMap::()::test_trivial_map_no_arguments . pypy/module/__builtin__/test/test_functional.py::AppTestMap::()::test_trivial_map_no_function_no_seq . pypy/module/__builtin__/test/test_functional.py::AppTestMap::()::test_trivial_map_no_fuction_one_seq . pypy/module/__builtin__/test/test_functional.py::AppTestMap::()::test_trivial_map_no_function . pypy/module/__builtin__/test/test_functional.py::AppTestMap::()::test_map_identity1 . pypy/module/__builtin__/test/test_functional.py::AppTestMap::()::test_map_None . pypy/module/__builtin__/test/test_functional.py::AppTestMap::()::test_map_badoperation . pypy/module/__builtin__/test/test_functional.py::AppTestMap::()::test_map_multiply_identity . pypy/module/__builtin__/test/test_functional.py::AppTestMap::()::test_map_add . pypy/module/__builtin__/test/test_functional.py::AppTestMap::()::test_map_first_item . pypy/module/__builtin__/test/test_functional.py::AppTestMap::()::test_map_second_item . pypy/module/__builtin__/test/test_functional.py::AppTestMap::()::test_map_iterables . pypy/module/__builtin__/test/test_functional.py::AppTestZip::()::test_one_list . pypy/module/__builtin__/test/test_functional.py::AppTestZip::()::test_three_lists . pypy/module/__builtin__/test/test_functional.py::AppTestZip::()::test_bad_length_hint . pypy/module/__builtin__/test/test_functional.py::AppTestReduce::()::test_None . pypy/module/__builtin__/test/test_functional.py::AppTestReduce::()::test_sum . pypy/module/__builtin__/test/test_functional.py::AppTestReduce::()::test_minus . pypy/module/__builtin__/test/test_functional.py::AppTestFilter::()::test_None . pypy/module/__builtin__/test/test_functional.py::AppTestFilter::()::test_return_type . pypy/module/__builtin__/test/test_functional.py::AppTestFilter::()::test_function . pypy/module/__builtin__/test/test_functional.py::AppTestFilter::()::test_filter_tuple_calls_getitem . pypy/module/__builtin__/test/test_functional.py::AppTestXRange::()::test_xrange . pypy/module/__builtin__/test/test_functional.py::AppTestXRange::()::test_xrange_iter . pypy/module/__builtin__/test/test_functional.py::AppTestXRange::()::test_xrange_object_with___int__ . pypy/module/__builtin__/test/test_functional.py::AppTestXRange::()::test_xrange_float . pypy/module/__builtin__/test/test_functional.py::AppTestXRange::()::test_xrange_long . pypy/module/__builtin__/test/test_functional.py::AppTestXRange::()::test_xrange_reduce . pypy/module/__builtin__/test/test_functional.py::AppTestXRange::()::test_xrange_iter_reduce . pypy/module/__builtin__/test/test_functional.py::AppTestXRange::()::test_xrange_iter_reduce_one . pypy/module/__builtin__/test/test_functional.py::AppTestXRange::()::test_lib_python_xrange_optimization . pypy/module/__builtin__/test/test_functional.py::AppTestXRange::()::test_cpython_issue16029 . pypy/module/__builtin__/test/test_functional.py::AppTestXRange::()::test_cpython_issue16030 . pypy/module/__builtin__/test/test_functional.py::AppTestReversed::()::test_reversed . pypy/module/__builtin__/test/test_functional.py::AppTestReversed::()::test_reversed_user_type . pypy/module/__builtin__/test/test_functional.py::AppTestReversed::()::test_reversed_not_for_mapping . pypy/module/__builtin__/test/test_functional.py::AppTestReversed::()::test_reversed_type_with_no_len . pypy/module/__builtin__/test/test_functional.py::AppTestReversed::()::test_reversed_length_hint . pypy/module/__builtin__/test/test_functional.py::AppTestApply::()::test_apply . pypy/module/__builtin__/test/test_functional.py::AppTestAllAny::()::test_all . pypy/module/__builtin__/test/test_functional.py::AppTestAllAny::()::test_any . pypy/module/__builtin__/test/test_functional.py::AppTestMinMax::()::test_min . pypy/module/__builtin__/test/test_functional.py::AppTestMinMax::()::test_max . pypy/module/__builtin__/test/test_functional.py::AppTestMinMax::()::test_max_list_and_key . pypy/module/__builtin__/test/test_functional.py::test_map_hypothesis . pypy/module/__builtin__/test/test_minmax.py::AppTestMin::()::test_min_notseq . pypy/module/__builtin__/test/test_minmax.py::AppTestMin::()::test_min_usual . pypy/module/__builtin__/test/test_minmax.py::AppTestMin::()::test_min_floats . pypy/module/__builtin__/test/test_minmax.py::AppTestMin::()::test_min_chars . pypy/module/__builtin__/test/test_minmax.py::AppTestMin::()::test_min_strings . pypy/module/__builtin__/test/test_minmax.py::AppTestMin::()::test_min_mixed . pypy/module/__builtin__/test/test_minmax.py::AppTestMin::()::test_min_noargs . pypy/module/__builtin__/test/test_minmax.py::AppTestMin::()::test_min_empty . pypy/module/__builtin__/test/test_minmax.py::AppTestMax::()::test_max_notseq . pypy/module/__builtin__/test/test_minmax.py::AppTestMax::()::test_max_usual . pypy/module/__builtin__/test/test_minmax.py::AppTestMax::()::test_max_floats . pypy/module/__builtin__/test/test_minmax.py::AppTestMax::()::test_max_chars . pypy/module/__builtin__/test/test_minmax.py::AppTestMax::()::test_max_strings . pypy/module/__builtin__/test/test_minmax.py::AppTestMax::()::test_max_mixed . pypy/module/__builtin__/test/test_minmax.py::AppTestMax::()::test_max_noargs . pypy/module/__builtin__/test/test_minmax.py::AppTestMax::()::test_max_empty . pypy/module/__builtin__/test/test_minmax.py::AppTestMaxTuple::()::test_max_usual . pypy/module/__builtin__/test/test_minmax.py::AppTestMaxTuple::()::test_max_floats . pypy/module/__builtin__/test/test_minmax.py::AppTestMaxTuple::()::test_max_chars . pypy/module/__builtin__/test/test_minmax.py::AppTestMaxTuple::()::test_max_strings . pypy/module/__builtin__/test/test_minmax.py::AppTestMaxTuple::()::test_max_mixed . pypy/module/__builtin__/test/test_minmax.py::AppTestMinList::()::test_min_usual . pypy/module/__builtin__/test/test_minmax.py::AppTestMinList::()::test_min_floats . pypy/module/__builtin__/test/test_minmax.py::AppTestMinList::()::test_min_chars . pypy/module/__builtin__/test/test_minmax.py::AppTestMinList::()::test_min_strings . pypy/module/__builtin__/test/test_minmax.py::AppTestMinList::()::test_min_mixed . pypy/module/__builtin__/test/test_range.py::AppTestRange::()::test_range_toofew . pypy/module/__builtin__/test/test_range.py::AppTestRange::()::test_range_toomany . pypy/module/__builtin__/test/test_range.py::AppTestRange::()::test_range_one . pypy/module/__builtin__/test/test_range.py::AppTestRange::()::test_range_posstartisstop . pypy/module/__builtin__/test/test_range.py::AppTestRange::()::test_range_negstartisstop . pypy/module/__builtin__/test/test_range.py::AppTestRange::()::test_range_zero . pypy/module/__builtin__/test/test_range.py::AppTestRange::()::test_range_twoargs . pypy/module/__builtin__/test/test_range.py::AppTestRange::()::test_range_decreasingtwoargs . pypy/module/__builtin__/test/test_range.py::AppTestRange::()::test_range_negatives . pypy/module/__builtin__/test/test_range.py::AppTestRange::()::test_range_decreasing_negativestep . pypy/module/__builtin__/test/test_range.py::AppTestRange::()::test_range_posfencepost1 . pypy/module/__builtin__/test/test_range.py::AppTestRange::()::test_range_posfencepost2 . pypy/module/__builtin__/test/test_range.py::AppTestRange::()::test_range_posfencepost3 . pypy/module/__builtin__/test/test_range.py::AppTestRange::()::test_range_negfencepost1 . pypy/module/__builtin__/test/test_range.py::AppTestRange::()::test_range_negfencepost2 . pypy/module/__builtin__/test/test_range.py::AppTestRange::()::test_range_negfencepost3 . pypy/module/__builtin__/test/test_range.py::AppTestRange::()::test_range_decreasing_negativelargestep . pypy/module/__builtin__/test/test_range.py::AppTestRange::()::test_range_increasing_positivelargestep . pypy/module/__builtin__/test/test_range.py::AppTestRange::()::test_range_zerostep . pypy/module/__builtin__/test/test_range.py::AppTestRange::()::test_range_float . pypy/module/__builtin__/test/test_range.py::AppTestRange::()::test_range_wrong_type . pypy/module/__builtin__/test/test_range.py::AppTestRange::()::test_range_object_with___int__ . pypy/module/__builtin__/test/test_range.py::AppTestRange::()::test_range_long . pypy/module/__builtin__/test/test_range.py::AppTestRange::()::test_range_cases . pypy/module/__builtin__/test/test_rawinput.py::AppTestRawInput::()::test_input_and_raw_input . pypy/module/__builtin__/test/test_rawinput.py::AppTestRawInput::()::test_softspace . pypy/module/__builtin__/test/test_rawinput.py::AppTestRawInput::()::test_softspace_carryover . pypy/module/__builtin__/test/test_reduce.py::AppTestReduce::()::test_None . pypy/module/__builtin__/test/test_reduce.py::AppTestReduce::()::test_sum . pypy/module/__builtin__/test/test_reduce.py::AppTestReduce::()::test_minus . pypy/module/__builtin__/test/test_reduce.py::AppTestReduce::()::test_from_cpython . pypy/module/__builtin__/test/test_vars.py::AppTestVars::()::test_vars_no_arguments . pypy/module/__builtin__/test/test_vars.py::AppTestVars::()::test_vars_too_many_arguments . pypy/module/__builtin__/test/test_vars.py::AppTestVars::()::test_vars_correct_arguments . pypy/module/__builtin__/test/test_zip.py::AppTestZip::()::test_zip_no_arguments . pypy/module/__builtin__/test/test_zip.py::AppTestZip::()::test_one_list . pypy/module/__builtin__/test/test_zip.py::AppTestZip::()::test_two_lists . pypy/module/__builtin__/test/test_zip.py::AppTestZip::()::test_three_lists_same_size . pypy/module/__builtin__/test/test_zip.py::AppTestZip::()::test_three_lists_different_sizes . pypy/module/__builtin__/test/test_zip.py::AppTestZip::()::test_tuples . pypy/module/__builtin__/test/test_zip.py::AppTestZip::()::test_string . pypy/module/__builtin__/test/test_zip.py::AppTestZip::()::test_strings . pypy/module/__builtin__/test/test_zip.py::AppTestZip::()::test_mixed_types (somefailed=True in module/__builtin__/test) . pypy/interpreter/astcompiler/test/apptest_misc.py::test_warning_to_error_translation . pypy/interpreter/astcompiler/test/test_ast.py::TestAstToObject::()::test_types . pypy/interpreter/astcompiler/test/test_ast.py::TestAstToObject::()::test_num . pypy/interpreter/astcompiler/test/test_ast.py::TestAstToObject::()::test_expr . pypy/interpreter/astcompiler/test/test_ast.py::TestAstToObject::()::test_operation . pypy/interpreter/astcompiler/test/test_ast.py::TestAstToObject::()::test_from_object . pypy/interpreter/astcompiler/test/test_ast.py::TestAstToObject::()::test_fields . pypy/interpreter/astcompiler/test/test_ast.py::TestAstToObject::()::test_attributes . pypy/interpreter/astcompiler/test/test_astbuilder.py::TestAstBuilder::()::test_top_level . pypy/interpreter/astcompiler/test/test_astbuilder.py::TestAstBuilder::()::test_print . pypy/interpreter/astcompiler/test/test_astbuilder.py::TestAstBuilder::()::test_del . pypy/interpreter/astcompiler/test/test_astbuilder.py::TestAstBuilder::()::test_break . pypy/interpreter/astcompiler/test/test_astbuilder.py::TestAstBuilder::()::test_continue . pypy/interpreter/astcompiler/test/test_astbuilder.py::TestAstBuilder::()::test_return . pypy/interpreter/astcompiler/test/test_astbuilder.py::TestAstBuilder::()::test_raise . pypy/interpreter/astcompiler/test/test_astbuilder.py::TestAstBuilder::()::test_import . pypy/interpreter/astcompiler/test/test_astbuilder.py::TestAstBuilder::()::test_from_import . pypy/interpreter/astcompiler/test/test_astbuilder.py::TestAstBuilder::()::test_global . pypy/interpreter/astcompiler/test/test_astbuilder.py::TestAstBuilder::()::test_exec . pypy/interpreter/astcompiler/test/test_astbuilder.py::TestAstBuilder::()::test_assert . pypy/interpreter/astcompiler/test/test_astbuilder.py::TestAstBuilder::()::test_suite . pypy/interpreter/astcompiler/test/test_astbuilder.py::TestAstBuilder::()::test_if . pypy/interpreter/astcompiler/test/test_astbuilder.py::TestAstBuilder::()::test_elif_pos_bug . pypy/interpreter/astcompiler/test/test_astbuilder.py::TestAstBuilder::()::test_while . pypy/interpreter/astcompiler/test/test_astbuilder.py::TestAstBuilder::()::test_for . pypy/interpreter/astcompiler/test/test_astbuilder.py::TestAstBuilder::()::test_try . pypy/interpreter/astcompiler/test/test_astbuilder.py::TestAstBuilder::()::test_with . pypy/interpreter/astcompiler/test/test_astbuilder.py::TestAstBuilder::()::test_class . pypy/interpreter/astcompiler/test/test_astbuilder.py::TestAstBuilder::()::test_function . pypy/interpreter/astcompiler/test/test_astbuilder.py::TestAstBuilder::()::test_decorators . pypy/interpreter/astcompiler/test/test_astbuilder.py::TestAstBuilder::()::test_augassign . pypy/interpreter/astcompiler/test/test_astbuilder.py::TestAstBuilder::()::test_assign . pypy/interpreter/astcompiler/test/test_astbuilder.py::TestAstBuilder::()::test_name . pypy/interpreter/astcompiler/test/test_astbuilder.py::TestAstBuilder::()::test_tuple . pypy/interpreter/astcompiler/test/test_astbuilder.py::TestAstBuilder::()::test_list . pypy/interpreter/astcompiler/test/test_astbuilder.py::TestAstBuilder::()::test_dict . pypy/interpreter/astcompiler/test/test_astbuilder.py::TestAstBuilder::()::test_set . pypy/interpreter/astcompiler/test/test_astbuilder.py::TestAstBuilder::()::test_set_context . pypy/interpreter/astcompiler/test/test_astbuilder.py::TestAstBuilder::()::test_assignment_to_forbidden_names . pypy/interpreter/astcompiler/test/test_astbuilder.py::TestAstBuilder::()::test_lambda . pypy/interpreter/astcompiler/test/test_astbuilder.py::TestAstBuilder::()::test_ifexp . pypy/interpreter/astcompiler/test/test_astbuilder.py::TestAstBuilder::()::test_boolop . pypy/interpreter/astcompiler/test/test_astbuilder.py::TestAstBuilder::()::test_not . pypy/interpreter/astcompiler/test/test_astbuilder.py::TestAstBuilder::()::test_comparison . pypy/interpreter/astcompiler/test/test_astbuilder.py::TestAstBuilder::()::test_binop . pypy/interpreter/astcompiler/test/test_astbuilder.py::TestAstBuilder::()::test_yield . pypy/interpreter/astcompiler/test/test_astbuilder.py::TestAstBuilder::()::test_unaryop . pypy/interpreter/astcompiler/test/test_astbuilder.py::TestAstBuilder::()::test_power . pypy/interpreter/astcompiler/test/test_astbuilder.py::TestAstBuilder::()::test_call . pypy/interpreter/astcompiler/test/test_astbuilder.py::TestAstBuilder::()::test_attribute . pypy/interpreter/astcompiler/test/test_astbuilder.py::TestAstBuilder::()::test_subscript_and_slices . pypy/interpreter/astcompiler/test/test_astbuilder.py::TestAstBuilder::()::test_repr . pypy/interpreter/astcompiler/test/test_astbuilder.py::TestAstBuilder::()::test_string . pypy/interpreter/astcompiler/test/test_astbuilder.py::TestAstBuilder::()::test_string_bug . pypy/interpreter/astcompiler/test/test_astbuilder.py::TestAstBuilder::()::test_number . pypy/interpreter/astcompiler/test/test_astbuilder.py::TestAstBuilder::()::test_genexp . pypy/interpreter/astcompiler/test/test_astbuilder.py::TestAstBuilder::()::test_listcomp . pypy/interpreter/astcompiler/test/test_astbuilder.py::TestAstBuilder::()::test_setcomp . pypy/interpreter/astcompiler/test/test_astbuilder.py::TestAstBuilder::()::test_dictcomp . pypy/interpreter/astcompiler/test/test_astbuilder.py::TestAstBuilder::()::test_decode_error_in_string_literal . pypy/interpreter/astcompiler/test/test_astbuilder.py::TestAstBuilder::()::test_decode_error_in_string_literal_correct_line . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_issue_713::[0] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_long_jump::[0] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_long_jump::[1] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_argtuple::[0] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_argtuple::[1] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_argtuple::[2] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_constants::[0] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_constants::[1] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_constants::[2] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_constants::[3] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_constants::[4] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_constants::[5] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_constants::[6] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_constants::[7] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_constants::[8] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_constants::[9] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_constants::[10] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_constants::[11] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_constants::[12] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_neg_sys_maxint . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_tuple_assign::[0] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_tuple_assign::[1] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_tuple_assign::[2] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_tuple_assign::[3] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_tuple_assign::[4] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_tuple_assign::[5] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_tuple_assign::[6] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_tuple_assign::[7] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_tuple_assign::[8] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_tuple_assign::[9] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_tuple_assign::[10] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_tuple_assign::[11] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_tuple_assign_order::[0] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_tuple_assign_order::[1] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_tuple_assign_order::[2] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_tuple_assign_order::[3] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_tuple_assign_order::[4] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_tuple_assign_order::[5] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_tuple_assign_order::[6] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_tuple_assign_order::[7] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_binary_operator::[0] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_binary_operator::[1] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_binary_operator::[2] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_binary_operator::[3] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_binary_operator::[4] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_binary_operator::[5] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_binary_operator::[6] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_binary_operator::[7] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_binary_operator::[8] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_binary_operator::[9] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_binary_operator::[10] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_binary_operator::[11] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_binary_operator::[12] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_binary_operator::[13] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_binary_operator::[14] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_binary_operator::[15] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_binary_operator::[16] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_binary_operator::[17] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_binary_operator::[18] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_binary_operator::[19] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_binary_operator::[20] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_binary_operator::[21] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_binary_operator::[22] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_binary_operator::[23] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_binary_operator::[24] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_binary_operator::[25] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_binary_operator::[26] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_binary_operator::[27] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_binary_operator::[28] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_binary_operator::[29] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_binary_operator::[30] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_binary_operator::[31] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_binary_operator::[32] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_binary_operator::[33] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_binary_operator::[34] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_binary_operator::[35] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_binary_operator::[36] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_binary_operator::[37] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_compare::[0] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_augmented_assignment::[0] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_augmented_assignment::[1] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_augmented_assignment::[2] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_augmented_assignment::[3] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_augmented_assignment::[4] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_augmented_assignment::[5] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_augmented_assignment::[6] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_augmented_assignment::[7] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_augmented_assignment::[8] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_augmented_assignment::[9] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_augmented_assignment::[10] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_subscript::[0] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_subscript::[1] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_subscript::[2] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_subscript::[3] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_attribute::[0] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[0] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[1] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[2] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[3] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[4] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[5] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[6] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[7] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[8] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[9] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[10] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[11] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[12] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[13] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[14] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[15] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[16] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[17] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[18] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[19] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[20] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[21] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[22] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[23] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[24] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[25] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[26] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[27] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[28] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[29] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[30] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[31] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[32] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[33] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[34] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[35] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[36] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[37] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[38] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[39] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[40] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[41] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[42] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[43] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[44] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[45] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[46] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[47] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[48] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[49] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[50] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[51] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[52] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[53] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[54] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[55] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[56] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[57] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[58] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[59] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[60] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[61] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[62] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[63] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[64] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[65] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[66] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[67] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[68] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[69] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[70] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[71] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[72] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[73] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[74] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[75] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[76] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[77] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[78] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[79] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[80] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[81] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[82] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[83] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[84] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[85] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[86] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[87] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[88] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[89] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[90] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[91] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[92] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[93] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[94] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[95] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[96] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[97] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[98] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[99] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[100] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[101] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[102] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[103] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[104] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[105] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[106] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_slice::[107] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_funccalls::[0] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_funccalls::[1] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_funccalls::[2] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_funccalls::[3] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_funccalls::[4] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_funccalls::[5] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_listmakers::[0] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_genexprs::[0] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_comparisons::[0] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_comparisons::[1] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_comparisons::[2] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_comparisons::[3] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_comparisons::[4] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_comparisons::[5] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_comparisons::[6] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_comparisons::[7] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_comparisons::[8] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_comparisons::[9] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_comparisons::[10] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_comparisons::[11] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_comparisons::[12] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_comparisons::[13] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_comparisons::[14] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_comparisons::[15] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_comparisons::[16] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_comparisons::[17] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_comparisons::[18] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_comparisons::[19] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_comparisons::[20] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_comparisons::[21] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_comparisons::[22] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_comparisons::[23] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_comparisons::[24] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_comparisons::[25] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_comparisons::[26] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_comparisons::[27] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_multiexpr::[0] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_imports::[0] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_imports::[1] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_imports::[2] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_imports::[3] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_imports::[4] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_imports::[5] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_imports::[6] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_imports::[7] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_imports::[8] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_imports::[9] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_imports::[10] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_imports::[11] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_imports::[12] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_if_stmts::[0] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_if_stmts::[1] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_if_stmts::[2] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_if_stmts::[3] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_if_stmts::[4] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_if_stmts::[5] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_docstrings::[0] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_docstrings::[1] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_docstrings::[2] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_docstrings::[3] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_docstrings::[4] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_docstrings::[5] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_docstrings::[6] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_docstrings::[7] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_docstrings::[8] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_docstrings::[9] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_in::[0] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_in::[1] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_in::[2] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_in::[3] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_in::[4] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_in::[5] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_in::[6] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_in::[7] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_for_loops::[0] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_for_loops::[1] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_for_loops::[2] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_for_loops::[3] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_for_loops::[4] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_for_loops::[5] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_for_loops::[6] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_for_loops::[7] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_for_loops::[8] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_for_loops::[9] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_for_loops::[10] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_closure::[0] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_closure::[1] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_closure::[2] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_closure_error . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_try_except_finally::[0] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_while_loop::[0] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_while_loop::[1] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_return_lineno::[0] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_type_of_constants::[0] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_type_of_constants::[1] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_type_of_constants::[2] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_pprint::[0] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_mapping_test::[0] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_stack_depth_bug::[0] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_indentation_error . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_no_indent . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_indent_error_filename . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_kwargs_last . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_crap_after_starargs . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_not_a_name . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_assignment_to_call_func . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_augassig_to_sequence . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_broken_setups . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_bare_except_not_last . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_unpack_singletuple . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_unpack_wrong_stackeffect . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_stackeffect_bug3 . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_stackeffect_bug4 . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_stackeffect_bug5 . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_stackeffect_bug6 . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_stackeffect_bug7 . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_lambda::[0] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_backquote_repr::[0] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_deleting_attributes::[0] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_lots_of_loops . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_assign_to_empty_list_1 . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_assign_to_empty_list_2 . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_remove_docstring[0f1.__doc__-None] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_remove_docstring[1f2.__doc__-docstring] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_remove_docstring[2f2()-docstring] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_remove_docstring[3f3.__doc__-None] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_remove_docstring[4f3()-bar] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_remove_docstring[5C1.__doc__-None] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_remove_docstring[6C2.__doc__-docstring] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_remove_docstring[7C3.field-not docstring] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_remove_docstring[8C4.field-docstring] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_remove_docstring[9C4.__doc__-docstring] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_remove_docstring[10C4.__doc__-docstring] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_remove_docstring[11__doc__-None] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_assert_skipping . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_dont_fold_equal_code_objects::[0] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompiler::()::test_dont_fold_equal_code_objects::[1] . pypy/interpreter/astcompiler/test/test_compiler.py::TestCompilerRevDB::()::test_revdb_metavar . pypy/interpreter/astcompiler/test/test_compiler.py::AppTestCompiler::()::test_docstring_not_loaded . pypy/interpreter/astcompiler/test/test_compiler.py::AppTestCompiler::()::test_print_to . pypy/interpreter/astcompiler/test/test_compiler.py::AppTestCompiler::()::test_assert_with_tuple_arg . pypy/interpreter/astcompiler/test/test_compiler.py::AppTestCompiler::()::test_build_list_from_arg_length_hint . pypy/interpreter/astcompiler/test/test_compiler.py::AppTestCompiler::()::test_unicode_in_source . pypy/interpreter/astcompiler/test/test_compiler.py::TestOptimizations::()::test_elim_jump_to_return . pypy/interpreter/astcompiler/test/test_compiler.py::TestOptimizations::()::test_const_fold_subscr . pypy/interpreter/astcompiler/test/test_compiler.py::TestOptimizations::()::test_const_fold_unicode_subscr . pypy/interpreter/astcompiler/test/test_compiler.py::TestOptimizations::()::test_remove_dead_code . pypy/interpreter/astcompiler/test/test_compiler.py::TestOptimizations::()::test_remove_dead_code_after_raise . pypy/interpreter/astcompiler/test/test_compiler.py::TestOptimizations::()::test_remove_dead_jump_after_return . pypy/interpreter/astcompiler/test/test_compiler.py::TestOptimizations::()::test_remove_dead_yield . pypy/interpreter/astcompiler/test/test_compiler.py::TestOptimizations::()::test_list_comprehension . pypy/interpreter/astcompiler/test/test_compiler.py::TestOptimizations::()::test_folding_of_list_constants . pypy/interpreter/astcompiler/test/test_compiler.py::TestOptimizations::()::test_folding_of_set_constants . pypy/interpreter/astcompiler/test/test_compiler.py::TestOptimizations::()::test_dont_fold_huge_powers . pypy/interpreter/astcompiler/test/test_compiler.py::TestOptimizations::()::test_constant_tuples . pypy/interpreter/astcompiler/test/test_compiler.py::TestHugeStackDepths::()::test_tuple . pypy/interpreter/astcompiler/test/test_compiler.py::TestHugeStackDepths::()::test_list . pypy/interpreter/astcompiler/test/test_compiler.py::TestHugeStackDepths::()::test_list_unpacking . pypy/interpreter/astcompiler/test/test_compiler.py::TestHugeStackDepths::()::test_set . pypy/interpreter/astcompiler/test/test_misc.py::test_mangle . pypy/interpreter/astcompiler/test/test_symtable.py::TestSymbolTable::()::test_toplevel . pypy/interpreter/astcompiler/test/test_symtable.py::TestSymbolTable::()::test_duplicate_argument . pypy/interpreter/astcompiler/test/test_symtable.py::TestSymbolTable::()::test_function_defaults . pypy/interpreter/astcompiler/test/test_symtable.py::TestSymbolTable::()::test_genexp . pypy/interpreter/astcompiler/test/test_symtable.py::TestSymbolTable::()::test_setcomp . pypy/interpreter/astcompiler/test/test_symtable.py::TestSymbolTable::()::test_dictcomp . pypy/interpreter/astcompiler/test/test_symtable.py::TestSymbolTable::()::test_arguments . pypy/interpreter/astcompiler/test/test_symtable.py::TestSymbolTable::()::test_function . pypy/interpreter/astcompiler/test/test_symtable.py::TestSymbolTable::()::test_nested_scopes . pypy/interpreter/astcompiler/test/test_symtable.py::TestSymbolTable::()::test_class . pypy/interpreter/astcompiler/test/test_symtable.py::TestSymbolTable::()::test_lambda . pypy/interpreter/astcompiler/test/test_symtable.py::TestSymbolTable::()::test_import . pypy/interpreter/astcompiler/test/test_symtable.py::TestSymbolTable::()::test_from_import . pypy/interpreter/astcompiler/test/test_symtable.py::TestSymbolTable::()::test_global . pypy/interpreter/astcompiler/test/test_symtable.py::TestSymbolTable::()::test_optimization . pypy/interpreter/astcompiler/test/test_symtable.py::TestSymbolTable::()::test_unoptimization_with_nested_scopes . pypy/interpreter/astcompiler/test/test_symtable.py::TestSymbolTable::()::test_importstar_warning . pypy/interpreter/astcompiler/test/test_symtable.py::TestSymbolTable::()::test_exec . pypy/interpreter/astcompiler/test/test_symtable.py::TestSymbolTable::()::test_yield . pypy/interpreter/astcompiler/test/test_symtable.py::TestSymbolTable::()::test_yield_inside_try . pypy/interpreter/astcompiler/test/test_symtable.py::TestSymbolTable::()::test_yield_outside_try . pypy/interpreter/astcompiler/test/test_symtable.py::TestSymbolTable::()::test_return . pypy/interpreter/astcompiler/test/test_symtable.py::TestSymbolTable::()::test_tmpnames . pypy/module/_ast/test/test_ast.py::AppTestAST::()::test_module . pypy/module/_ast/test/test_ast.py::AppTestAST::()::test_flags . pypy/module/_ast/test/test_ast.py::AppTestAST::()::test_build_ast . pypy/module/_ast/test/test_ast.py::AppTestAST::()::test_simple_sums . pypy/module/_ast/test/test_ast.py::AppTestAST::()::test_string . pypy/module/_ast/test/test_ast.py::AppTestAST::()::test_empty_initialization . pypy/module/_ast/test/test_ast.py::AppTestAST::()::test_int . pypy/module/_ast/test/test_ast.py::AppTestAST::()::test_identifier . pypy/module/_ast/test/test_ast.py::AppTestAST::()::test_bool . pypy/module/_ast/test/test_ast.py::AppTestAST::()::test_object . pypy/module/_ast/test/test_ast.py::AppTestAST::()::test_optional . pypy/module/_ast/test/test_ast.py::AppTestAST::()::test_list_syncing . pypy/module/_ast/test/test_ast.py::AppTestAST::()::test_empty_module . pypy/module/_ast/test/test_ast.py::AppTestAST::()::test_ast_types . pypy/module/_ast/test/test_ast.py::AppTestAST::()::test_abstract_ast_types . pypy/module/_ast/test/test_ast.py::AppTestAST::()::test_constructor . pypy/module/_ast/test/test_ast.py::AppTestAST::()::test_future . pypy/module/_ast/test/test_ast.py::AppTestAST::()::test_field_attr_writable . pypy/module/_ast/test/test_ast.py::AppTestAST::()::test_pickle . pypy/module/_ast/test/test_ast.py::AppTestAST::()::test_classattrs . pypy/module/_ast/test/test_ast.py::AppTestAST::()::test_issue1680_nonseq . pypy/module/_ast/test/test_ast.py::AppTestAST::()::test_issue1680_seq . pypy/module/_ast/test/test_ast.py::AppTestAST::()::test_node_identity . pypy/module/_ast/test/test_ast.py::AppTestAST::()::test_functiondef . pypy/module/_ast/test/test_ast.py::AppTestAST::()::test_missing_name . pypy/module/_ast/test/test_ast.py::AppTestAST::()::test_issue793 . pypy/module/_ast/test/test_ast.py::AppTestAST::()::test_empty_set . pypy/module/_ast/test/test_ast.py::AppTestAST::()::test_invalid_sum . pypy/module/_ast/test/test_ast.py::AppTestAST::()::test_invalid_identitifer . pypy/module/_ast/test/test_ast.py::AppTestAST::()::test_invalid_string . pypy/module/_ast/test/test_ast.py::AppTestAST::()::test_hacked_lineno . pypy/module/_ast/test/test_ast.py::AppTestAST::()::test_dict_astNode . pypy/module/_ast/test/test_ast.py::AppTestAST::()::test_issue1673_Num_notfullinit . pypy/module/_ast/test/test_ast.py::AppTestAST::()::test_issue1673_Num_fullinit . pypy/module/_ast/test/test_ast.py::AppTestAST::()::test_issue1673_Str . pypy/module/_ast/test/test_ast.py::AppTestAST::()::test_bug_null_in_objspace_type . pypy/module/_codecs/test/test_codecs.py::AppTestCodecs::()::test_register_noncallable . pypy/module/_codecs/test/test_codecs.py::AppTestCodecs::()::test_bigU_codecs . pypy/module/_codecs/test/test_codecs.py::AppTestCodecs::()::test_ucs4 . pypy/module/_codecs/test/test_codecs.py::AppTestCodecs::()::test_named_unicode . pypy/module/_codecs/test/test_codecs.py::AppTestCodecs::()::test_literals . pypy/module/_codecs/test/test_codecs.py::AppTestCodecs::()::test_insecure_pickle . pypy/module/_codecs/test/test_codecs.py::AppTestCodecs::()::test_unicodedecodeerror . pypy/module/_codecs/test/test_codecs.py::AppTestCodecs::()::test_unicodetranslateerror . pypy/module/_codecs/test/test_codecs.py::AppTestCodecs::()::test_unicodeencodeerror . pypy/module/_codecs/test/test_codecs.py::AppTestCodecs::()::test_indexerror . pypy/module/_codecs/test/test_codecs.py::AppTestCodecs::()::test_charmap_decode . pypy/module/_codecs/test/test_codecs.py::AppTestCodecs::()::test_escape_decode . pypy/module/_codecs/test/test_codecs.py::AppTestCodecs::()::test_escape_decode_errors . pypy/module/_codecs/test/test_codecs.py::AppTestCodecs::()::test_unicode_escape . pypy/module/_codecs/test/test_codecs.py::AppTestCodecs::()::test_unicode_replace . pypy/module/_codecs/test/test_codecs.py::AppTestPartialEvaluation::()::test_partial_utf8 . pypy/module/_codecs/test/test_codecs.py::AppTestPartialEvaluation::()::test_partial_utf16 . pypy/module/_codecs/test/test_codecs.py::AppTestPartialEvaluation::()::test_bug1098990_a . pypy/module/_codecs/test/test_codecs.py::AppTestPartialEvaluation::()::test_bug1098990_b . pypy/module/_codecs/test/test_codecs.py::AppTestPartialEvaluation::()::test_seek_utf16le . pypy/module/_codecs/test/test_codecs.py::AppTestPartialEvaluation::()::test_unicode_internal_encode . pypy/module/_codecs/test/test_codecs.py::AppTestPartialEvaluation::()::test_unicode_internal_decode . pypy/module/_codecs/test/test_codecs.py::AppTestPartialEvaluation::()::test_raw_unicode_escape . pypy/module/_codecs/test/test_codecs.py::AppTestPartialEvaluation::()::test_escape_decode . pypy/module/_codecs/test/test_codecs.py::AppTestPartialEvaluation::()::test_escape_decode_wrap_around . pypy/module/_codecs/test/test_codecs.py::AppTestPartialEvaluation::()::test_escape_decode_ignore_invalid . pypy/module/_codecs/test/test_codecs.py::AppTestPartialEvaluation::()::test_escape_decode_errors . pypy/module/_codecs/test/test_codecs.py::AppTestPartialEvaluation::()::test_unicode_escape_decode_errors . pypy/module/_codecs/test/test_codecs.py::AppTestPartialEvaluation::()::test_escape_encode . pypy/module/_codecs/test/test_codecs.py::AppTestPartialEvaluation::()::test_decode_utf8_different_case . pypy/module/_codecs/test/test_codecs.py::AppTestPartialEvaluation::()::test_codec_wrong_result . pypy/module/_codecs/test/test_codecs.py::AppTestPartialEvaluation::()::test_one_arg_encoder . pypy/module/_codecs/test/test_codecs.py::AppTestPartialEvaluation::()::test_cpytest_decode . pypy/module/_codecs/test/test_codecs.py::AppTestPartialEvaluation::()::test_bad_errorhandler_return . pypy/module/_codecs/test/test_codecs.py::AppTestPartialEvaluation::()::test_cpy_bug1175396 . pypy/module/_codecs/test/test_codecs.py::AppTestPartialEvaluation::()::test_buffer_encode . pypy/module/_codecs/test/test_codecs.py::AppTestPartialEvaluation::()::test_utf8sig . pypy/module/_codecs/test/test_codecs.py::AppTestPartialEvaluation::()::test_decoder_state . pypy/module/_codecs/test/test_codecs.py::AppTestPartialEvaluation::()::test_escape_decode_escaped_newline . pypy/module/_codecs/test/test_codecs.py::AppTestPartialEvaluation::()::test_charmap_decode_1 . pypy/module/_codecs/test/test_codecs.py::AppTestPartialEvaluation::()::test_decode_errors . pypy/module/_codecs/test/test_codecs.py::AppTestPartialEvaluation::()::test_errors . pypy/module/_codecs/test/test_codecs.py::AppTestPartialEvaluation::()::test_decode_ignore . pypy/module/_codecs/test/test_codecs.py::AppTestPartialEvaluation::()::test_backslashreplace . pypy/module/_codecs/test/test_codecs.py::AppTestPartialEvaluation::()::test_badhandler . pypy/module/_codecs/test/test_codecs.py::AppTestPartialEvaluation::()::test_badhandler_longindex . pypy/module/_codecs/test/test_codecs.py::AppTestPartialEvaluation::()::test_unicode_internal . pypy/module/_codecs/test/test_codecs.py::AppTestPartialEvaluation::()::test_unicode_internal_error_handler_infinite_loop . pypy/module/_codecs/test/test_codecs.py::AppTestPartialEvaluation::()::test_encode_error_bad_handler . pypy/module/_codecs/test/test_codecs.py::AppTestPartialEvaluation::()::test_charmap_encode . pypy/module/_codecs/test/test_codecs.py::AppTestPartialEvaluation::()::test_charmap_encode_replace . pypy/module/_codecs/test/test_codecs.py::AppTestPartialEvaluation::()::test_charmap_decode_2 . pypy/module/_codecs/test/test_codecs.py::AppTestPartialEvaluation::()::test_charmap_build . pypy/module/_codecs/test/test_codecs.py::AppTestPartialEvaluation::()::test_utf7_start_end_in_exception . pypy/module/_codecs/test/test_codecs.py::AppTestPartialEvaluation::()::test_utf7_surrogate . pypy/module/_codecs/test/test_codecs.py::AppTestPartialEvaluation::()::test_utf7_errors . pypy/module/_codecs/test/test_codecs.py::AppTestPartialEvaluation::()::test_utf_16_encode_decode . pypy/module/_codecs/test/test_codecs.py::AppTestPartialEvaluation::()::test_unicode_escape . pypy/module/_codecs/test/test_codecs.py::AppTestPartialEvaluation::()::test_mbcs . pypy/module/_codecs/test/test_codecs.py::AppTestPartialEvaluation::()::test_bad_handler_string_result . pypy/module/_codecs/test/test_codecs.py::AppTestPartialEvaluation::()::test_decode_bytearray . pypy/module/_codecs/test/test_codecs.py::AppTestPartialEvaluation::()::test_xmlcharrefreplace . pypy/module/_codecs/test/test_codecs.py::AppTestPartialEvaluation::()::test_errorhandler_collection . pypy/module/_codecs/test/test_codecs.py::AppTestPartialEvaluation::()::test_last_byte_handler . pypy/module/_codecs/test/test_ztranslation.py::test__codecs_translates s pypy/module/_continuation/test/test_stacklet.py /build_dir/own-linux-x86-32/build/rpython/rlib/rvmprof/test/__init__.py:5: Skipped: s pypy/module/_continuation/test/test_translated.py /build_dir/own-linux-x86-32/build/pypy/module/_continuation/test/test_translated.py:6: Skipped: to run on top of a translated pypy-c . pypy/module/_continuation/test/test_generator.py::AppTestGenerator::()::test_simple . pypy/module/_continuation/test/test_generator.py::AppTestGenerator::()::test_iterator . pypy/module/_continuation/test/test_generator.py::AppTestGenerator::()::test_bound_method . pypy/module/_continuation/test/test_generator.py::AppTestGenerator::()::test_must_return_None . pypy/module/_continuation/test/test_greenlet.py::AppTestGreenlet::()::test_simple . pypy/module/_continuation/test/test_greenlet.py::AppTestGreenlet::()::test_parent . pypy/module/_continuation/test/test_greenlet.py::AppTestGreenlet::()::test_pass_around . pypy/module/_continuation/test/test_greenlet.py::AppTestGreenlet::()::test_exception_simple . pypy/module/_continuation/test/test_greenlet.py::AppTestGreenlet::()::test_dead . pypy/module/_continuation/test/test_greenlet.py::AppTestGreenlet::()::test_GreenletExit . pypy/module/_continuation/test/test_greenlet.py::AppTestGreenlet::()::test_throw_1 . pypy/module/_continuation/test/test_greenlet.py::AppTestGreenlet::()::test_throw_2 . pypy/module/_continuation/test/test_greenlet.py::AppTestGreenlet::()::test_throw_3 . pypy/module/_continuation/test/test_greenlet.py::AppTestGreenlet::()::test_throw_4 . pypy/module/_continuation/test/test_greenlet.py::AppTestGreenlet::()::test_throw_GreenletExit . pypy/module/_continuation/test/test_greenlet.py::AppTestGreenlet::()::test_throw_GreenletExit_result . pypy/module/_continuation/test/test_greenlet.py::AppTestGreenlet::()::test_nondefault_parent . pypy/module/_continuation/test/test_greenlet.py::AppTestGreenlet::()::test_change_parent . pypy/module/_continuation/test/test_greenlet.py::AppTestGreenlet::()::test_raises_through_parent_chain . pypy/module/_continuation/test/test_greenlet.py::AppTestGreenlet::()::test_switch_to_dead_1 . pypy/module/_continuation/test/test_greenlet.py::AppTestGreenlet::()::test_switch_to_dead_2 . pypy/module/_continuation/test/test_greenlet.py::AppTestGreenlet::()::test_switch_to_dead_3 . pypy/module/_continuation/test/test_greenlet.py::AppTestGreenlet::()::test_throw_in_not_started_yet . pypy/module/_continuation/test/test_greenlet.py::AppTestGreenlet::()::test_exc_info_save_restore . pypy/module/_continuation/test/test_greenlet.py::AppTestGreenlet::()::test_exc_info_save_restore2 . pypy/module/_continuation/test/test_greenlet.py::AppTestGreenlet::()::test_gr_frame . pypy/module/_continuation/test/test_greenlet.py::AppTestGreenlet::()::test_override_nonzero . pypy/module/_continuation/test/test_greenlet.py::AppTestGreenlet::()::test_kwargs_to_f . pypy/module/_continuation/test/test_greenlet.py::AppTestGreenlet::()::test_kwargs_to_switch . pypy/module/_continuation/test/test_greenlet.py::AppTestGreenlet::()::test_throw_GreenletExit_not_started . pypy/module/_continuation/test/test_greenlet.py::AppTestGreenlet::()::test_throw_GreenletExit_already_finished . pypy/module/_continuation/test/test_greenlet.py::AppTestGreenlet::()::test_throw_exception_already_finished . pypy/module/_continuation/test/test_zpickle.py::AppTestCopy::()::test_basic_setup . pypy/module/_continuation/test/test_zpickle.py::AppTestCopy::()::test_copy_continulet_not_started . pypy/module/_continuation/test/test_zpickle.py::AppTestCopy::()::test_copy_continulet_not_started_multiple . pypy/module/_continuation/test/test_zpickle.py::AppTestCopy::()::test_copy_continulet_real . pypy/module/_continuation/test/test_zpickle.py::AppTestCopy::()::test_copy_continulet_already_finished . pypy/module/_continuation/test/test_zpickle.py::AppTestPickle::()::test_pickle_continulet_empty . pypy/module/_continuation/test/test_zpickle.py::AppTestPickle::()::test_pickle_continulet_empty_subclass . pypy/module/_continuation/test/test_zpickle.py::AppTestPickle::()::test_pickle_continulet_not_started . pypy/module/_continuation/test/test_zpickle.py::AppTestPickle::()::test_pickle_continulet_real . pypy/module/_continuation/test/test_zpickle.py::AppTestPickle::()::test_pickle_continulet_real_subclass . pypy/module/_continuation/test/test_zpickle.py::AppTestPickle_v1::()::test_pickle_continulet_empty . pypy/module/_continuation/test/test_zpickle.py::AppTestPickle_v1::()::test_pickle_continulet_empty_subclass . pypy/module/_continuation/test/test_zpickle.py::AppTestPickle_v1::()::test_pickle_continulet_not_started . pypy/module/_continuation/test/test_zpickle.py::AppTestPickle_v1::()::test_pickle_continulet_real . pypy/module/_continuation/test/test_zpickle.py::AppTestPickle_v1::()::test_pickle_continulet_real_subclass . pypy/module/_continuation/test/test_zpickle.py::AppTestPickle_v2::()::test_pickle_continulet_empty . pypy/module/_continuation/test/test_zpickle.py::AppTestPickle_v2::()::test_pickle_continulet_empty_subclass . pypy/module/_continuation/test/test_zpickle.py::AppTestPickle_v2::()::test_pickle_continulet_not_started . pypy/module/_continuation/test/test_zpickle.py::AppTestPickle_v2::()::test_pickle_continulet_real . pypy/module/_continuation/test/test_zpickle.py::AppTestPickle_v2::()::test_pickle_continulet_real_subclass . pypy/module/_csv/test/test_dialect.py::AppTestDialect::()::test_register_dialect . pypy/module/_csv/test/test_dialect.py::AppTestDialect::()::test_register_dialect_base_1 . pypy/module/_csv/test/test_dialect.py::AppTestDialect::()::test_register_dialect_base_2 . pypy/module/_csv/test/test_dialect.py::AppTestDialect::()::test_typeerror . pypy/module/_csv/test/test_dialect.py::AppTestDialect::()::test_bool_arg . pypy/module/_csv/test/test_dialect.py::AppTestDialect::()::test_delimiter . pypy/module/_csv/test/test_dialect.py::AppTestDialect::()::test_line_terminator . pypy/module/_csv/test/test_dialect.py::AppTestDialect::()::test_unregister_dialect . pypy/module/_csv/test/test_dialect.py::AppTestDialect::()::test_list_dialects . pypy/module/_csv/test/test_reader.py::AppTestReader::()::test_simple_reader . pypy/module/_csv/test/test_reader.py::AppTestReader::()::test_read_oddinputs . pypy/module/_csv/test/test_reader.py::AppTestReader::()::test_read_eol . pypy/module/_csv/test/test_reader.py::AppTestReader::()::test_read_escape . pypy/module/_csv/test/test_reader.py::AppTestReader::()::test_read_quoting . pypy/module/_csv/test/test_reader.py::AppTestReader::()::test_read_bigfield . pypy/module/_csv/test/test_reader.py::AppTestReader::()::test_read_linenum . pypy/module/_csv/test/test_reader.py::AppTestReader::()::test_dubious_quote . pypy/module/_csv/test/test_reader.py::AppTestReader::()::test_read_eof . pypy/module/_csv/test/test_writer.py::AppTestWriter::()::test_write_arg_valid . pypy/module/_csv/test/test_writer.py::AppTestWriter::()::test_write_quoting . pypy/module/_csv/test/test_writer.py::AppTestWriter::()::test_write_escape . pypy/module/_csv/test/test_writer.py::AppTestWriter::()::test_writerows . pypy/module/_csv/test/test_ztranslation.py::test_checkmodule . pypy/module/_demo/test/test_import.py::TestImport::()::test_startup . pypy/module/_demo/test/test_import.py::TestMixedModuleUnfreeze::()::test_random_stuff_can_unfreeze . pypy/module/_demo/test/test_sieve.py::AppTestSieve::()::test_sieve . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_load_library . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_all_rtld_symbols . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_new_primitive_type . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_inspect_primitive_type . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_cast_to_signed_char . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_sizeof_type . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_integer_types . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_no_float_on_int_types . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_float_types . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_complex_types . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_character_type . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_pointer_type . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_inspect_pointer_type . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_pointer_to_int . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_pointer_bool . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_pointer_to_pointer . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_reading_pointer_to_int . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_reading_pointer_to_float . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_cast_float_to_int . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_newp_integer_types . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_reading_pointer_to_char . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_reading_pointer_to_pointer . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_load_standard_library . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_no_len_on_nonarray . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_cmp_none . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_invalid_indexing . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_default_str . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_default_unicode . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_cast_from_cdataint . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_void_type . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_array_type . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_inspect_array_type . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_array_instance . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_array_of_unknown_length_instance . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_array_of_unknown_length_instance_with_initializer . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_array_initializer . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_array_add . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_array_sub . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_ptr_sub_unaligned . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_cast_primitive_from_cdata . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_new_primitive_from_cdata . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_cast_between_pointers . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_alignof . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_new_struct_type . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_new_union_type . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_complete_struct . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_complete_union . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_struct_instance . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_union_instance . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_struct_pointer . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_struct_init_list . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_array_in_struct . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_offsetof . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_function_type . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_inspect_function_type . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_function_type_taking_struct . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_function_void_result . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_function_void_arg . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_call_function_0 . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_call_function_0_pretend_bool_result . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_call_function_1 . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_call_function_2 . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_call_function_3 . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_call_function_4 . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_call_function_5 . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_call_function_6 . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_call_function_7 . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_call_function_20 . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_call_function_21 . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_call_function_22 . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_call_function_23 . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_call_function_23_bis . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_call_function_23_bool_array . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_cannot_pass_struct_with_array_of_length_0 . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_call_function_9 . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_call_function_24 . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_call_function_25 . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_cannot_call_with_a_autocompleted_struct . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_new_charp . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_load_and_call_function . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_read_variable . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_read_variable_as_unknown_length_array . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_write_variable . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_callback s pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_callback_exception Skipped: PyPy does not report a traceback . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_callback_return_type . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_a_lot_of_callbacks . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_callback_receiving_tiny_struct . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_callback_returning_tiny_struct . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_callback_receiving_struct . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_callback_returning_struct . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_callback_receiving_big_struct . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_callback_returning_big_struct . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_callback_returning_void . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_enum_type . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_cast_to_enum . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_enum_with_non_injective_mapping . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_enum_in_struct . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_enum_overflow . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_callback_returning_enum . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_callback_returning_enum_unsigned . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_callback_returning_char . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_callback_returning_wchar_t . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_struct_with_bitfields . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_bitfield_instance . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_bitfield_instance_init F pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_weakref self = func = at 0xf4641e64>, 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, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 0xf7a2a32c> hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf69c668c>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf69c668c>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf462404c> 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 0xf462404c> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf4624dec> 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 0xf4624dec> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def runtest(self): target = self.obj if self.config.option.runappdirect: return target() space = target.im_self.space filename = self._getdynfilename(target) func = app2interp_temp(target.im_func, filename=filename) w_instance = self.parent.w_instance > self.execute_appex(space, func, space, w_instance) tool/pytest/apptest.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , space = StdObjSpace target = args = (StdObjSpace, ) def execute_appex(self, space, target, *args): self.space = space try: > target(*args) tool/pytest/apptest.py:30: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace args_w = (,) w_func = args = def appcaller(space, *args_w): if not isinstance(space, ObjSpace): raise TypeError("first argument must be a space instance.") # the last argument can be an Arguments w_func = self.wget(space, name) if not args_w: return space.call_function(w_func) else: args = args_w[-1] assert args is not None if not isinstance(args, Arguments): > return space.call_function(w_func, *args_w) interpreter/gateway.py:1227: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = args_w = (,) nargs = 1, Function = Method = def call_function(self, w_func, *args_w): nargs = len(args_w) # used for pruning funccall versions if not self.config.objspace.disable_call_speedhacks and nargs < 5: # start of hack for performance from pypy.interpreter.function import Function, Method if isinstance(w_func, Method): w_inst = w_func.w_instance if w_inst is not None: if nargs < 4: func = w_func.w_function if isinstance(func, Function): return func.funccall(w_inst, *args_w) elif args_w and ( self.abstract_isinstance_w(args_w[0], w_func.w_class)): w_func = w_func.w_function if isinstance(w_func, Function): > return w_func.funccall(*args_w) interpreter/baseobjspace.py:1210: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = args_w = (,) gateway = PyCode = code = def funccall(self, *args_w): # speed hack from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit nargs = len(args_w) fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, args_w[0]) elif nargs == 2: assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, args_w[0], args_w[1]) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) return code.fastcall_3(self.space, self, args_w[0], args_w[1], args_w[2]) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) return code.fastcall_4(self.space, self, args_w[0], args_w[1], args_w[2], args_w[3]) elif (nargs | PyCode.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) if nargs < 5: new_frame = self.space.createframe(code, self.w_func_globals, self) for i in funccallunrolling: if i < nargs: new_frame.locals_cells_stack_w[i] = args_w[i] > return new_frame.run() interpreter/function.py:118: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 3 def run(self): """Start this frame's execution.""" if self.getcode().co_flags & pycode.CO_GENERATOR: from pypy.interpreter.generator import GeneratorIterator return GeneratorIterator(self) else: > return self.execute_frame() interpreter/pyframe.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 3 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:290: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 3 e = SyntaxError("Non-ASCII character '\\xe2' in file /build_dir/own-linux-x86-32/b..., ('/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py', 423, 0, None)) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:943: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 3 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:286: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 3 pycode = next_instr = 0L ec = def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 3 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x01\x00|\x01\x00\xc9\x01\x00\xca\x00\x00\x01d\x00\x00S' next_instr = 0L ec = def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 3 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x01\x00|\x01\x00\xc9\x01\x00\xca\x00\x00\x01d\x00\x00S' next_instr = 21L ec = @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: self.last_instr = intmask(next_instr) if jit.we_are_jitted(): if self.debugdata: ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: ec.bytecode_trace(self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) next_instr += 1 if opcode >= HAVE_ARGUMENT: lo = ord(co_code[next_instr]) hi = ord(co_code[next_instr+1]) next_instr += 2 oparg = (hi * 256) | lo else: oparg = 0 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into a switch(). while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption lo = ord(co_code[next_instr+1]) hi = ord(co_code[next_instr+2]) next_instr += 3 oparg = (oparg * 65536) | (hi * 256) | lo if opcode == opcodedesc.RETURN_VALUE.index: if not self.blockstack_non_empty(): self.frame_finished_execution = True # for generators raise Return w_returnvalue = self.popvalue() block = self.unrollstack(SReturnValue.kind) if block is None: self.pushvalue(w_returnvalue) raise Return else: unroller = SReturnValue(w_returnvalue) next_instr = block.handle(self, unroller) return next_instr # now inside a 'finally' block elif opcode == opcodedesc.END_FINALLY.index: unroller = self.end_finally() if isinstance(unroller, SuspendedUnroller): # go on unrolling the stack block = self.unrollstack(unroller.kind) if block is None: w_result = unroller.nomoreblocks() self.pushvalue(w_result) raise Return else: next_instr = block.handle(self, unroller) return next_instr elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, ec) elif opcode == opcodedesc.BREAK_LOOP.index: next_instr = self.BREAK_LOOP(oparg, next_instr) elif opcode == opcodedesc.CONTINUE_LOOP.index: return self.CONTINUE_LOOP(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: next_instr = self.JUMP_IF_FALSE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_DEBUG.index: next_instr = self.JUMP_IF_NOT_DEBUG(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: next_instr = self.JUMP_IF_TRUE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: next_instr = self.POP_JUMP_IF_FALSE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: next_instr = self.POP_JUMP_IF_TRUE(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_DIVIDE.index: self.BINARY_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CLASS.index: self.BUILD_CLASS(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR.index: self.CALL_FUNCTION_VAR(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR_KW.index: self.CALL_FUNCTION_VAR_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: > self.CALL_METHOD(oparg, next_instr) interpreter/pyopcode.py:276: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = at line 3 oparg = 0, ignored = (21L,), n_args = 0, n_kwargs = 0, w_self = None @jit.unroll_safe def CALL_METHOD(f, oparg, *ignored): # opargs contains the arg, and kwarg count, excluding the implicit 'self' n_args = oparg & 0xff n_kwargs = (oparg >> 8) & 0xff w_self = f.peekvalue_maybe_none(n_args + (2 * n_kwargs)) n = n_args + (w_self is not None) if not n_kwargs: w_callable = f.peekvalue(n_args + (2 * n_kwargs) + 1) w_result = f.space.call_valuestack( > w_callable, n, f, methodcall=w_self is not None, dropvalues=n_args + 2) objspace/std/callmethod.py:96: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = , nargs = 0 frame = at line 3 dropvalues = 2, methodcall = False def call_valuestack(self, w_func, nargs, frame, dropvalues, methodcall=False): # methodcall is only used for better error messages in argument.py from pypy.interpreter.function import Function, Method, is_builtin_code if frame.get_is_being_profiled() and is_builtin_code(w_func): # XXX: this code is copied&pasted :-( from the slow path below # call_valuestack(). args = frame.make_arguments(nargs) frame.dropvalues(dropvalues) return self.call_args_and_c_profile(frame, w_func, args) if not self.config.objspace.disable_call_speedhacks: # start of hack for performance if isinstance(w_func, Method): w_inst = w_func.w_instance if w_inst is not None: w_func = w_func.w_function # reuse callable stack place for w_inst frame.settopvalue(w_inst, nargs) nargs += 1 methodcall = True elif nargs > 0 and ( self.abstract_isinstance_w(frame.peekvalue(nargs-1), # :-( w_func.w_class)): w_func = w_func.w_function if isinstance(w_func, Function): return w_func.funccall_valuestack( > nargs, frame, methodcall=methodcall, dropvalues=dropvalues) interpreter/baseobjspace.py:1243: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , nargs = 0 frame = at line 3 dropvalues = 2, methodcall = False def funccall_valuestack(self, nargs, frame, dropvalues, methodcall=False): # speed hack # methodcall is only for better error messages from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit # if (jit.we_are_jitted() and code is self.space._code_of_sys_exc_info and nargs == 0): frame.dropvalues(dropvalues) from pypy.module.sys.vm import exc_info_direct return exc_info_direct(self.space, frame) # fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: f_0 = frame.peekvalue(0) frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, f_0) elif nargs == 2: f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, f_1, f_0) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) f_2 = frame.peekvalue(2) frame.dropvalues(dropvalues) return code.fastcall_3(self.space, self, f_2, f_1, f_0) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) f_2 = frame.peekvalue(2) f_3 = frame.peekvalue(3) frame.dropvalues(dropvalues) return code.fastcall_4(self.space, self, f_3, f_2, f_1, f_0) elif (nargs | Code.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) > return self._flat_pycall(code, nargs, frame, dropvalues) interpreter/function.py:174: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = code = nargs = 0 frame = at line 3 dropvalues = 2 @jit.unroll_safe def _flat_pycall(self, code, nargs, frame, dropvalues): # code is a PyCode new_frame = self.space.createframe(code, self.w_func_globals, self) for i in xrange(nargs): new_frame.locals_cells_stack_w[i] = frame.peekvalue(nargs-1-i) frame.dropvalues(dropvalues) > return new_frame.run() interpreter/function.py:201: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 1804 def run(self): """Start this frame's execution.""" if self.getcode().co_flags & pycode.CO_GENERATOR: from pypy.interpreter.generator import GeneratorIterator return GeneratorIterator(self) else: > return self.execute_frame() interpreter/pyframe.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 1804 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:290: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 1804 e = SyntaxError("Non-ASCII character '\\xe2' in file /build_dir/own-linux-x86-32/b..., ('/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py', 423, 0, None)) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:943: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 1804 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:286: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 1804 pycode = next_instr = 0L ec = def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 1804 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x00\x00t\x01\x00d\x02\x00\x83\x01\x00}\x01\x00t\x02\x00|\x01\x00\x83\x01\x00}\x02\x00|\x...x00|\x03\x00\xcb\x00\x00D]\x0c\x00}\x06\x00d\x00\x00^\x02\x00q\xd9\x00k\x02\x00r\xf2\x00Pq\x9d\x00q\x9d\x00Wd\x00\x00S' next_instr = 0L ec = def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 1804 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x00\x00t\x01\x00d\x02\x00\x83\x01\x00}\x01\x00t\x02\x00|\x01\x00\x83\x01\x00}\x02\x00|\x...x00|\x03\x00\xcb\x00\x00D]\x0c\x00}\x06\x00d\x00\x00^\x02\x00q\xd9\x00k\x02\x00r\xf2\x00Pq\x9d\x00q\x9d\x00Wd\x00\x00S' next_instr = 181L ec = @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: self.last_instr = intmask(next_instr) if jit.we_are_jitted(): if self.debugdata: ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: ec.bytecode_trace(self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) next_instr += 1 if opcode >= HAVE_ARGUMENT: lo = ord(co_code[next_instr]) hi = ord(co_code[next_instr+1]) next_instr += 2 oparg = (hi * 256) | lo else: oparg = 0 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into a switch(). while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption lo = ord(co_code[next_instr+1]) hi = ord(co_code[next_instr+2]) next_instr += 3 oparg = (oparg * 65536) | (hi * 256) | lo if opcode == opcodedesc.RETURN_VALUE.index: if not self.blockstack_non_empty(): self.frame_finished_execution = True # for generators raise Return w_returnvalue = self.popvalue() block = self.unrollstack(SReturnValue.kind) if block is None: self.pushvalue(w_returnvalue) raise Return else: unroller = SReturnValue(w_returnvalue) next_instr = block.handle(self, unroller) return next_instr # now inside a 'finally' block elif opcode == opcodedesc.END_FINALLY.index: unroller = self.end_finally() if isinstance(unroller, SuspendedUnroller): # go on unrolling the stack block = self.unrollstack(unroller.kind) if block is None: w_result = unroller.nomoreblocks() self.pushvalue(w_result) raise Return else: next_instr = block.handle(self, unroller) return next_instr elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, ec) elif opcode == opcodedesc.BREAK_LOOP.index: next_instr = self.BREAK_LOOP(oparg, next_instr) elif opcode == opcodedesc.CONTINUE_LOOP.index: return self.CONTINUE_LOOP(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: next_instr = self.JUMP_IF_FALSE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_DEBUG.index: next_instr = self.JUMP_IF_NOT_DEBUG(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: next_instr = self.JUMP_IF_TRUE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: next_instr = self.POP_JUMP_IF_FALSE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: next_instr = self.POP_JUMP_IF_TRUE(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_DIVIDE.index: self.BINARY_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CLASS.index: self.BUILD_CLASS(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR.index: self.CALL_FUNCTION_VAR(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR_KW.index: self.CALL_FUNCTION_VAR_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: self.CALL_METHOD(oparg, next_instr) elif opcode == opcodedesc.COMPARE_OP.index: self.COMPARE_OP(oparg, next_instr) elif opcode == opcodedesc.DELETE_ATTR.index: self.DELETE_ATTR(oparg, next_instr) elif opcode == opcodedesc.DELETE_FAST.index: self.DELETE_FAST(oparg, next_instr) elif opcode == opcodedesc.DELETE_GLOBAL.index: self.DELETE_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.DELETE_NAME.index: self.DELETE_NAME(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_0.index: self.DELETE_SLICE_0(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_1.index: self.DELETE_SLICE_1(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_2.index: self.DELETE_SLICE_2(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_3.index: self.DELETE_SLICE_3(oparg, next_instr) elif opcode == opcodedesc.DELETE_SUBSCR.index: self.DELETE_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.DUP_TOP.index: self.DUP_TOP(oparg, next_instr) elif opcode == opcodedesc.DUP_TOPX.index: self.DUP_TOPX(oparg, next_instr) elif opcode == opcodedesc.EXEC_STMT.index: self.EXEC_STMT(oparg, next_instr) elif opcode == opcodedesc.GET_ITER.index: self.GET_ITER(oparg, next_instr) elif opcode == opcodedesc.IMPORT_FROM.index: self.IMPORT_FROM(oparg, next_instr) elif opcode == opcodedesc.IMPORT_NAME.index: self.IMPORT_NAME(oparg, next_instr) elif opcode == opcodedesc.IMPORT_STAR.index: self.IMPORT_STAR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_ADD.index: self.INPLACE_ADD(oparg, next_instr) elif opcode == opcodedesc.INPLACE_AND.index: self.INPLACE_AND(oparg, next_instr) elif opcode == opcodedesc.INPLACE_DIVIDE.index: self.INPLACE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_FLOOR_DIVIDE.index: self.INPLACE_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_LSHIFT.index: self.INPLACE_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MODULO.index: self.INPLACE_MODULO(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MULTIPLY.index: self.INPLACE_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.INPLACE_OR.index: self.INPLACE_OR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_POWER.index: self.INPLACE_POWER(oparg, next_instr) elif opcode == opcodedesc.INPLACE_RSHIFT.index: self.INPLACE_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_SUBTRACT.index: self.INPLACE_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_TRUE_DIVIDE.index: self.INPLACE_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_XOR.index: self.INPLACE_XOR(oparg, next_instr) elif opcode == opcodedesc.LIST_APPEND.index: self.LIST_APPEND(oparg, next_instr) elif opcode == opcodedesc.LOAD_ATTR.index: self.LOAD_ATTR(oparg, next_instr) elif opcode == opcodedesc.LOAD_CLOSURE.index: self.LOAD_CLOSURE(oparg, next_instr) elif opcode == opcodedesc.LOAD_CONST.index: self.LOAD_CONST(oparg, next_instr) elif opcode == opcodedesc.LOAD_DEREF.index: self.LOAD_DEREF(oparg, next_instr) elif opcode == opcodedesc.LOAD_FAST.index: self.LOAD_FAST(oparg, next_instr) elif opcode == opcodedesc.LOAD_GLOBAL.index: self.LOAD_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.LOAD_LOCALS.index: self.LOAD_LOCALS(oparg, next_instr) elif opcode == opcodedesc.LOAD_NAME.index: self.LOAD_NAME(oparg, next_instr) elif opcode == opcodedesc.LOOKUP_METHOD.index: > self.LOOKUP_METHOD(oparg, next_instr) interpreter/pyopcode.py:356: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = at line 1804 nameindex = 9, ignored = (181L,) MutableCell = space = StdObjSpace w_obj = def LOOKUP_METHOD(f, nameindex, *ignored): from pypy.objspace.std.typeobject import MutableCell # stack before after # -------------- --fast-method----fallback-case------------ # # w_object None # w_object => w_function w_boundmethod_or_whatever # (more stuff) (more stuff) (more stuff) # space = f.space w_obj = f.popvalue() if not jit.we_are_jitted(): # mapdict has an extra-fast version of this function if LOOKUP_METHOD_mapdict(f, nameindex, w_obj): return w_name = f.getname_w(nameindex) w_value = None w_type = space.type(w_obj) if w_type.has_object_getattribute(): name = space.text_w(w_name) # bit of a mess to use these internal functions, but it allows the # mapdict caching below to work without an additional lookup version_tag = w_type.version_tag() if version_tag is None: _, w_descr = w_type._lookup_where(name) w_descr_cell = None else: _, w_descr_cell = w_type._pure_lookup_where_with_method_cache( name, version_tag) w_descr = w_descr_cell if isinstance(w_descr, MutableCell): w_descr = w_descr.unwrap_cell(space) if w_descr is None: # this handles directly the common case # module.function(args..) > w_value = w_obj.getdictvalue(space, name) objspace/std/callmethod.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def getdictvalue(self, space, name): w_value = space.finditem_str(self.w_dict, name) if self.lazy and w_value is None: > return self._load_lazily(space, name) interpreter/mixedmodule.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def _load_lazily(self, space, name): w_name = space.new_interned_str(name) try: loader = self.loaders[name] except KeyError: return None else: > w_value = loader(space) interpreter/mixedmodule.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace def ifileloader(space): d = {'space':space} # EVIL HACK (but it works, and this is not RPython :-) while 1: try: value = eval(spec, d) except NameError as ex: name = ex.args[0].split("'")[1] # super-Evil if name in d: raise # propagate the NameError try: > d[name] = __import__(pkgroot+'.'+name, None, None, [name]) interpreter/mixedmodule.py:182: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from pypy.interpreter.gateway import unwrap_spec from pypy.interpreter.error import oefmt from rpython.rlib import rgc > from pypy.module.gc.hook import W_GcCollectStepStats module/gc/interp_gc.py:4: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from rpython.memory.gc.hook import GcHooks > from rpython.memory.gc import incminimark module/gc/hook.py:2: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ # XXX Should find a way to bound the major collection threshold by the # XXX total addressable size. Maybe by keeping some minimarkpage arenas # XXX pre-reserved, enough for a few nursery collections? What about # XXX raw-malloced memory? # XXX try merging old_objects_pointing_to_pinned into # XXX old_objects_pointing_to_young (IRC 2014-10-22, fijal and gregor_w) import sys import os import time from rpython.rtyper.lltypesystem import lltype, llmemory, llarena, llgroup from rpython.rtyper.lltypesystem.lloperation import llop from rpython.rtyper.lltypesystem.llmemory import raw_malloc_usage from rpython.memory.gc.base import GCBase, MovingGCBase > from rpython.memory.gc import env E File "/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py", line 423 E SyntaxError: Non-ASCII character '\xe2' in file /build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py on line 423, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details ../rpython/memory/gc/incminimark.py:70: SyntaxError . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_no_inheritance . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_assign_string . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_add_error . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_void_errors . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_too_many_items . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_more_type_errors . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_more_overflow_errors . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_newp_copying . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_string . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_string_byte . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_string_wchar . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_string_typeerror . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_bug_convert_to_ptr . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_set_struct_fields . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_invalid_function_result_types . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_struct_return_in_func . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_cast_with_functionptr . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_wchar . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_char16 . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_char32 . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_wchar_variants_mix F pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_keepalive_struct self = func = at 0xf404ea3c>, 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, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 0xf7a2a32c> hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf69c668c>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf69c668c>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf493e7ec> 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 0xf493e7ec> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf459ea0c> 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 0xf459ea0c> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def runtest(self): target = self.obj if self.config.option.runappdirect: return target() space = target.im_self.space filename = self._getdynfilename(target) func = app2interp_temp(target.im_func, filename=filename) w_instance = self.parent.w_instance > self.execute_appex(space, func, space, w_instance) tool/pytest/apptest.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , space = StdObjSpace target = args = (StdObjSpace, ) def execute_appex(self, space, target, *args): self.space = space try: > target(*args) tool/pytest/apptest.py:30: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace args_w = (,) w_func = args = def appcaller(space, *args_w): if not isinstance(space, ObjSpace): raise TypeError("first argument must be a space instance.") # the last argument can be an Arguments w_func = self.wget(space, name) if not args_w: return space.call_function(w_func) else: args = args_w[-1] assert args is not None if not isinstance(args, Arguments): > return space.call_function(w_func, *args_w) interpreter/gateway.py:1227: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = args_w = (,) nargs = 1, Function = Method = def call_function(self, w_func, *args_w): nargs = len(args_w) # used for pruning funccall versions if not self.config.objspace.disable_call_speedhacks and nargs < 5: # start of hack for performance from pypy.interpreter.function import Function, Method if isinstance(w_func, Method): w_inst = w_func.w_instance if w_inst is not None: if nargs < 4: func = w_func.w_function if isinstance(func, Function): return func.funccall(w_inst, *args_w) elif args_w and ( self.abstract_isinstance_w(args_w[0], w_func.w_class)): w_func = w_func.w_function if isinstance(w_func, Function): > return w_func.funccall(*args_w) interpreter/baseobjspace.py:1210: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = args_w = (,) gateway = PyCode = code = def funccall(self, *args_w): # speed hack from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit nargs = len(args_w) fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, args_w[0]) elif nargs == 2: assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, args_w[0], args_w[1]) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) return code.fastcall_3(self.space, self, args_w[0], args_w[1], args_w[2]) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) return code.fastcall_4(self.space, self, args_w[0], args_w[1], args_w[2], args_w[3]) elif (nargs | PyCode.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) if nargs < 5: new_frame = self.space.createframe(code, self.w_func_globals, self) for i in funccallunrolling: if i < nargs: new_frame.locals_cells_stack_w[i] = args_w[i] > return new_frame.run() interpreter/function.py:118: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 3 def run(self): """Start this frame's execution.""" if self.getcode().co_flags & pycode.CO_GENERATOR: from pypy.interpreter.generator import GeneratorIterator return GeneratorIterator(self) else: > return self.execute_frame() interpreter/pyframe.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 3 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:290: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 3 e = SyntaxError("Non-ASCII character '\\xe2' in file /build_dir/own-linux-x86-32/b..., ('/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py', 423, 0, None)) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:943: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 3 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:286: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 3 pycode = next_instr = 0L ec = def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 3 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x01\x00|\x01\x00\xc9\x01\x00\xca\x00\x00\x01d\x00\x00S' next_instr = 0L ec = def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 3 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x01\x00|\x01\x00\xc9\x01\x00\xca\x00\x00\x01d\x00\x00S' next_instr = 21L ec = @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: self.last_instr = intmask(next_instr) if jit.we_are_jitted(): if self.debugdata: ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: ec.bytecode_trace(self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) next_instr += 1 if opcode >= HAVE_ARGUMENT: lo = ord(co_code[next_instr]) hi = ord(co_code[next_instr+1]) next_instr += 2 oparg = (hi * 256) | lo else: oparg = 0 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into a switch(). while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption lo = ord(co_code[next_instr+1]) hi = ord(co_code[next_instr+2]) next_instr += 3 oparg = (oparg * 65536) | (hi * 256) | lo if opcode == opcodedesc.RETURN_VALUE.index: if not self.blockstack_non_empty(): self.frame_finished_execution = True # for generators raise Return w_returnvalue = self.popvalue() block = self.unrollstack(SReturnValue.kind) if block is None: self.pushvalue(w_returnvalue) raise Return else: unroller = SReturnValue(w_returnvalue) next_instr = block.handle(self, unroller) return next_instr # now inside a 'finally' block elif opcode == opcodedesc.END_FINALLY.index: unroller = self.end_finally() if isinstance(unroller, SuspendedUnroller): # go on unrolling the stack block = self.unrollstack(unroller.kind) if block is None: w_result = unroller.nomoreblocks() self.pushvalue(w_result) raise Return else: next_instr = block.handle(self, unroller) return next_instr elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, ec) elif opcode == opcodedesc.BREAK_LOOP.index: next_instr = self.BREAK_LOOP(oparg, next_instr) elif opcode == opcodedesc.CONTINUE_LOOP.index: return self.CONTINUE_LOOP(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: next_instr = self.JUMP_IF_FALSE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_DEBUG.index: next_instr = self.JUMP_IF_NOT_DEBUG(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: next_instr = self.JUMP_IF_TRUE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: next_instr = self.POP_JUMP_IF_FALSE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: next_instr = self.POP_JUMP_IF_TRUE(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_DIVIDE.index: self.BINARY_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CLASS.index: self.BUILD_CLASS(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR.index: self.CALL_FUNCTION_VAR(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR_KW.index: self.CALL_FUNCTION_VAR_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: > self.CALL_METHOD(oparg, next_instr) interpreter/pyopcode.py:276: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = at line 3 oparg = 0, ignored = (21L,), n_args = 0, n_kwargs = 0, w_self = None @jit.unroll_safe def CALL_METHOD(f, oparg, *ignored): # opargs contains the arg, and kwarg count, excluding the implicit 'self' n_args = oparg & 0xff n_kwargs = (oparg >> 8) & 0xff w_self = f.peekvalue_maybe_none(n_args + (2 * n_kwargs)) n = n_args + (w_self is not None) if not n_kwargs: w_callable = f.peekvalue(n_args + (2 * n_kwargs) + 1) w_result = f.space.call_valuestack( > w_callable, n, f, methodcall=w_self is not None, dropvalues=n_args + 2) objspace/std/callmethod.py:96: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = , nargs = 0 frame = at line 3 dropvalues = 2, methodcall = False def call_valuestack(self, w_func, nargs, frame, dropvalues, methodcall=False): # methodcall is only used for better error messages in argument.py from pypy.interpreter.function import Function, Method, is_builtin_code if frame.get_is_being_profiled() and is_builtin_code(w_func): # XXX: this code is copied&pasted :-( from the slow path below # call_valuestack(). args = frame.make_arguments(nargs) frame.dropvalues(dropvalues) return self.call_args_and_c_profile(frame, w_func, args) if not self.config.objspace.disable_call_speedhacks: # start of hack for performance if isinstance(w_func, Method): w_inst = w_func.w_instance if w_inst is not None: w_func = w_func.w_function # reuse callable stack place for w_inst frame.settopvalue(w_inst, nargs) nargs += 1 methodcall = True elif nargs > 0 and ( self.abstract_isinstance_w(frame.peekvalue(nargs-1), # :-( w_func.w_class)): w_func = w_func.w_function if isinstance(w_func, Function): return w_func.funccall_valuestack( > nargs, frame, methodcall=methodcall, dropvalues=dropvalues) interpreter/baseobjspace.py:1243: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , nargs = 0 frame = at line 3 dropvalues = 2, methodcall = False def funccall_valuestack(self, nargs, frame, dropvalues, methodcall=False): # speed hack # methodcall is only for better error messages from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit # if (jit.we_are_jitted() and code is self.space._code_of_sys_exc_info and nargs == 0): frame.dropvalues(dropvalues) from pypy.module.sys.vm import exc_info_direct return exc_info_direct(self.space, frame) # fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: f_0 = frame.peekvalue(0) frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, f_0) elif nargs == 2: f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, f_1, f_0) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) f_2 = frame.peekvalue(2) frame.dropvalues(dropvalues) return code.fastcall_3(self.space, self, f_2, f_1, f_0) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) f_2 = frame.peekvalue(2) f_3 = frame.peekvalue(3) frame.dropvalues(dropvalues) return code.fastcall_4(self.space, self, f_3, f_2, f_1, f_0) elif (nargs | Code.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) > return self._flat_pycall(code, nargs, frame, dropvalues) interpreter/function.py:174: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = code = nargs = 0 frame = at line 3 dropvalues = 2 @jit.unroll_safe def _flat_pycall(self, code, nargs, frame, dropvalues): # code is a PyCode new_frame = self.space.createframe(code, self.w_func_globals, self) for i in xrange(nargs): new_frame.locals_cells_stack_w[i] = frame.peekvalue(nargs-1-i) frame.dropvalues(dropvalues) > return new_frame.run() interpreter/function.py:201: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 2321 def run(self): """Start this frame's execution.""" if self.getcode().co_flags & pycode.CO_GENERATOR: from pypy.interpreter.generator import GeneratorIterator return GeneratorIterator(self) else: > return self.execute_frame() interpreter/pyframe.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 2321 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:290: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 2321 e = SyntaxError("Non-ASCII character '\\xe2' in file /build_dir/own-linux-x86-32/b..., ('/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py', 423, 0, None)) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:943: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 2321 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:286: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 2321 pycode = next_instr = 0L ec = def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 2321 co_code = 't\x00\x00d\x01\x00\x83\x01\x00}\x00\x00t\x01\x00|\x00\x00\x83\x01\x00}\x01\x00t\x02\x00|\x00\x00d\x02\x00t\x03\x00d\x...\x02\x00sE\x01t\x06\x00\x82\x01\x00\xcc\x15\x00|\x03\x00j\x07\x00d\n\x00k\x02\x00s]\x01t\x06\x00\x82\x01\x00d\x00\x00S' next_instr = 0L ec = def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 2321 co_code = 't\x00\x00d\x01\x00\x83\x01\x00}\x00\x00t\x01\x00|\x00\x00\x83\x01\x00}\x01\x00t\x02\x00|\x00\x00d\x02\x00t\x03\x00d\x...\x02\x00sE\x01t\x06\x00\x82\x01\x00\xcc\x15\x00|\x03\x00j\x07\x00d\n\x00k\x02\x00s]\x01t\x06\x00\x82\x01\x00d\x00\x00S' next_instr = 270L ec = @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: self.last_instr = intmask(next_instr) if jit.we_are_jitted(): if self.debugdata: ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: ec.bytecode_trace(self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) next_instr += 1 if opcode >= HAVE_ARGUMENT: lo = ord(co_code[next_instr]) hi = ord(co_code[next_instr+1]) next_instr += 2 oparg = (hi * 256) | lo else: oparg = 0 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into a switch(). while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption lo = ord(co_code[next_instr+1]) hi = ord(co_code[next_instr+2]) next_instr += 3 oparg = (oparg * 65536) | (hi * 256) | lo if opcode == opcodedesc.RETURN_VALUE.index: if not self.blockstack_non_empty(): self.frame_finished_execution = True # for generators raise Return w_returnvalue = self.popvalue() block = self.unrollstack(SReturnValue.kind) if block is None: self.pushvalue(w_returnvalue) raise Return else: unroller = SReturnValue(w_returnvalue) next_instr = block.handle(self, unroller) return next_instr # now inside a 'finally' block elif opcode == opcodedesc.END_FINALLY.index: unroller = self.end_finally() if isinstance(unroller, SuspendedUnroller): # go on unrolling the stack block = self.unrollstack(unroller.kind) if block is None: w_result = unroller.nomoreblocks() self.pushvalue(w_result) raise Return else: next_instr = block.handle(self, unroller) return next_instr elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, ec) elif opcode == opcodedesc.BREAK_LOOP.index: next_instr = self.BREAK_LOOP(oparg, next_instr) elif opcode == opcodedesc.CONTINUE_LOOP.index: return self.CONTINUE_LOOP(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: next_instr = self.JUMP_IF_FALSE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_DEBUG.index: next_instr = self.JUMP_IF_NOT_DEBUG(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: next_instr = self.JUMP_IF_TRUE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: next_instr = self.POP_JUMP_IF_FALSE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: next_instr = self.POP_JUMP_IF_TRUE(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_DIVIDE.index: self.BINARY_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CLASS.index: self.BUILD_CLASS(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR.index: self.CALL_FUNCTION_VAR(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR_KW.index: self.CALL_FUNCTION_VAR_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: self.CALL_METHOD(oparg, next_instr) elif opcode == opcodedesc.COMPARE_OP.index: self.COMPARE_OP(oparg, next_instr) elif opcode == opcodedesc.DELETE_ATTR.index: self.DELETE_ATTR(oparg, next_instr) elif opcode == opcodedesc.DELETE_FAST.index: self.DELETE_FAST(oparg, next_instr) elif opcode == opcodedesc.DELETE_GLOBAL.index: self.DELETE_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.DELETE_NAME.index: self.DELETE_NAME(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_0.index: self.DELETE_SLICE_0(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_1.index: self.DELETE_SLICE_1(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_2.index: self.DELETE_SLICE_2(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_3.index: self.DELETE_SLICE_3(oparg, next_instr) elif opcode == opcodedesc.DELETE_SUBSCR.index: self.DELETE_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.DUP_TOP.index: self.DUP_TOP(oparg, next_instr) elif opcode == opcodedesc.DUP_TOPX.index: self.DUP_TOPX(oparg, next_instr) elif opcode == opcodedesc.EXEC_STMT.index: self.EXEC_STMT(oparg, next_instr) elif opcode == opcodedesc.GET_ITER.index: self.GET_ITER(oparg, next_instr) elif opcode == opcodedesc.IMPORT_FROM.index: self.IMPORT_FROM(oparg, next_instr) elif opcode == opcodedesc.IMPORT_NAME.index: self.IMPORT_NAME(oparg, next_instr) elif opcode == opcodedesc.IMPORT_STAR.index: self.IMPORT_STAR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_ADD.index: self.INPLACE_ADD(oparg, next_instr) elif opcode == opcodedesc.INPLACE_AND.index: self.INPLACE_AND(oparg, next_instr) elif opcode == opcodedesc.INPLACE_DIVIDE.index: self.INPLACE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_FLOOR_DIVIDE.index: self.INPLACE_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_LSHIFT.index: self.INPLACE_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MODULO.index: self.INPLACE_MODULO(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MULTIPLY.index: self.INPLACE_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.INPLACE_OR.index: self.INPLACE_OR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_POWER.index: self.INPLACE_POWER(oparg, next_instr) elif opcode == opcodedesc.INPLACE_RSHIFT.index: self.INPLACE_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_SUBTRACT.index: self.INPLACE_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_TRUE_DIVIDE.index: self.INPLACE_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_XOR.index: self.INPLACE_XOR(oparg, next_instr) elif opcode == opcodedesc.LIST_APPEND.index: self.LIST_APPEND(oparg, next_instr) elif opcode == opcodedesc.LOAD_ATTR.index: self.LOAD_ATTR(oparg, next_instr) elif opcode == opcodedesc.LOAD_CLOSURE.index: self.LOAD_CLOSURE(oparg, next_instr) elif opcode == opcodedesc.LOAD_CONST.index: self.LOAD_CONST(oparg, next_instr) elif opcode == opcodedesc.LOAD_DEREF.index: self.LOAD_DEREF(oparg, next_instr) elif opcode == opcodedesc.LOAD_FAST.index: self.LOAD_FAST(oparg, next_instr) elif opcode == opcodedesc.LOAD_GLOBAL.index: self.LOAD_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.LOAD_LOCALS.index: self.LOAD_LOCALS(oparg, next_instr) elif opcode == opcodedesc.LOAD_NAME.index: self.LOAD_NAME(oparg, next_instr) elif opcode == opcodedesc.LOOKUP_METHOD.index: > self.LOOKUP_METHOD(oparg, next_instr) interpreter/pyopcode.py:356: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = at line 2321 nameindex = 11, ignored = (270L,) MutableCell = space = StdObjSpace w_obj = def LOOKUP_METHOD(f, nameindex, *ignored): from pypy.objspace.std.typeobject import MutableCell # stack before after # -------------- --fast-method----fallback-case------------ # # w_object None # w_object => w_function w_boundmethod_or_whatever # (more stuff) (more stuff) (more stuff) # space = f.space w_obj = f.popvalue() if not jit.we_are_jitted(): # mapdict has an extra-fast version of this function if LOOKUP_METHOD_mapdict(f, nameindex, w_obj): return w_name = f.getname_w(nameindex) w_value = None w_type = space.type(w_obj) if w_type.has_object_getattribute(): name = space.text_w(w_name) # bit of a mess to use these internal functions, but it allows the # mapdict caching below to work without an additional lookup version_tag = w_type.version_tag() if version_tag is None: _, w_descr = w_type._lookup_where(name) w_descr_cell = None else: _, w_descr_cell = w_type._pure_lookup_where_with_method_cache( name, version_tag) w_descr = w_descr_cell if isinstance(w_descr, MutableCell): w_descr = w_descr.unwrap_cell(space) if w_descr is None: # this handles directly the common case # module.function(args..) > w_value = w_obj.getdictvalue(space, name) objspace/std/callmethod.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def getdictvalue(self, space, name): w_value = space.finditem_str(self.w_dict, name) if self.lazy and w_value is None: > return self._load_lazily(space, name) interpreter/mixedmodule.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def _load_lazily(self, space, name): w_name = space.new_interned_str(name) try: loader = self.loaders[name] except KeyError: return None else: > w_value = loader(space) interpreter/mixedmodule.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace def ifileloader(space): d = {'space':space} # EVIL HACK (but it works, and this is not RPython :-) while 1: try: value = eval(spec, d) except NameError as ex: name = ex.args[0].split("'")[1] # super-Evil if name in d: raise # propagate the NameError try: > d[name] = __import__(pkgroot+'.'+name, None, None, [name]) interpreter/mixedmodule.py:182: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from pypy.interpreter.gateway import unwrap_spec from pypy.interpreter.error import oefmt from rpython.rlib import rgc > from pypy.module.gc.hook import W_GcCollectStepStats module/gc/interp_gc.py:4: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from rpython.memory.gc.hook import GcHooks > from rpython.memory.gc import incminimark module/gc/hook.py:2: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ # XXX Should find a way to bound the major collection threshold by the # XXX total addressable size. Maybe by keeping some minimarkpage arenas # XXX pre-reserved, enough for a few nursery collections? What about # XXX raw-malloced memory? # XXX try merging old_objects_pointing_to_pinned into # XXX old_objects_pointing_to_young (IRC 2014-10-22, fijal and gregor_w) import sys import os import time from rpython.rtyper.lltypesystem import lltype, llmemory, llarena, llgroup from rpython.rtyper.lltypesystem.lloperation import llop from rpython.rtyper.lltypesystem.llmemory import raw_malloc_usage from rpython.memory.gc.base import GCBase, MovingGCBase > from rpython.memory.gc import env E File "/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py", line 423 E SyntaxError: Non-ASCII character '\xe2' in file /build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py on line 423, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details ../rpython/memory/gc/incminimark.py:70: SyntaxError . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_nokeepalive_struct . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_owning_repr . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_cannot_dereference_void . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_iter . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_cmp . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_buffer . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_getcname . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_errno s pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_errno_callback Skipped: cannot run this test on py.py (e.g. fails on Windows) . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_cast_to_array . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_cast_invalid . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_bug_float_convertion . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_bug_delitem . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_bug_delattr s pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_variable_length_struct Skipped: later . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_autocast_int . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_autocast_float . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_longdouble . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_get_array_of_length_zero . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_nested_anonymous_struct . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_nested_anonymous_struct_2 . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_sizeof_union . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_unaligned_struct . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_CData_CType . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_no_cdata_float . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_bool . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_bool_forbidden_cases . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_typeoffsetof . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_typeoffsetof_array . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_typeoffsetof_no_bitfield . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_rawaddressof . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_newp_signed_unsigned_char . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_newp_from_bytearray_doesnt_work . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_string_assignment_to_byte_array . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_FILE . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_FILE_only_for_FILE_arg . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_FILE_object . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_errno_saved s pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_GetLastError Skipped: GetLastError(): only for Windows . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_nonstandard_integer_types . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_cannot_convert_unicode_to_charp F pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_buffer_keepalive self = func = at 0xf3f328b4>, 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, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 0xf7a2a32c> hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf69c668c>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf69c668c>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf403732c> 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 0xf403732c> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf40370cc> 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 0xf40370cc> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def runtest(self): target = self.obj if self.config.option.runappdirect: return target() space = target.im_self.space filename = self._getdynfilename(target) func = app2interp_temp(target.im_func, filename=filename) w_instance = self.parent.w_instance > self.execute_appex(space, func, space, w_instance) tool/pytest/apptest.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , space = StdObjSpace target = args = (StdObjSpace, ) def execute_appex(self, space, target, *args): self.space = space try: > target(*args) tool/pytest/apptest.py:30: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace args_w = (,) w_func = args = def appcaller(space, *args_w): if not isinstance(space, ObjSpace): raise TypeError("first argument must be a space instance.") # the last argument can be an Arguments w_func = self.wget(space, name) if not args_w: return space.call_function(w_func) else: args = args_w[-1] assert args is not None if not isinstance(args, Arguments): > return space.call_function(w_func, *args_w) interpreter/gateway.py:1227: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = args_w = (,) nargs = 1, Function = Method = def call_function(self, w_func, *args_w): nargs = len(args_w) # used for pruning funccall versions if not self.config.objspace.disable_call_speedhacks and nargs < 5: # start of hack for performance from pypy.interpreter.function import Function, Method if isinstance(w_func, Method): w_inst = w_func.w_instance if w_inst is not None: if nargs < 4: func = w_func.w_function if isinstance(func, Function): return func.funccall(w_inst, *args_w) elif args_w and ( self.abstract_isinstance_w(args_w[0], w_func.w_class)): w_func = w_func.w_function if isinstance(w_func, Function): > return w_func.funccall(*args_w) interpreter/baseobjspace.py:1210: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = args_w = (,) gateway = PyCode = code = def funccall(self, *args_w): # speed hack from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit nargs = len(args_w) fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, args_w[0]) elif nargs == 2: assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, args_w[0], args_w[1]) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) return code.fastcall_3(self.space, self, args_w[0], args_w[1], args_w[2]) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) return code.fastcall_4(self.space, self, args_w[0], args_w[1], args_w[2], args_w[3]) elif (nargs | PyCode.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) if nargs < 5: new_frame = self.space.createframe(code, self.w_func_globals, self) for i in funccallunrolling: if i < nargs: new_frame.locals_cells_stack_w[i] = args_w[i] > return new_frame.run() interpreter/function.py:118: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 3 def run(self): """Start this frame's execution.""" if self.getcode().co_flags & pycode.CO_GENERATOR: from pypy.interpreter.generator import GeneratorIterator return GeneratorIterator(self) else: > return self.execute_frame() interpreter/pyframe.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 3 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:290: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 3 e = SyntaxError("Non-ASCII character '\\xe2' in file /build_dir/own-linux-x86-32/b..., ('/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py', 423, 0, None)) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:943: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 3 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:286: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 3 pycode = next_instr = 0L ec = def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 3 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x01\x00|\x01\x00\xc9\x01\x00\xca\x00\x00\x01d\x00\x00S' next_instr = 0L ec = def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 3 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x01\x00|\x01\x00\xc9\x01\x00\xca\x00\x00\x01d\x00\x00S' next_instr = 21L ec = @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: self.last_instr = intmask(next_instr) if jit.we_are_jitted(): if self.debugdata: ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: ec.bytecode_trace(self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) next_instr += 1 if opcode >= HAVE_ARGUMENT: lo = ord(co_code[next_instr]) hi = ord(co_code[next_instr+1]) next_instr += 2 oparg = (hi * 256) | lo else: oparg = 0 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into a switch(). while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption lo = ord(co_code[next_instr+1]) hi = ord(co_code[next_instr+2]) next_instr += 3 oparg = (oparg * 65536) | (hi * 256) | lo if opcode == opcodedesc.RETURN_VALUE.index: if not self.blockstack_non_empty(): self.frame_finished_execution = True # for generators raise Return w_returnvalue = self.popvalue() block = self.unrollstack(SReturnValue.kind) if block is None: self.pushvalue(w_returnvalue) raise Return else: unroller = SReturnValue(w_returnvalue) next_instr = block.handle(self, unroller) return next_instr # now inside a 'finally' block elif opcode == opcodedesc.END_FINALLY.index: unroller = self.end_finally() if isinstance(unroller, SuspendedUnroller): # go on unrolling the stack block = self.unrollstack(unroller.kind) if block is None: w_result = unroller.nomoreblocks() self.pushvalue(w_result) raise Return else: next_instr = block.handle(self, unroller) return next_instr elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, ec) elif opcode == opcodedesc.BREAK_LOOP.index: next_instr = self.BREAK_LOOP(oparg, next_instr) elif opcode == opcodedesc.CONTINUE_LOOP.index: return self.CONTINUE_LOOP(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: next_instr = self.JUMP_IF_FALSE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_DEBUG.index: next_instr = self.JUMP_IF_NOT_DEBUG(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: next_instr = self.JUMP_IF_TRUE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: next_instr = self.POP_JUMP_IF_FALSE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: next_instr = self.POP_JUMP_IF_TRUE(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_DIVIDE.index: self.BINARY_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CLASS.index: self.BUILD_CLASS(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR.index: self.CALL_FUNCTION_VAR(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR_KW.index: self.CALL_FUNCTION_VAR_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: > self.CALL_METHOD(oparg, next_instr) interpreter/pyopcode.py:276: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = at line 3 oparg = 0, ignored = (21L,), n_args = 0, n_kwargs = 0, w_self = None @jit.unroll_safe def CALL_METHOD(f, oparg, *ignored): # opargs contains the arg, and kwarg count, excluding the implicit 'self' n_args = oparg & 0xff n_kwargs = (oparg >> 8) & 0xff w_self = f.peekvalue_maybe_none(n_args + (2 * n_kwargs)) n = n_args + (w_self is not None) if not n_kwargs: w_callable = f.peekvalue(n_args + (2 * n_kwargs) + 1) w_result = f.space.call_valuestack( > w_callable, n, f, methodcall=w_self is not None, dropvalues=n_args + 2) objspace/std/callmethod.py:96: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = , nargs = 0 frame = at line 3 dropvalues = 2, methodcall = False def call_valuestack(self, w_func, nargs, frame, dropvalues, methodcall=False): # methodcall is only used for better error messages in argument.py from pypy.interpreter.function import Function, Method, is_builtin_code if frame.get_is_being_profiled() and is_builtin_code(w_func): # XXX: this code is copied&pasted :-( from the slow path below # call_valuestack(). args = frame.make_arguments(nargs) frame.dropvalues(dropvalues) return self.call_args_and_c_profile(frame, w_func, args) if not self.config.objspace.disable_call_speedhacks: # start of hack for performance if isinstance(w_func, Method): w_inst = w_func.w_instance if w_inst is not None: w_func = w_func.w_function # reuse callable stack place for w_inst frame.settopvalue(w_inst, nargs) nargs += 1 methodcall = True elif nargs > 0 and ( self.abstract_isinstance_w(frame.peekvalue(nargs-1), # :-( w_func.w_class)): w_func = w_func.w_function if isinstance(w_func, Function): return w_func.funccall_valuestack( > nargs, frame, methodcall=methodcall, dropvalues=dropvalues) interpreter/baseobjspace.py:1243: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , nargs = 0 frame = at line 3 dropvalues = 2, methodcall = False def funccall_valuestack(self, nargs, frame, dropvalues, methodcall=False): # speed hack # methodcall is only for better error messages from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit # if (jit.we_are_jitted() and code is self.space._code_of_sys_exc_info and nargs == 0): frame.dropvalues(dropvalues) from pypy.module.sys.vm import exc_info_direct return exc_info_direct(self.space, frame) # fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: f_0 = frame.peekvalue(0) frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, f_0) elif nargs == 2: f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, f_1, f_0) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) f_2 = frame.peekvalue(2) frame.dropvalues(dropvalues) return code.fastcall_3(self.space, self, f_2, f_1, f_0) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) f_2 = frame.peekvalue(2) f_3 = frame.peekvalue(3) frame.dropvalues(dropvalues) return code.fastcall_4(self.space, self, f_3, f_2, f_1, f_0) elif (nargs | Code.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) > return self._flat_pycall(code, nargs, frame, dropvalues) interpreter/function.py:174: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = code = nargs = 0 frame = at line 3 dropvalues = 2 @jit.unroll_safe def _flat_pycall(self, code, nargs, frame, dropvalues): # code is a PyCode new_frame = self.space.createframe(code, self.w_func_globals, self) for i in xrange(nargs): new_frame.locals_cells_stack_w[i] = frame.peekvalue(nargs-1-i) frame.dropvalues(dropvalues) > return new_frame.run() interpreter/function.py:201: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 3108 def run(self): """Start this frame's execution.""" if self.getcode().co_flags & pycode.CO_GENERATOR: from pypy.interpreter.generator import GeneratorIterator return GeneratorIterator(self) else: > return self.execute_frame() interpreter/pyframe.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 3108 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:290: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 3108 e = SyntaxError("Non-ASCII character '\\xe2' in file /build_dir/own-linux-x86-32/b..., ('/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py', 423, 0, None)) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:943: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 3108 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:286: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 3108 pycode = next_instr = 52 ec = def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 3108 co_code = 't\x00\x00t\x01\x00d\x01\x00\x83\x01\x00\x83\x01\x00}\x00\x00t\x02\x00|\x00\x00d\x00\x00\x83\x02\x00}\x01\x00g\x00\x00...d\x00|\x06\x00\x1et\x05\x00d\x05\x00|\x03\x00\x16\x83\x01\x00k\x02\x00s\xbd\x00t\n\x00\x82\x01\x00q\x8d\x00Wd\x00\x00S' next_instr = 52 ec = def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 3108 co_code = 't\x00\x00t\x01\x00d\x01\x00\x83\x01\x00\x83\x01\x00}\x00\x00t\x02\x00|\x00\x00d\x00\x00\x83\x02\x00}\x01\x00g\x00\x00...d\x00|\x06\x00\x1et\x05\x00d\x05\x00|\x03\x00\x16\x83\x01\x00k\x02\x00s\xbd\x00t\n\x00\x82\x01\x00q\x8d\x00Wd\x00\x00S' next_instr = 124L ec = @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: self.last_instr = intmask(next_instr) if jit.we_are_jitted(): if self.debugdata: ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: ec.bytecode_trace(self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) next_instr += 1 if opcode >= HAVE_ARGUMENT: lo = ord(co_code[next_instr]) hi = ord(co_code[next_instr+1]) next_instr += 2 oparg = (hi * 256) | lo else: oparg = 0 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into a switch(). while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption lo = ord(co_code[next_instr+1]) hi = ord(co_code[next_instr+2]) next_instr += 3 oparg = (oparg * 65536) | (hi * 256) | lo if opcode == opcodedesc.RETURN_VALUE.index: if not self.blockstack_non_empty(): self.frame_finished_execution = True # for generators raise Return w_returnvalue = self.popvalue() block = self.unrollstack(SReturnValue.kind) if block is None: self.pushvalue(w_returnvalue) raise Return else: unroller = SReturnValue(w_returnvalue) next_instr = block.handle(self, unroller) return next_instr # now inside a 'finally' block elif opcode == opcodedesc.END_FINALLY.index: unroller = self.end_finally() if isinstance(unroller, SuspendedUnroller): # go on unrolling the stack block = self.unrollstack(unroller.kind) if block is None: w_result = unroller.nomoreblocks() self.pushvalue(w_result) raise Return else: next_instr = block.handle(self, unroller) return next_instr elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, ec) elif opcode == opcodedesc.BREAK_LOOP.index: next_instr = self.BREAK_LOOP(oparg, next_instr) elif opcode == opcodedesc.CONTINUE_LOOP.index: return self.CONTINUE_LOOP(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: next_instr = self.JUMP_IF_FALSE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_DEBUG.index: next_instr = self.JUMP_IF_NOT_DEBUG(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: next_instr = self.JUMP_IF_TRUE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: next_instr = self.POP_JUMP_IF_FALSE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: next_instr = self.POP_JUMP_IF_TRUE(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_DIVIDE.index: self.BINARY_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CLASS.index: self.BUILD_CLASS(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR.index: self.CALL_FUNCTION_VAR(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR_KW.index: self.CALL_FUNCTION_VAR_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: self.CALL_METHOD(oparg, next_instr) elif opcode == opcodedesc.COMPARE_OP.index: self.COMPARE_OP(oparg, next_instr) elif opcode == opcodedesc.DELETE_ATTR.index: self.DELETE_ATTR(oparg, next_instr) elif opcode == opcodedesc.DELETE_FAST.index: self.DELETE_FAST(oparg, next_instr) elif opcode == opcodedesc.DELETE_GLOBAL.index: self.DELETE_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.DELETE_NAME.index: self.DELETE_NAME(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_0.index: self.DELETE_SLICE_0(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_1.index: self.DELETE_SLICE_1(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_2.index: self.DELETE_SLICE_2(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_3.index: self.DELETE_SLICE_3(oparg, next_instr) elif opcode == opcodedesc.DELETE_SUBSCR.index: self.DELETE_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.DUP_TOP.index: self.DUP_TOP(oparg, next_instr) elif opcode == opcodedesc.DUP_TOPX.index: self.DUP_TOPX(oparg, next_instr) elif opcode == opcodedesc.EXEC_STMT.index: self.EXEC_STMT(oparg, next_instr) elif opcode == opcodedesc.GET_ITER.index: self.GET_ITER(oparg, next_instr) elif opcode == opcodedesc.IMPORT_FROM.index: self.IMPORT_FROM(oparg, next_instr) elif opcode == opcodedesc.IMPORT_NAME.index: self.IMPORT_NAME(oparg, next_instr) elif opcode == opcodedesc.IMPORT_STAR.index: self.IMPORT_STAR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_ADD.index: self.INPLACE_ADD(oparg, next_instr) elif opcode == opcodedesc.INPLACE_AND.index: self.INPLACE_AND(oparg, next_instr) elif opcode == opcodedesc.INPLACE_DIVIDE.index: self.INPLACE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_FLOOR_DIVIDE.index: self.INPLACE_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_LSHIFT.index: self.INPLACE_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MODULO.index: self.INPLACE_MODULO(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MULTIPLY.index: self.INPLACE_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.INPLACE_OR.index: self.INPLACE_OR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_POWER.index: self.INPLACE_POWER(oparg, next_instr) elif opcode == opcodedesc.INPLACE_RSHIFT.index: self.INPLACE_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_SUBTRACT.index: self.INPLACE_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_TRUE_DIVIDE.index: self.INPLACE_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_XOR.index: self.INPLACE_XOR(oparg, next_instr) elif opcode == opcodedesc.LIST_APPEND.index: self.LIST_APPEND(oparg, next_instr) elif opcode == opcodedesc.LOAD_ATTR.index: self.LOAD_ATTR(oparg, next_instr) elif opcode == opcodedesc.LOAD_CLOSURE.index: self.LOAD_CLOSURE(oparg, next_instr) elif opcode == opcodedesc.LOAD_CONST.index: self.LOAD_CONST(oparg, next_instr) elif opcode == opcodedesc.LOAD_DEREF.index: self.LOAD_DEREF(oparg, next_instr) elif opcode == opcodedesc.LOAD_FAST.index: self.LOAD_FAST(oparg, next_instr) elif opcode == opcodedesc.LOAD_GLOBAL.index: self.LOAD_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.LOAD_LOCALS.index: self.LOAD_LOCALS(oparg, next_instr) elif opcode == opcodedesc.LOAD_NAME.index: self.LOAD_NAME(oparg, next_instr) elif opcode == opcodedesc.LOOKUP_METHOD.index: > self.LOOKUP_METHOD(oparg, next_instr) interpreter/pyopcode.py:356: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = at line 3108 nameindex = 9, ignored = (124L,) MutableCell = space = StdObjSpace w_obj = def LOOKUP_METHOD(f, nameindex, *ignored): from pypy.objspace.std.typeobject import MutableCell # stack before after # -------------- --fast-method----fallback-case------------ # # w_object None # w_object => w_function w_boundmethod_or_whatever # (more stuff) (more stuff) (more stuff) # space = f.space w_obj = f.popvalue() if not jit.we_are_jitted(): # mapdict has an extra-fast version of this function if LOOKUP_METHOD_mapdict(f, nameindex, w_obj): return w_name = f.getname_w(nameindex) w_value = None w_type = space.type(w_obj) if w_type.has_object_getattribute(): name = space.text_w(w_name) # bit of a mess to use these internal functions, but it allows the # mapdict caching below to work without an additional lookup version_tag = w_type.version_tag() if version_tag is None: _, w_descr = w_type._lookup_where(name) w_descr_cell = None else: _, w_descr_cell = w_type._pure_lookup_where_with_method_cache( name, version_tag) w_descr = w_descr_cell if isinstance(w_descr, MutableCell): w_descr = w_descr.unwrap_cell(space) if w_descr is None: # this handles directly the common case # module.function(args..) > w_value = w_obj.getdictvalue(space, name) objspace/std/callmethod.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def getdictvalue(self, space, name): w_value = space.finditem_str(self.w_dict, name) if self.lazy and w_value is None: > return self._load_lazily(space, name) interpreter/mixedmodule.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def _load_lazily(self, space, name): w_name = space.new_interned_str(name) try: loader = self.loaders[name] except KeyError: return None else: > w_value = loader(space) interpreter/mixedmodule.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace def ifileloader(space): d = {'space':space} # EVIL HACK (but it works, and this is not RPython :-) while 1: try: value = eval(spec, d) except NameError as ex: name = ex.args[0].split("'")[1] # super-Evil if name in d: raise # propagate the NameError try: > d[name] = __import__(pkgroot+'.'+name, None, None, [name]) interpreter/mixedmodule.py:182: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from pypy.interpreter.gateway import unwrap_spec from pypy.interpreter.error import oefmt from rpython.rlib import rgc > from pypy.module.gc.hook import W_GcCollectStepStats module/gc/interp_gc.py:4: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from rpython.memory.gc.hook import GcHooks > from rpython.memory.gc import incminimark module/gc/hook.py:2: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ # XXX Should find a way to bound the major collection threshold by the # XXX total addressable size. Maybe by keeping some minimarkpage arenas # XXX pre-reserved, enough for a few nursery collections? What about # XXX raw-malloced memory? # XXX try merging old_objects_pointing_to_pinned into # XXX old_objects_pointing_to_young (IRC 2014-10-22, fijal and gregor_w) import sys import os import time from rpython.rtyper.lltypesystem import lltype, llmemory, llarena, llgroup from rpython.rtyper.lltypesystem.lloperation import llop from rpython.rtyper.lltypesystem.llmemory import raw_malloc_usage from rpython.memory.gc.base import GCBase, MovingGCBase > from rpython.memory.gc import env E File "/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py", line 423 E SyntaxError: Non-ASCII character '\xe2' in file /build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py on line 423, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details ../rpython/memory/gc/incminimark.py:70: SyntaxError . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_slice . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_slice_ptr . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_slice_array_checkbounds . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_nonstandard_slice . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_setslice . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_setslice_array . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_cdata_name_module_doc . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_different_types_of_ptr_equality F pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_new_handle self = func = at 0xf3bb98b4>, 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, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 0xf7a2a32c> hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf69c668c>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf69c668c>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf4855dcc> 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 0xf4855dcc> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf48556ac> 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 0xf48556ac> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def runtest(self): target = self.obj if self.config.option.runappdirect: return target() space = target.im_self.space filename = self._getdynfilename(target) func = app2interp_temp(target.im_func, filename=filename) w_instance = self.parent.w_instance > self.execute_appex(space, func, space, w_instance) tool/pytest/apptest.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , space = StdObjSpace target = args = (StdObjSpace, ) def execute_appex(self, space, target, *args): self.space = space try: > target(*args) tool/pytest/apptest.py:30: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace args_w = (,) w_func = args = def appcaller(space, *args_w): if not isinstance(space, ObjSpace): raise TypeError("first argument must be a space instance.") # the last argument can be an Arguments w_func = self.wget(space, name) if not args_w: return space.call_function(w_func) else: args = args_w[-1] assert args is not None if not isinstance(args, Arguments): > return space.call_function(w_func, *args_w) interpreter/gateway.py:1227: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = args_w = (,) nargs = 1, Function = Method = def call_function(self, w_func, *args_w): nargs = len(args_w) # used for pruning funccall versions if not self.config.objspace.disable_call_speedhacks and nargs < 5: # start of hack for performance from pypy.interpreter.function import Function, Method if isinstance(w_func, Method): w_inst = w_func.w_instance if w_inst is not None: if nargs < 4: func = w_func.w_function if isinstance(func, Function): return func.funccall(w_inst, *args_w) elif args_w and ( self.abstract_isinstance_w(args_w[0], w_func.w_class)): w_func = w_func.w_function if isinstance(w_func, Function): > return w_func.funccall(*args_w) interpreter/baseobjspace.py:1210: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = args_w = (,) gateway = PyCode = code = def funccall(self, *args_w): # speed hack from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit nargs = len(args_w) fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, args_w[0]) elif nargs == 2: assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, args_w[0], args_w[1]) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) return code.fastcall_3(self.space, self, args_w[0], args_w[1], args_w[2]) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) return code.fastcall_4(self.space, self, args_w[0], args_w[1], args_w[2], args_w[3]) elif (nargs | PyCode.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) if nargs < 5: new_frame = self.space.createframe(code, self.w_func_globals, self) for i in funccallunrolling: if i < nargs: new_frame.locals_cells_stack_w[i] = args_w[i] > return new_frame.run() interpreter/function.py:118: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 3 def run(self): """Start this frame's execution.""" if self.getcode().co_flags & pycode.CO_GENERATOR: from pypy.interpreter.generator import GeneratorIterator return GeneratorIterator(self) else: > return self.execute_frame() interpreter/pyframe.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 3 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:290: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 3 e = SyntaxError("Non-ASCII character '\\xe2' in file /build_dir/own-linux-x86-32/b..., ('/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py', 423, 0, None)) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:943: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 3 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:286: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 3 pycode = next_instr = 0L ec = def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 3 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x01\x00|\x01\x00\xc9\x01\x00\xca\x00\x00\x01d\x00\x00S' next_instr = 0L ec = def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 3 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x01\x00|\x01\x00\xc9\x01\x00\xca\x00\x00\x01d\x00\x00S' next_instr = 21L ec = @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: self.last_instr = intmask(next_instr) if jit.we_are_jitted(): if self.debugdata: ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: ec.bytecode_trace(self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) next_instr += 1 if opcode >= HAVE_ARGUMENT: lo = ord(co_code[next_instr]) hi = ord(co_code[next_instr+1]) next_instr += 2 oparg = (hi * 256) | lo else: oparg = 0 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into a switch(). while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption lo = ord(co_code[next_instr+1]) hi = ord(co_code[next_instr+2]) next_instr += 3 oparg = (oparg * 65536) | (hi * 256) | lo if opcode == opcodedesc.RETURN_VALUE.index: if not self.blockstack_non_empty(): self.frame_finished_execution = True # for generators raise Return w_returnvalue = self.popvalue() block = self.unrollstack(SReturnValue.kind) if block is None: self.pushvalue(w_returnvalue) raise Return else: unroller = SReturnValue(w_returnvalue) next_instr = block.handle(self, unroller) return next_instr # now inside a 'finally' block elif opcode == opcodedesc.END_FINALLY.index: unroller = self.end_finally() if isinstance(unroller, SuspendedUnroller): # go on unrolling the stack block = self.unrollstack(unroller.kind) if block is None: w_result = unroller.nomoreblocks() self.pushvalue(w_result) raise Return else: next_instr = block.handle(self, unroller) return next_instr elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, ec) elif opcode == opcodedesc.BREAK_LOOP.index: next_instr = self.BREAK_LOOP(oparg, next_instr) elif opcode == opcodedesc.CONTINUE_LOOP.index: return self.CONTINUE_LOOP(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: next_instr = self.JUMP_IF_FALSE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_DEBUG.index: next_instr = self.JUMP_IF_NOT_DEBUG(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: next_instr = self.JUMP_IF_TRUE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: next_instr = self.POP_JUMP_IF_FALSE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: next_instr = self.POP_JUMP_IF_TRUE(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_DIVIDE.index: self.BINARY_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CLASS.index: self.BUILD_CLASS(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR.index: self.CALL_FUNCTION_VAR(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR_KW.index: self.CALL_FUNCTION_VAR_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: > self.CALL_METHOD(oparg, next_instr) interpreter/pyopcode.py:276: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = at line 3 oparg = 0, ignored = (21L,), n_args = 0, n_kwargs = 0, w_self = None @jit.unroll_safe def CALL_METHOD(f, oparg, *ignored): # opargs contains the arg, and kwarg count, excluding the implicit 'self' n_args = oparg & 0xff n_kwargs = (oparg >> 8) & 0xff w_self = f.peekvalue_maybe_none(n_args + (2 * n_kwargs)) n = n_args + (w_self is not None) if not n_kwargs: w_callable = f.peekvalue(n_args + (2 * n_kwargs) + 1) w_result = f.space.call_valuestack( > w_callable, n, f, methodcall=w_self is not None, dropvalues=n_args + 2) objspace/std/callmethod.py:96: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = , nargs = 0 frame = at line 3 dropvalues = 2, methodcall = False def call_valuestack(self, w_func, nargs, frame, dropvalues, methodcall=False): # methodcall is only used for better error messages in argument.py from pypy.interpreter.function import Function, Method, is_builtin_code if frame.get_is_being_profiled() and is_builtin_code(w_func): # XXX: this code is copied&pasted :-( from the slow path below # call_valuestack(). args = frame.make_arguments(nargs) frame.dropvalues(dropvalues) return self.call_args_and_c_profile(frame, w_func, args) if not self.config.objspace.disable_call_speedhacks: # start of hack for performance if isinstance(w_func, Method): w_inst = w_func.w_instance if w_inst is not None: w_func = w_func.w_function # reuse callable stack place for w_inst frame.settopvalue(w_inst, nargs) nargs += 1 methodcall = True elif nargs > 0 and ( self.abstract_isinstance_w(frame.peekvalue(nargs-1), # :-( w_func.w_class)): w_func = w_func.w_function if isinstance(w_func, Function): return w_func.funccall_valuestack( > nargs, frame, methodcall=methodcall, dropvalues=dropvalues) interpreter/baseobjspace.py:1243: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , nargs = 0 frame = at line 3 dropvalues = 2, methodcall = False def funccall_valuestack(self, nargs, frame, dropvalues, methodcall=False): # speed hack # methodcall is only for better error messages from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit # if (jit.we_are_jitted() and code is self.space._code_of_sys_exc_info and nargs == 0): frame.dropvalues(dropvalues) from pypy.module.sys.vm import exc_info_direct return exc_info_direct(self.space, frame) # fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: f_0 = frame.peekvalue(0) frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, f_0) elif nargs == 2: f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, f_1, f_0) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) f_2 = frame.peekvalue(2) frame.dropvalues(dropvalues) return code.fastcall_3(self.space, self, f_2, f_1, f_0) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) f_2 = frame.peekvalue(2) f_3 = frame.peekvalue(3) frame.dropvalues(dropvalues) return code.fastcall_4(self.space, self, f_3, f_2, f_1, f_0) elif (nargs | Code.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) > return self._flat_pycall(code, nargs, frame, dropvalues) interpreter/function.py:174: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = code = nargs = 0 frame = at line 3 dropvalues = 2 @jit.unroll_safe def _flat_pycall(self, code, nargs, frame, dropvalues): # code is a PyCode new_frame = self.space.createframe(code, self.w_func_globals, self) for i in xrange(nargs): new_frame.locals_cells_stack_w[i] = frame.peekvalue(nargs-1-i) frame.dropvalues(dropvalues) > return new_frame.run() interpreter/function.py:201: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 3237 def run(self): """Start this frame's execution.""" if self.getcode().co_flags & pycode.CO_GENERATOR: from pypy.interpreter.generator import GeneratorIterator return GeneratorIterator(self) else: > return self.execute_frame() interpreter/pyframe.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 3237 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:290: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 3237 e = SyntaxError("Non-ASCII character '\\xe2' in file /build_dir/own-linux-x86-32/b..., ('/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py', 423, 0, None)) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:943: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 3237 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:286: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 3237 pycode = next_instr = 0L ec = def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 3237 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x00\x00t\x01\x00t\x02\x00\x83\x00\x00\x83\x01\x00}\x01\x00t\x01\x00t\x03\x00d\x02\x00\x8...07\x00\x82\x01\x00t\x0e\x00\xc9\x0f\x00t\x10\x00t\x08\x00t\t\x00|\x02\x00d\n\x00\x83\x02\x00\xca\x03\x00\x01d\x00\x00S' next_instr = 0L ec = def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 3237 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x00\x00t\x01\x00t\x02\x00\x83\x00\x00\x83\x01\x00}\x01\x00t\x01\x00t\x03\x00d\x02\x00\x8...07\x00\x82\x01\x00t\x0e\x00\xc9\x0f\x00t\x10\x00t\x08\x00t\t\x00|\x02\x00d\n\x00\x83\x02\x00\xca\x03\x00\x01d\x00\x00S' next_instr = 244L ec = @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: self.last_instr = intmask(next_instr) if jit.we_are_jitted(): if self.debugdata: ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: ec.bytecode_trace(self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) next_instr += 1 if opcode >= HAVE_ARGUMENT: lo = ord(co_code[next_instr]) hi = ord(co_code[next_instr+1]) next_instr += 2 oparg = (hi * 256) | lo else: oparg = 0 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into a switch(). while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption lo = ord(co_code[next_instr+1]) hi = ord(co_code[next_instr+2]) next_instr += 3 oparg = (oparg * 65536) | (hi * 256) | lo if opcode == opcodedesc.RETURN_VALUE.index: if not self.blockstack_non_empty(): self.frame_finished_execution = True # for generators raise Return w_returnvalue = self.popvalue() block = self.unrollstack(SReturnValue.kind) if block is None: self.pushvalue(w_returnvalue) raise Return else: unroller = SReturnValue(w_returnvalue) next_instr = block.handle(self, unroller) return next_instr # now inside a 'finally' block elif opcode == opcodedesc.END_FINALLY.index: unroller = self.end_finally() if isinstance(unroller, SuspendedUnroller): # go on unrolling the stack block = self.unrollstack(unroller.kind) if block is None: w_result = unroller.nomoreblocks() self.pushvalue(w_result) raise Return else: next_instr = block.handle(self, unroller) return next_instr elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, ec) elif opcode == opcodedesc.BREAK_LOOP.index: next_instr = self.BREAK_LOOP(oparg, next_instr) elif opcode == opcodedesc.CONTINUE_LOOP.index: return self.CONTINUE_LOOP(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: next_instr = self.JUMP_IF_FALSE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_DEBUG.index: next_instr = self.JUMP_IF_NOT_DEBUG(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: next_instr = self.JUMP_IF_TRUE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: next_instr = self.POP_JUMP_IF_FALSE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: next_instr = self.POP_JUMP_IF_TRUE(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_DIVIDE.index: self.BINARY_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CLASS.index: self.BUILD_CLASS(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR.index: self.CALL_FUNCTION_VAR(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR_KW.index: self.CALL_FUNCTION_VAR_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: self.CALL_METHOD(oparg, next_instr) elif opcode == opcodedesc.COMPARE_OP.index: self.COMPARE_OP(oparg, next_instr) elif opcode == opcodedesc.DELETE_ATTR.index: self.DELETE_ATTR(oparg, next_instr) elif opcode == opcodedesc.DELETE_FAST.index: self.DELETE_FAST(oparg, next_instr) elif opcode == opcodedesc.DELETE_GLOBAL.index: self.DELETE_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.DELETE_NAME.index: self.DELETE_NAME(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_0.index: self.DELETE_SLICE_0(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_1.index: self.DELETE_SLICE_1(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_2.index: self.DELETE_SLICE_2(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_3.index: self.DELETE_SLICE_3(oparg, next_instr) elif opcode == opcodedesc.DELETE_SUBSCR.index: self.DELETE_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.DUP_TOP.index: self.DUP_TOP(oparg, next_instr) elif opcode == opcodedesc.DUP_TOPX.index: self.DUP_TOPX(oparg, next_instr) elif opcode == opcodedesc.EXEC_STMT.index: self.EXEC_STMT(oparg, next_instr) elif opcode == opcodedesc.GET_ITER.index: self.GET_ITER(oparg, next_instr) elif opcode == opcodedesc.IMPORT_FROM.index: self.IMPORT_FROM(oparg, next_instr) elif opcode == opcodedesc.IMPORT_NAME.index: self.IMPORT_NAME(oparg, next_instr) elif opcode == opcodedesc.IMPORT_STAR.index: self.IMPORT_STAR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_ADD.index: self.INPLACE_ADD(oparg, next_instr) elif opcode == opcodedesc.INPLACE_AND.index: self.INPLACE_AND(oparg, next_instr) elif opcode == opcodedesc.INPLACE_DIVIDE.index: self.INPLACE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_FLOOR_DIVIDE.index: self.INPLACE_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_LSHIFT.index: self.INPLACE_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MODULO.index: self.INPLACE_MODULO(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MULTIPLY.index: self.INPLACE_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.INPLACE_OR.index: self.INPLACE_OR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_POWER.index: self.INPLACE_POWER(oparg, next_instr) elif opcode == opcodedesc.INPLACE_RSHIFT.index: self.INPLACE_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_SUBTRACT.index: self.INPLACE_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_TRUE_DIVIDE.index: self.INPLACE_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_XOR.index: self.INPLACE_XOR(oparg, next_instr) elif opcode == opcodedesc.LIST_APPEND.index: self.LIST_APPEND(oparg, next_instr) elif opcode == opcodedesc.LOAD_ATTR.index: self.LOAD_ATTR(oparg, next_instr) elif opcode == opcodedesc.LOAD_CLOSURE.index: self.LOAD_CLOSURE(oparg, next_instr) elif opcode == opcodedesc.LOAD_CONST.index: self.LOAD_CONST(oparg, next_instr) elif opcode == opcodedesc.LOAD_DEREF.index: self.LOAD_DEREF(oparg, next_instr) elif opcode == opcodedesc.LOAD_FAST.index: self.LOAD_FAST(oparg, next_instr) elif opcode == opcodedesc.LOAD_GLOBAL.index: self.LOAD_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.LOAD_LOCALS.index: self.LOAD_LOCALS(oparg, next_instr) elif opcode == opcodedesc.LOAD_NAME.index: self.LOAD_NAME(oparg, next_instr) elif opcode == opcodedesc.LOOKUP_METHOD.index: > self.LOOKUP_METHOD(oparg, next_instr) interpreter/pyopcode.py:356: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = at line 3237 nameindex = 12, ignored = (244L,) MutableCell = space = StdObjSpace w_obj = def LOOKUP_METHOD(f, nameindex, *ignored): from pypy.objspace.std.typeobject import MutableCell # stack before after # -------------- --fast-method----fallback-case------------ # # w_object None # w_object => w_function w_boundmethod_or_whatever # (more stuff) (more stuff) (more stuff) # space = f.space w_obj = f.popvalue() if not jit.we_are_jitted(): # mapdict has an extra-fast version of this function if LOOKUP_METHOD_mapdict(f, nameindex, w_obj): return w_name = f.getname_w(nameindex) w_value = None w_type = space.type(w_obj) if w_type.has_object_getattribute(): name = space.text_w(w_name) # bit of a mess to use these internal functions, but it allows the # mapdict caching below to work without an additional lookup version_tag = w_type.version_tag() if version_tag is None: _, w_descr = w_type._lookup_where(name) w_descr_cell = None else: _, w_descr_cell = w_type._pure_lookup_where_with_method_cache( name, version_tag) w_descr = w_descr_cell if isinstance(w_descr, MutableCell): w_descr = w_descr.unwrap_cell(space) if w_descr is None: # this handles directly the common case # module.function(args..) > w_value = w_obj.getdictvalue(space, name) objspace/std/callmethod.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def getdictvalue(self, space, name): w_value = space.finditem_str(self.w_dict, name) if self.lazy and w_value is None: > return self._load_lazily(space, name) interpreter/mixedmodule.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def _load_lazily(self, space, name): w_name = space.new_interned_str(name) try: loader = self.loaders[name] except KeyError: return None else: > w_value = loader(space) interpreter/mixedmodule.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace def ifileloader(space): d = {'space':space} # EVIL HACK (but it works, and this is not RPython :-) while 1: try: value = eval(spec, d) except NameError as ex: name = ex.args[0].split("'")[1] # super-Evil if name in d: raise # propagate the NameError try: > d[name] = __import__(pkgroot+'.'+name, None, None, [name]) interpreter/mixedmodule.py:182: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from pypy.interpreter.gateway import unwrap_spec from pypy.interpreter.error import oefmt from rpython.rlib import rgc > from pypy.module.gc.hook import W_GcCollectStepStats module/gc/interp_gc.py:4: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from rpython.memory.gc.hook import GcHooks > from rpython.memory.gc import incminimark module/gc/hook.py:2: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ # XXX Should find a way to bound the major collection threshold by the # XXX total addressable size. Maybe by keeping some minimarkpage arenas # XXX pre-reserved, enough for a few nursery collections? What about # XXX raw-malloced memory? # XXX try merging old_objects_pointing_to_pinned into # XXX old_objects_pointing_to_young (IRC 2014-10-22, fijal and gregor_w) import sys import os import time from rpython.rtyper.lltypesystem import lltype, llmemory, llarena, llgroup from rpython.rtyper.lltypesystem.lloperation import llop from rpython.rtyper.lltypesystem.llmemory import raw_malloc_usage from rpython.memory.gc.base import GCBase, MovingGCBase > from rpython.memory.gc import env E File "/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py", line 423 E SyntaxError: Non-ASCII character '\xe2' in file /build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py on line 423, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details ../rpython/memory/gc/incminimark.py:70: SyntaxError F pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_new_handle_cycle self = func = at 0xf3c5c2cc>, 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, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 0xf7a2a32c> hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf69c668c>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf69c668c>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf4a2586c> 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 0xf4a2586c> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf4a2532c> 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 0xf4a2532c> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def runtest(self): target = self.obj if self.config.option.runappdirect: return target() space = target.im_self.space filename = self._getdynfilename(target) func = app2interp_temp(target.im_func, filename=filename) w_instance = self.parent.w_instance > self.execute_appex(space, func, space, w_instance) tool/pytest/apptest.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , space = StdObjSpace target = args = (StdObjSpace, ) def execute_appex(self, space, target, *args): self.space = space try: > target(*args) tool/pytest/apptest.py:30: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace args_w = (,) w_func = args = def appcaller(space, *args_w): if not isinstance(space, ObjSpace): raise TypeError("first argument must be a space instance.") # the last argument can be an Arguments w_func = self.wget(space, name) if not args_w: return space.call_function(w_func) else: args = args_w[-1] assert args is not None if not isinstance(args, Arguments): > return space.call_function(w_func, *args_w) interpreter/gateway.py:1227: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = args_w = (,) nargs = 1, Function = Method = def call_function(self, w_func, *args_w): nargs = len(args_w) # used for pruning funccall versions if not self.config.objspace.disable_call_speedhacks and nargs < 5: # start of hack for performance from pypy.interpreter.function import Function, Method if isinstance(w_func, Method): w_inst = w_func.w_instance if w_inst is not None: if nargs < 4: func = w_func.w_function if isinstance(func, Function): return func.funccall(w_inst, *args_w) elif args_w and ( self.abstract_isinstance_w(args_w[0], w_func.w_class)): w_func = w_func.w_function if isinstance(w_func, Function): > return w_func.funccall(*args_w) interpreter/baseobjspace.py:1210: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = args_w = (,) gateway = PyCode = code = def funccall(self, *args_w): # speed hack from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit nargs = len(args_w) fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, args_w[0]) elif nargs == 2: assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, args_w[0], args_w[1]) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) return code.fastcall_3(self.space, self, args_w[0], args_w[1], args_w[2]) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) return code.fastcall_4(self.space, self, args_w[0], args_w[1], args_w[2], args_w[3]) elif (nargs | PyCode.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) if nargs < 5: new_frame = self.space.createframe(code, self.w_func_globals, self) for i in funccallunrolling: if i < nargs: new_frame.locals_cells_stack_w[i] = args_w[i] > return new_frame.run() interpreter/function.py:118: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 3 def run(self): """Start this frame's execution.""" if self.getcode().co_flags & pycode.CO_GENERATOR: from pypy.interpreter.generator import GeneratorIterator return GeneratorIterator(self) else: > return self.execute_frame() interpreter/pyframe.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 3 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:290: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 3 e = SyntaxError("Non-ASCII character '\\xe2' in file /build_dir/own-linux-x86-32/b..., ('/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py', 423, 0, None)) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:943: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 3 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:286: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 3 pycode = next_instr = 0L ec = def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 3 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x01\x00|\x01\x00\xc9\x01\x00\xca\x00\x00\x01d\x00\x00S' next_instr = 0L ec = def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 3 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x01\x00|\x01\x00\xc9\x01\x00\xca\x00\x00\x01d\x00\x00S' next_instr = 21L ec = @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: self.last_instr = intmask(next_instr) if jit.we_are_jitted(): if self.debugdata: ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: ec.bytecode_trace(self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) next_instr += 1 if opcode >= HAVE_ARGUMENT: lo = ord(co_code[next_instr]) hi = ord(co_code[next_instr+1]) next_instr += 2 oparg = (hi * 256) | lo else: oparg = 0 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into a switch(). while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption lo = ord(co_code[next_instr+1]) hi = ord(co_code[next_instr+2]) next_instr += 3 oparg = (oparg * 65536) | (hi * 256) | lo if opcode == opcodedesc.RETURN_VALUE.index: if not self.blockstack_non_empty(): self.frame_finished_execution = True # for generators raise Return w_returnvalue = self.popvalue() block = self.unrollstack(SReturnValue.kind) if block is None: self.pushvalue(w_returnvalue) raise Return else: unroller = SReturnValue(w_returnvalue) next_instr = block.handle(self, unroller) return next_instr # now inside a 'finally' block elif opcode == opcodedesc.END_FINALLY.index: unroller = self.end_finally() if isinstance(unroller, SuspendedUnroller): # go on unrolling the stack block = self.unrollstack(unroller.kind) if block is None: w_result = unroller.nomoreblocks() self.pushvalue(w_result) raise Return else: next_instr = block.handle(self, unroller) return next_instr elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, ec) elif opcode == opcodedesc.BREAK_LOOP.index: next_instr = self.BREAK_LOOP(oparg, next_instr) elif opcode == opcodedesc.CONTINUE_LOOP.index: return self.CONTINUE_LOOP(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: next_instr = self.JUMP_IF_FALSE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_DEBUG.index: next_instr = self.JUMP_IF_NOT_DEBUG(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: next_instr = self.JUMP_IF_TRUE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: next_instr = self.POP_JUMP_IF_FALSE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: next_instr = self.POP_JUMP_IF_TRUE(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_DIVIDE.index: self.BINARY_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CLASS.index: self.BUILD_CLASS(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR.index: self.CALL_FUNCTION_VAR(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR_KW.index: self.CALL_FUNCTION_VAR_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: > self.CALL_METHOD(oparg, next_instr) interpreter/pyopcode.py:276: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = at line 3 oparg = 0, ignored = (21L,), n_args = 0, n_kwargs = 0, w_self = None @jit.unroll_safe def CALL_METHOD(f, oparg, *ignored): # opargs contains the arg, and kwarg count, excluding the implicit 'self' n_args = oparg & 0xff n_kwargs = (oparg >> 8) & 0xff w_self = f.peekvalue_maybe_none(n_args + (2 * n_kwargs)) n = n_args + (w_self is not None) if not n_kwargs: w_callable = f.peekvalue(n_args + (2 * n_kwargs) + 1) w_result = f.space.call_valuestack( > w_callable, n, f, methodcall=w_self is not None, dropvalues=n_args + 2) objspace/std/callmethod.py:96: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = , nargs = 0 frame = at line 3 dropvalues = 2, methodcall = False def call_valuestack(self, w_func, nargs, frame, dropvalues, methodcall=False): # methodcall is only used for better error messages in argument.py from pypy.interpreter.function import Function, Method, is_builtin_code if frame.get_is_being_profiled() and is_builtin_code(w_func): # XXX: this code is copied&pasted :-( from the slow path below # call_valuestack(). args = frame.make_arguments(nargs) frame.dropvalues(dropvalues) return self.call_args_and_c_profile(frame, w_func, args) if not self.config.objspace.disable_call_speedhacks: # start of hack for performance if isinstance(w_func, Method): w_inst = w_func.w_instance if w_inst is not None: w_func = w_func.w_function # reuse callable stack place for w_inst frame.settopvalue(w_inst, nargs) nargs += 1 methodcall = True elif nargs > 0 and ( self.abstract_isinstance_w(frame.peekvalue(nargs-1), # :-( w_func.w_class)): w_func = w_func.w_function if isinstance(w_func, Function): return w_func.funccall_valuestack( > nargs, frame, methodcall=methodcall, dropvalues=dropvalues) interpreter/baseobjspace.py:1243: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , nargs = 0 frame = at line 3 dropvalues = 2, methodcall = False def funccall_valuestack(self, nargs, frame, dropvalues, methodcall=False): # speed hack # methodcall is only for better error messages from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit # if (jit.we_are_jitted() and code is self.space._code_of_sys_exc_info and nargs == 0): frame.dropvalues(dropvalues) from pypy.module.sys.vm import exc_info_direct return exc_info_direct(self.space, frame) # fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: f_0 = frame.peekvalue(0) frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, f_0) elif nargs == 2: f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, f_1, f_0) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) f_2 = frame.peekvalue(2) frame.dropvalues(dropvalues) return code.fastcall_3(self.space, self, f_2, f_1, f_0) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) f_2 = frame.peekvalue(2) f_3 = frame.peekvalue(3) frame.dropvalues(dropvalues) return code.fastcall_4(self.space, self, f_3, f_2, f_1, f_0) elif (nargs | Code.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) > return self._flat_pycall(code, nargs, frame, dropvalues) interpreter/function.py:174: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = code = nargs = 0 frame = at line 3 dropvalues = 2 @jit.unroll_safe def _flat_pycall(self, code, nargs, frame, dropvalues): # code is a PyCode new_frame = self.space.createframe(code, self.w_func_globals, self) for i in xrange(nargs): new_frame.locals_cells_stack_w[i] = frame.peekvalue(nargs-1-i) frame.dropvalues(dropvalues) > return new_frame.run() interpreter/function.py:201: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 3259 def run(self): """Start this frame's execution.""" if self.getcode().co_flags & pycode.CO_GENERATOR: from pypy.interpreter.generator import GeneratorIterator return GeneratorIterator(self) else: > return self.execute_frame() interpreter/pyframe.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 3259 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:290: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 3259 e = SyntaxError("Non-ASCII character '\\xe2' in file /build_dir/own-linux-x86-32/b..., ('/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py', 423, 0, None)) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:943: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 3259 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:286: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 3259 pycode = next_instr = 0L ec = def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 3259 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x00\x00t\x01\x00t\x02\x00\x83\x00\x00\x83\x01\x00}\x01\x00d\x02\x00t\x03\x00f\x01\x00d\x...\xca\x00\x00\x01qk\x00qk\x00W\xcc\x15\x00|\x04\x00\x83\x00\x00d\x00\x00k\x08\x00s\xb5\x00t\n\x00\x82\x01\x00d\x00\x00S' next_instr = 0L ec = def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 3259 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x00\x00t\x01\x00t\x02\x00\x83\x00\x00\x83\x01\x00}\x01\x00d\x02\x00t\x03\x00f\x01\x00d\x...\xca\x00\x00\x01qk\x00qk\x00W\xcc\x15\x00|\x04\x00\x83\x00\x00d\x00\x00k\x08\x00s\xb5\x00t\n\x00\x82\x01\x00d\x00\x00S' next_instr = 146L ec = @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: self.last_instr = intmask(next_instr) if jit.we_are_jitted(): if self.debugdata: ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: ec.bytecode_trace(self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) next_instr += 1 if opcode >= HAVE_ARGUMENT: lo = ord(co_code[next_instr]) hi = ord(co_code[next_instr+1]) next_instr += 2 oparg = (hi * 256) | lo else: oparg = 0 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into a switch(). while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption lo = ord(co_code[next_instr+1]) hi = ord(co_code[next_instr+2]) next_instr += 3 oparg = (oparg * 65536) | (hi * 256) | lo if opcode == opcodedesc.RETURN_VALUE.index: if not self.blockstack_non_empty(): self.frame_finished_execution = True # for generators raise Return w_returnvalue = self.popvalue() block = self.unrollstack(SReturnValue.kind) if block is None: self.pushvalue(w_returnvalue) raise Return else: unroller = SReturnValue(w_returnvalue) next_instr = block.handle(self, unroller) return next_instr # now inside a 'finally' block elif opcode == opcodedesc.END_FINALLY.index: unroller = self.end_finally() if isinstance(unroller, SuspendedUnroller): # go on unrolling the stack block = self.unrollstack(unroller.kind) if block is None: w_result = unroller.nomoreblocks() self.pushvalue(w_result) raise Return else: next_instr = block.handle(self, unroller) return next_instr elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, ec) elif opcode == opcodedesc.BREAK_LOOP.index: next_instr = self.BREAK_LOOP(oparg, next_instr) elif opcode == opcodedesc.CONTINUE_LOOP.index: return self.CONTINUE_LOOP(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: next_instr = self.JUMP_IF_FALSE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_DEBUG.index: next_instr = self.JUMP_IF_NOT_DEBUG(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: next_instr = self.JUMP_IF_TRUE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: next_instr = self.POP_JUMP_IF_FALSE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: next_instr = self.POP_JUMP_IF_TRUE(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_DIVIDE.index: self.BINARY_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CLASS.index: self.BUILD_CLASS(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR.index: self.CALL_FUNCTION_VAR(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR_KW.index: self.CALL_FUNCTION_VAR_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: self.CALL_METHOD(oparg, next_instr) elif opcode == opcodedesc.COMPARE_OP.index: self.COMPARE_OP(oparg, next_instr) elif opcode == opcodedesc.DELETE_ATTR.index: self.DELETE_ATTR(oparg, next_instr) elif opcode == opcodedesc.DELETE_FAST.index: self.DELETE_FAST(oparg, next_instr) elif opcode == opcodedesc.DELETE_GLOBAL.index: self.DELETE_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.DELETE_NAME.index: self.DELETE_NAME(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_0.index: self.DELETE_SLICE_0(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_1.index: self.DELETE_SLICE_1(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_2.index: self.DELETE_SLICE_2(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_3.index: self.DELETE_SLICE_3(oparg, next_instr) elif opcode == opcodedesc.DELETE_SUBSCR.index: self.DELETE_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.DUP_TOP.index: self.DUP_TOP(oparg, next_instr) elif opcode == opcodedesc.DUP_TOPX.index: self.DUP_TOPX(oparg, next_instr) elif opcode == opcodedesc.EXEC_STMT.index: self.EXEC_STMT(oparg, next_instr) elif opcode == opcodedesc.GET_ITER.index: self.GET_ITER(oparg, next_instr) elif opcode == opcodedesc.IMPORT_FROM.index: self.IMPORT_FROM(oparg, next_instr) elif opcode == opcodedesc.IMPORT_NAME.index: self.IMPORT_NAME(oparg, next_instr) elif opcode == opcodedesc.IMPORT_STAR.index: self.IMPORT_STAR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_ADD.index: self.INPLACE_ADD(oparg, next_instr) elif opcode == opcodedesc.INPLACE_AND.index: self.INPLACE_AND(oparg, next_instr) elif opcode == opcodedesc.INPLACE_DIVIDE.index: self.INPLACE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_FLOOR_DIVIDE.index: self.INPLACE_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_LSHIFT.index: self.INPLACE_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MODULO.index: self.INPLACE_MODULO(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MULTIPLY.index: self.INPLACE_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.INPLACE_OR.index: self.INPLACE_OR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_POWER.index: self.INPLACE_POWER(oparg, next_instr) elif opcode == opcodedesc.INPLACE_RSHIFT.index: self.INPLACE_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_SUBTRACT.index: self.INPLACE_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_TRUE_DIVIDE.index: self.INPLACE_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_XOR.index: self.INPLACE_XOR(oparg, next_instr) elif opcode == opcodedesc.LIST_APPEND.index: self.LIST_APPEND(oparg, next_instr) elif opcode == opcodedesc.LOAD_ATTR.index: self.LOAD_ATTR(oparg, next_instr) elif opcode == opcodedesc.LOAD_CLOSURE.index: self.LOAD_CLOSURE(oparg, next_instr) elif opcode == opcodedesc.LOAD_CONST.index: self.LOAD_CONST(oparg, next_instr) elif opcode == opcodedesc.LOAD_DEREF.index: self.LOAD_DEREF(oparg, next_instr) elif opcode == opcodedesc.LOAD_FAST.index: self.LOAD_FAST(oparg, next_instr) elif opcode == opcodedesc.LOAD_GLOBAL.index: self.LOAD_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.LOAD_LOCALS.index: self.LOAD_LOCALS(oparg, next_instr) elif opcode == opcodedesc.LOAD_NAME.index: self.LOAD_NAME(oparg, next_instr) elif opcode == opcodedesc.LOOKUP_METHOD.index: > self.LOOKUP_METHOD(oparg, next_instr) interpreter/pyopcode.py:356: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = at line 3259 nameindex = 9, ignored = (146L,) MutableCell = space = StdObjSpace w_obj = def LOOKUP_METHOD(f, nameindex, *ignored): from pypy.objspace.std.typeobject import MutableCell # stack before after # -------------- --fast-method----fallback-case------------ # # w_object None # w_object => w_function w_boundmethod_or_whatever # (more stuff) (more stuff) (more stuff) # space = f.space w_obj = f.popvalue() if not jit.we_are_jitted(): # mapdict has an extra-fast version of this function if LOOKUP_METHOD_mapdict(f, nameindex, w_obj): return w_name = f.getname_w(nameindex) w_value = None w_type = space.type(w_obj) if w_type.has_object_getattribute(): name = space.text_w(w_name) # bit of a mess to use these internal functions, but it allows the # mapdict caching below to work without an additional lookup version_tag = w_type.version_tag() if version_tag is None: _, w_descr = w_type._lookup_where(name) w_descr_cell = None else: _, w_descr_cell = w_type._pure_lookup_where_with_method_cache( name, version_tag) w_descr = w_descr_cell if isinstance(w_descr, MutableCell): w_descr = w_descr.unwrap_cell(space) if w_descr is None: # this handles directly the common case # module.function(args..) > w_value = w_obj.getdictvalue(space, name) objspace/std/callmethod.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def getdictvalue(self, space, name): w_value = space.finditem_str(self.w_dict, name) if self.lazy and w_value is None: > return self._load_lazily(space, name) interpreter/mixedmodule.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def _load_lazily(self, space, name): w_name = space.new_interned_str(name) try: loader = self.loaders[name] except KeyError: return None else: > w_value = loader(space) interpreter/mixedmodule.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace def ifileloader(space): d = {'space':space} # EVIL HACK (but it works, and this is not RPython :-) while 1: try: value = eval(spec, d) except NameError as ex: name = ex.args[0].split("'")[1] # super-Evil if name in d: raise # propagate the NameError try: > d[name] = __import__(pkgroot+'.'+name, None, None, [name]) interpreter/mixedmodule.py:182: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from pypy.interpreter.gateway import unwrap_spec from pypy.interpreter.error import oefmt from rpython.rlib import rgc > from pypy.module.gc.hook import W_GcCollectStepStats module/gc/interp_gc.py:4: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from rpython.memory.gc.hook import GcHooks > from rpython.memory.gc import incminimark module/gc/hook.py:2: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ # XXX Should find a way to bound the major collection threshold by the # XXX total addressable size. Maybe by keeping some minimarkpage arenas # XXX pre-reserved, enough for a few nursery collections? What about # XXX raw-malloced memory? # XXX try merging old_objects_pointing_to_pinned into # XXX old_objects_pointing_to_young (IRC 2014-10-22, fijal and gregor_w) import sys import os import time from rpython.rtyper.lltypesystem import lltype, llmemory, llarena, llgroup from rpython.rtyper.lltypesystem.lloperation import llop from rpython.rtyper.lltypesystem.llmemory import raw_malloc_usage from rpython.memory.gc.base import GCBase, MovingGCBase > from rpython.memory.gc import env E File "/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py", line 423 E SyntaxError: Non-ASCII character '\xe2' in file /build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py on line 423, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details ../rpython/memory/gc/incminimark.py:70: SyntaxError . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_bitfield_as_x86_gcc . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_bitfield_as_msvc . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_bitfield_as_arm_gcc . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_bitfield_as_ppc_gcc . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_struct_array_no_length . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_more_buffer_warning . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_struct_array_no_length_explicit_position . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_struct_array_not_aligned . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_ass_slice . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_void_p_arithmetic . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_sizeof_sliced_array . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_packed . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_packed_with_bitfields . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_from_buffer F pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_from_buffer_not_str_unicode self = func = at 0xf3f5ffb4>, 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, 1 meths, kwargs={'item': , ...ticall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 0xf7a2a32c> hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf69c668c>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , ...ticall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf69c668c>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , ...ticall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf3a667ec> 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 0xf3a667ec> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf3a66acc> 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 0xf3a66acc> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def runtest(self): target = self.obj if self.config.option.runappdirect: return target() space = target.im_self.space filename = self._getdynfilename(target) func = app2interp_temp(target.im_func, filename=filename) w_instance = self.parent.w_instance > self.execute_appex(space, func, space, w_instance) tool/pytest/apptest.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , space = StdObjSpace target = args = (StdObjSpace, ) def execute_appex(self, space, target, *args): self.space = space try: > target(*args) tool/pytest/apptest.py:30: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace args_w = (,) w_func = args = def appcaller(space, *args_w): if not isinstance(space, ObjSpace): raise TypeError("first argument must be a space instance.") # the last argument can be an Arguments w_func = self.wget(space, name) if not args_w: return space.call_function(w_func) else: args = args_w[-1] assert args is not None if not isinstance(args, Arguments): > return space.call_function(w_func, *args_w) interpreter/gateway.py:1227: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = args_w = (,) nargs = 1, Function = Method = def call_function(self, w_func, *args_w): nargs = len(args_w) # used for pruning funccall versions if not self.config.objspace.disable_call_speedhacks and nargs < 5: # start of hack for performance from pypy.interpreter.function import Function, Method if isinstance(w_func, Method): w_inst = w_func.w_instance if w_inst is not None: if nargs < 4: func = w_func.w_function if isinstance(func, Function): return func.funccall(w_inst, *args_w) elif args_w and ( self.abstract_isinstance_w(args_w[0], w_func.w_class)): w_func = w_func.w_function if isinstance(w_func, Function): > return w_func.funccall(*args_w) interpreter/baseobjspace.py:1210: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = args_w = (,) gateway = PyCode = code = def funccall(self, *args_w): # speed hack from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit nargs = len(args_w) fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, args_w[0]) elif nargs == 2: assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, args_w[0], args_w[1]) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) return code.fastcall_3(self.space, self, args_w[0], args_w[1], args_w[2]) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) return code.fastcall_4(self.space, self, args_w[0], args_w[1], args_w[2], args_w[3]) elif (nargs | PyCode.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) if nargs < 5: new_frame = self.space.createframe(code, self.w_func_globals, self) for i in funccallunrolling: if i < nargs: new_frame.locals_cells_stack_w[i] = args_w[i] > return new_frame.run() interpreter/function.py:118: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 3 def run(self): """Start this frame's execution.""" if self.getcode().co_flags & pycode.CO_GENERATOR: from pypy.interpreter.generator import GeneratorIterator return GeneratorIterator(self) else: > return self.execute_frame() interpreter/pyframe.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 3 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:290: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 3 e = SyntaxError("Non-ASCII character '\\xe2' in file /build_dir/own-linux-x86-32/b..., ('/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py', 423, 0, None)) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:943: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 3 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:286: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 3 pycode = next_instr = 0L ec = def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 3 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x01\x00|\x01\x00\xc9\x01\x00\xca\x00\x00\x01d\x00\x00S' next_instr = 0L ec = def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 3 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x01\x00|\x01\x00\xc9\x01\x00\xca\x00\x00\x01d\x00\x00S' next_instr = 21L ec = @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: self.last_instr = intmask(next_instr) if jit.we_are_jitted(): if self.debugdata: ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: ec.bytecode_trace(self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) next_instr += 1 if opcode >= HAVE_ARGUMENT: lo = ord(co_code[next_instr]) hi = ord(co_code[next_instr+1]) next_instr += 2 oparg = (hi * 256) | lo else: oparg = 0 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into a switch(). while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption lo = ord(co_code[next_instr+1]) hi = ord(co_code[next_instr+2]) next_instr += 3 oparg = (oparg * 65536) | (hi * 256) | lo if opcode == opcodedesc.RETURN_VALUE.index: if not self.blockstack_non_empty(): self.frame_finished_execution = True # for generators raise Return w_returnvalue = self.popvalue() block = self.unrollstack(SReturnValue.kind) if block is None: self.pushvalue(w_returnvalue) raise Return else: unroller = SReturnValue(w_returnvalue) next_instr = block.handle(self, unroller) return next_instr # now inside a 'finally' block elif opcode == opcodedesc.END_FINALLY.index: unroller = self.end_finally() if isinstance(unroller, SuspendedUnroller): # go on unrolling the stack block = self.unrollstack(unroller.kind) if block is None: w_result = unroller.nomoreblocks() self.pushvalue(w_result) raise Return else: next_instr = block.handle(self, unroller) return next_instr elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, ec) elif opcode == opcodedesc.BREAK_LOOP.index: next_instr = self.BREAK_LOOP(oparg, next_instr) elif opcode == opcodedesc.CONTINUE_LOOP.index: return self.CONTINUE_LOOP(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: next_instr = self.JUMP_IF_FALSE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_DEBUG.index: next_instr = self.JUMP_IF_NOT_DEBUG(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: next_instr = self.JUMP_IF_TRUE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: next_instr = self.POP_JUMP_IF_FALSE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: next_instr = self.POP_JUMP_IF_TRUE(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_DIVIDE.index: self.BINARY_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CLASS.index: self.BUILD_CLASS(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR.index: self.CALL_FUNCTION_VAR(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR_KW.index: self.CALL_FUNCTION_VAR_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: > self.CALL_METHOD(oparg, next_instr) interpreter/pyopcode.py:276: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = at line 3 oparg = 0, ignored = (21L,), n_args = 0, n_kwargs = 0, w_self = None @jit.unroll_safe def CALL_METHOD(f, oparg, *ignored): # opargs contains the arg, and kwarg count, excluding the implicit 'self' n_args = oparg & 0xff n_kwargs = (oparg >> 8) & 0xff w_self = f.peekvalue_maybe_none(n_args + (2 * n_kwargs)) n = n_args + (w_self is not None) if not n_kwargs: w_callable = f.peekvalue(n_args + (2 * n_kwargs) + 1) w_result = f.space.call_valuestack( > w_callable, n, f, methodcall=w_self is not None, dropvalues=n_args + 2) objspace/std/callmethod.py:96: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = nargs = 0 frame = at line 3 dropvalues = 2, methodcall = False def call_valuestack(self, w_func, nargs, frame, dropvalues, methodcall=False): # methodcall is only used for better error messages in argument.py from pypy.interpreter.function import Function, Method, is_builtin_code if frame.get_is_being_profiled() and is_builtin_code(w_func): # XXX: this code is copied&pasted :-( from the slow path below # call_valuestack(). args = frame.make_arguments(nargs) frame.dropvalues(dropvalues) return self.call_args_and_c_profile(frame, w_func, args) if not self.config.objspace.disable_call_speedhacks: # start of hack for performance if isinstance(w_func, Method): w_inst = w_func.w_instance if w_inst is not None: w_func = w_func.w_function # reuse callable stack place for w_inst frame.settopvalue(w_inst, nargs) nargs += 1 methodcall = True elif nargs > 0 and ( self.abstract_isinstance_w(frame.peekvalue(nargs-1), # :-( w_func.w_class)): w_func = w_func.w_function if isinstance(w_func, Function): return w_func.funccall_valuestack( > nargs, frame, methodcall=methodcall, dropvalues=dropvalues) interpreter/baseobjspace.py:1243: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , nargs = 0 frame = at line 3 dropvalues = 2, methodcall = False def funccall_valuestack(self, nargs, frame, dropvalues, methodcall=False): # speed hack # methodcall is only for better error messages from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit # if (jit.we_are_jitted() and code is self.space._code_of_sys_exc_info and nargs == 0): frame.dropvalues(dropvalues) from pypy.module.sys.vm import exc_info_direct return exc_info_direct(self.space, frame) # fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: f_0 = frame.peekvalue(0) frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, f_0) elif nargs == 2: f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, f_1, f_0) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) f_2 = frame.peekvalue(2) frame.dropvalues(dropvalues) return code.fastcall_3(self.space, self, f_2, f_1, f_0) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) f_2 = frame.peekvalue(2) f_3 = frame.peekvalue(3) frame.dropvalues(dropvalues) return code.fastcall_4(self.space, self, f_3, f_2, f_1, f_0) elif (nargs | Code.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) > return self._flat_pycall(code, nargs, frame, dropvalues) interpreter/function.py:174: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = code = nargs = 0 frame = at line 3 dropvalues = 2 @jit.unroll_safe def _flat_pycall(self, code, nargs, frame, dropvalues): # code is a PyCode new_frame = self.space.createframe(code, self.w_func_globals, self) for i in xrange(nargs): new_frame.locals_cells_stack_w[i] = frame.peekvalue(nargs-1-i) frame.dropvalues(dropvalues) > return new_frame.run() interpreter/function.py:201: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 3712 def run(self): """Start this frame's execution.""" if self.getcode().co_flags & pycode.CO_GENERATOR: from pypy.interpreter.generator import GeneratorIterator return GeneratorIterator(self) else: > return self.execute_frame() interpreter/pyframe.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 3712 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:290: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 3712 e = SyntaxError("Non-ASCII character '\\xe2' in file /build_dir/own-linux-x86-32/b..., ('/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py', 423, 0, None)) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:943: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 3712 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:286: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 3712 pycode = next_instr = 0L ec = def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 3712 co_code = 't\x00\x00d\x01\x00\x83\x01\x00}\x00\x00t\x01\x00|\x00\x00\x83\x01\x00}\x01\x00t\x02\x00|\x01\x00d\x00\x00\x83\x02\x00...}\x07\x00\xcc\x1a\x00|\x06\x00|\x07\x00\x19|\x03\x00|\x07\x00\x19k\x02\x00sR\x02t\x04\x00\x82\x01\x00q/\x02Wd\x00\x00S' next_instr = 0L ec = def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 3712 co_code = 't\x00\x00d\x01\x00\x83\x01\x00}\x00\x00t\x01\x00|\x00\x00\x83\x01\x00}\x01\x00t\x02\x00|\x01\x00d\x00\x00\x83\x02\x00...}\x07\x00\xcc\x1a\x00|\x06\x00|\x07\x00\x19|\x03\x00|\x07\x00\x19k\x02\x00sR\x02t\x04\x00\x82\x01\x00q/\x02Wd\x00\x00S' next_instr = 102L ec = @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: self.last_instr = intmask(next_instr) if jit.we_are_jitted(): if self.debugdata: ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: ec.bytecode_trace(self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) next_instr += 1 if opcode >= HAVE_ARGUMENT: lo = ord(co_code[next_instr]) hi = ord(co_code[next_instr+1]) next_instr += 2 oparg = (hi * 256) | lo else: oparg = 0 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into a switch(). while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption lo = ord(co_code[next_instr+1]) hi = ord(co_code[next_instr+2]) next_instr += 3 oparg = (oparg * 65536) | (hi * 256) | lo if opcode == opcodedesc.RETURN_VALUE.index: if not self.blockstack_non_empty(): self.frame_finished_execution = True # for generators raise Return w_returnvalue = self.popvalue() block = self.unrollstack(SReturnValue.kind) if block is None: self.pushvalue(w_returnvalue) raise Return else: unroller = SReturnValue(w_returnvalue) next_instr = block.handle(self, unroller) return next_instr # now inside a 'finally' block elif opcode == opcodedesc.END_FINALLY.index: unroller = self.end_finally() if isinstance(unroller, SuspendedUnroller): # go on unrolling the stack block = self.unrollstack(unroller.kind) if block is None: w_result = unroller.nomoreblocks() self.pushvalue(w_result) raise Return else: next_instr = block.handle(self, unroller) return next_instr elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, ec) elif opcode == opcodedesc.BREAK_LOOP.index: next_instr = self.BREAK_LOOP(oparg, next_instr) elif opcode == opcodedesc.CONTINUE_LOOP.index: return self.CONTINUE_LOOP(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: next_instr = self.JUMP_IF_FALSE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_DEBUG.index: next_instr = self.JUMP_IF_NOT_DEBUG(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: next_instr = self.JUMP_IF_TRUE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: next_instr = self.POP_JUMP_IF_FALSE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: next_instr = self.POP_JUMP_IF_TRUE(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_DIVIDE.index: self.BINARY_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CLASS.index: self.BUILD_CLASS(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR.index: self.CALL_FUNCTION_VAR(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR_KW.index: self.CALL_FUNCTION_VAR_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: self.CALL_METHOD(oparg, next_instr) elif opcode == opcodedesc.COMPARE_OP.index: self.COMPARE_OP(oparg, next_instr) elif opcode == opcodedesc.DELETE_ATTR.index: self.DELETE_ATTR(oparg, next_instr) elif opcode == opcodedesc.DELETE_FAST.index: self.DELETE_FAST(oparg, next_instr) elif opcode == opcodedesc.DELETE_GLOBAL.index: self.DELETE_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.DELETE_NAME.index: self.DELETE_NAME(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_0.index: self.DELETE_SLICE_0(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_1.index: self.DELETE_SLICE_1(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_2.index: self.DELETE_SLICE_2(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_3.index: self.DELETE_SLICE_3(oparg, next_instr) elif opcode == opcodedesc.DELETE_SUBSCR.index: self.DELETE_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.DUP_TOP.index: self.DUP_TOP(oparg, next_instr) elif opcode == opcodedesc.DUP_TOPX.index: self.DUP_TOPX(oparg, next_instr) elif opcode == opcodedesc.EXEC_STMT.index: self.EXEC_STMT(oparg, next_instr) elif opcode == opcodedesc.GET_ITER.index: self.GET_ITER(oparg, next_instr) elif opcode == opcodedesc.IMPORT_FROM.index: self.IMPORT_FROM(oparg, next_instr) elif opcode == opcodedesc.IMPORT_NAME.index: self.IMPORT_NAME(oparg, next_instr) elif opcode == opcodedesc.IMPORT_STAR.index: self.IMPORT_STAR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_ADD.index: self.INPLACE_ADD(oparg, next_instr) elif opcode == opcodedesc.INPLACE_AND.index: self.INPLACE_AND(oparg, next_instr) elif opcode == opcodedesc.INPLACE_DIVIDE.index: self.INPLACE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_FLOOR_DIVIDE.index: self.INPLACE_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_LSHIFT.index: self.INPLACE_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MODULO.index: self.INPLACE_MODULO(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MULTIPLY.index: self.INPLACE_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.INPLACE_OR.index: self.INPLACE_OR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_POWER.index: self.INPLACE_POWER(oparg, next_instr) elif opcode == opcodedesc.INPLACE_RSHIFT.index: self.INPLACE_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_SUBTRACT.index: self.INPLACE_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_TRUE_DIVIDE.index: self.INPLACE_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_XOR.index: self.INPLACE_XOR(oparg, next_instr) elif opcode == opcodedesc.LIST_APPEND.index: self.LIST_APPEND(oparg, next_instr) elif opcode == opcodedesc.LOAD_ATTR.index: self.LOAD_ATTR(oparg, next_instr) elif opcode == opcodedesc.LOAD_CLOSURE.index: self.LOAD_CLOSURE(oparg, next_instr) elif opcode == opcodedesc.LOAD_CONST.index: self.LOAD_CONST(oparg, next_instr) elif opcode == opcodedesc.LOAD_DEREF.index: self.LOAD_DEREF(oparg, next_instr) elif opcode == opcodedesc.LOAD_FAST.index: self.LOAD_FAST(oparg, next_instr) elif opcode == opcodedesc.LOAD_GLOBAL.index: self.LOAD_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.LOAD_LOCALS.index: self.LOAD_LOCALS(oparg, next_instr) elif opcode == opcodedesc.LOAD_NAME.index: self.LOAD_NAME(oparg, next_instr) elif opcode == opcodedesc.LOOKUP_METHOD.index: > self.LOOKUP_METHOD(oparg, next_instr) interpreter/pyopcode.py:356: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = at line 3712 nameindex = 6, ignored = (102L,) MutableCell = space = StdObjSpace w_obj = def LOOKUP_METHOD(f, nameindex, *ignored): from pypy.objspace.std.typeobject import MutableCell # stack before after # -------------- --fast-method----fallback-case------------ # # w_object None # w_object => w_function w_boundmethod_or_whatever # (more stuff) (more stuff) (more stuff) # space = f.space w_obj = f.popvalue() if not jit.we_are_jitted(): # mapdict has an extra-fast version of this function if LOOKUP_METHOD_mapdict(f, nameindex, w_obj): return w_name = f.getname_w(nameindex) w_value = None w_type = space.type(w_obj) if w_type.has_object_getattribute(): name = space.text_w(w_name) # bit of a mess to use these internal functions, but it allows the # mapdict caching below to work without an additional lookup version_tag = w_type.version_tag() if version_tag is None: _, w_descr = w_type._lookup_where(name) w_descr_cell = None else: _, w_descr_cell = w_type._pure_lookup_where_with_method_cache( name, version_tag) w_descr = w_descr_cell if isinstance(w_descr, MutableCell): w_descr = w_descr.unwrap_cell(space) if w_descr is None: # this handles directly the common case # module.function(args..) > w_value = w_obj.getdictvalue(space, name) objspace/std/callmethod.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def getdictvalue(self, space, name): w_value = space.finditem_str(self.w_dict, name) if self.lazy and w_value is None: > return self._load_lazily(space, name) interpreter/mixedmodule.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def _load_lazily(self, space, name): w_name = space.new_interned_str(name) try: loader = self.loaders[name] except KeyError: return None else: > w_value = loader(space) interpreter/mixedmodule.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace def ifileloader(space): d = {'space':space} # EVIL HACK (but it works, and this is not RPython :-) while 1: try: value = eval(spec, d) except NameError as ex: name = ex.args[0].split("'")[1] # super-Evil if name in d: raise # propagate the NameError try: > d[name] = __import__(pkgroot+'.'+name, None, None, [name]) interpreter/mixedmodule.py:182: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from pypy.interpreter.gateway import unwrap_spec from pypy.interpreter.error import oefmt from rpython.rlib import rgc > from pypy.module.gc.hook import W_GcCollectStepStats module/gc/interp_gc.py:4: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from rpython.memory.gc.hook import GcHooks > from rpython.memory.gc import incminimark module/gc/hook.py:2: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ # XXX Should find a way to bound the major collection threshold by the # XXX total addressable size. Maybe by keeping some minimarkpage arenas # XXX pre-reserved, enough for a few nursery collections? What about # XXX raw-malloced memory? # XXX try merging old_objects_pointing_to_pinned into # XXX old_objects_pointing_to_young (IRC 2014-10-22, fijal and gregor_w) import sys import os import time from rpython.rtyper.lltypesystem import lltype, llmemory, llarena, llgroup from rpython.rtyper.lltypesystem.lloperation import llop from rpython.rtyper.lltypesystem.llmemory import raw_malloc_usage from rpython.memory.gc.base import GCBase, MovingGCBase > from rpython.memory.gc import env E File "/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py", line 423 E SyntaxError: Non-ASCII character '\xe2' in file /build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py on line 423, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details ../rpython/memory/gc/incminimark.py:70: SyntaxError . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_from_buffer_bytearray s pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_from_buffer_more_cases Skipped: not for pypy . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_from_buffer_require_writable . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_from_buffer_types . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_issue483 . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_memmove . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_memmove_buffer . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_memmove_readonly_readwrite . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_memmove_sign_check . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_memmove_bad_cdata . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_dereference_null_ptr . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_mixup . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_stdcall_function_type . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_get_common_types . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_unpack . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_cdata_dir . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_char_pointer_conversion . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_primitive_comparison . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_explicit_release_new . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_explicit_release_new_contextmgr . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_explicit_release_badtype . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_explicit_release_badtype_contextmgr . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_explicit_release_gc . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_explicit_release_gc_contextmgr . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_explicit_release_from_buffer . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_explicit_release_from_buffer_contextmgr s pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_explicit_release_bytearray_on_cpython Skipped: pypy's bytearray are never locked . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_int_doesnt_give_bool . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_cannot_call_null_function_pointer . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_huge_structure . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_get_types . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_type_available_with_correct_names . pypy/module/_cffi_backend/test/test_c.py::AppTestC::()::test_unaligned_types . pypy/module/_cffi_backend/test/test_fastpath.py::AppTest_fast_path_from_list::()::test_fast_init_from_list . pypy/module/_cffi_backend/test/test_fastpath.py::AppTest_fast_path_from_list::()::test_fast_init_from_list_float . pypy/module/_cffi_backend/test/test_fastpath.py::AppTest_fast_path_from_list::()::test_fast_init_short_from_list . pypy/module/_cffi_backend/test/test_fastpath.py::AppTest_fast_path_from_list::()::test_fast_init_longlong_from_list . pypy/module/_cffi_backend/test/test_fastpath.py::AppTest_fast_path_from_list::()::test_fast_init_ushort_from_list . pypy/module/_cffi_backend/test/test_fastpath.py::AppTest_fast_path_from_list::()::test_fast_init_ulong_from_list . pypy/module/_cffi_backend/test/test_fastpath.py::AppTest_fast_path_from_list::()::test_fast_init_cfloat_from_list . pypy/module/_cffi_backend/test/test_fastpath.py::AppTest_fast_path_from_list::()::test_fast_init_clongdouble_from_list . pypy/module/_cffi_backend/test/test_fastpath.py::AppTest_fast_path_from_list::()::test_fast_init_bool_from_list . pypy/module/_cffi_backend/test/test_fastpath.py::AppTest_fast_path_bug::()::test_bug_not_list_or_tuple . pypy/module/_cffi_backend/test/test_fastpath.py::AppTest_fast_path_to_list::()::test_list_int . pypy/module/_cffi_backend/test/test_fastpath.py::AppTest_fast_path_to_list::()::test_TypeError_if_no_length . pypy/module/_cffi_backend/test/test_fastpath.py::AppTest_fast_path_to_list::()::test_bug . pypy/module/_cffi_backend/test/test_fastpath.py::AppTest_fast_path_to_list::()::test_list_float . pypy/module/_cffi_backend/test/test_fastpath.py::AppTest_fast_path_to_list::()::test_list_short . pypy/module/_cffi_backend/test/test_fastpath.py::AppTest_fast_path_to_list::()::test_list_ushort . pypy/module/_cffi_backend/test/test_fastpath.py::AppTest_fast_path_to_list::()::test_list_cfloat . pypy/module/_cffi_backend/test/test_fastpath.py::AppTest_fast_path_to_list::()::test_too_many_initializers . pypy/module/_cffi_backend/test/test_ffi_obj.py::TestFFIObj::()::test_new_function_type_during_translation . pypy/module/_cffi_backend/test/test_ffi_obj.py::AppTestFFIObj::()::test_ffi_new . pypy/module/_cffi_backend/test/test_ffi_obj.py::AppTestFFIObj::()::test_ffi_subclass . pypy/module/_cffi_backend/test/test_ffi_obj.py::AppTestFFIObj::()::test_ffi_no_argument . pypy/module/_cffi_backend/test/test_ffi_obj.py::AppTestFFIObj::()::test_ffi_cache_type . pypy/module/_cffi_backend/test/test_ffi_obj.py::AppTestFFIObj::()::test_ffi_cache_type_globally . pypy/module/_cffi_backend/test/test_ffi_obj.py::AppTestFFIObj::()::test_ffi_invalid . pypy/module/_cffi_backend/test/test_ffi_obj.py::AppTestFFIObj::()::test_ffi_docstrings . pypy/module/_cffi_backend/test/test_ffi_obj.py::AppTestFFIObj::()::test_ffi_NULL . pypy/module/_cffi_backend/test/test_ffi_obj.py::AppTestFFIObj::()::test_ffi_no_attr . pypy/module/_cffi_backend/test/test_ffi_obj.py::AppTestFFIObj::()::test_ffi_string . pypy/module/_cffi_backend/test/test_ffi_obj.py::AppTestFFIObj::()::test_ffi_errno . pypy/module/_cffi_backend/test/test_ffi_obj.py::AppTestFFIObj::()::test_ffi_alignof . pypy/module/_cffi_backend/test/test_ffi_obj.py::AppTestFFIObj::()::test_ffi_sizeof . pypy/module/_cffi_backend/test/test_ffi_obj.py::AppTestFFIObj::()::test_ffi_callback . pypy/module/_cffi_backend/test/test_ffi_obj.py::AppTestFFIObj::()::test_ffi_callback_decorator . pypy/module/_cffi_backend/test/test_ffi_obj.py::AppTestFFIObj::()::test_ffi_callback_onerror . pypy/module/_cffi_backend/test/test_ffi_obj.py::AppTestFFIObj::()::test_ffi_getctype . pypy/module/_cffi_backend/test/test_ffi_obj.py::AppTestFFIObj::()::test_addressof . pypy/module/_cffi_backend/test/test_ffi_obj.py::AppTestFFIObj::()::test_handle . pypy/module/_cffi_backend/test/test_ffi_obj.py::AppTestFFIObj::()::test_ffi_cast . pypy/module/_cffi_backend/test/test_ffi_obj.py::AppTestFFIObj::()::test_ffi_invalid_type . pypy/module/_cffi_backend/test/test_ffi_obj.py::AppTestFFIObj::()::test_ffi_buffer . pypy/module/_cffi_backend/test/test_ffi_obj.py::AppTestFFIObj::()::test_ffi_buffer_comparisons . pypy/module/_cffi_backend/test/test_ffi_obj.py::AppTestFFIObj::()::test_ffi_from_buffer . pypy/module/_cffi_backend/test/test_ffi_obj.py::AppTestFFIObj::()::test_memmove . pypy/module/_cffi_backend/test/test_ffi_obj.py::AppTestFFIObj::()::test_memmove_buffer . pypy/module/_cffi_backend/test/test_ffi_obj.py::AppTestFFIObj::()::test_memmove_readonly_readwrite . pypy/module/_cffi_backend/test/test_ffi_obj.py::AppTestFFIObj::()::test_ffi_types . pypy/module/_cffi_backend/test/test_ffi_obj.py::AppTestFFIObj::()::test_ffi_gc F pypy/module/_cffi_backend/test/test_ffi_obj.py::AppTestFFIObj::()::test_ffi_gc_disable self = func = at 0xf3d457d4>, 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, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 0xf7a2a32c> hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf69c668c>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf69c668c>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf38f042c> 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 0xf38f042c> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf38f09ac> 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 0xf38f09ac> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def runtest(self): target = self.obj if self.config.option.runappdirect: return target() space = target.im_self.space filename = self._getdynfilename(target) func = app2interp_temp(target.im_func, filename=filename) w_instance = self.parent.w_instance > self.execute_appex(space, func, space, w_instance) tool/pytest/apptest.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , space = StdObjSpace target = args = (StdObjSpace, ) def execute_appex(self, space, target, *args): self.space = space try: > target(*args) tool/pytest/apptest.py:30: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace args_w = (,) w_func = args = def appcaller(space, *args_w): if not isinstance(space, ObjSpace): raise TypeError("first argument must be a space instance.") # the last argument can be an Arguments w_func = self.wget(space, name) if not args_w: return space.call_function(w_func) else: args = args_w[-1] assert args is not None if not isinstance(args, Arguments): > return space.call_function(w_func, *args_w) interpreter/gateway.py:1227: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = args_w = (,) nargs = 1, Function = Method = def call_function(self, w_func, *args_w): nargs = len(args_w) # used for pruning funccall versions if not self.config.objspace.disable_call_speedhacks and nargs < 5: # start of hack for performance from pypy.interpreter.function import Function, Method if isinstance(w_func, Method): w_inst = w_func.w_instance if w_inst is not None: if nargs < 4: func = w_func.w_function if isinstance(func, Function): return func.funccall(w_inst, *args_w) elif args_w and ( self.abstract_isinstance_w(args_w[0], w_func.w_class)): w_func = w_func.w_function if isinstance(w_func, Function): > return w_func.funccall(*args_w) interpreter/baseobjspace.py:1210: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = args_w = (,) gateway = PyCode = code = def funccall(self, *args_w): # speed hack from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit nargs = len(args_w) fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, args_w[0]) elif nargs == 2: assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, args_w[0], args_w[1]) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) return code.fastcall_3(self.space, self, args_w[0], args_w[1], args_w[2]) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) return code.fastcall_4(self.space, self, args_w[0], args_w[1], args_w[2], args_w[3]) elif (nargs | PyCode.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) if nargs < 5: new_frame = self.space.createframe(code, self.w_func_globals, self) for i in funccallunrolling: if i < nargs: new_frame.locals_cells_stack_w[i] = args_w[i] > return new_frame.run() interpreter/function.py:118: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 9 def run(self): """Start this frame's execution.""" if self.getcode().co_flags & pycode.CO_GENERATOR: from pypy.interpreter.generator import GeneratorIterator return GeneratorIterator(self) else: > return self.execute_frame() interpreter/pyframe.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 9 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:290: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 9 e = SyntaxError("Non-ASCII character '\\xe2' in file /build_dir/own-linux-x86-32/b..., ('/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py', 423, 0, None)) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:943: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 9 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:286: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 9 pycode = next_instr = 0L ec = def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 9 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x01\x00|\x01\x00\xc9\x01\x00\xca\x00\x00}\x02\x00|\x02\x00\xc9\x02\x00d\x02\x00d\x03\x00...\x00\xca\x00\x00\x01q\xe1\x00W\xcc\x15\x00\x88\x00\x00d\x08\x00g\x01\x00k\x02\x00s#\x01t\x07\x00\x82\x01\x00d\x00\x00S' next_instr = 0L ec = def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 9 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x01\x00|\x01\x00\xc9\x01\x00\xca\x00\x00}\x02\x00|\x02\x00\xc9\x02\x00d\x02\x00d\x03\x00...\x00\xca\x00\x00\x01q\xe1\x00W\xcc\x15\x00\x88\x00\x00d\x08\x00g\x01\x00k\x02\x00s#\x01t\x07\x00\x82\x01\x00d\x00\x00S' next_instr = 148L ec = @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: self.last_instr = intmask(next_instr) if jit.we_are_jitted(): if self.debugdata: ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: ec.bytecode_trace(self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) next_instr += 1 if opcode >= HAVE_ARGUMENT: lo = ord(co_code[next_instr]) hi = ord(co_code[next_instr+1]) next_instr += 2 oparg = (hi * 256) | lo else: oparg = 0 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into a switch(). while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption lo = ord(co_code[next_instr+1]) hi = ord(co_code[next_instr+2]) next_instr += 3 oparg = (oparg * 65536) | (hi * 256) | lo if opcode == opcodedesc.RETURN_VALUE.index: if not self.blockstack_non_empty(): self.frame_finished_execution = True # for generators raise Return w_returnvalue = self.popvalue() block = self.unrollstack(SReturnValue.kind) if block is None: self.pushvalue(w_returnvalue) raise Return else: unroller = SReturnValue(w_returnvalue) next_instr = block.handle(self, unroller) return next_instr # now inside a 'finally' block elif opcode == opcodedesc.END_FINALLY.index: unroller = self.end_finally() if isinstance(unroller, SuspendedUnroller): # go on unrolling the stack block = self.unrollstack(unroller.kind) if block is None: w_result = unroller.nomoreblocks() self.pushvalue(w_result) raise Return else: next_instr = block.handle(self, unroller) return next_instr elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, ec) elif opcode == opcodedesc.BREAK_LOOP.index: next_instr = self.BREAK_LOOP(oparg, next_instr) elif opcode == opcodedesc.CONTINUE_LOOP.index: return self.CONTINUE_LOOP(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: next_instr = self.JUMP_IF_FALSE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_DEBUG.index: next_instr = self.JUMP_IF_NOT_DEBUG(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: next_instr = self.JUMP_IF_TRUE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: next_instr = self.POP_JUMP_IF_FALSE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: next_instr = self.POP_JUMP_IF_TRUE(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_DIVIDE.index: self.BINARY_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CLASS.index: self.BUILD_CLASS(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR.index: self.CALL_FUNCTION_VAR(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR_KW.index: self.CALL_FUNCTION_VAR_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: self.CALL_METHOD(oparg, next_instr) elif opcode == opcodedesc.COMPARE_OP.index: self.COMPARE_OP(oparg, next_instr) elif opcode == opcodedesc.DELETE_ATTR.index: self.DELETE_ATTR(oparg, next_instr) elif opcode == opcodedesc.DELETE_FAST.index: self.DELETE_FAST(oparg, next_instr) elif opcode == opcodedesc.DELETE_GLOBAL.index: self.DELETE_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.DELETE_NAME.index: self.DELETE_NAME(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_0.index: self.DELETE_SLICE_0(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_1.index: self.DELETE_SLICE_1(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_2.index: self.DELETE_SLICE_2(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_3.index: self.DELETE_SLICE_3(oparg, next_instr) elif opcode == opcodedesc.DELETE_SUBSCR.index: self.DELETE_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.DUP_TOP.index: self.DUP_TOP(oparg, next_instr) elif opcode == opcodedesc.DUP_TOPX.index: self.DUP_TOPX(oparg, next_instr) elif opcode == opcodedesc.EXEC_STMT.index: self.EXEC_STMT(oparg, next_instr) elif opcode == opcodedesc.GET_ITER.index: self.GET_ITER(oparg, next_instr) elif opcode == opcodedesc.IMPORT_FROM.index: self.IMPORT_FROM(oparg, next_instr) elif opcode == opcodedesc.IMPORT_NAME.index: self.IMPORT_NAME(oparg, next_instr) elif opcode == opcodedesc.IMPORT_STAR.index: self.IMPORT_STAR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_ADD.index: self.INPLACE_ADD(oparg, next_instr) elif opcode == opcodedesc.INPLACE_AND.index: self.INPLACE_AND(oparg, next_instr) elif opcode == opcodedesc.INPLACE_DIVIDE.index: self.INPLACE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_FLOOR_DIVIDE.index: self.INPLACE_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_LSHIFT.index: self.INPLACE_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MODULO.index: self.INPLACE_MODULO(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MULTIPLY.index: self.INPLACE_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.INPLACE_OR.index: self.INPLACE_OR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_POWER.index: self.INPLACE_POWER(oparg, next_instr) elif opcode == opcodedesc.INPLACE_RSHIFT.index: self.INPLACE_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_SUBTRACT.index: self.INPLACE_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_TRUE_DIVIDE.index: self.INPLACE_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_XOR.index: self.INPLACE_XOR(oparg, next_instr) elif opcode == opcodedesc.LIST_APPEND.index: self.LIST_APPEND(oparg, next_instr) elif opcode == opcodedesc.LOAD_ATTR.index: self.LOAD_ATTR(oparg, next_instr) elif opcode == opcodedesc.LOAD_CLOSURE.index: self.LOAD_CLOSURE(oparg, next_instr) elif opcode == opcodedesc.LOAD_CONST.index: self.LOAD_CONST(oparg, next_instr) elif opcode == opcodedesc.LOAD_DEREF.index: self.LOAD_DEREF(oparg, next_instr) elif opcode == opcodedesc.LOAD_FAST.index: self.LOAD_FAST(oparg, next_instr) elif opcode == opcodedesc.LOAD_GLOBAL.index: self.LOAD_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.LOAD_LOCALS.index: self.LOAD_LOCALS(oparg, next_instr) elif opcode == opcodedesc.LOAD_NAME.index: self.LOAD_NAME(oparg, next_instr) elif opcode == opcodedesc.LOOKUP_METHOD.index: > self.LOOKUP_METHOD(oparg, next_instr) interpreter/pyopcode.py:356: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = at line 9 nameindex = 6, ignored = (148L,) MutableCell = space = StdObjSpace w_obj = def LOOKUP_METHOD(f, nameindex, *ignored): from pypy.objspace.std.typeobject import MutableCell # stack before after # -------------- --fast-method----fallback-case------------ # # w_object None # w_object => w_function w_boundmethod_or_whatever # (more stuff) (more stuff) (more stuff) # space = f.space w_obj = f.popvalue() if not jit.we_are_jitted(): # mapdict has an extra-fast version of this function if LOOKUP_METHOD_mapdict(f, nameindex, w_obj): return w_name = f.getname_w(nameindex) w_value = None w_type = space.type(w_obj) if w_type.has_object_getattribute(): name = space.text_w(w_name) # bit of a mess to use these internal functions, but it allows the # mapdict caching below to work without an additional lookup version_tag = w_type.version_tag() if version_tag is None: _, w_descr = w_type._lookup_where(name) w_descr_cell = None else: _, w_descr_cell = w_type._pure_lookup_where_with_method_cache( name, version_tag) w_descr = w_descr_cell if isinstance(w_descr, MutableCell): w_descr = w_descr.unwrap_cell(space) if w_descr is None: # this handles directly the common case # module.function(args..) > w_value = w_obj.getdictvalue(space, name) objspace/std/callmethod.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def getdictvalue(self, space, name): w_value = space.finditem_str(self.w_dict, name) if self.lazy and w_value is None: > return self._load_lazily(space, name) interpreter/mixedmodule.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def _load_lazily(self, space, name): w_name = space.new_interned_str(name) try: loader = self.loaders[name] except KeyError: return None else: > w_value = loader(space) interpreter/mixedmodule.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace def ifileloader(space): d = {'space':space} # EVIL HACK (but it works, and this is not RPython :-) while 1: try: value = eval(spec, d) except NameError as ex: name = ex.args[0].split("'")[1] # super-Evil if name in d: raise # propagate the NameError try: > d[name] = __import__(pkgroot+'.'+name, None, None, [name]) interpreter/mixedmodule.py:182: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from pypy.interpreter.gateway import unwrap_spec from pypy.interpreter.error import oefmt from rpython.rlib import rgc > from pypy.module.gc.hook import W_GcCollectStepStats module/gc/interp_gc.py:4: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from rpython.memory.gc.hook import GcHooks > from rpython.memory.gc import incminimark module/gc/hook.py:2: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ # XXX Should find a way to bound the major collection threshold by the # XXX total addressable size. Maybe by keeping some minimarkpage arenas # XXX pre-reserved, enough for a few nursery collections? What about # XXX raw-malloced memory? # XXX try merging old_objects_pointing_to_pinned into # XXX old_objects_pointing_to_young (IRC 2014-10-22, fijal and gregor_w) import sys import os import time from rpython.rtyper.lltypesystem import lltype, llmemory, llarena, llgroup from rpython.rtyper.lltypesystem.lloperation import llop from rpython.rtyper.lltypesystem.llmemory import raw_malloc_usage from rpython.memory.gc.base import GCBase, MovingGCBase > from rpython.memory.gc import env E File "/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py", line 423 E SyntaxError: Non-ASCII character '\xe2' in file /build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py on line 423, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details ../rpython/memory/gc/incminimark.py:70: SyntaxError . pypy/module/_cffi_backend/test/test_ffi_obj.py::AppTestFFIObj::()::test_ffi_new_allocator_1 . pypy/module/_cffi_backend/test/test_ffi_obj.py::AppTestFFIObj::()::test_ffi_new_allocator_2 . pypy/module/_cffi_backend/test/test_ffi_obj.py::AppTestFFIObj::()::test_ffi_new_allocator_3 . pypy/module/_cffi_backend/test/test_ffi_obj.py::AppTestFFIObj::()::test_ffi_new_allocator_4 . pypy/module/_cffi_backend/test/test_ffi_obj.py::AppTestFFIObj::()::test_bool_issue228 . pypy/module/_cffi_backend/test/test_ffi_obj.py::AppTestFFIObj::()::test_FILE_issue228 . pypy/module/_cffi_backend/test/test_ffi_obj.py::AppTestFFIObj::()::test_cast_from_int_type_to_bool . pypy/module/_cffi_backend/test/test_ffi_obj.py::AppTestFFIObj::()::test_init_once . pypy/module/_cffi_backend/test/test_ffi_obj.py::AppTestFFIObj::()::test_init_once_failure . pypy/module/_cffi_backend/test/test_ffi_obj.py::AppTestFFIObj::()::test_unpack . pypy/module/_cffi_backend/test/test_ffi_obj.py::AppTestFFIObj::()::test_bug_1 . pypy/module/_cffi_backend/test/test_ffi_obj.py::AppTestFFIObj::()::test_negative_array_size . pypy/module/_cffi_backend/test/test_ffi_obj.py::AppTestFFIObj::()::test_char32_t . pypy/module/_cffi_backend/test/test_ffi_obj.py::AppTestFFIObj::()::test_ffi_array_as_init s pypy/module/_cffi_backend/test/test_file.py::test_same_file Skipped: cffi has moved onto v2.0, the PyPy backend is 1.18 . pypy/module/_cffi_backend/test/test_file.py::test_metadata_version . pypy/module/_cffi_backend/test/test_file.py::test_app_version . pypy/module/_cffi_backend/test/test_parse_c_type.py::test_simple . pypy/module/_cffi_backend/test/test_parse_c_type.py::test_array . pypy/module/_cffi_backend/test/test_parse_c_type.py::test_pointer . pypy/module/_cffi_backend/test/test_parse_c_type.py::test_grouping . pypy/module/_cffi_backend/test/test_parse_c_type.py::test_simple_function . pypy/module/_cffi_backend/test/test_parse_c_type.py::test_internal_function . pypy/module/_cffi_backend/test/test_parse_c_type.py::test_fix_arg_types . pypy/module/_cffi_backend/test/test_parse_c_type.py::test_enum . pypy/module/_cffi_backend/test/test_parse_c_type.py::test_error . pypy/module/_cffi_backend/test/test_parse_c_type.py::test_number_too_large . pypy/module/_cffi_backend/test/test_parse_c_type.py::test_complexity_limit . pypy/module/_cffi_backend/test/test_parse_c_type.py::test_struct . pypy/module/_cffi_backend/test/test_parse_c_type.py::test_exchanging_struct_union . pypy/module/_cffi_backend/test/test_parse_c_type.py::test_identifier s pypy/module/_cffi_backend/test/test_parse_c_type.py::test_cffi_opcode_sync Skipped: XXX . pypy/module/_cffi_backend/test/test_parse_c_type.py::test_array_length_from_constant . pypy/module/_cffi_backend/test/test_parse_c_type.py::test_various_constant_exprs . pypy/module/_cffi_backend/test/test_parse_c_type.py::test_stdcall_cdecl . pypy/module/_cffi_backend/test/test_re_python.py::AppTestRecompilerPython::()::test_constant_1 . pypy/module/_cffi_backend/test/test_re_python.py::AppTestRecompilerPython::()::test_large_constant . pypy/module/_cffi_backend/test/test_re_python.py::AppTestRecompilerPython::()::test_function . pypy/module/_cffi_backend/test/test_re_python.py::AppTestRecompilerPython::()::test_dlopen_unicode . pypy/module/_cffi_backend/test/test_re_python.py::AppTestRecompilerPython::()::test_dlclose . pypy/module/_cffi_backend/test/test_re_python.py::AppTestRecompilerPython::()::test_constant_via_lib . pypy/module/_cffi_backend/test/test_re_python.py::AppTestRecompilerPython::()::test_opaque_struct . pypy/module/_cffi_backend/test/test_re_python.py::AppTestRecompilerPython::()::test_nonopaque_struct . pypy/module/_cffi_backend/test/test_re_python.py::AppTestRecompilerPython::()::test_enum . pypy/module/_cffi_backend/test/test_re_python.py::AppTestRecompilerPython::()::test_include_1 . pypy/module/_cffi_backend/test/test_re_python.py::AppTestRecompilerPython::()::test_global_var . pypy/module/_cffi_backend/test/test_re_python.py::AppTestRecompilerPython::()::test_global_const_int . pypy/module/_cffi_backend/test/test_re_python.py::AppTestRecompilerPython::()::test_global_const_nonint . pypy/module/_cffi_backend/test/test_re_python.py::AppTestRecompilerPython::()::test_rtld_constants . pypy/module/_cffi_backend/test/test_re_python.py::AppTestRecompilerPython::()::test_no_such_function_or_global_var . pypy/module/_cffi_backend/test/test_re_python.py::AppTestRecompilerPython::()::test_check_version . pypy/module/_cffi_backend/test/test_re_python.py::AppTestRecompilerPython::()::test_selfref . pypy/module/_cffi_backend/test/test_re_python.py::AppTestRecompilerPython::()::test_dlopen_handle . pypy/module/_cffi_backend/test/test_re_python.py::AppTestRecompilerPython::()::test_rec_structs_1 . pypy/module/_cffi_backend/test/test_re_python.py::AppTestRecompilerPython::()::test_rec_structs_2 . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_math_sin . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_repr_lib . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_funcarg_ptr . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_funcres_ptr . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_global_var_array . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_verify_typedef . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_verify_typedef_dotdotdot . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_verify_typedef_star_dotdotdot . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_global_var_int . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_macro . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_macro_check_value . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_constant . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_check_value_of_static_const . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_constant_nonint . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_constant_ptr . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_dir . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_verify_opaque_struct . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_verify_opaque_union . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_verify_struct . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_verify_exact_field_offset . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_type_caching . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_verify_enum . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_dotdotdot_length_of_array_field . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_dotdotdot_global_array . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_misdeclared_field_1 . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_open_array_in_struct . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_math_sin_type . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_verify_anonymous_struct_with_typedef . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_verify_anonymous_struct_with_star_typedef . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_verify_anonymous_enum_with_typedef . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_unique_types . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_module_name_in_package . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_unspecified_size_of_global_1 . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_unspecified_size_of_global_2 . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_unspecified_size_of_global_3 . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_unspecified_size_of_global_4 . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_include_1 . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_include_1b . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_include_2 . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_include_3 . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_include_4 . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_include_5 . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_include_6 . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_include_7 . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_include_8 . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_bitfield_basic . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_incomplete_struct_as_arg . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_incomplete_struct_as_result . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_incomplete_struct_as_both . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_name_of_unnamed_struct . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_address_of_global_var . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_defines__CFFI_ . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_unpack_args . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_address_of_function . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_address_of_function_with_struct . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_issue198 . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_constant_is_not_a_compiler_constant . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_constant_of_unknown_size . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_variable_of_unknown_size . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_constant_of_value_unknown_to_the_compiler . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_call_with_incomplete_structs . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_struct_array_guess_length_2 . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_struct_array_guess_length_3 . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_global_var_array_2 . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_some_integer_type . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_issue200 . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_alignment_of_longlong . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_import_from_lib . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_macro_var_callback . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_const_fields . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_restrict_fields . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_volatile_fields . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_const_array_fields . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_const_array_fields_varlength . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_const_array_fields_unknownlength . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_const_function_args . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_const_function_type_args . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_const_constant . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_const_via_typedef . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_win32_calling_convention_0 . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_win32_calling_convention_1 . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_win32_calling_convention_2 . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_win32_calling_convention_3 . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_share_FILE . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_extern_python_1 . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_extern_python_bogus_name . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_extern_python_bogus_result_type . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_extern_python_redefine . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_extern_python_struct s pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_extern_python_long_double Skipped: no longdouble in _rawrffi/alt . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_extern_python_signature . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_extern_python_errors s pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_extern_python_stdcall Skipped: condition: not config.option.runappdirect . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_introspect_function . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_introspect_global_var . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_introspect_global_var_array . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_introspect_integer_const . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_introspect_typedef . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_introspect_typedef_multiple . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_introspect_struct . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_introspect_union . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_introspect_struct_and_typedef . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_introspect_included_type . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_introspect_order . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_FFIFunctionWrapper . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_function_returns_float_complex . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_function_returns_double_complex . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_function_argument_float_complex . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_function_argument_double_complex . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_typedef_array_dotdotdot . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_call_with_custom_field_pos . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_call_with_nested_anonymous_struct . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_call_with_bitfield . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_call_with_zero_length_field . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_call_with_union . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_call_with_packed_struct . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_gcc_visibility_hidden . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_override_default_definition . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_char16_char32_plain_c . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_loader_spec . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_release . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_release_new_allocator . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_struct_with_func_with_struct_arg . pypy/module/_cffi_backend/test/test_recompiler.py::AppTestRecompiler::()::test_convert_api_mode_builtin_function_to_cdata . pypy/module/_cffi_backend/test/test_unicode_literals.py::AppTestUnicodeLiterals::()::test_cast . pypy/module/_cffi_backend/test/test_unicode_literals.py::AppTestUnicodeLiterals::()::test_new . pypy/module/_cffi_backend/test/test_unicode_literals.py::AppTestUnicodeLiterals::()::test_typeof . pypy/module/_cffi_backend/test/test_unicode_literals.py::AppTestUnicodeLiterals::()::test_sizeof . pypy/module/_cffi_backend/test/test_unicode_literals.py::AppTestUnicodeLiterals::()::test_alignof . pypy/module/_cffi_backend/test/test_unicode_literals.py::AppTestUnicodeLiterals::()::test_getctype . pypy/module/_cffi_backend/test/test_unicode_literals.py::AppTestUnicodeLiterals::()::test_callback . pypy/module/_cffi_backend/test/test_wchar_helper.py::test_utf8_size_as_char16 s pypy/module/_cffi_backend/test/test_ztranslation.py::test_checkmodule Skipped: Requires too much space emulation (somefailed=True in module/_cffi_backend/test) s pypy/module/_cppyy/test/test_advancedcpp.py::AppTestADVANCEDCPP::()::test01_default_arguments Skipped: backend is not installed s pypy/module/_cppyy/test/test_advancedcpp.py::AppTestADVANCEDCPP::()::test02_simple_inheritance Skipped: backend is not installed s pypy/module/_cppyy/test/test_advancedcpp.py::AppTestADVANCEDCPP::()::test03_namespaces Skipped: backend is not installed s pypy/module/_cppyy/test/test_advancedcpp.py::AppTestADVANCEDCPP::()::test03a_namespace_lookup_on_update Skipped: backend is not installed s pypy/module/_cppyy/test/test_advancedcpp.py::AppTestADVANCEDCPP::()::test04_template_types Skipped: backend is not installed s pypy/module/_cppyy/test/test_advancedcpp.py::AppTestADVANCEDCPP::()::test05_abstract_classes Skipped: backend is not installed s pypy/module/_cppyy/test/test_advancedcpp.py::AppTestADVANCEDCPP::()::test06_datamembers Skipped: backend is not installed s pypy/module/_cppyy/test/test_advancedcpp.py::AppTestADVANCEDCPP::()::test07_pass_by_reference Skipped: backend is not installed s pypy/module/_cppyy/test/test_advancedcpp.py::AppTestADVANCEDCPP::()::test08_void_pointer_passing Skipped: backend is not installed s pypy/module/_cppyy/test/test_advancedcpp.py::AppTestADVANCEDCPP::()::test09_opaque_pointer_passing Skipped: backend is not installed s pypy/module/_cppyy/test/test_advancedcpp.py::AppTestADVANCEDCPP::()::test10_object_identity Skipped: backend is not installed s pypy/module/_cppyy/test/test_advancedcpp.py::AppTestADVANCEDCPP::()::test11_multi_methods Skipped: backend is not installed s pypy/module/_cppyy/test/test_advancedcpp.py::AppTestADVANCEDCPP::()::test12_actual_type Skipped: backend is not installed s pypy/module/_cppyy/test/test_advancedcpp.py::AppTestADVANCEDCPP::()::test13_actual_type_virtual_multi Skipped: backend is not installed s pypy/module/_cppyy/test/test_advancedcpp.py::AppTestADVANCEDCPP::()::test14_new_overloader Skipped: backend is not installed s pypy/module/_cppyy/test/test_advancedcpp.py::AppTestADVANCEDCPP::()::test15_template_instantiation_with_vector_of_float Skipped: backend is not installed s pypy/module/_cppyy/test/test_advancedcpp.py::AppTestADVANCEDCPP::()::test16_template_global_functions Skipped: backend is not installed s pypy/module/_cppyy/test/test_advancedcpp.py::AppTestADVANCEDCPP::()::test17_assign_to_return_byref Skipped: backend is not installed s pypy/module/_cppyy/test/test_advancedcpp.py::AppTestADVANCEDCPP::()::test18_math_converters Skipped: backend is not installed s pypy/module/_cppyy/test/test_advancedcpp.py::AppTestADVANCEDCPP::()::test19_comparator Skipped: backend is not installed s pypy/module/_cppyy/test/test_advancedcpp.py::AppTestADVANCEDCPP::()::test20_overload_order_with_proper_return Skipped: backend is not installed s pypy/module/_cppyy/test/test_advancedcpp.py::AppTestADVANCEDCPP::()::test21_access_to_global_variables Skipped: backend is not installed s pypy/module/_cppyy/test/test_advancedcpp.py::AppTestADVANCEDCPP::()::test22_exceptions Skipped: backend is not installed s pypy/module/_cppyy/test/test_advancedcpp.py::AppTestADVANCEDCPP::()::test23_using Skipped: backend is not installed s pypy/module/_cppyy/test/test_advancedcpp.py::AppTestADVANCEDCPP::()::test24_typedef_to_private_class Skipped: backend is not installed s pypy/module/_cppyy/test/test_boost.py::AppTestBOOSTANY::()::test01_any_class Skipped: backend is not installed s pypy/module/_cppyy/test/test_boost.py::AppTestBOOSTANY::()::test02_any_usage Skipped: backend is not installed s pypy/module/_cppyy/test/test_boost.py::AppTestBOOSTOPERATORS::()::test01_ordered Skipped: backend is not installed s pypy/module/_cppyy/test/test_boost.py::AppTestBOOSTVARIANT::()::test01_variant_usage Skipped: backend is not installed s pypy/module/_cppyy/test/test_boost.py::AppTestBOOSTERASURE::()::test01_erasure_usage Skipped: backend is not installed s pypy/module/_cppyy/test/test_cpp11features.py::AppTestCPP11FEATURES::()::test01_shared_ptr Skipped: backend is not installed . pypy/module/_cppyy/test/test_cpp11features.py::AppTestCPP11FEATURES::()::test02_nullptr s pypy/module/_cppyy/test/test_cpp11features.py::AppTestCPP11FEATURES::()::test03_move Skipped: backend is not installed . pypy/module/_cppyy/test/test_cppyy.py::TestCPPYYImplementation::()::test01_class_query . pypy/module/_cppyy/test/test_cppyy.py::AppTestCPPYY::()::test01_static_int . pypy/module/_cppyy/test/test_cppyy.py::AppTestCPPYY::()::test02_static_double . pypy/module/_cppyy/test/test_cppyy.py::AppTestCPPYY::()::test03_static_constcharp . pypy/module/_cppyy/test/test_cppyy.py::AppTestCPPYY::()::test04_method_int F pypy/module/_cppyy/test/test_cppyy.py::AppTestCPPYY::()::test05_memory self = func = at 0xf3587f7c>, 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, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 0xf79d632c> hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf597b3ec>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf597b3ec>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf311490c> 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 0xf311490c> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf311486c> 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 0xf311486c> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def runtest(self): target = self.obj if self.config.option.runappdirect: return target() space = target.im_self.space filename = self._getdynfilename(target) func = app2interp_temp(target.im_func, filename=filename) w_instance = self.parent.w_instance > self.execute_appex(space, func, space, w_instance) tool/pytest/apptest.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , space = StdObjSpace target = args = (StdObjSpace, ) def execute_appex(self, space, target, *args): self.space = space try: > target(*args) tool/pytest/apptest.py:30: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace args_w = (,) w_func = args = def appcaller(space, *args_w): if not isinstance(space, ObjSpace): raise TypeError("first argument must be a space instance.") # the last argument can be an Arguments w_func = self.wget(space, name) if not args_w: return space.call_function(w_func) else: args = args_w[-1] assert args is not None if not isinstance(args, Arguments): > return space.call_function(w_func, *args_w) interpreter/gateway.py:1227: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = args_w = (,) nargs = 1, Function = Method = def call_function(self, w_func, *args_w): nargs = len(args_w) # used for pruning funccall versions if not self.config.objspace.disable_call_speedhacks and nargs < 5: # start of hack for performance from pypy.interpreter.function import Function, Method if isinstance(w_func, Method): w_inst = w_func.w_instance if w_inst is not None: if nargs < 4: func = w_func.w_function if isinstance(func, Function): return func.funccall(w_inst, *args_w) elif args_w and ( self.abstract_isinstance_w(args_w[0], w_func.w_class)): w_func = w_func.w_function if isinstance(w_func, Function): > return w_func.funccall(*args_w) interpreter/baseobjspace.py:1210: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = args_w = (,) gateway = PyCode = code = def funccall(self, *args_w): # speed hack from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit nargs = len(args_w) fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, args_w[0]) elif nargs == 2: assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, args_w[0], args_w[1]) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) return code.fastcall_3(self.space, self, args_w[0], args_w[1], args_w[2]) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) return code.fastcall_4(self.space, self, args_w[0], args_w[1], args_w[2], args_w[3]) elif (nargs | PyCode.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) if nargs < 5: new_frame = self.space.createframe(code, self.w_func_globals, self) for i in funccallunrolling: if i < nargs: new_frame.locals_cells_stack_w[i] = args_w[i] > return new_frame.run() interpreter/function.py:118: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 18 def run(self): """Start this frame's execution.""" if self.getcode().co_flags & pycode.CO_GENERATOR: from pypy.interpreter.generator import GeneratorIterator return GeneratorIterator(self) else: > return self.execute_frame() interpreter/pyframe.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 18 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:290: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 18 e = SyntaxError("Non-ASCII character '\\xe2' in file /build_dir/own-linux-x86-32/b..., ('/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py', 423, 0, None)) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:943: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 18 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:286: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 18 pycode = next_instr = 0L ec = def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 18 co_code = 'd\x01\x00d\x02\x00l\x00\x00}\x01\x00d\x01\x00d\x02\x00l\x01\x00}\x02\x00|\x00\x00j\x02\x00}\x03\x00\xcc\x1e\x00|\x03\...1e\x00|\x03\x00\xc9\x03\x00d\x03\x00\xca\x01\x00\x83\x00\x00d\x04\x00k\x02\x00s\xd2\x01t\x04\x00\x82\x01\x00d\x02\x00S' next_instr = 0L ec = def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 18 co_code = 'd\x01\x00d\x02\x00l\x00\x00}\x01\x00d\x01\x00d\x02\x00l\x01\x00}\x02\x00|\x00\x00j\x02\x00}\x03\x00\xcc\x1e\x00|\x03\...1e\x00|\x03\x00\xc9\x03\x00d\x03\x00\xca\x01\x00\x83\x00\x00d\x04\x00k\x02\x00s\xd2\x01t\x04\x00\x82\x01\x00d\x02\x00S' next_instr = 219L ec = @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: self.last_instr = intmask(next_instr) if jit.we_are_jitted(): if self.debugdata: ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: ec.bytecode_trace(self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) next_instr += 1 if opcode >= HAVE_ARGUMENT: lo = ord(co_code[next_instr]) hi = ord(co_code[next_instr+1]) next_instr += 2 oparg = (hi * 256) | lo else: oparg = 0 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into a switch(). while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption lo = ord(co_code[next_instr+1]) hi = ord(co_code[next_instr+2]) next_instr += 3 oparg = (oparg * 65536) | (hi * 256) | lo if opcode == opcodedesc.RETURN_VALUE.index: if not self.blockstack_non_empty(): self.frame_finished_execution = True # for generators raise Return w_returnvalue = self.popvalue() block = self.unrollstack(SReturnValue.kind) if block is None: self.pushvalue(w_returnvalue) raise Return else: unroller = SReturnValue(w_returnvalue) next_instr = block.handle(self, unroller) return next_instr # now inside a 'finally' block elif opcode == opcodedesc.END_FINALLY.index: unroller = self.end_finally() if isinstance(unroller, SuspendedUnroller): # go on unrolling the stack block = self.unrollstack(unroller.kind) if block is None: w_result = unroller.nomoreblocks() self.pushvalue(w_result) raise Return else: next_instr = block.handle(self, unroller) return next_instr elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, ec) elif opcode == opcodedesc.BREAK_LOOP.index: next_instr = self.BREAK_LOOP(oparg, next_instr) elif opcode == opcodedesc.CONTINUE_LOOP.index: return self.CONTINUE_LOOP(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: next_instr = self.JUMP_IF_FALSE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_DEBUG.index: next_instr = self.JUMP_IF_NOT_DEBUG(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: next_instr = self.JUMP_IF_TRUE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: next_instr = self.POP_JUMP_IF_FALSE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: next_instr = self.POP_JUMP_IF_TRUE(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_DIVIDE.index: self.BINARY_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CLASS.index: self.BUILD_CLASS(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR.index: self.CALL_FUNCTION_VAR(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR_KW.index: self.CALL_FUNCTION_VAR_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: self.CALL_METHOD(oparg, next_instr) elif opcode == opcodedesc.COMPARE_OP.index: self.COMPARE_OP(oparg, next_instr) elif opcode == opcodedesc.DELETE_ATTR.index: self.DELETE_ATTR(oparg, next_instr) elif opcode == opcodedesc.DELETE_FAST.index: self.DELETE_FAST(oparg, next_instr) elif opcode == opcodedesc.DELETE_GLOBAL.index: self.DELETE_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.DELETE_NAME.index: self.DELETE_NAME(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_0.index: self.DELETE_SLICE_0(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_1.index: self.DELETE_SLICE_1(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_2.index: self.DELETE_SLICE_2(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_3.index: self.DELETE_SLICE_3(oparg, next_instr) elif opcode == opcodedesc.DELETE_SUBSCR.index: self.DELETE_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.DUP_TOP.index: self.DUP_TOP(oparg, next_instr) elif opcode == opcodedesc.DUP_TOPX.index: self.DUP_TOPX(oparg, next_instr) elif opcode == opcodedesc.EXEC_STMT.index: self.EXEC_STMT(oparg, next_instr) elif opcode == opcodedesc.GET_ITER.index: self.GET_ITER(oparg, next_instr) elif opcode == opcodedesc.IMPORT_FROM.index: self.IMPORT_FROM(oparg, next_instr) elif opcode == opcodedesc.IMPORT_NAME.index: self.IMPORT_NAME(oparg, next_instr) elif opcode == opcodedesc.IMPORT_STAR.index: self.IMPORT_STAR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_ADD.index: self.INPLACE_ADD(oparg, next_instr) elif opcode == opcodedesc.INPLACE_AND.index: self.INPLACE_AND(oparg, next_instr) elif opcode == opcodedesc.INPLACE_DIVIDE.index: self.INPLACE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_FLOOR_DIVIDE.index: self.INPLACE_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_LSHIFT.index: self.INPLACE_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MODULO.index: self.INPLACE_MODULO(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MULTIPLY.index: self.INPLACE_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.INPLACE_OR.index: self.INPLACE_OR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_POWER.index: self.INPLACE_POWER(oparg, next_instr) elif opcode == opcodedesc.INPLACE_RSHIFT.index: self.INPLACE_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_SUBTRACT.index: self.INPLACE_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_TRUE_DIVIDE.index: self.INPLACE_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_XOR.index: self.INPLACE_XOR(oparg, next_instr) elif opcode == opcodedesc.LIST_APPEND.index: self.LIST_APPEND(oparg, next_instr) elif opcode == opcodedesc.LOAD_ATTR.index: self.LOAD_ATTR(oparg, next_instr) elif opcode == opcodedesc.LOAD_CLOSURE.index: self.LOAD_CLOSURE(oparg, next_instr) elif opcode == opcodedesc.LOAD_CONST.index: self.LOAD_CONST(oparg, next_instr) elif opcode == opcodedesc.LOAD_DEREF.index: self.LOAD_DEREF(oparg, next_instr) elif opcode == opcodedesc.LOAD_FAST.index: self.LOAD_FAST(oparg, next_instr) elif opcode == opcodedesc.LOAD_GLOBAL.index: self.LOAD_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.LOAD_LOCALS.index: self.LOAD_LOCALS(oparg, next_instr) elif opcode == opcodedesc.LOAD_NAME.index: self.LOAD_NAME(oparg, next_instr) elif opcode == opcodedesc.LOOKUP_METHOD.index: > self.LOOKUP_METHOD(oparg, next_instr) interpreter/pyopcode.py:356: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = at line 18 nameindex = 6, ignored = (219L,) MutableCell = space = StdObjSpace w_obj = def LOOKUP_METHOD(f, nameindex, *ignored): from pypy.objspace.std.typeobject import MutableCell # stack before after # -------------- --fast-method----fallback-case------------ # # w_object None # w_object => w_function w_boundmethod_or_whatever # (more stuff) (more stuff) (more stuff) # space = f.space w_obj = f.popvalue() if not jit.we_are_jitted(): # mapdict has an extra-fast version of this function if LOOKUP_METHOD_mapdict(f, nameindex, w_obj): return w_name = f.getname_w(nameindex) w_value = None w_type = space.type(w_obj) if w_type.has_object_getattribute(): name = space.text_w(w_name) # bit of a mess to use these internal functions, but it allows the # mapdict caching below to work without an additional lookup version_tag = w_type.version_tag() if version_tag is None: _, w_descr = w_type._lookup_where(name) w_descr_cell = None else: _, w_descr_cell = w_type._pure_lookup_where_with_method_cache( name, version_tag) w_descr = w_descr_cell if isinstance(w_descr, MutableCell): w_descr = w_descr.unwrap_cell(space) if w_descr is None: # this handles directly the common case # module.function(args..) > w_value = w_obj.getdictvalue(space, name) objspace/std/callmethod.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def getdictvalue(self, space, name): w_value = space.finditem_str(self.w_dict, name) if self.lazy and w_value is None: > return self._load_lazily(space, name) interpreter/mixedmodule.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def _load_lazily(self, space, name): w_name = space.new_interned_str(name) try: loader = self.loaders[name] except KeyError: return None else: > w_value = loader(space) interpreter/mixedmodule.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace def ifileloader(space): d = {'space':space} # EVIL HACK (but it works, and this is not RPython :-) while 1: try: value = eval(spec, d) except NameError as ex: name = ex.args[0].split("'")[1] # super-Evil if name in d: raise # propagate the NameError try: > d[name] = __import__(pkgroot+'.'+name, None, None, [name]) interpreter/mixedmodule.py:182: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from pypy.interpreter.gateway import unwrap_spec from pypy.interpreter.error import oefmt from rpython.rlib import rgc > from pypy.module.gc.hook import W_GcCollectStepStats module/gc/interp_gc.py:4: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from rpython.memory.gc.hook import GcHooks > from rpython.memory.gc import incminimark module/gc/hook.py:2: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ # XXX Should find a way to bound the major collection threshold by the # XXX total addressable size. Maybe by keeping some minimarkpage arenas # XXX pre-reserved, enough for a few nursery collections? What about # XXX raw-malloced memory? # XXX try merging old_objects_pointing_to_pinned into # XXX old_objects_pointing_to_young (IRC 2014-10-22, fijal and gregor_w) import sys import os import time from rpython.rtyper.lltypesystem import lltype, llmemory, llarena, llgroup from rpython.rtyper.lltypesystem.lloperation import llop from rpython.rtyper.lltypesystem.llmemory import raw_malloc_usage from rpython.memory.gc.base import GCBase, MovingGCBase > from rpython.memory.gc import env E File "/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py", line 423 E SyntaxError: Non-ASCII character '\xe2' in file /build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py on line 423, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details ../rpython/memory/gc/incminimark.py:70: SyntaxError F pypy/module/_cppyy/test/test_cppyy.py::AppTestCPPYY::()::test05a_memory2 self = func = at 0xf31a8924>, 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, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 0xf79d632c> hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf597b3ec>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf597b3ec>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf30247ec> 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 0xf30247ec> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf30246ec> 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 0xf30246ec> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def runtest(self): target = self.obj if self.config.option.runappdirect: return target() space = target.im_self.space filename = self._getdynfilename(target) func = app2interp_temp(target.im_func, filename=filename) w_instance = self.parent.w_instance > self.execute_appex(space, func, space, w_instance) tool/pytest/apptest.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , space = StdObjSpace target = args = (StdObjSpace, ) def execute_appex(self, space, target, *args): self.space = space try: > target(*args) tool/pytest/apptest.py:30: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace args_w = (,) w_func = args = def appcaller(space, *args_w): if not isinstance(space, ObjSpace): raise TypeError("first argument must be a space instance.") # the last argument can be an Arguments w_func = self.wget(space, name) if not args_w: return space.call_function(w_func) else: args = args_w[-1] assert args is not None if not isinstance(args, Arguments): > return space.call_function(w_func, *args_w) interpreter/gateway.py:1227: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = args_w = (,) nargs = 1, Function = Method = def call_function(self, w_func, *args_w): nargs = len(args_w) # used for pruning funccall versions if not self.config.objspace.disable_call_speedhacks and nargs < 5: # start of hack for performance from pypy.interpreter.function import Function, Method if isinstance(w_func, Method): w_inst = w_func.w_instance if w_inst is not None: if nargs < 4: func = w_func.w_function if isinstance(func, Function): return func.funccall(w_inst, *args_w) elif args_w and ( self.abstract_isinstance_w(args_w[0], w_func.w_class)): w_func = w_func.w_function if isinstance(w_func, Function): > return w_func.funccall(*args_w) interpreter/baseobjspace.py:1210: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = args_w = (,) gateway = PyCode = code = def funccall(self, *args_w): # speed hack from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit nargs = len(args_w) fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, args_w[0]) elif nargs == 2: assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, args_w[0], args_w[1]) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) return code.fastcall_3(self.space, self, args_w[0], args_w[1], args_w[2]) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) return code.fastcall_4(self.space, self, args_w[0], args_w[1], args_w[2], args_w[3]) elif (nargs | PyCode.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) if nargs < 5: new_frame = self.space.createframe(code, self.w_func_globals, self) for i in funccallunrolling: if i < nargs: new_frame.locals_cells_stack_w[i] = args_w[i] > return new_frame.run() interpreter/function.py:118: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 15 def run(self): """Start this frame's execution.""" if self.getcode().co_flags & pycode.CO_GENERATOR: from pypy.interpreter.generator import GeneratorIterator return GeneratorIterator(self) else: > return self.execute_frame() interpreter/pyframe.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 15 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:290: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 15 e = SyntaxError("Non-ASCII character '\\xe2' in file /build_dir/own-linux-x86-32/b..., ('/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py', 423, 0, None)) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:943: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 15 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:286: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 15 pycode = next_instr = 0L ec = def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 15 co_code = 'd\x01\x00d\x02\x00l\x00\x00}\x01\x00d\x01\x00d\x02\x00l\x01\x00}\x02\x00|\x00\x00j\x02\x00}\x03\x00\xcc\x1e\x00|\x03\...00k\x02\x00s\xc7\x00t\x04\x00\x82\x01\x00|\x03\x00\xc9\x03\x00d\x07\x00\xca\x01\x00d\x04\x00\x83\x01\x00\x01d\x02\x00S' next_instr = 0L ec = def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 15 co_code = 'd\x01\x00d\x02\x00l\x00\x00}\x01\x00d\x01\x00d\x02\x00l\x01\x00}\x02\x00|\x00\x00j\x02\x00}\x03\x00\xcc\x1e\x00|\x03\...00k\x02\x00s\xc7\x00t\x04\x00\x82\x01\x00|\x03\x00\xc9\x03\x00d\x07\x00\xca\x01\x00d\x04\x00\x83\x01\x00\x01d\x02\x00S' next_instr = 162L ec = @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: self.last_instr = intmask(next_instr) if jit.we_are_jitted(): if self.debugdata: ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: ec.bytecode_trace(self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) next_instr += 1 if opcode >= HAVE_ARGUMENT: lo = ord(co_code[next_instr]) hi = ord(co_code[next_instr+1]) next_instr += 2 oparg = (hi * 256) | lo else: oparg = 0 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into a switch(). while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption lo = ord(co_code[next_instr+1]) hi = ord(co_code[next_instr+2]) next_instr += 3 oparg = (oparg * 65536) | (hi * 256) | lo if opcode == opcodedesc.RETURN_VALUE.index: if not self.blockstack_non_empty(): self.frame_finished_execution = True # for generators raise Return w_returnvalue = self.popvalue() block = self.unrollstack(SReturnValue.kind) if block is None: self.pushvalue(w_returnvalue) raise Return else: unroller = SReturnValue(w_returnvalue) next_instr = block.handle(self, unroller) return next_instr # now inside a 'finally' block elif opcode == opcodedesc.END_FINALLY.index: unroller = self.end_finally() if isinstance(unroller, SuspendedUnroller): # go on unrolling the stack block = self.unrollstack(unroller.kind) if block is None: w_result = unroller.nomoreblocks() self.pushvalue(w_result) raise Return else: next_instr = block.handle(self, unroller) return next_instr elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, ec) elif opcode == opcodedesc.BREAK_LOOP.index: next_instr = self.BREAK_LOOP(oparg, next_instr) elif opcode == opcodedesc.CONTINUE_LOOP.index: return self.CONTINUE_LOOP(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: next_instr = self.JUMP_IF_FALSE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_DEBUG.index: next_instr = self.JUMP_IF_NOT_DEBUG(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: next_instr = self.JUMP_IF_TRUE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: next_instr = self.POP_JUMP_IF_FALSE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: next_instr = self.POP_JUMP_IF_TRUE(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_DIVIDE.index: self.BINARY_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CLASS.index: self.BUILD_CLASS(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR.index: self.CALL_FUNCTION_VAR(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR_KW.index: self.CALL_FUNCTION_VAR_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: self.CALL_METHOD(oparg, next_instr) elif opcode == opcodedesc.COMPARE_OP.index: self.COMPARE_OP(oparg, next_instr) elif opcode == opcodedesc.DELETE_ATTR.index: self.DELETE_ATTR(oparg, next_instr) elif opcode == opcodedesc.DELETE_FAST.index: self.DELETE_FAST(oparg, next_instr) elif opcode == opcodedesc.DELETE_GLOBAL.index: self.DELETE_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.DELETE_NAME.index: self.DELETE_NAME(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_0.index: self.DELETE_SLICE_0(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_1.index: self.DELETE_SLICE_1(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_2.index: self.DELETE_SLICE_2(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_3.index: self.DELETE_SLICE_3(oparg, next_instr) elif opcode == opcodedesc.DELETE_SUBSCR.index: self.DELETE_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.DUP_TOP.index: self.DUP_TOP(oparg, next_instr) elif opcode == opcodedesc.DUP_TOPX.index: self.DUP_TOPX(oparg, next_instr) elif opcode == opcodedesc.EXEC_STMT.index: self.EXEC_STMT(oparg, next_instr) elif opcode == opcodedesc.GET_ITER.index: self.GET_ITER(oparg, next_instr) elif opcode == opcodedesc.IMPORT_FROM.index: self.IMPORT_FROM(oparg, next_instr) elif opcode == opcodedesc.IMPORT_NAME.index: self.IMPORT_NAME(oparg, next_instr) elif opcode == opcodedesc.IMPORT_STAR.index: self.IMPORT_STAR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_ADD.index: self.INPLACE_ADD(oparg, next_instr) elif opcode == opcodedesc.INPLACE_AND.index: self.INPLACE_AND(oparg, next_instr) elif opcode == opcodedesc.INPLACE_DIVIDE.index: self.INPLACE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_FLOOR_DIVIDE.index: self.INPLACE_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_LSHIFT.index: self.INPLACE_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MODULO.index: self.INPLACE_MODULO(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MULTIPLY.index: self.INPLACE_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.INPLACE_OR.index: self.INPLACE_OR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_POWER.index: self.INPLACE_POWER(oparg, next_instr) elif opcode == opcodedesc.INPLACE_RSHIFT.index: self.INPLACE_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_SUBTRACT.index: self.INPLACE_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_TRUE_DIVIDE.index: self.INPLACE_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_XOR.index: self.INPLACE_XOR(oparg, next_instr) elif opcode == opcodedesc.LIST_APPEND.index: self.LIST_APPEND(oparg, next_instr) elif opcode == opcodedesc.LOAD_ATTR.index: self.LOAD_ATTR(oparg, next_instr) elif opcode == opcodedesc.LOAD_CLOSURE.index: self.LOAD_CLOSURE(oparg, next_instr) elif opcode == opcodedesc.LOAD_CONST.index: self.LOAD_CONST(oparg, next_instr) elif opcode == opcodedesc.LOAD_DEREF.index: self.LOAD_DEREF(oparg, next_instr) elif opcode == opcodedesc.LOAD_FAST.index: self.LOAD_FAST(oparg, next_instr) elif opcode == opcodedesc.LOAD_GLOBAL.index: self.LOAD_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.LOAD_LOCALS.index: self.LOAD_LOCALS(oparg, next_instr) elif opcode == opcodedesc.LOAD_NAME.index: self.LOAD_NAME(oparg, next_instr) elif opcode == opcodedesc.LOOKUP_METHOD.index: > self.LOOKUP_METHOD(oparg, next_instr) interpreter/pyopcode.py:356: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = at line 15 nameindex = 9, ignored = (162L,) MutableCell = space = StdObjSpace w_obj = def LOOKUP_METHOD(f, nameindex, *ignored): from pypy.objspace.std.typeobject import MutableCell # stack before after # -------------- --fast-method----fallback-case------------ # # w_object None # w_object => w_function w_boundmethod_or_whatever # (more stuff) (more stuff) (more stuff) # space = f.space w_obj = f.popvalue() if not jit.we_are_jitted(): # mapdict has an extra-fast version of this function if LOOKUP_METHOD_mapdict(f, nameindex, w_obj): return w_name = f.getname_w(nameindex) w_value = None w_type = space.type(w_obj) if w_type.has_object_getattribute(): name = space.text_w(w_name) # bit of a mess to use these internal functions, but it allows the # mapdict caching below to work without an additional lookup version_tag = w_type.version_tag() if version_tag is None: _, w_descr = w_type._lookup_where(name) w_descr_cell = None else: _, w_descr_cell = w_type._pure_lookup_where_with_method_cache( name, version_tag) w_descr = w_descr_cell if isinstance(w_descr, MutableCell): w_descr = w_descr.unwrap_cell(space) if w_descr is None: # this handles directly the common case # module.function(args..) > w_value = w_obj.getdictvalue(space, name) objspace/std/callmethod.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def getdictvalue(self, space, name): w_value = space.finditem_str(self.w_dict, name) if self.lazy and w_value is None: > return self._load_lazily(space, name) interpreter/mixedmodule.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def _load_lazily(self, space, name): w_name = space.new_interned_str(name) try: loader = self.loaders[name] except KeyError: return None else: > w_value = loader(space) interpreter/mixedmodule.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace def ifileloader(space): d = {'space':space} # EVIL HACK (but it works, and this is not RPython :-) while 1: try: value = eval(spec, d) except NameError as ex: name = ex.args[0].split("'")[1] # super-Evil if name in d: raise # propagate the NameError try: > d[name] = __import__(pkgroot+'.'+name, None, None, [name]) interpreter/mixedmodule.py:182: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from pypy.interpreter.gateway import unwrap_spec from pypy.interpreter.error import oefmt from rpython.rlib import rgc > from pypy.module.gc.hook import W_GcCollectStepStats module/gc/interp_gc.py:4: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from rpython.memory.gc.hook import GcHooks > from rpython.memory.gc import incminimark module/gc/hook.py:2: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ # XXX Should find a way to bound the major collection threshold by the # XXX total addressable size. Maybe by keeping some minimarkpage arenas # XXX pre-reserved, enough for a few nursery collections? What about # XXX raw-malloced memory? # XXX try merging old_objects_pointing_to_pinned into # XXX old_objects_pointing_to_young (IRC 2014-10-22, fijal and gregor_w) import sys import os import time from rpython.rtyper.lltypesystem import lltype, llmemory, llarena, llgroup from rpython.rtyper.lltypesystem.lloperation import llop from rpython.rtyper.lltypesystem.llmemory import raw_malloc_usage from rpython.memory.gc.base import GCBase, MovingGCBase > from rpython.memory.gc import env E File "/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py", line 423 E SyntaxError: Non-ASCII character '\xe2' in file /build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py on line 423, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details ../rpython/memory/gc/incminimark.py:70: SyntaxError F pypy/module/_cppyy/test/test_cppyy.py::AppTestCPPYY::()::test06_method_double self = def test06_method_double(self): """Test passing of a double and returning of double on a method.""" import _cppyy t = self.example01 e = self.instantiate(t, 13) res = t.get_overload("addDataToDouble")(e, 16) assert round(res-29, 8) == 0. e.__destruct__() e = self.instantiate(t, -13) res = t.get_overload("addDataToDouble")(e, 16) assert round(res-3, 8) == 0. e.__destruct__() > assert t.get_overload("getCount")() == 0 E (application-level) AssertionError: assert 1 == 0 E + where 1 = () E + where = >('getCount') E + where > = .get_overload [/build_dir/own-linux-x86-32/build/pypy/module/_cppyy/test/test_cppyy.py:182]:17: AssertionError F pypy/module/_cppyy/test/test_cppyy.py::AppTestCPPYY::()::test07_method_constcharp self = def test07_method_constcharp(self): """Test passing of a C string and returning of a C string on a method.""" import _cppyy t = self.example01 e = self.instantiate(t, 42) res = t.get_overload("addDataToAtoi")(e, "13") assert res == 55 res = t.get_overload("addToStringValue")(e, "12") # TODO: this leaks assert res == "54" res = t.get_overload("addToStringValue")(e, "-12") # TODO: this leaks assert res == "30" e.__destruct__() > assert t.get_overload("getCount")() == 0 E (application-level) AssertionError: assert 1 == 0 E + where 1 = () E + where = >('getCount') E + where > = .get_overload [/build_dir/own-linux-x86-32/build/pypy/module/_cppyy/test/test_cppyy.py:200]:16: AssertionError F pypy/module/_cppyy/test/test_cppyy.py::AppTestCPPYY::()::test08_pass_object_by_pointer self = def test08_pass_object_by_pointer(self): """Test passing of an instance as an argument.""" import _cppyy t1 = self.example01 t2 = self.payload pl = self.instantiate(t2, 3.14) assert round(t2.get_overload("getData")(pl)-3.14, 8) == 0 t1.get_overload("staticSetPayload")(pl, 41.) assert t2.get_overload("getData")(pl) == 41. e = self.instantiate(t1, 50) t1.get_overload("setPayload")(e, pl); assert round(t2.get_overload("getData")(pl)-50., 8) == 0 e.__destruct__() pl.__destruct__() > assert t1.get_overload("getCount")() == 0 E (application-level) AssertionError: assert 1 == 0 E + where 1 = () E + where = >('getCount') E + where > = .get_overload [/build_dir/own-linux-x86-32/build/pypy/module/_cppyy/test/test_cppyy.py:217]:19: AssertionError F pypy/module/_cppyy/test/test_cppyy.py::AppTestCPPYY::()::test09_return_object_by_pointer self = def test09_return_object_by_pointer(self): """Test returning of an instance as an argument.""" import _cppyy t1 = self.example01 t2 = self.payload pl1 = self.instantiate(t2, 3.14) assert round(t2.get_overload("getData")(pl1)-3.14, 8) == 0 pl2 = t1.get_overload("staticCyclePayload")(pl1, 38.) assert t2.get_overload("getData")(pl2) == 38. e = self.instantiate(t1, 50) pl2 = t1.get_overload("cyclePayload")(e, pl1); assert round(t2.get_overload("getData")(pl2)-50., 8) == 0 e.__destruct__() pl1.__destruct__() > assert t1.get_overload("getCount")() == 0 E (application-level) AssertionError: assert 1 == 0 E + where 1 = () E + where = >('getCount') E + where > = .get_overload [/build_dir/own-linux-x86-32/build/pypy/module/_cppyy/test/test_cppyy.py:237]:19: AssertionError s pypy/module/_cppyy/test/test_crossing.py::AppTestCrossing::()::test01_build_bar_extension Skipped: backend is not installed s pypy/module/_cppyy/test/test_crossing.py::AppTestCrossing::()::test02_crossing_dict Skipped: backend is not installed s pypy/module/_cppyy/test/test_crossing.py::AppTestCrossing::()::test03_send_pyobject Skipped: backend is not installed s pypy/module/_cppyy/test/test_crossing.py::AppTestCrossing::()::test04_send_and_receive_pyobject Skipped: backend is not installed . pypy/module/_cppyy/test/test_datatypes.py::AppTestDATATYPES::()::test01_instance_data_read_access . pypy/module/_cppyy/test/test_datatypes.py::AppTestDATATYPES::()::test02_instance_data_write_access . pypy/module/_cppyy/test/test_datatypes.py::AppTestDATATYPES::()::test03_array_passing . pypy/module/_cppyy/test/test_datatypes.py::AppTestDATATYPES::()::test04_class_read_access . pypy/module/_cppyy/test/test_datatypes.py::AppTestDATATYPES::()::test05_class_data_write_access . pypy/module/_cppyy/test/test_datatypes.py::AppTestDATATYPES::()::test06_range_access . pypy/module/_cppyy/test/test_datatypes.py::AppTestDATATYPES::()::test07_type_conversions s pypy/module/_cppyy/test/test_datatypes.py::AppTestDATATYPES::()::test08_global_builtin_type Skipped: backend is not installed s pypy/module/_cppyy/test/test_datatypes.py::AppTestDATATYPES::()::test09_global_ptr Skipped: backend is not installed s pypy/module/_cppyy/test/test_datatypes.py::AppTestDATATYPES::()::test10_enum Skipped: backend is not installed s pypy/module/_cppyy/test/test_datatypes.py::AppTestDATATYPES::()::test11_string_passing Skipped: backend is not installed s pypy/module/_cppyy/test/test_datatypes.py::AppTestDATATYPES::()::test12_copy_constructor Skipped: backend is not installed s pypy/module/_cppyy/test/test_datatypes.py::AppTestDATATYPES::()::test13_object_returns Skipped: backend is not installed s pypy/module/_cppyy/test/test_datatypes.py::AppTestDATATYPES::()::test14_object_arguments Skipped: backend is not installed s pypy/module/_cppyy/test/test_datatypes.py::AppTestDATATYPES::()::test15_nullptr_passing Skipped: backend is not installed s pypy/module/_cppyy/test/test_datatypes.py::AppTestDATATYPES::()::test16_respect_privacy Skipped: backend is not installed s pypy/module/_cppyy/test/test_datatypes.py::AppTestDATATYPES::()::test17_object_and_pointer_comparisons Skipped: backend is not installed s pypy/module/_cppyy/test/test_datatypes.py::AppTestDATATYPES::()::test18_object_validity Skipped: backend is not installed s pypy/module/_cppyy/test/test_datatypes.py::AppTestDATATYPES::()::test19_buffer_reshaping Skipped: backend is not installed s pypy/module/_cppyy/test/test_datatypes.py::AppTestDATATYPES::()::test20_voidp Skipped: backend is not installed s pypy/module/_cppyy/test/test_datatypes.py::AppTestDATATYPES::()::test21_byte_arrays Skipped: backend is not installed s pypy/module/_cppyy/test/test_datatypes.py::AppTestDATATYPES::()::test22_function_pointers Skipped: backend is not installed s pypy/module/_cppyy/test/test_fragile.py::AppTestFRAGILE::()::test01_missing_classes Skipped: backend is not installed s pypy/module/_cppyy/test/test_fragile.py::AppTestFRAGILE::()::test02_arguments Skipped: backend is not installed s pypy/module/_cppyy/test/test_fragile.py::AppTestFRAGILE::()::test03_unsupported_arguments Skipped: backend is not installed s pypy/module/_cppyy/test/test_fragile.py::AppTestFRAGILE::()::test04_wrong_arg_addressof Skipped: backend is not installed s pypy/module/_cppyy/test/test_fragile.py::AppTestFRAGILE::()::test05_wrong_this Skipped: backend is not installed s pypy/module/_cppyy/test/test_fragile.py::AppTestFRAGILE::()::test06_unnamed_enum Skipped: backend is not installed s pypy/module/_cppyy/test/test_fragile.py::AppTestFRAGILE::()::test07_unhandled_scoped_datamember Skipped: backend is not installed s pypy/module/_cppyy/test/test_fragile.py::AppTestFRAGILE::()::test08_operator_bool Skipped: backend is not installed s pypy/module/_cppyy/test/test_fragile.py::AppTestFRAGILE::()::test09_documentation Skipped: backend is not installed s pypy/module/_cppyy/test/test_fragile.py::AppTestFRAGILE::()::test10_dir Skipped: backend is not installed s pypy/module/_cppyy/test/test_fragile.py::AppTestFRAGILE::()::test11_imports Skipped: backend is not installed s pypy/module/_cppyy/test/test_fragile.py::AppTestFRAGILE::()::test12_missing_casts Skipped: backend is not installed s pypy/module/_cppyy/test/test_fragile.py::AppTestFRAGILE::()::test13_double_enum_trouble Skipped: backend is not installed . pypy/module/_cppyy/test/test_helper.py::test_remove_const . pypy/module/_cppyy/test/test_helper.py::test_compound . pypy/module/_cppyy/test/test_helper.py::test_array_size . pypy/module/_cppyy/test/test_helper.py::test_clean_type . pypy/module/_cppyy/test/test_helper.py::test_operator_mapping . pypy/module/_cppyy/test/test_helper.py::test_namespace_extraction s pypy/module/_cppyy/test/test_operators.py::AppTestOPERATORS::()::test01_math_operators Skipped: backend is not installed s pypy/module/_cppyy/test/test_operators.py::AppTestOPERATORS::()::test02_unary_math_operators Skipped: backend is not installed s pypy/module/_cppyy/test/test_operators.py::AppTestOPERATORS::()::test03_comparison_operators Skipped: backend is not installed s pypy/module/_cppyy/test/test_operators.py::AppTestOPERATORS::()::test04_boolean_operator Skipped: backend is not installed s pypy/module/_cppyy/test/test_operators.py::AppTestOPERATORS::()::test05_exact_types Skipped: backend is not installed s pypy/module/_cppyy/test/test_operators.py::AppTestOPERATORS::()::test06_approximate_types Skipped: backend is not installed s pypy/module/_cppyy/test/test_operators.py::AppTestOPERATORS::()::test07_virtual_operator_eq Skipped: backend is not installed s pypy/module/_cppyy/test/test_overloads.py::AppTestOVERLOADS::()::test01_class_based_overloads Skipped: backend is not installed s pypy/module/_cppyy/test/test_overloads.py::AppTestOVERLOADS::()::test02_class_based_overloads_explicit_resolution Skipped: backend is not installed s pypy/module/_cppyy/test/test_overloads.py::AppTestOVERLOADS::()::test03_fragile_class_based_overloads Skipped: backend is not installed s pypy/module/_cppyy/test/test_overloads.py::AppTestOVERLOADS::()::test04_fully_fragile_overloads Skipped: backend is not installed s pypy/module/_cppyy/test/test_overloads.py::AppTestOVERLOADS::()::test05_array_overloads Skipped: backend is not installed s pypy/module/_cppyy/test/test_overloads.py::AppTestOVERLOADS::()::test06_double_int_overloads Skipped: backend is not installed s pypy/module/_cppyy/test/test_overloads.py::AppTestOVERLOADS::()::test07_mean_overloads Skipped: backend is not installed . pypy/module/_cppyy/test/test_pythonify.py::AppTestPYTHONIFY::()::test01_finding_classes . pypy/module/_cppyy/test/test_pythonify.py::AppTestPYTHONIFY::()::test02_calling_static_functions F pypy/module/_cppyy/test/test_pythonify.py::AppTestPYTHONIFY::()::test03_constructing_and_calling self = def test03_constructing_and_calling(self): """Test object and method calls.""" import _cppyy example01_class = _cppyy.gbl.example01 > assert example01_class.getCount() == 0 E (application-level) AssertionError: assert 1 == 0 E + where 1 = () E + where = E + where = .getCount [/build_dir/own-linux-x86-32/build/pypy/module/_cppyy/test/test_pythonify.py:68]:5: AssertionError F pypy/module/_cppyy/test/test_pythonify.py::AppTestPYTHONIFY::()::test04_passing_object_by_pointer self = def test04_passing_object_by_pointer(self): import _cppyy example01_class = _cppyy.gbl.example01 payload_class = _cppyy.gbl.payload e = example01_class(14) pl = payload_class(3.14) assert round(pl.getData()-3.14, 8) == 0 example01_class.staticSetPayload(pl, 41.) assert pl.getData() == 41. example01_class.staticSetPayload(pl, 43.) assert pl.getData() == 43. e.staticSetPayload(pl, 45.) assert pl.getData() == 45. e.setPayload(pl) assert round(pl.getData()-14., 8) == 0 pl.__destruct__() e.__destruct__() > assert example01_class.getCount() == 0 E (application-level) AssertionError: assert 1 == 0 E + where 1 = () E + where = E + where = .getCount [/build_dir/own-linux-x86-32/build/pypy/module/_cppyy/test/test_pythonify.py:117]:22: AssertionError F pypy/module/_cppyy/test/test_pythonify.py::AppTestPYTHONIFY::()::test05_returning_object_by_pointer self = def test05_returning_object_by_pointer(self): import _cppyy example01_class = _cppyy.gbl.example01 payload_class = _cppyy.gbl.payload pl = payload_class(3.14) assert round(pl.getData()-3.14, 8) == 0 pl2 = example01_class.staticCyclePayload(pl, 38.) assert pl2.getData() == 38. e = example01_class(14) pl2 = e.cyclePayload(pl) assert round(pl2.getData()-14., 8) == 0 pl.__destruct__() e.__destruct__() > assert example01_class.getCount() == 0 E (application-level) AssertionError: assert 1 == 0 E + where 1 = () E + where = E + where = .getCount [/build_dir/own-linux-x86-32/build/pypy/module/_cppyy/test/test_pythonify.py:140]:19: AssertionError s pypy/module/_cppyy/test/test_pythonify.py::AppTestPYTHONIFY::()::test06_returning_object_by_value Skipped: backend is not installed s pypy/module/_cppyy/test/test_pythonify.py::AppTestPYTHONIFY::()::test07_global_functions Skipped: backend is not installed s pypy/module/_cppyy/test/test_pythonify.py::AppTestPYTHONIFY::()::test08_memory Skipped: backend is not installed s pypy/module/_cppyy/test/test_pythonify.py::AppTestPYTHONIFY::()::test09_default_arguments Skipped: backend is not installed s pypy/module/_cppyy/test/test_pythonify.py::AppTestPYTHONIFY::()::test10_overload_on_arguments Skipped: backend is not installed s pypy/module/_cppyy/test/test_pythonify.py::AppTestPYTHONIFY::()::test11_typedefs Skipped: backend is not installed s pypy/module/_cppyy/test/test_pythonify.py::AppTestPYTHONIFY::()::test12_underscore_in_class_name Skipped: backend is not installed s pypy/module/_cppyy/test/test_pythonify.py::AppTestPYTHONIFY::()::test13_bound_unbound_calls Skipped: backend is not installed s pypy/module/_cppyy/test/test_pythonify.py::AppTestPYTHONIFY::()::test14_installable_function Skipped: backend is not installed s pypy/module/_cppyy/test/test_pythonify.py::AppTestPYTHONIFY::()::test15_subclassing Skipped: backend is not installed s pypy/module/_cppyy/test/test_pythonify.py::AppTestPYTHONIFY_UI::()::test01_pythonizations Skipped: backend is not installed s pypy/module/_cppyy/test/test_pythonify.py::AppTestPYTHONIFY_UI::()::test02_fragile_pythonizations Skipped: backend is not installed s pypy/module/_cppyy/test/test_pythonify.py::AppTestPYTHONIFY_UI::()::test03_write_access_to_globals Skipped: backend is not installed . pypy/module/_cppyy/test/test_pythonization.py::AppTestPYTHONIZATION::()::test00_api s pypy/module/_cppyy/test/test_pythonization.py::AppTestPYTHONIZATION::()::test01_type_pinning Skipped: backend is not installed s pypy/module/_cppyy/test/test_pythonization.py::AppTestPYTHONIZATION::()::test02_transparency Skipped: backend is not installed s pypy/module/_cppyy/test/test_pythonization.py::AppTestPYTHONIZATION::()::test03_converters Skipped: backend is not installed s pypy/module/_cppyy/test/test_pythonization.py::AppTestPYTHONIZATION::()::test04_executors Skipped: backend is not installed s pypy/module/_cppyy/test/test_pythonization.py::AppTestPYTHONIZATION::()::test05_creates_flag Skipped: backend is not installed s pypy/module/_cppyy/test/test_pythonization.py::AppTestPYTHONIZATION::()::test06_api_regression_test Skipped: backend is not installed s pypy/module/_cppyy/test/test_regression.py::AppTestREGRESSION::()::test01_dir Skipped: backend is not installed s pypy/module/_cppyy/test/test_regression.py::AppTestREGRESSION::()::test02_default_template_arguments Skipped: backend is not installed s pypy/module/_cppyy/test/test_stltypes.py::AppTestSTLVECTOR::()::test01_builtin_type_vector_types Skipped: backend is not installed s pypy/module/_cppyy/test/test_stltypes.py::AppTestSTLVECTOR::()::test02_user_type_vector_type Skipped: backend is not installed s pypy/module/_cppyy/test/test_stltypes.py::AppTestSTLVECTOR::()::test03_empty_vector_type Skipped: backend is not installed s pypy/module/_cppyy/test/test_stltypes.py::AppTestSTLVECTOR::()::test04_vector_iteration Skipped: backend is not installed s pypy/module/_cppyy/test/test_stltypes.py::AppTestSTLVECTOR::()::test05_push_back_iterables_with_iadd Skipped: backend is not installed s pypy/module/_cppyy/test/test_stltypes.py::AppTestSTLVECTOR::()::test06_vector_indexing Skipped: backend is not installed s pypy/module/_cppyy/test/test_stltypes.py::AppTestSTLVECTOR::()::test07_vector_bool Skipped: backend is not installed s pypy/module/_cppyy/test/test_stltypes.py::AppTestSTLVECTOR::()::test08_vector_enum Skipped: backend is not installed s pypy/module/_cppyy/test/test_stltypes.py::AppTestSTLSTRING::()::test01_string_argument_passing Skipped: backend is not installed s pypy/module/_cppyy/test/test_stltypes.py::AppTestSTLSTRING::()::test02_string_data_access Skipped: backend is not installed s pypy/module/_cppyy/test/test_stltypes.py::AppTestSTLSTRING::()::test03_string_with_null_character Skipped: backend is not installed s pypy/module/_cppyy/test/test_stltypes.py::AppTestSTLSTRING::()::test04_array_of_strings Skipped: backend is not installed s pypy/module/_cppyy/test/test_stltypes.py::AppTestSTLLIST::()::test01_builtin_list_type Skipped: backend is not installed s pypy/module/_cppyy/test/test_stltypes.py::AppTestSTLLIST::()::test02_empty_list_type Skipped: backend is not installed s pypy/module/_cppyy/test/test_stltypes.py::AppTestSTLMAP::()::test01_builtin_map_type Skipped: backend is not installed s pypy/module/_cppyy/test/test_stltypes.py::AppTestSTLMAP::()::test02_keyed_maptype Skipped: backend is not installed s pypy/module/_cppyy/test/test_stltypes.py::AppTestSTLMAP::()::test03_empty_maptype Skipped: backend is not installed s pypy/module/_cppyy/test/test_stltypes.py::AppTestSTLMAP::()::test04_unsignedvalue_typemap_types Skipped: backend is not installed s pypy/module/_cppyy/test/test_stltypes.py::AppTestSTLMAP::()::test05_STL_like_class_indexing_overloads Skipped: backend is not installed s pypy/module/_cppyy/test/test_stltypes.py::AppTestSTLMAP::()::test06_STL_like_class_iterators Skipped: backend is not installed s pypy/module/_cppyy/test/test_stltypes.py::AppTestSTLITERATOR::()::test01_builtin_vector_iterators Skipped: backend is not installed s pypy/module/_cppyy/test/test_stltypes.py::AppTestTEMPLATE_UI::()::test01_explicit_templates Skipped: backend is not installed s pypy/module/_cppyy/test/test_stltypes.py::AppTestSTLARRAY::()::test01_array_of_basic_types Skipped: backend is not installed s pypy/module/_cppyy/test/test_stltypes.py::AppTestSTLARRAY::()::test02_array_of_pods Skipped: backend is not installed s pypy/module/_cppyy/test/test_stltypes.py::AppTestSTLARRAY::()::test03_array_of_pointer_to_pods Skipped: backend is not installed s pypy/module/_cppyy/test/test_templates.py::AppTestTEMPLATES::()::test01_template_member_functions Skipped: backend is not installed s pypy/module/_cppyy/test/test_templates.py::AppTestTEMPLATES::()::test02_non_type_template_args Skipped: backend is not installed s pypy/module/_cppyy/test/test_templates.py::AppTestTEMPLATES::()::test03_templated_function Skipped: backend is not installed s pypy/module/_cppyy/test/test_templates.py::AppTestTEMPLATES::()::test04_variadic_function Skipped: backend is not installed s pypy/module/_cppyy/test/test_templates.py::AppTestTEMPLATES::()::test05_variadic_overload Skipped: backend is not installed s pypy/module/_cppyy/test/test_templates.py::AppTestTEMPLATES::()::test06_variadic_sfinae Skipped: backend is not installed s pypy/module/_cppyy/test/test_templates.py::AppTestTEMPLATES::()::test07_type_deduction Skipped: backend is not installed s pypy/module/_cppyy/test/test_templates.py::AppTestTEMPLATES::()::test08_using_of_static_data Skipped: backend is not installed s pypy/module/_cppyy/test/test_templates.py::AppTestTEMPLATES::()::test09_templated_callable Skipped: backend is not installed s pypy/module/_cppyy/test/test_templates.py::AppTestTEMPLATES::()::test10_templated_hidding_methods Skipped: backend is not installed s pypy/module/_cppyy/test/test_templates.py::AppTestTEMPLATES::()::test11_templated_ctor Skipped: backend is not installed s pypy/module/_cppyy/test/test_templates.py::AppTestTEMPLATES::()::test12_template_aliases Skipped: backend is not installed s pypy/module/_cppyy/test/test_templates.py::AppTestTEMPLATES::()::test13_using_templated_method Skipped: backend is not installed s pypy/module/_cppyy/test/test_templates.py::AppTestTEMPLATES::()::test14_templated_return_type Skipped: backend is not installed s pypy/module/_cppyy/test/test_templates.py::AppTestTEMPLATES::()::test15_rvalue_templates Skipped: backend is not installed s pypy/module/_cppyy/test/test_templates.py::AppTestTEMPLATES::()::test16_variadic Skipped: backend is not installed s pypy/module/_cppyy/test/test_templates.py::AppTestTEMPLATES::()::test17_empty_body Skipped: backend is not installed s pypy/module/_cppyy/test/test_templates.py::AppTestTEMPLATES::()::test18_greedy_overloads Skipped: backend is not installed s pypy/module/_cppyy/test/test_templates.py::AppTestTEMPLATES::()::test19_templated_operator_add Skipped: backend is not installed s pypy/module/_cppyy/test/test_templates.py::AppTestTEMPLATES::()::test20_templated_ctor_with_defaults Skipped: backend is not installed s pypy/module/_cppyy/test/test_templates.py::AppTestTEMPLATES::()::test21_type_deduction_with_conversion Skipped: backend is not installed s pypy/module/_cppyy/test/test_templates.py::AppTestTEMPLATES::()::test22_type_deduction_of_proper_integer_size Skipped: backend is not installed s pypy/module/_cppyy/test/test_templates.py::AppTestTEMPLATES::()::test23_overloaded_setitem Skipped: backend is not installed s pypy/module/_cppyy/test/test_templates.py::AppTestTEMPLATES::()::test24_stdfunction_templated_arguments Skipped: backend is not installed s pypy/module/_cppyy/test/test_templates.py::AppTestTEMPLATES::()::test25_partial_templates Skipped: backend is not installed s pypy/module/_cppyy/test/test_templates.py::AppTestTEMPLATES::()::test26_variadic_constructor Skipped: backend is not installed s pypy/module/_cppyy/test/test_templates.py::AppTestTEMPLATES::()::test27_enum_in_constructor Skipped: backend is not installed s pypy/module/_cppyy/test/test_templates.py::AppTestTEMPLATED_TYPEDEFS::()::test01_using Skipped: backend is not installed s pypy/module/_cppyy/test/test_templates.py::AppTestTEMPLATED_TYPEDEFS::()::test02_mapped_type_as_internal Skipped: backend is not installed s pypy/module/_cppyy/test/test_templates.py::AppTestTEMPLATED_TYPEDEFS::()::test03_mapped_type_as_template_arg Skipped: backend is not installed s pypy/module/_cppyy/test/test_templates.py::AppTestTEMPLATED_TYPEDEFS::()::test04_type_deduction Skipped: backend is not installed s pypy/module/_cppyy/test/test_templates.py::AppTestTEMPLATED_TYPEDEFS::()::test05_type_deduction_and_extern Skipped: backend is not installed s pypy/module/_cppyy/test/test_templates.py::AppTestTEMPLATE_TYPE_REDUCTION::()::test01_reduce_binary Skipped: backend is not installed s pypy/module/_cppyy/test/test_zjit.py::TestFastPathJIT::()::test01_simple Skipped: backend is not installed s pypy/module/_cppyy/test/test_zjit.py::TestFastPathJIT::()::test02_overload Skipped: backend is not installed s pypy/module/_cppyy/test/test_zjit.py::TestFastPathJIT::()::test03_const_ref Skipped: backend is not installed (somefailed=True in module/_cppyy/test) . pypy/module/_jitlog/test/test__jitlog.py::AppTestJitLog::()::test_enable s pypy/module/_locale/test/test_locale.py::AppTestLocaleTrivia::()::test_import Skipped: necessary locales not installed s pypy/module/_locale/test/test_locale.py::AppTestLocaleTrivia::()::test_constants Skipped: necessary locales not installed s pypy/module/_locale/test/test_locale.py::AppTestLocaleTrivia::()::test_setlocale Skipped: necessary locales not installed s pypy/module/_locale/test/test_locale.py::AppTestLocaleTrivia::()::test_string_ulcase Skipped: necessary locales not installed s pypy/module/_locale/test/test_locale.py::AppTestLocaleTrivia::()::test_localeconv Skipped: necessary locales not installed s pypy/module/_locale/test/test_locale.py::AppTestLocaleTrivia::()::test_strcoll Skipped: necessary locales not installed s pypy/module/_locale/test/test_locale.py::AppTestLocaleTrivia::()::test_strcoll_unicode Skipped: necessary locales not installed s pypy/module/_locale/test/test_locale.py::AppTestLocaleTrivia::()::test_strxfrm Skipped: necessary locales not installed s pypy/module/_locale/test/test_locale.py::AppTestLocaleTrivia::()::test_str_float Skipped: necessary locales not installed s pypy/module/_locale/test/test_locale.py::AppTestLocaleTrivia::()::test_text Skipped: necessary locales not installed s pypy/module/_locale/test/test_locale.py::AppTestLocaleTrivia::()::test_nl_langinfo Skipped: necessary locales not installed s pypy/module/_locale/test/test_locale.py::AppTestLocaleTrivia::()::test_bindtextdomain Skipped: necessary locales not installed s pypy/module/_locale/test/test_locale.py::AppTestLocaleTrivia::()::test_bind_textdomain_codeset Skipped: necessary locales not installed s pypy/module/_locale/test/test_locale.py::AppTestLocaleTrivia::()::test_getdefaultlocale Skipped: necessary locales not installed . pypy/module/_lsprof/test/test_cprofile.py::AppTestCProfile::()::test_repr . pypy/module/_lsprof/test/test_cprofile.py::AppTestCProfile::()::test_builtins . pypy/module/_lsprof/test/test_cprofile.py::AppTestCProfile::()::test_builtins_callers . pypy/module/_lsprof/test/test_cprofile.py::AppTestCProfile::()::test_direct . pypy/module/_lsprof/test/test_cprofile.py::AppTestCProfile::()::test_scale_of_result . pypy/module/_lsprof/test/test_cprofile.py::AppTestCProfile::()::test_builtin_exception . pypy/interpreter/test/apptest_class.py::test_class . pypy/interpreter/test/apptest_class.py::test_metaclass_explicit . pypy/interpreter/test/apptest_class.py::test_metaclass_inherited . pypy/interpreter/test/apptest_class.py::test_metaclass_global . pypy/interpreter/test/apptest_class.py::test_method . pypy/interpreter/test/apptest_class.py::test_method_exc . pypy/interpreter/test/apptest_class.py::test_class_attr . pypy/interpreter/test/apptest_class.py::test_class_attr_inherited . pypy/interpreter/test/apptest_class.py::test___new__ . pypy/interpreter/test/apptest_class.py::test_int_subclass . pypy/interpreter/test/apptest_class.py::test_long_subclass . pypy/interpreter/test/apptest_class.py::test_float_subclass . pypy/interpreter/test/apptest_class.py::test_meth_doc . pypy/interpreter/test/apptest_class.py::test_getattribute . pypy/interpreter/test/apptest_class.py::test_nonsensical_base_error_message . pypy/interpreter/test/apptest_exec.py::test_string . pypy/interpreter/test/apptest_exec.py::test_localfill . pypy/interpreter/test/apptest_exec.py::test_builtinsupply . pypy/interpreter/test/apptest_exec.py::test_invalidglobal . pypy/interpreter/test/apptest_exec.py::test_invalidlocal . pypy/interpreter/test/apptest_exec.py::test_codeobject . pypy/interpreter/test/apptest_exec.py::test_implicit . pypy/interpreter/test/apptest_exec.py::test_tuplelocals . pypy/interpreter/test/apptest_exec.py::test_tupleglobals . pypy/interpreter/test/apptest_exec.py::test_exceptionfallthrough . pypy/interpreter/test/apptest_exec.py::test_global_stmt . pypy/interpreter/test/apptest_exec.py::test_specialcase_free_load . pypy/interpreter/test/apptest_exec.py::test_specialcase_free_load2 . pypy/interpreter/test/apptest_exec.py::test_specialcase_globals_and_exec . pypy/interpreter/test/apptest_exec.py::test_nested_names_are_not_confused . pypy/interpreter/test/apptest_exec.py::test_import_star_shadows_global . pypy/interpreter/test/apptest_exec.py::test_import_global_takes_precendence . pypy/interpreter/test/apptest_exec.py::test_exec_load_name . pypy/interpreter/test/apptest_exec.py::test_space_bug . pypy/interpreter/test/apptest_exec.py::test_synerr . pypy/interpreter/test/apptest_exec.py::test_mapping_as_locals . pypy/interpreter/test/apptest_exec.py::test_filename . pypy/interpreter/test/apptest_exec.py::test_exec_and_name_lookups . pypy/interpreter/test/apptest_exec.py::test_exec_unicode . pypy/interpreter/test/apptest_exec.py::test_eval_unicode . pypy/interpreter/test/apptest_exec.py::test_compile_unicode . pypy/interpreter/test/apptest_exec.py::test_nested_qualified_exec . pypy/interpreter/test/apptest_exec.py::test_exec_tuple . pypy/interpreter/test/apptest_function.py::test_attributes . pypy/interpreter/test/apptest_function.py::test_code_is_ok . pypy/interpreter/test/apptest_function.py::test_underunder_attributes . pypy/interpreter/test/apptest_function.py::test_classmethod . pypy/interpreter/test/apptest_function.py::test_write_doc . pypy/interpreter/test/apptest_function.py::test_write_func_doc . pypy/interpreter/test/apptest_function.py::test_write_module . pypy/interpreter/test/apptest_function.py::test_new . pypy/interpreter/test/apptest_function.py::test_write_code . pypy/interpreter/test/apptest_function.py::test_write_code_builtin_forbidden . pypy/interpreter/test/apptest_function.py::test_write_attributes_builtin_forbidden . pypy/interpreter/test/apptest_function.py::test_set_name . pypy/interpreter/test/apptest_function.py::test_simple_call_default . pypy/interpreter/test/apptest_function.py::test_kwargs_sets_wrong_positional_raises . pypy/interpreter/test/apptest_function.py::test_kwargs_sets_positional . pypy/interpreter/test/apptest_function.py::test_kwargs_sets_positional_mixed . pypy/interpreter/test/apptest_function.py::test_kwargs_sets_positional_twice . pypy/interpreter/test/apptest_function.py::test_kwargs_nondict_mapping . pypy/interpreter/test/apptest_function.py::test_default_arg . pypy/interpreter/test/apptest_function.py::test_defaults_keyword_overrides . pypy/interpreter/test/apptest_function.py::test_defaults_keyword_override_but_leaves_empty_positional . pypy/interpreter/test/apptest_function.py::test_kwargs_disallows_same_name_twice . pypy/interpreter/test/apptest_function.py::test_kwargs_bound_blind . pypy/interpreter/test/apptest_function.py::test_kwargs_confusing_name s pypy/interpreter/test/apptest_function.py::test_none_get_interaction Skipped: XXX issue #2083 . pypy/interpreter/test/apptest_function.py::test_none_get_interaction_2 . pypy/interpreter/test/apptest_function.py::test_no_get_builtin . pypy/interpreter/test/apptest_function.py::test_builtin_as_special_method_is_not_bound . pypy/interpreter/test/apptest_function.py::test_call_builtin . pypy/interpreter/test/apptest_function.py::test_call_error_message . pypy/interpreter/test/apptest_function.py::test_unicode_docstring . pypy/interpreter/test/apptest_function.py::test_issue1293 . pypy/interpreter/test/apptest_function.py::test_subclassing . pypy/interpreter/test/apptest_function.py::test_lambda_docstring . pypy/interpreter/test/apptest_function.py::test_setstate_called_with_wrong_args . pypy/interpreter/test/apptest_function.py::test_simple_call . pypy/interpreter/test/apptest_function.py::test_simple_varargs . pypy/interpreter/test/apptest_function.py::test_obscure_varargs . pypy/interpreter/test/apptest_function.py::test_simple_kwargs . pypy/interpreter/test/apptest_function.py::test_get . pypy/interpreter/test/apptest_function.py::test_get_get . pypy/interpreter/test/apptest_function.py::test_method_eq . pypy/interpreter/test/apptest_function.py::test_method_hash . pypy/interpreter/test/apptest_function.py::test_method_repr . pypy/interpreter/test/apptest_function.py::test_method_call . pypy/interpreter/test/apptest_function.py::test_method_w_callable . pypy/interpreter/test/apptest_function.py::test_method_w_callable_call_function . pypy/interpreter/test/apptest_function.py::test_unbound_typecheck . pypy/interpreter/test/apptest_function.py::test_unbound_abstract_typecheck . pypy/interpreter/test/apptest_function.py::test_invalid_creation . pypy/interpreter/test/apptest_function.py::test_empty_arg_kwarg_call . pypy/interpreter/test/apptest_function.py::test_method_equal . pypy/interpreter/test/apptest_function.py::test_method_equals_with_identity . pypy/interpreter/test/apptest_function.py::test_method_identity . pypy/interpreter/test/apptest_function.py::test_method_ne_NotImplemented . pypy/interpreter/test/apptest_generator.py::test_generator . pypy/interpreter/test/apptest_generator.py::test_generator2 . pypy/interpreter/test/apptest_generator.py::test_attributes . pypy/interpreter/test/apptest_generator.py::test_generator3 . pypy/interpreter/test/apptest_generator.py::test_generator4 . pypy/interpreter/test/apptest_generator.py::test_generator5 . pypy/interpreter/test/apptest_generator.py::test_throw1 . pypy/interpreter/test/apptest_generator.py::test_throw2 . pypy/interpreter/test/apptest_generator.py::test_throw3 . pypy/interpreter/test/apptest_generator.py::test_throw4 . pypy/interpreter/test/apptest_generator.py::test_throw5 . pypy/interpreter/test/apptest_generator.py::test_throw6 . pypy/interpreter/test/apptest_generator.py::test_throw_fail . pypy/interpreter/test/apptest_generator.py::test_throw_fail2 . pypy/interpreter/test/apptest_generator.py::test_throw_fail3 . pypy/interpreter/test/apptest_generator.py::test_throw_finishes_generator . pypy/interpreter/test/apptest_generator.py::test_throw_bug . pypy/interpreter/test/apptest_generator.py::test_throw_on_finished_generator . pypy/interpreter/test/apptest_generator.py::test_close . pypy/interpreter/test/apptest_generator.py::test_close2 . pypy/interpreter/test/apptest_generator.py::test_close3 . pypy/interpreter/test/apptest_generator.py::test_close_fail F pypy/interpreter/test/apptest_generator.py::test_close_on_collect self = func = at 0xf4ecfed4>, 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, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 0xf7a5dc6c> hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf6a170ac>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf6a170ac>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf4e4f28c> 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 0xf4e4f28c> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf4e4f22c> 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 0xf4e4f22c> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def runtest(self): target = self.w_obj space = target.space self.check_run(space, target) > self.execute_appex(space, target) tool/pytest/apptest2.py:85: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , space = StdObjSpace w_func = def execute_appex(self, space, w_func): space.getexecutioncontext().set_sys_exc_info(None) sig = w_func.code._signature if sig.varargname or sig.kwargname: raise ValueError( 'Test functions may not use *args or **kwargs') args_w = self.get_fixtures(space, sig.argnames) try: > space.call_function(w_func, *args_w) tool/pytest/apptest2.py:114: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = , args_w = () nargs = 0, Function = Method = def call_function(self, w_func, *args_w): nargs = len(args_w) # used for pruning funccall versions if not self.config.objspace.disable_call_speedhacks and nargs < 5: # start of hack for performance from pypy.interpreter.function import Function, Method if isinstance(w_func, Method): w_inst = w_func.w_instance if w_inst is not None: if nargs < 4: func = w_func.w_function if isinstance(func, Function): return func.funccall(w_inst, *args_w) elif args_w and ( self.abstract_isinstance_w(args_w[0], w_func.w_class)): w_func = w_func.w_function if isinstance(w_func, Function): > return w_func.funccall(*args_w) interpreter/baseobjspace.py:1210: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , args_w = () gateway = PyCode = code = def funccall(self, *args_w): # speed hack from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit nargs = len(args_w) fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, args_w[0]) elif nargs == 2: assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, args_w[0], args_w[1]) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) return code.fastcall_3(self.space, self, args_w[0], args_w[1], args_w[2]) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) return code.fastcall_4(self.space, self, args_w[0], args_w[1], args_w[2], args_w[3]) elif (nargs | PyCode.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) if nargs < 5: new_frame = self.space.createframe(code, self.w_func_globals, self) for i in funccallunrolling: if i < nargs: new_frame.locals_cells_stack_w[i] = args_w[i] > return new_frame.run() interpreter/function.py:118: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 223 def run(self): """Start this frame's execution.""" if self.getcode().co_flags & pycode.CO_GENERATOR: from pypy.interpreter.generator import GeneratorIterator return GeneratorIterator(self) else: > return self.execute_frame() interpreter/pyframe.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 223 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:290: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 223 e = SyntaxError("Non-ASCII character '\\xe2' in file /build_dir/own-linux-x86-32/b..., ('/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py', 423, 0, None)) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:943: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 223 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:286: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 223 pycode = next_instr = 0L ec = def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 223 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x00\x00\x87\x00\x00f\x01\x00d\x02\x00\x86\x00\x00\x89\x00\x00\x88\x00\x00\x83\x00\x00}\x...x04\x00\xc9\x0b\x00|\x06\x00\xca\x01\x00\x83\x01\x00\x82\x01\x00d\x00\x00\x04}\x02\x00\x04}\x04\x00}\x03\x00d\x00\x00S' next_instr = 0L ec = def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 223 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x00\x00\x87\x00\x00f\x01\x00d\x02\x00\x86\x00\x00\x89\x00\x00\x88\x00\x00\x83\x00\x00}\x...x04\x00\xc9\x0b\x00|\x06\x00\xca\x01\x00\x83\x01\x00\x82\x01\x00d\x00\x00\x04}\x02\x00\x04}\x04\x00}\x03\x00d\x00\x00S' next_instr = 55L ec = @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: self.last_instr = intmask(next_instr) if jit.we_are_jitted(): if self.debugdata: ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: ec.bytecode_trace(self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) next_instr += 1 if opcode >= HAVE_ARGUMENT: lo = ord(co_code[next_instr]) hi = ord(co_code[next_instr+1]) next_instr += 2 oparg = (hi * 256) | lo else: oparg = 0 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into a switch(). while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption lo = ord(co_code[next_instr+1]) hi = ord(co_code[next_instr+2]) next_instr += 3 oparg = (oparg * 65536) | (hi * 256) | lo if opcode == opcodedesc.RETURN_VALUE.index: if not self.blockstack_non_empty(): self.frame_finished_execution = True # for generators raise Return w_returnvalue = self.popvalue() block = self.unrollstack(SReturnValue.kind) if block is None: self.pushvalue(w_returnvalue) raise Return else: unroller = SReturnValue(w_returnvalue) next_instr = block.handle(self, unroller) return next_instr # now inside a 'finally' block elif opcode == opcodedesc.END_FINALLY.index: unroller = self.end_finally() if isinstance(unroller, SuspendedUnroller): # go on unrolling the stack block = self.unrollstack(unroller.kind) if block is None: w_result = unroller.nomoreblocks() self.pushvalue(w_result) raise Return else: next_instr = block.handle(self, unroller) return next_instr elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, ec) elif opcode == opcodedesc.BREAK_LOOP.index: next_instr = self.BREAK_LOOP(oparg, next_instr) elif opcode == opcodedesc.CONTINUE_LOOP.index: return self.CONTINUE_LOOP(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: next_instr = self.JUMP_IF_FALSE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_DEBUG.index: next_instr = self.JUMP_IF_NOT_DEBUG(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: next_instr = self.JUMP_IF_TRUE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: next_instr = self.POP_JUMP_IF_FALSE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: next_instr = self.POP_JUMP_IF_TRUE(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_DIVIDE.index: self.BINARY_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CLASS.index: self.BUILD_CLASS(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR.index: self.CALL_FUNCTION_VAR(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR_KW.index: self.CALL_FUNCTION_VAR_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: self.CALL_METHOD(oparg, next_instr) elif opcode == opcodedesc.COMPARE_OP.index: self.COMPARE_OP(oparg, next_instr) elif opcode == opcodedesc.DELETE_ATTR.index: self.DELETE_ATTR(oparg, next_instr) elif opcode == opcodedesc.DELETE_FAST.index: self.DELETE_FAST(oparg, next_instr) elif opcode == opcodedesc.DELETE_GLOBAL.index: self.DELETE_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.DELETE_NAME.index: self.DELETE_NAME(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_0.index: self.DELETE_SLICE_0(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_1.index: self.DELETE_SLICE_1(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_2.index: self.DELETE_SLICE_2(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_3.index: self.DELETE_SLICE_3(oparg, next_instr) elif opcode == opcodedesc.DELETE_SUBSCR.index: self.DELETE_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.DUP_TOP.index: self.DUP_TOP(oparg, next_instr) elif opcode == opcodedesc.DUP_TOPX.index: self.DUP_TOPX(oparg, next_instr) elif opcode == opcodedesc.EXEC_STMT.index: self.EXEC_STMT(oparg, next_instr) elif opcode == opcodedesc.GET_ITER.index: self.GET_ITER(oparg, next_instr) elif opcode == opcodedesc.IMPORT_FROM.index: self.IMPORT_FROM(oparg, next_instr) elif opcode == opcodedesc.IMPORT_NAME.index: self.IMPORT_NAME(oparg, next_instr) elif opcode == opcodedesc.IMPORT_STAR.index: self.IMPORT_STAR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_ADD.index: self.INPLACE_ADD(oparg, next_instr) elif opcode == opcodedesc.INPLACE_AND.index: self.INPLACE_AND(oparg, next_instr) elif opcode == opcodedesc.INPLACE_DIVIDE.index: self.INPLACE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_FLOOR_DIVIDE.index: self.INPLACE_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_LSHIFT.index: self.INPLACE_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MODULO.index: self.INPLACE_MODULO(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MULTIPLY.index: self.INPLACE_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.INPLACE_OR.index: self.INPLACE_OR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_POWER.index: self.INPLACE_POWER(oparg, next_instr) elif opcode == opcodedesc.INPLACE_RSHIFT.index: self.INPLACE_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_SUBTRACT.index: self.INPLACE_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_TRUE_DIVIDE.index: self.INPLACE_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_XOR.index: self.INPLACE_XOR(oparg, next_instr) elif opcode == opcodedesc.LIST_APPEND.index: self.LIST_APPEND(oparg, next_instr) elif opcode == opcodedesc.LOAD_ATTR.index: self.LOAD_ATTR(oparg, next_instr) elif opcode == opcodedesc.LOAD_CLOSURE.index: self.LOAD_CLOSURE(oparg, next_instr) elif opcode == opcodedesc.LOAD_CONST.index: self.LOAD_CONST(oparg, next_instr) elif opcode == opcodedesc.LOAD_DEREF.index: self.LOAD_DEREF(oparg, next_instr) elif opcode == opcodedesc.LOAD_FAST.index: self.LOAD_FAST(oparg, next_instr) elif opcode == opcodedesc.LOAD_GLOBAL.index: self.LOAD_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.LOAD_LOCALS.index: self.LOAD_LOCALS(oparg, next_instr) elif opcode == opcodedesc.LOAD_NAME.index: self.LOAD_NAME(oparg, next_instr) elif opcode == opcodedesc.LOOKUP_METHOD.index: > self.LOOKUP_METHOD(oparg, next_instr) interpreter/pyopcode.py:356: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = at line 223 nameindex = 2, ignored = (55L,) MutableCell = space = StdObjSpace w_obj = def LOOKUP_METHOD(f, nameindex, *ignored): from pypy.objspace.std.typeobject import MutableCell # stack before after # -------------- --fast-method----fallback-case------------ # # w_object None # w_object => w_function w_boundmethod_or_whatever # (more stuff) (more stuff) (more stuff) # space = f.space w_obj = f.popvalue() if not jit.we_are_jitted(): # mapdict has an extra-fast version of this function if LOOKUP_METHOD_mapdict(f, nameindex, w_obj): return w_name = f.getname_w(nameindex) w_value = None w_type = space.type(w_obj) if w_type.has_object_getattribute(): name = space.text_w(w_name) # bit of a mess to use these internal functions, but it allows the # mapdict caching below to work without an additional lookup version_tag = w_type.version_tag() if version_tag is None: _, w_descr = w_type._lookup_where(name) w_descr_cell = None else: _, w_descr_cell = w_type._pure_lookup_where_with_method_cache( name, version_tag) w_descr = w_descr_cell if isinstance(w_descr, MutableCell): w_descr = w_descr.unwrap_cell(space) if w_descr is None: # this handles directly the common case # module.function(args..) > w_value = w_obj.getdictvalue(space, name) objspace/std/callmethod.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def getdictvalue(self, space, name): w_value = space.finditem_str(self.w_dict, name) if self.lazy and w_value is None: > return self._load_lazily(space, name) interpreter/mixedmodule.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def _load_lazily(self, space, name): w_name = space.new_interned_str(name) try: loader = self.loaders[name] except KeyError: return None else: > w_value = loader(space) interpreter/mixedmodule.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace def ifileloader(space): d = {'space':space} # EVIL HACK (but it works, and this is not RPython :-) while 1: try: value = eval(spec, d) except NameError as ex: name = ex.args[0].split("'")[1] # super-Evil if name in d: raise # propagate the NameError try: > d[name] = __import__(pkgroot+'.'+name, None, None, [name]) interpreter/mixedmodule.py:182: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from pypy.interpreter.gateway import unwrap_spec from pypy.interpreter.error import oefmt from rpython.rlib import rgc > from pypy.module.gc.hook import W_GcCollectStepStats module/gc/interp_gc.py:4: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from rpython.memory.gc.hook import GcHooks > from rpython.memory.gc import incminimark module/gc/hook.py:2: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ # XXX Should find a way to bound the major collection threshold by the # XXX total addressable size. Maybe by keeping some minimarkpage arenas # XXX pre-reserved, enough for a few nursery collections? What about # XXX raw-malloced memory? # XXX try merging old_objects_pointing_to_pinned into # XXX old_objects_pointing_to_young (IRC 2014-10-22, fijal and gregor_w) import sys import os import time from rpython.rtyper.lltypesystem import lltype, llmemory, llarena, llgroup from rpython.rtyper.lltypesystem.lloperation import llop from rpython.rtyper.lltypesystem.llmemory import raw_malloc_usage from rpython.memory.gc.base import GCBase, MovingGCBase > from rpython.memory.gc import env E File "/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py", line 423 E SyntaxError: Non-ASCII character '\xe2' in file /build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py on line 423, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details ../rpython/memory/gc/incminimark.py:70: SyntaxError . pypy/interpreter/test/apptest_generator.py::test_generator_raises_typeerror . pypy/interpreter/test/apptest_generator.py::test_generator_explicit_stopiteration . pypy/interpreter/test/apptest_generator.py::test_generator_propagate_stopiteration . pypy/interpreter/test/apptest_generator.py::test_generator_restart . pypy/interpreter/test/apptest_generator.py::test_generator_expression . pypy/interpreter/test/apptest_generator.py::test_generator_expression_2 . pypy/interpreter/test/apptest_generator.py::test_repr . pypy/interpreter/test/apptest_generator.py::test_unpackiterable_gen . pypy/interpreter/test/apptest_generator.py::test_explicit_stop_iteration_unpackiterable . pypy/interpreter/test/apptest_generator.py::test_exception_is_cleared_by_yield . pypy/interpreter/test/apptest_generator.py::test_multiple_invalid_sends . pypy/interpreter/test/apptest_nestedscope.py::test_nested_scope . pypy/interpreter/test/apptest_nestedscope.py::test_nested_scope2 . pypy/interpreter/test/apptest_nestedscope.py::test_nested_scope3 . pypy/interpreter/test/apptest_nestedscope.py::test_nested_scope4 . pypy/interpreter/test/apptest_nestedscope.py::test_nested_scope_locals . pypy/interpreter/test/apptest_nestedscope.py::test_deeply_nested_scope_locals . pypy/interpreter/test/apptest_nestedscope.py::test_lambda_in_genexpr . pypy/interpreter/test/apptest_nestedscope.py::test_cell_repr . pypy/interpreter/test/apptest_nestedscope.py::test_cell_contents . pypy/interpreter/test/apptest_nestedscope.py::test_empty_cell_contents . pypy/interpreter/test/apptest_nestedscope.py::test_compare_cells . pypy/interpreter/test/apptest_nestedscope.py::test_leaking_class_locals . pypy/interpreter/test/apptest_nestedscope.py::test_nested_scope_locals_mutating_cellvars . pypy/interpreter/test/apptest_pyframe.py::test_f_locals . pypy/interpreter/test/apptest_pyframe.py::test_f_globals . pypy/interpreter/test/apptest_pyframe.py::test_f_builtins . pypy/interpreter/test/apptest_pyframe.py::test_f_code . pypy/interpreter/test/apptest_pyframe.py::test_f_trace_del . pypy/interpreter/test/apptest_pyframe.py::test_f_lineno . pypy/interpreter/test/apptest_pyframe.py::test_f_lineno_set . pypy/interpreter/test/apptest_pyframe.py::test_f_lineno_set_firstline . pypy/interpreter/test/apptest_pyframe.py::test_f_back . pypy/interpreter/test/apptest_pyframe.py::test_f_back_virtualref . pypy/interpreter/test/apptest_pyframe.py::test_f_exc_xxx . pypy/interpreter/test/apptest_pyframe.py::test_virtualref_through_traceback . pypy/interpreter/test/apptest_pyframe.py::test_trace_basic . pypy/interpreter/test/apptest_pyframe.py::test_trace_exc . pypy/interpreter/test/apptest_pyframe.py::test_trace_ignore_hidden . pypy/interpreter/test/apptest_pyframe.py::test_trace_hidden_prints . pypy/interpreter/test/apptest_pyframe.py::test_trace_return_exc . pypy/interpreter/test/apptest_pyframe.py::test_trace_raises_on_return . pypy/interpreter/test/apptest_pyframe.py::test_trace_try_finally . pypy/interpreter/test/apptest_pyframe.py::test_trace_raise_three_arg . pypy/interpreter/test/apptest_pyframe.py::test_trace_generator_finalisation . pypy/interpreter/test/apptest_pyframe.py::test_dont_trace_on_reraise . pypy/interpreter/test/apptest_pyframe.py::test_dont_trace_on_raise_with_tb . pypy/interpreter/test/apptest_pyframe.py::test_trace_changes_locals . pypy/interpreter/test/apptest_pyframe.py::test_set_unset_f_trace . pypy/interpreter/test/apptest_pyframe.py::test_locals2fast_freevar_bug . pypy/interpreter/test/apptest_pyframe.py::test_throw_trace_bug . pypy/interpreter/test/apptest_pyframe.py::test_generator_trace_stopiteration . pypy/interpreter/test/apptest_pyframe.py::test_local_trace_function_returning_None_ignored . pypy/interpreter/test/apptest_raise.py::test_arg_as_string . pypy/interpreter/test/apptest_raise.py::test_control_flow . pypy/interpreter/test/apptest_raise.py::test_1arg . pypy/interpreter/test/apptest_raise.py::test_2args . pypy/interpreter/test/apptest_raise.py::test_instancearg . pypy/interpreter/test/apptest_raise.py::test_more_precise_instancearg . pypy/interpreter/test/apptest_raise.py::test_builtin_exc . pypy/interpreter/test/apptest_raise.py::test_raise_cls . pypy/interpreter/test/apptest_raise.py::test_raise_cls_catch . pypy/interpreter/test/apptest_raise.py::test_raise_wrong . pypy/interpreter/test/apptest_raise.py::test_raise_three_args . pypy/interpreter/test/apptest_raise.py::test_reraise . pypy/interpreter/test/apptest_raise.py::test_tuple_type . pypy/interpreter/test/apptest_raise.py::test_userclass . pypy/interpreter/test/apptest_raise.py::test_it . pypy/interpreter/test/apptest_raise.py::test_oldstyle_userclass . pypy/interpreter/test/apptest_raise.py::test_catch_tuple . pypy/interpreter/test/apptest_raise.py::test_obscure_bases . pypy/interpreter/test/apptest_raise.py::test_new_returns_bad_instance . pypy/interpreter/test/apptest_raise.py::test_with_exit_True . pypy/interpreter/test/apptest_raise.py::test_unraisable_error_in_repr . pypy/interpreter/test/test_app_main.py::TestParseCommandLine::()::test_all_combinations_I_can_think_of . pypy/interpreter/test/test_app_main.py::TestParseCommandLine::()::test_sysflags . pypy/interpreter/test/test_app_main.py::TestParseCommandLine::()::test_sysflags_envvar . pypy/interpreter/test/test_app_main.py::TestParseCommandLine::()::test_track_resources s pypy/interpreter/test/test_app_main.py::TestInteraction::()::test_interactive Skipped: No module named pexpect s pypy/interpreter/test/test_app_main.py::TestInteraction::()::test_yes_irc_topic Skipped: No module named pexpect s pypy/interpreter/test/test_app_main.py::TestInteraction::()::test_maybe_irc_topic Skipped: No module named pexpect s pypy/interpreter/test/test_app_main.py::TestInteraction::()::test_help Skipped: No module named pexpect s pypy/interpreter/test/test_app_main.py::TestInteraction::()::test_run_script Skipped: No module named pexpect s pypy/interpreter/test/test_app_main.py::TestInteraction::()::test_run_script_with_args Skipped: No module named pexpect s pypy/interpreter/test/test_app_main.py::TestInteraction::()::test_no_such_script Skipped: No module named pexpect s pypy/interpreter/test/test_app_main.py::TestInteraction::()::test_option_i Skipped: No module named pexpect s pypy/interpreter/test/test_app_main.py::TestInteraction::()::test_option_i_crashing Skipped: No module named pexpect s pypy/interpreter/test/test_app_main.py::TestInteraction::()::test_options_i_c Skipped: No module named pexpect s pypy/interpreter/test/test_app_main.py::TestInteraction::()::test_options_i_c_crashing Skipped: No module named pexpect s pypy/interpreter/test/test_app_main.py::TestInteraction::()::test_atexit Skipped: No module named pexpect s pypy/interpreter/test/test_app_main.py::TestInteraction::()::test_pythonstartup Skipped: No module named pexpect s pypy/interpreter/test/test_app_main.py::TestInteraction::()::test_pythonstartup_file1 Skipped: No module named pexpect s pypy/interpreter/test/test_app_main.py::TestInteraction::()::test_pythonstartup_file2 Skipped: No module named pexpect s pypy/interpreter/test/test_app_main.py::TestInteraction::()::test_ignore_python_startup Skipped: No module named pexpect s pypy/interpreter/test/test_app_main.py::TestInteraction::()::test_future_in_executed_script Skipped: No module named pexpect s pypy/interpreter/test/test_app_main.py::TestInteraction::()::test_future_in_python_startup Skipped: No module named pexpect s pypy/interpreter/test/test_app_main.py::TestInteraction::()::test_future_in_cmd Skipped: No module named pexpect s pypy/interpreter/test/test_app_main.py::TestInteraction::()::test_cmd_co_name Skipped: No module named pexpect s pypy/interpreter/test/test_app_main.py::TestInteraction::()::test_ignore_python_inspect Skipped: No module named pexpect s pypy/interpreter/test/test_app_main.py::TestInteraction::()::test_python_path_keeps_duplicates Skipped: No module named pexpect s pypy/interpreter/test/test_app_main.py::TestInteraction::()::test_ignore_python_path Skipped: No module named pexpect s pypy/interpreter/test/test_app_main.py::TestInteraction::()::test_unbuffered Skipped: No module named pexpect s pypy/interpreter/test/test_app_main.py::TestInteraction::()::test_options_i_m Skipped: No module named pexpect s pypy/interpreter/test/test_app_main.py::TestInteraction::()::test_option_i_noexit Skipped: No module named pexpect . pypy/interpreter/test/test_app_main.py::TestInteraction::()::test_options_u_i s pypy/interpreter/test/test_app_main.py::TestInteraction::()::test_paste_several_lines_doesnt_mess_prompt Skipped: this can only work if readline is enabled s pypy/interpreter/test/test_app_main.py::TestInteraction::()::test_pythoninspect Skipped: No module named pexpect s pypy/interpreter/test/test_app_main.py::TestInteraction::()::test_set_pythoninspect Skipped: No module named pexpect s pypy/interpreter/test/test_app_main.py::TestInteraction::()::test_clear_pythoninspect Skipped: No module named pexpect s pypy/interpreter/test/test_app_main.py::TestInteraction::()::test_stdout_flushes_before_stdin_blocks Skipped: No module named pexpect s pypy/interpreter/test/test_app_main.py::TestInteraction::()::test_no_space_before_argument Skipped: No module named pexpect s pypy/interpreter/test/test_app_main.py::TestInteraction::()::test_ps1_only_if_interactive Skipped: No module named pexpect . pypy/interpreter/test/test_app_main.py::TestNonInteractive::()::test_script_on_stdin . pypy/interpreter/test/test_app_main.py::TestNonInteractive::()::test_run_crashing_script . pypy/interpreter/test/test_app_main.py::TestNonInteractive::()::test_crashing_script_on_stdin . pypy/interpreter/test/test_app_main.py::TestNonInteractive::()::test_option_W . pypy/interpreter/test/test_app_main.py::TestNonInteractive::()::test_option_W_crashing . pypy/interpreter/test/test_app_main.py::TestNonInteractive::()::test_option_W_arg_ignored . pypy/interpreter/test/test_app_main.py::TestNonInteractive::()::test_option_W_arg_ignored2 . pypy/interpreter/test/test_app_main.py::TestNonInteractive::()::test_option_c . pypy/interpreter/test/test_app_main.py::TestNonInteractive::()::test_no_pythonstartup . pypy/interpreter/test/test_app_main.py::TestNonInteractive::()::test_pythonwarnings . pypy/interpreter/test/test_app_main.py::TestNonInteractive::()::test_option_m . pypy/interpreter/test/test_app_main.py::TestNonInteractive::()::test_pythoninspect_doesnt_override_isatty . pypy/interpreter/test/test_app_main.py::TestNonInteractive::()::test_i_flag_overrides_isatty s pypy/interpreter/test/test_app_main.py::TestNonInteractive::()::test_putenv_fires_interactive_within_process Skipped: This can be only tested on PyPy with real_getenv . pypy/interpreter/test/test_app_main.py::TestNonInteractive::()::test_option_S_copyright . pypy/interpreter/test/test_app_main.py::TestNonInteractive::()::test_non_interactive_stdout_fully_buffered . pypy/interpreter/test/test_app_main.py::TestNonInteractive::()::test_non_interactive_stdout_unbuffered s pypy/interpreter/test/test_app_main.py::TestNonInteractive::()::test_proper_sys_path Skipped: 'python -S' cannot import extension modules: see probably http://bugs.python.org/issue586680 . pypy/interpreter/test/test_app_main.py::TestNonInteractive::()::test_pyc_commandline_argument . pypy/interpreter/test/test_app_main.py::TestNonInteractive::()::test_main_in_dir_commandline_argument s pypy/interpreter/test/test_app_main.py::TestNonInteractive::()::test_getfilesystemencoding Skipped: encoding is only set if stdout.isatty(), test is flawed . pypy/interpreter/test/test_app_main.py::TestNonInteractive::()::test_pythonioencoding . pypy/interpreter/test/test_app_main.py::TestNonInteractive::()::test_sys_exit_pythonioencoding . pypy/interpreter/test/test_app_main.py::TestAppMain::()::test_print_info . pypy/interpreter/test/test_app_main.py::AppTestAppMain::()::test_setup_bootstrap_path . pypy/interpreter/test/test_app_main.py::AppTestAppMain::()::test_trunk_can_be_prefix . pypy/interpreter/test/test_app_main.py::AppTestAppMain::()::test_entry_point . pypy/interpreter/test/test_appinterp.py::test_execwith_novars . pypy/interpreter/test/test_appinterp.py::test_execwith_withvars . pypy/interpreter/test/test_appinterp.py::test_execwith_compile_error . pypy/interpreter/test/test_appinterp.py::test_simple_applevel . pypy/interpreter/test/test_appinterp.py::test_applevel_with_one_default . pypy/interpreter/test/test_appinterp.py::test_applevel_with_two_defaults . pypy/interpreter/test/test_appinterp.py::test_applevel_noargs . pypy/interpreter/test/test_appinterp.py::test_app2interp_somefunc . pypy/interpreter/test/test_appinterp.py::test_applevel_functions . pypy/interpreter/test/test_appinterp.py::test_applevel_class . pypy/interpreter/test/test_appinterp.py::AppTestMethods::()::test_some_app_test_method . pypy/interpreter/test/test_appinterp.py::TestMixedModule::()::test_accesses . pypy/interpreter/test/test_appinterp.py::TestMixedModule::()::test_whacking_at_loaders . pypy/interpreter/test/test_argument.py::TestSignature::()::test_helpers . pypy/interpreter/test/test_argument.py::TestSignature::()::test_eq . pypy/interpreter/test/test_argument.py::TestSignature::()::test_find_argname . pypy/interpreter/test/test_argument.py::TestArgumentsNormal::()::test_create . pypy/interpreter/test/test_argument.py::TestArgumentsNormal::()::test_prepend . pypy/interpreter/test/test_argument.py::TestArgumentsNormal::()::test_fixedunpacked . pypy/interpreter/test/test_argument.py::TestArgumentsNormal::()::test_match0 . pypy/interpreter/test/test_argument.py::TestArgumentsNormal::()::test_match4 . pypy/interpreter/test/test_argument.py::TestArgumentsNormal::()::test_match_kwds . pypy/interpreter/test/test_argument.py::TestArgumentsNormal::()::test_match_kwds2 . pypy/interpreter/test/test_argument.py::TestArgumentsNormal::()::test_match_kwds_creates_kwdict . pypy/interpreter/test/test_argument.py::TestArgumentsNormal::()::test_duplicate_kwds . pypy/interpreter/test/test_argument.py::TestArgumentsNormal::()::test_starstararg_wrong_type . pypy/interpreter/test/test_argument.py::TestArgumentsNormal::()::test_unwrap_error . pypy/interpreter/test/test_argument.py::TestArgumentsNormal::()::test_blindargs . pypy/interpreter/test/test_argument.py::TestArgumentsNormal::()::test_args_parsing . pypy/interpreter/test/test_argument.py::TestArgumentsNormal::()::test_args_parsing_into_scope . pypy/interpreter/test/test_argument.py::TestArgumentsNormal::()::test_topacked_frompacked . pypy/interpreter/test/test_argument.py::TestArgumentsNormal::()::test_argument_unicode . pypy/interpreter/test/test_argument.py::TestArgumentsNormal::()::test_starstarargs_special . pypy/interpreter/test/test_argument.py::TestErrorHandling::()::test_missing_args . pypy/interpreter/test/test_argument.py::TestErrorHandling::()::test_missing_args_method . pypy/interpreter/test/test_argument.py::TestErrorHandling::()::test_bad_type_for_star . pypy/interpreter/test/test_argument.py::TestErrorHandling::()::test_unknown_keywords . pypy/interpreter/test/test_argument.py::TestErrorHandling::()::test_unknown_unicode_keyword . pypy/interpreter/test/test_argument.py::TestErrorHandling::()::test_multiple_values . pypy/interpreter/test/test_argument.py::AppTestArgument::()::test_error_message . pypy/interpreter/test/test_argument.py::AppTestArgument::()::test_error_message_method . pypy/interpreter/test/test_argument.py::AppTestArgument::()::test_error_message_module_function . pypy/interpreter/test/test_argument.py::AppTestArgument::()::test_error_message_bound_method . pypy/interpreter/test/test_argument.py::AppTestArgument::()::test_unicode_keywords . pypy/interpreter/test/test_argument.py::AppTestArgument::()::test_starstarargs_dict_subclass . pypy/interpreter/test/test_argument.py::AppTestArgument::()::test_starstarargs_module_dict . pypy/interpreter/test/test_argument.py::AppTestArgument::()::test_cpython_issue4806 . pypy/interpreter/test/test_argument.py::AppTestArgument::()::test_dict_subclass_with_weird_getitem . pypy/interpreter/test/test_buffer.py::test_RawBufferView_basic . pypy/interpreter/test/test_buffer.py::test_SimpleView_basic . pypy/interpreter/test/test_cellfamily.py::TestCellFamily::()::test_mutation_after_empty_creation . pypy/interpreter/test/test_cellfamily.py::TestCellFamily::()::test_mutation . pypy/interpreter/test/test_cellfamily.py::TestCellFamily::()::test_cellfamily_on_code . pypy/interpreter/test/test_cellfamily.py::TestCellFamily::()::test_nonarg_cell_indexes . pypy/interpreter/test/test_cellfamily.py::TestCellFamily::()::test_passing_args_doesnt_mutate_cells . pypy/interpreter/test/test_cellfamily.py::TestCellFamily::()::test_integration . pypy/interpreter/test/test_cellfamily.py::TestCellFamily::()::test_cells_dont_interfere . pypy/interpreter/test/test_code.py::TestCode::()::test_code_eq_corner_cases . pypy/interpreter/test/test_code.py::AppTestCodeIntrospection::()::test_attributes . pypy/interpreter/test/test_code.py::AppTestCodeIntrospection::()::test_co_names . pypy/interpreter/test/test_code.py::AppTestCodeIntrospection::()::test_code . pypy/interpreter/test/test_code.py::AppTestCodeIntrospection::()::test_hash . pypy/interpreter/test/test_code.py::AppTestCodeIntrospection::()::test_repr . pypy/interpreter/test/test_code.py::AppTestCodeIntrospection::()::test_code_extra . pypy/interpreter/test/test_code.py::AppTestCodeIntrospection::()::test_code_eq_non_code . pypy/interpreter/test/test_compiler.py::TestPythonAstCompiler_25_grammar::()::test_compile . pypy/interpreter/test/test_compiler.py::TestPythonAstCompiler_25_grammar::()::test_eval_unicode . pypy/interpreter/test/test_compiler.py::TestPythonAstCompiler_25_grammar::()::test_compile_command . pypy/interpreter/test/test_compiler.py::TestPythonAstCompiler_25_grammar::()::test_hidden_applevel . pypy/interpreter/test/test_compiler.py::TestPythonAstCompiler_25_grammar::()::test_indentation_error . pypy/interpreter/test/test_compiler.py::TestPythonAstCompiler_25_grammar::()::test_syntaxerror_attrs . pypy/interpreter/test/test_compiler.py::TestPythonAstCompiler_25_grammar::()::test_getcodeflags . pypy/interpreter/test/test_compiler.py::TestPythonAstCompiler_25_grammar::()::test_interactivemode . pypy/interpreter/test/test_compiler.py::TestPythonAstCompiler_25_grammar::()::test_scope_unoptimized_clash1 . pypy/interpreter/test/test_compiler.py::TestPythonAstCompiler_25_grammar::()::test_scope_unoptimized_clash1_b . pypy/interpreter/test/test_compiler.py::TestPythonAstCompiler_25_grammar::()::test_scope_exec_in_nested . pypy/interpreter/test/test_compiler.py::TestPythonAstCompiler_25_grammar::()::test_scope_exec_with_nested_free . pypy/interpreter/test/test_compiler.py::TestPythonAstCompiler_25_grammar::()::test_scope_importstar_in_nested . pypy/interpreter/test/test_compiler.py::TestPythonAstCompiler_25_grammar::()::test_scope_importstar_with_nested_free . pypy/interpreter/test/test_compiler.py::TestPythonAstCompiler_25_grammar::()::test_try_except_finally . pypy/interpreter/test/test_compiler.py::TestPythonAstCompiler_25_grammar::()::test_toplevel_docstring . pypy/interpreter/test/test_compiler.py::TestPythonAstCompiler_25_grammar::()::test_barestringstmts_disappear . pypy/interpreter/test/test_compiler.py::TestPythonAstCompiler_25_grammar::()::test_unicodeliterals . pypy/interpreter/test/test_compiler.py::TestPythonAstCompiler_25_grammar::()::test_unicode_docstring . pypy/interpreter/test/test_compiler.py::TestPythonAstCompiler_25_grammar::()::test_argument_handling . pypy/interpreter/test/test_compiler.py::TestPythonAstCompiler_25_grammar::()::test_argument_order . pypy/interpreter/test/test_compiler.py::TestPythonAstCompiler_25_grammar::()::test_debug_assignment . pypy/interpreter/test/test_compiler.py::TestPythonAstCompiler_25_grammar::()::test_return_in_generator . pypy/interpreter/test/test_compiler.py::TestPythonAstCompiler_25_grammar::()::test_yield_in_finally . pypy/interpreter/test/test_compiler.py::TestPythonAstCompiler_25_grammar::()::test_none_assignment . pypy/interpreter/test/test_compiler.py::TestPythonAstCompiler_25_grammar::()::test_import . pypy/interpreter/test/test_compiler.py::TestPythonAstCompiler_25_grammar::()::test_future_error_offset . pypy/interpreter/test/test_compiler.py::TestPythonAstCompiler_25_grammar::()::test_globals_warnings . pypy/interpreter/test/test_compiler.py::TestPythonAstCompiler_25_grammar::()::test_firstlineno . pypy/interpreter/test/test_compiler.py::TestPythonAstCompiler_25_grammar::()::test_firstlineno_decorators . pypy/interpreter/test/test_compiler.py::TestPythonAstCompiler_25_grammar::()::test_mangling . pypy/interpreter/test/test_compiler.py::TestPythonAstCompiler_25_grammar::()::test_ellipsis . pypy/interpreter/test/test_compiler.py::TestPythonAstCompiler_25_grammar::()::test_chained_access_augassign . pypy/interpreter/test/test_compiler.py::TestPythonAstCompiler_25_grammar::()::test_augassign_with_tuple_subscript . pypy/interpreter/test/test_compiler.py::TestPythonAstCompiler_25_grammar::()::test_continue_in_finally . pypy/interpreter/test/test_compiler.py::TestPythonAstCompiler_25_grammar::()::test_continue_in_nested_finally . pypy/interpreter/test/test_compiler.py::TestPythonAstCompiler_25_grammar::()::test_really_nested_stuff . pypy/interpreter/test/test_compiler.py::TestPythonAstCompiler_25_grammar::()::test_free_vars_across_class . pypy/interpreter/test/test_compiler.py::TestPythonAstCompiler_25_grammar::()::test_pick_global_names . pypy/interpreter/test/test_compiler.py::TestPythonAstCompiler_25_grammar::()::test_method_and_var . pypy/interpreter/test/test_compiler.py::TestPythonAstCompiler_25_grammar::()::test_dont_inherit_flag . pypy/interpreter/test/test_compiler.py::TestPythonAstCompiler_25_grammar::()::test_dont_inherit_across_import . pypy/interpreter/test/test_compiler.py::TestPythonAstCompiler_25_grammar::()::test_filename_in_syntaxerror . pypy/interpreter/test/test_compiler.py::TestPythonAstCompiler_25_grammar::()::test_del_None . pypy/interpreter/test/test_compiler.py::TestPythonAstCompiler_25_grammar::()::test_from_future_import . pypy/interpreter/test/test_compiler.py::TestPythonAstCompiler_25_grammar::()::test_with_empty_tuple . pypy/interpreter/test/test_compiler.py::TestPythonAstCompiler_25_grammar::()::test_assign_to_yield . pypy/interpreter/test/test_compiler.py::TestPythonAstCompiler_25_grammar::()::test_invalid_genexp . pypy/interpreter/test/test_compiler.py::TestECCompiler::()::test_compile . pypy/interpreter/test/test_compiler.py::TestECCompiler::()::test_eval_unicode . pypy/interpreter/test/test_compiler.py::TestECCompiler::()::test_compile_command . pypy/interpreter/test/test_compiler.py::TestECCompiler::()::test_hidden_applevel . pypy/interpreter/test/test_compiler.py::TestECCompiler::()::test_indentation_error . pypy/interpreter/test/test_compiler.py::TestECCompiler::()::test_syntaxerror_attrs . pypy/interpreter/test/test_compiler.py::TestECCompiler::()::test_getcodeflags . pypy/interpreter/test/test_compiler.py::TestECCompiler::()::test_interactivemode . pypy/interpreter/test/test_compiler.py::TestECCompiler::()::test_scope_unoptimized_clash1 . pypy/interpreter/test/test_compiler.py::TestECCompiler::()::test_scope_unoptimized_clash1_b . pypy/interpreter/test/test_compiler.py::TestECCompiler::()::test_scope_exec_in_nested . pypy/interpreter/test/test_compiler.py::TestECCompiler::()::test_scope_exec_with_nested_free . pypy/interpreter/test/test_compiler.py::TestECCompiler::()::test_scope_importstar_in_nested . pypy/interpreter/test/test_compiler.py::TestECCompiler::()::test_scope_importstar_with_nested_free . pypy/interpreter/test/test_compiler.py::TestECCompiler::()::test_try_except_finally . pypy/interpreter/test/test_compiler.py::TestECCompiler::()::test_toplevel_docstring . pypy/interpreter/test/test_compiler.py::TestECCompiler::()::test_barestringstmts_disappear . pypy/interpreter/test/test_compiler.py::TestECCompiler::()::test_unicodeliterals . pypy/interpreter/test/test_compiler.py::TestECCompiler::()::test_unicode_docstring . pypy/interpreter/test/test_compiler.py::TestECCompiler::()::test_argument_handling . pypy/interpreter/test/test_compiler.py::TestECCompiler::()::test_argument_order . pypy/interpreter/test/test_compiler.py::TestECCompiler::()::test_debug_assignment . pypy/interpreter/test/test_compiler.py::TestECCompiler::()::test_return_in_generator . pypy/interpreter/test/test_compiler.py::TestECCompiler::()::test_yield_in_finally . pypy/interpreter/test/test_compiler.py::TestECCompiler::()::test_none_assignment . pypy/interpreter/test/test_compiler.py::TestECCompiler::()::test_import . pypy/interpreter/test/test_compiler.py::TestECCompiler::()::test_future_error_offset . pypy/interpreter/test/test_compiler.py::TestECCompiler::()::test_globals_warnings . pypy/interpreter/test/test_compiler.py::TestECCompiler::()::test_firstlineno . pypy/interpreter/test/test_compiler.py::TestECCompiler::()::test_firstlineno_decorators . pypy/interpreter/test/test_compiler.py::TestECCompiler::()::test_mangling . pypy/interpreter/test/test_compiler.py::TestECCompiler::()::test_ellipsis . pypy/interpreter/test/test_compiler.py::TestECCompiler::()::test_chained_access_augassign . pypy/interpreter/test/test_compiler.py::TestECCompiler::()::test_augassign_with_tuple_subscript . pypy/interpreter/test/test_compiler.py::TestECCompiler::()::test_continue_in_finally . pypy/interpreter/test/test_compiler.py::TestECCompiler::()::test_continue_in_nested_finally . pypy/interpreter/test/test_compiler.py::TestECCompiler::()::test_really_nested_stuff . pypy/interpreter/test/test_compiler.py::TestECCompiler::()::test_free_vars_across_class . pypy/interpreter/test/test_compiler.py::TestECCompiler::()::test_pick_global_names . pypy/interpreter/test/test_compiler.py::TestECCompiler::()::test_method_and_var . pypy/interpreter/test/test_compiler.py::TestECCompiler::()::test_dont_inherit_flag . pypy/interpreter/test/test_compiler.py::TestECCompiler::()::test_dont_inherit_across_import . pypy/interpreter/test/test_compiler.py::TestECCompiler::()::test_filename_in_syntaxerror . pypy/interpreter/test/test_compiler.py::TestECCompiler::()::test_del_None . pypy/interpreter/test/test_compiler.py::AppTestCompiler::()::test_bom_with_future . pypy/interpreter/test/test_compiler.py::AppTestCompiler::()::test_values_of_different_types . pypy/interpreter/test/test_compiler.py::AppTestCompiler::()::test_values_of_different_types_in_tuples . pypy/interpreter/test/test_compiler.py::AppTestCompiler::()::test_zeros_not_mixed . pypy/interpreter/test/test_compiler.py::AppTestCompiler::()::test_zeros_not_mixed_in_tuples . pypy/interpreter/test/test_compiler.py::AppTestCompiler::()::test_zeros_not_mixed_in_lambdas . pypy/interpreter/test/test_compiler.py::AppTestCompiler::()::test_dont_share_lambdas . pypy/interpreter/test/test_compiler.py::AppTestCompiler::()::test_dict_and_set_literal_order . pypy/interpreter/test/test_compiler.py::AppTestCompiler::()::test_freevars_order . pypy/interpreter/test/test_compiler.py::AppTestOptimizer::()::test_remove_ending . pypy/interpreter/test/test_compiler.py::AppTestOptimizer::()::test_none_constant . pypy/interpreter/test/test_compiler.py::AppTestOptimizer::()::test_tuple_constants . pypy/interpreter/test/test_compiler.py::AppTestOptimizer::()::test_division_folding . pypy/interpreter/test/test_compiler.py::AppTestOptimizer::()::test_tuple_folding . pypy/interpreter/test/test_compiler.py::AppTestOptimizer::()::test_unary_folding . pypy/interpreter/test/test_compiler.py::AppTestOptimizer::()::test_folding_of_binops_on_constants . pypy/interpreter/test/test_compiler.py::AppTestOptimizer::()::test_folding_of_binops_on_constants_crash . pypy/interpreter/test/test_compiler.py::AppTestOptimizer::()::test_dis_stopcode . pypy/interpreter/test/test_compiler.py::AppTestOptimizer::()::test_optimize_list_comp . pypy/interpreter/test/test_compiler.py::AppTestOptimizer::()::test_folding_of_list_constants . pypy/interpreter/test/test_compiler.py::AppTestOptimizer::()::test_folding_of_set_constants . pypy/interpreter/test/test_compiler.py::AppTestOptimizer::()::test_call_method_kwargs . pypy/interpreter/test/test_compiler.py::AppTestOptimizer::()::test_interned_strings . pypy/interpreter/test/test_compiler.py::AppTestExceptions::()::test_indentation_error . pypy/interpreter/test/test_compiler.py::AppTestExceptions::()::test_bad_oudent . pypy/interpreter/test/test_compiler.py::AppTestExceptions::()::test_outdentation_error_filename . pypy/interpreter/test/test_compiler.py::AppTestExceptions::()::test_repr_vs_str . pypy/interpreter/test/test_compiler.py::AppTestExceptions::()::test_encoding . pypy/interpreter/test/test_compiler.py::AppTestExceptions::()::test_asterror_has_line_without_file . pypy/interpreter/test/test_descrtypecheck.py::AppTestDescrTypecheck::()::test_getsetprop_get . pypy/interpreter/test/test_descrtypecheck.py::AppTestDescrTypecheck::()::test_func_code_get . pypy/interpreter/test/test_error.py::test_decompose_valuefmt . pypy/interpreter/test/test_error.py::test_get_operrcls2 . pypy/interpreter/test/test_error.py::test_oefmt . pypy/interpreter/test/test_error.py::test_oefmt_noargs . pypy/interpreter/test/test_error.py::test_oefmt_T . pypy/interpreter/test/test_error.py::test_oefmt_N . pypy/interpreter/test/test_error.py::test_oefmt_R . pypy/interpreter/test/test_error.py::test_errorstr . pypy/interpreter/test/test_error.py::test_wrap_oserror . pypy/interpreter/test/test_error.py::test_new_exception . pypy/interpreter/test/test_exceptcomp.py::AppTestExceptionComp::()::test_exception . pypy/interpreter/test/test_exceptcomp.py::AppTestExceptionComp::()::test_exceptionfail . pypy/interpreter/test/test_exceptcomp.py::AppTestExceptionComp::()::test_called . pypy/interpreter/test/test_exceptcomp.py::AppTestExceptionComp::()::test_calledfail . pypy/interpreter/test/test_exceptcomp.py::AppTestExceptionComp::()::test_userclass . pypy/interpreter/test/test_exceptcomp.py::AppTestExceptionComp::()::test_subclass . pypy/interpreter/test/test_exceptcomp.py::AppTestExceptionComp::()::test_deepsubclass . pypy/interpreter/test/test_exceptcomp.py::AppTestExceptionComp::()::test_tuple . pypy/interpreter/test/test_exceptcomp.py::AppTestExceptionComp::()::test_parenttuple . pypy/interpreter/test/test_exceptcomp.py::AppTestExceptionComp::()::test_nestedtuples . pypy/interpreter/test/test_exceptcomp.py::AppTestExceptionComp::()::test_deeptuples . pypy/interpreter/test/test_exec.py::test_file . pypy/interpreter/test/test_executioncontext.py::TestExecutionContext::()::test_action . pypy/interpreter/test/test_executioncontext.py::TestExecutionContext::()::test_action_queue . pypy/interpreter/test/test_executioncontext.py::TestExecutionContext::()::test_fire_inside_perform . pypy/interpreter/test/test_executioncontext.py::TestExecutionContext::()::test_periodic_action . pypy/interpreter/test/test_executioncontext.py::TestExecutionContext::()::test_llprofile . pypy/interpreter/test/test_executioncontext.py::TestExecutionContext::()::test_llprofile_c_call . pypy/interpreter/test/test_executioncontext.py::TestExecutionContext::()::test_llprofile_c_exception . pypy/interpreter/test/test_executioncontext.py::TestExecutionContext::()::test_c_call_setprofile_outer_frame . pypy/interpreter/test/test_executioncontext.py::TestExecutionContext::()::test_c_call_setprofile_kwargs . pypy/interpreter/test/test_executioncontext.py::TestExecutionContext::()::test_c_call_setprofile_strange_method . pypy/interpreter/test/test_executioncontext.py::TestExecutionContext::()::test_c_call_profiles_immediately . pypy/interpreter/test/test_executioncontext.py::TestExecutionContext::()::test_profile_and_exception . pypy/interpreter/test/test_executioncontext.py::AppTestProfile::()::test_return . pypy/interpreter/test/test_executioncontext.py::AppTestProfile::()::test_c_return . pypy/interpreter/test/test_executioncontext.py::AppTestProfile::()::test_exception . pypy/interpreter/test/test_executioncontext.py::AppTestProfile::()::test_c_exception . pypy/interpreter/test/test_extmodules.py::AppTestExtModules::()::test_import . pypy/interpreter/test/test_function.py::TestMethod::()::test_get . pypy/interpreter/test/test_function.py::TestMethod::()::test_call . pypy/interpreter/test/test_function.py::TestMethod::()::test_fail_call . pypy/interpreter/test/test_function.py::TestMethod::()::test_method_get . pypy/interpreter/test/test_function.py::TestShortcuts::()::test_call_function . pypy/interpreter/test/test_function.py::TestShortcuts::()::test_flatcall . pypy/interpreter/test/test_function.py::TestShortcuts::()::test_flatcall_method . pypy/interpreter/test/test_function.py::TestShortcuts::()::test_flatcall_default_arg . pypy/interpreter/test/test_function.py::TestShortcuts::()::test_flatcall_default_arg_method . pypy/interpreter/test/test_function.py::TestFunction::()::test_func_defaults . pypy/interpreter/test/test_gateway.py::TestBuiltinCode::()::test_signature . pypy/interpreter/test/test_gateway.py::TestBuiltinCode::()::test_call . pypy/interpreter/test/test_gateway.py::TestBuiltinCode::()::test_call_index . pypy/interpreter/test/test_gateway.py::TestBuiltinCode::()::test_call_args . pypy/interpreter/test/test_gateway.py::TestGateway::()::test_app2interp . pypy/interpreter/test/test_gateway.py::TestGateway::()::test_app2interp1 . pypy/interpreter/test/test_gateway.py::TestGateway::()::test_app2interp_general_args . pypy/interpreter/test/test_gateway.py::TestGateway::()::test_app2interp_future . pypy/interpreter/test/test_gateway.py::TestGateway::()::test_interp2app . pypy/interpreter/test/test_gateway.py::TestGateway::()::test_interpindirect2app . pypy/interpreter/test/test_gateway.py::TestGateway::()::test_interp2app_unwrap_spec . pypy/interpreter/test/test_gateway.py::TestGateway::()::test_interp2app_unwrap_spec_auto . pypy/interpreter/test/test_gateway.py::TestGateway::()::test_interp2app_unwrap_spec_bool . pypy/interpreter/test/test_gateway.py::TestGateway::()::test_interp2app_unwrap_spec_bytes . pypy/interpreter/test/test_gateway.py::TestGateway::()::test_interp2app_unwrap_spec_text . pypy/interpreter/test/test_gateway.py::TestGateway::()::test_caching_methods . pypy/interpreter/test/test_gateway.py::TestGateway::()::test_interp2app_unwrap_spec_nonnegint . pypy/interpreter/test/test_gateway.py::TestGateway::()::test_interp2app_unwrap_spec_c_int . pypy/interpreter/test/test_gateway.py::TestGateway::()::test_interp2app_unwrap_spec_args_w . pypy/interpreter/test/test_gateway.py::TestGateway::()::test_interp2app_unwrap_spec_str . pypy/interpreter/test/test_gateway.py::TestGateway::()::test_interp2app_unwrap_spec_int_float . pypy/interpreter/test/test_gateway.py::TestGateway::()::test_interp2app_unwrap_spec_r_longlong . pypy/interpreter/test/test_gateway.py::TestGateway::()::test_interp2app_unwrap_spec_r_uint . pypy/interpreter/test/test_gateway.py::TestGateway::()::test_interp2app_unwrap_spec_r_ulonglong . pypy/interpreter/test/test_gateway.py::TestGateway::()::test_interp2app_unwrap_spec_index . pypy/interpreter/test/test_gateway.py::TestGateway::()::test_interp2app_unwrap_spec_typechecks . pypy/interpreter/test/test_gateway.py::TestGateway::()::test_interp2app_unwrap_spec_utf8 . pypy/interpreter/test/test_gateway.py::TestGateway::()::test_interp2app_unwrap_spec_unwrapper . pypy/interpreter/test/test_gateway.py::TestGateway::()::test_interp2app_classmethod . pypy/interpreter/test/test_gateway.py::TestGateway::()::test_interp2app_fastcall . pypy/interpreter/test/test_gateway.py::TestGateway::()::test_interp2app_fastcall_method . pypy/interpreter/test/test_gateway.py::TestGateway::()::test_interp2app_fastcall_method_with_space . pypy/interpreter/test/test_gateway.py::TestGateway::()::test_plain . pypy/interpreter/test/test_gateway.py::TestGateway::()::test_unwrap_spec_decorator . pypy/interpreter/test/test_gateway.py::TestGateway::()::test_unwrap_spec_decorator_kwargs . pypy/interpreter/test/test_gateway.py::TestGateway::()::test_unwrap_spec_default_applevel . pypy/interpreter/test/test_gateway.py::TestGateway::()::test_unwrap_spec_default_applevel_2 . pypy/interpreter/test/test_gateway.py::TestGateway::()::test_unwrap_spec_default_applevel_bogus . pypy/interpreter/test/test_gateway.py::TestGateway::()::test_unwrap_spec_default_applevel_bug2 . pypy/interpreter/test/test_gateway.py::TestGateway::()::test_interp2app_doc s pypy/interpreter/test/test_gateway.py::TestGateway::()::test_system_error Skipped: we don't wrap a random exception inside SystemError when untranslated, because it makes testing harder s pypy/interpreter/test/test_gateway.py::TestGateway::()::test_system_error_2 Skipped: we don't wrap a random exception inside SystemError when untranslated, because it makes testing harder . pypy/interpreter/test/test_gateway.py::AppTestPyTestMark::()::test_anything . pypy/interpreter/test/test_gateway.py::TestPassThroughArguments::()::test_pass_trough_arguments0 . pypy/interpreter/test/test_gateway.py::TestPassThroughArguments::()::test_pass_trough_arguments1 . pypy/interpreter/test/test_gateway.py::TestPassThroughArguments::()::test_pass_trough_arguments_method . pypy/interpreter/test/test_gateway.py::TestPassThroughArguments::()::test_base_regular_descr_mismatch . pypy/interpreter/test/test_gateway.py::TestPassThroughArguments::()::test_pass_trough_arguments0_descr_mismatch . pypy/interpreter/test/test_gateway.py::AppTestKeywordsToBuiltinSanity::()::test_type . pypy/interpreter/test/test_gateway.py::AppTestKeywordsToBuiltinSanity::()::test_object_new . pypy/interpreter/test/test_gateway.py::AppTestKeywordsToBuiltinSanity::()::test_dict_new . pypy/interpreter/test/test_gateway.py::AppTestKeywordsToBuiltinSanity::()::test_dict_init . pypy/interpreter/test/test_gateway.py::AppTestKeywordsToBuiltinSanity::()::test_dict_update . pypy/interpreter/test/test_gateway.py::AppTestFastPathCrash::()::test_fast_path_crash . pypy/interpreter/test/test_generator.py::test_should_not_inline . pypy/interpreter/test/test_interpreter.py::TestInterpreter::()::test_exception_trivial . pypy/interpreter/test/test_interpreter.py::TestInterpreter::()::test_exception . pypy/interpreter/test/test_interpreter.py::TestInterpreter::()::test_finally . pypy/interpreter/test/test_interpreter.py::TestInterpreter::()::test_raise . pypy/interpreter/test/test_interpreter.py::TestInterpreter::()::test_except2 . pypy/interpreter/test/test_interpreter.py::TestInterpreter::()::test_except3 . pypy/interpreter/test/test_interpreter.py::TestInterpreter::()::test_break . pypy/interpreter/test/test_interpreter.py::TestInterpreter::()::test_continue . pypy/interpreter/test/test_interpreter.py::TestInterpreter::()::test_import . pypy/interpreter/test/test_interpreter.py::TestInterpreter::()::test_import_default_arg . pypy/interpreter/test/test_interpreter.py::TestInterpreter::()::test_call_star_starstar . pypy/interpreter/test/test_interpreter.py::TestInterpreter::()::test_star_arg . pypy/interpreter/test/test_interpreter.py::TestInterpreter::()::test_closure . pypy/interpreter/test/test_interpreter.py::TestInterpreter::()::test_import_statement . pypy/interpreter/test/test_interpreter.py::AppTestInterpreter::()::test_trivial . pypy/interpreter/test/test_interpreter.py::AppTestInterpreter::()::test_trivial_call . pypy/interpreter/test/test_interpreter.py::AppTestInterpreter::()::test_trivial_call2 . pypy/interpreter/test/test_interpreter.py::AppTestInterpreter::()::test_print . pypy/interpreter/test/test_interpreter.py::AppTestInterpreter::()::test_print_unicode . pypy/interpreter/test/test_interpreter.py::AppTestInterpreter::()::test_print_strange_object . pypy/interpreter/test/test_interpreter.py::AppTestInterpreter::()::test_identity . pypy/interpreter/test/test_interpreter.py::AppTestInterpreter::()::test_raise_recursion . pypy/interpreter/test/test_interpreter.py::AppTestInterpreter::()::test_with_statement_and_sys_clear . pypy/interpreter/test/test_interpreter.py::AppTestInterpreter::()::test_sys_clear_while_handling_exception . pypy/interpreter/test/test_interpreter.py::AppTestInterpreter::()::test_sys_clear_while_handling_exception_nested . pypy/interpreter/test/test_interpreter.py::AppTestInterpreter::()::test_sys_clear_reraise . pypy/interpreter/test/test_main.py::TestMain::()::test_run_file . pypy/interpreter/test/test_main.py::TestMain::()::test_run_string . pypy/interpreter/test/test_main.py::TestMain::()::test_eval_string . pypy/interpreter/test/test_main.py::TestMain::()::test_run_module . pypy/interpreter/test/test_mixedmodule.py::TestMixedModule::()::test_install . pypy/interpreter/test/test_mixedmodule.py::TestMixedModule::()::test_submodule . pypy/interpreter/test/test_mixedmodule.py::AppTestMixedModule::()::test_attibute . pypy/interpreter/test/test_mixedmodule.py::AppTestMixedModule::()::test_submodule_import . pypy/interpreter/test/test_mixedmodule.py::AppTestMixedModule::()::test_direct_import . pypy/interpreter/test/test_mixedmodule.py::AppTestMixedModule::()::test_import_from . pypy/interpreter/test/test_module.py::TestModule::()::test_name . pypy/interpreter/test/test_module.py::TestModule::()::test_attr . pypy/interpreter/test/test_module.py::TestModule::()::test___file__ . pypy/interpreter/test/test_module.py::AppTest_ModuleObject::()::test_attr . pypy/interpreter/test/test_module.py::AppTest_ModuleObject::()::test_docstring . pypy/interpreter/test/test_module.py::AppTest_ModuleObject::()::test___file__ . pypy/interpreter/test/test_module.py::AppTest_ModuleObject::()::test_repr . pypy/interpreter/test/test_module.py::AppTest_ModuleObject::()::test_package . pypy/interpreter/test/test_objspace.py::TestObjSpace::()::test_isinstance . pypy/interpreter/test/test_objspace.py::TestObjSpace::()::test_newlist . pypy/interpreter/test/test_objspace.py::TestObjSpace::()::test_newdict . pypy/interpreter/test/test_objspace.py::TestObjSpace::()::test_newtuple . pypy/interpreter/test/test_objspace.py::TestObjSpace::()::test_is_true . pypy/interpreter/test/test_objspace.py::TestObjSpace::()::test_is_ . pypy/interpreter/test/test_objspace.py::TestObjSpace::()::test_newbool . pypy/interpreter/test/test_objspace.py::TestObjSpace::()::test_unpackiterable . pypy/interpreter/test/test_objspace.py::TestObjSpace::()::test_fixedview . pypy/interpreter/test/test_objspace.py::TestObjSpace::()::test_listview . pypy/interpreter/test/test_objspace.py::TestObjSpace::()::test_exception_match . pypy/interpreter/test/test_objspace.py::TestObjSpace::()::test_lookup . pypy/interpreter/test/test_objspace.py::TestObjSpace::()::test_callable . pypy/interpreter/test/test_objspace.py::TestObjSpace::()::test_int_w . pypy/interpreter/test/test_objspace.py::TestObjSpace::()::test_interp_w . pypy/interpreter/test/test_objspace.py::TestObjSpace::()::test_text0_w . pypy/interpreter/test/test_objspace.py::TestObjSpace::()::test_getindex_w . pypy/interpreter/test/test_objspace.py::TestObjSpace::()::test_r_longlong_w . pypy/interpreter/test/test_objspace.py::TestObjSpace::()::test_r_ulonglong_w . pypy/interpreter/test/test_objspace.py::TestObjSpace::()::test_truncatedint_w . pypy/interpreter/test/test_objspace.py::TestObjSpace::()::test_truncatedlonglong_w . pypy/interpreter/test/test_objspace.py::TestObjSpace::()::test_call_obj_args . pypy/interpreter/test/test_objspace.py::TestObjSpace::()::test_compare_by_iteration . pypy/interpreter/test/test_objspace.py::TestModuleMinimal::()::test_sys_exists . pypy/interpreter/test/test_objspace.py::TestModuleMinimal::()::test_import_exists . pypy/interpreter/test/test_objspace.py::TestModuleMinimal::()::test_sys_import . pypy/interpreter/test/test_objspace.py::TestModuleMinimal::()::test_dont_reload_builtin_mods_on_startup . pypy/interpreter/test/test_objspace.py::TestModuleMinimal::()::test_interned_strings_are_weak . pypy/interpreter/test/test_objspace.py::TestModuleMinimal::()::test_exitfunc_catches_exceptions . pypy/interpreter/test/test_objspace.py::TestModuleMinimal::()::test_format_traceback . pypy/interpreter/test/test_pycode.py::test_strong_const_equal . pypy/interpreter/test/test_pyframe.py::AppTestPyFrame::()::test_f_back_hidden . pypy/interpreter/test/test_pyframe.py::AppTestPyFrame::()::test_fast2locals_called_lazily . pypy/interpreter/test/test_reverse_debugging.py::test_build_co_revdb_linestarts . pypy/interpreter/test/test_reverse_debugging.py::test_add_breakpoint . pypy/interpreter/test/test_special.py::AppTestSpecialTestCase::()::test_Ellipsis . pypy/interpreter/test/test_special.py::AppTestSpecialTestCase::()::test_NotImplemented . pypy/interpreter/test/test_syntax.py::AppTestCondExpr::()::test_condexpr . pypy/interpreter/test/test_syntax.py::AppTestCondExpr::()::test_condexpr_no_warning . pypy/interpreter/test/test_syntax.py::AppTestYield::()::test_bare_yield . pypy/interpreter/test/test_syntax.py::AppTestDecorators::()::test_function_decorators . pypy/interpreter/test/test_syntax.py::AppTestDecorators::()::test_application_order . pypy/interpreter/test/test_syntax.py::AppTestDecorators::()::test_class_decorators . pypy/interpreter/test/test_syntax.py::AppTestPrintFunction::()::test_simple_print . pypy/interpreter/test/test_syntax.py::AppTestPrintFunction::()::test_print . pypy/interpreter/test/test_syntax.py::AppTestUnicodeLiterals::()::test_simple . pypy/interpreter/test/test_syntax.py::AppTestUnicodeLiterals::()::test_both_futures_with_semicolon . pypy/interpreter/test/test_syntax.py::AppTestComprehensions::()::test_dictcomps . pypy/interpreter/test/test_syntax.py::AppTestComprehensions::()::test_setcomps . pypy/interpreter/test/test_syntax.py::AppTestComprehensions::()::test_set_literal . pypy/interpreter/test/test_syntax.py::AppTestWith::()::test_with_simple . pypy/interpreter/test/test_syntax.py::AppTestWith::()::test_compound_with . pypy/interpreter/test/test_syntax.py::AppTestWith::()::test_with_as_var . pypy/interpreter/test/test_syntax.py::AppTestWith::()::test_with_raise_exception . pypy/interpreter/test/test_syntax.py::AppTestWith::()::test_with_swallow_exception . pypy/interpreter/test/test_syntax.py::AppTestWith::()::test_with_reraise_exception . pypy/interpreter/test/test_syntax.py::AppTestWith::()::test_with_break . pypy/interpreter/test/test_syntax.py::AppTestWith::()::test_with_continue . pypy/interpreter/test/test_syntax.py::AppTestWith::()::test_with_return . pypy/interpreter/test/test_syntax.py::AppTestWith::()::test_with_as_keyword . pypy/interpreter/test/test_syntax.py::AppTestWith::()::test_with_as_keyword_compound . pypy/interpreter/test/test_syntax.py::AppTestWith::()::test_missing_as_SyntaxError . pypy/interpreter/test/test_syntax.py::AppTestSyntaxError::()::test_tokenizer_error_location . pypy/interpreter/test/test_syntax.py::AppTestSyntaxError::()::test_grammar_error_location . pypy/interpreter/test/test_syntax.py::AppTestSyntaxError::()::test_astbuilder_error_location . pypy/interpreter/test/test_syntax.py::AppTestSyntaxError::()::test_codegen_error_location . pypy/interpreter/test/test_syntax.py::AppTestSyntaxError::()::test_bad_encoding . pypy/interpreter/test/test_syntax.py::test_invalid_9 . pypy/interpreter/test/test_syntax.py::test_invalid_8 . pypy/interpreter/test/test_syntax.py::test_invalid_7 . pypy/interpreter/test/test_syntax.py::test_invalid_6 . pypy/interpreter/test/test_syntax.py::test_invalid_5 . pypy/interpreter/test/test_syntax.py::test_invalid_4 . pypy/interpreter/test/test_syntax.py::test_invalid_2 . pypy/interpreter/test/test_syntax.py::test_invalid_1 . pypy/interpreter/test/test_syntax.py::test_invalid_0 . pypy/interpreter/test/test_syntax.py::test_invalid_17 . pypy/interpreter/test/test_syntax.py::test_invalid_16 . pypy/interpreter/test/test_syntax.py::test_invalid_15 . pypy/interpreter/test/test_syntax.py::test_invalid_14 . pypy/interpreter/test/test_syntax.py::test_invalid_13 . pypy/interpreter/test/test_syntax.py::test_invalid_11 . pypy/interpreter/test/test_syntax.py::test_invalid_10 . pypy/interpreter/test/test_syntax.py::test_invalid_3 . pypy/interpreter/test/test_syntax.py::test_valid_8 . pypy/interpreter/test/test_syntax.py::test_valid_9 . pypy/interpreter/test/test_syntax.py::test_valid_2 . pypy/interpreter/test/test_syntax.py::test_valid_3 . pypy/interpreter/test/test_syntax.py::test_valid_0 . pypy/interpreter/test/test_syntax.py::test_valid_1 . pypy/interpreter/test/test_syntax.py::test_valid_6 . pypy/interpreter/test/test_syntax.py::test_valid_7 . pypy/interpreter/test/test_syntax.py::test_valid_4 . pypy/interpreter/test/test_syntax.py::test_valid_5 . pypy/interpreter/test/test_syntax.py::test_invalid_12 . pypy/interpreter/test/test_syntax.py::test_valid_18 . pypy/interpreter/test/test_syntax.py::test_valid_19 . pypy/interpreter/test/test_syntax.py::test_valid_10 . pypy/interpreter/test/test_syntax.py::test_valid_11 . pypy/interpreter/test/test_syntax.py::test_valid_12 . pypy/interpreter/test/test_syntax.py::test_valid_13 . pypy/interpreter/test/test_syntax.py::test_valid_14 . pypy/interpreter/test/test_syntax.py::test_valid_15 . pypy/interpreter/test/test_syntax.py::test_valid_16 . pypy/interpreter/test/test_syntax.py::test_valid_17 . pypy/interpreter/test/test_targetpypy.py::TestTargetPyPy::()::test_run . pypy/interpreter/test/test_targetpypy.py::test_execute_source . pypy/interpreter/test/test_typedef.py::AppTestTraceBackAttributes::()::test_newstring . pypy/interpreter/test/test_typedef.py::AppTestTraceBackAttributes::()::test_descr_dict . pypy/interpreter/test/test_typedef.py::AppTestTraceBackAttributes::()::test_descr_member_descriptor . pypy/interpreter/test/test_typedef.py::AppTestTraceBackAttributes::()::test_descr_getsetproperty F pypy/interpreter/test/test_typedef.py::TestTypeDef::()::test_subclass_cache self = def test_subclass_cache(self): # check that we don't create more than 6 subclasses of a # given W_XxxObject (instead of the 16 that follow from # all combinations) space = self.space sources = [] for hasdict in [False, True]: for wants_slots in [False, True]: for needsdel in [False, True]: for weakrefable in [False, True]: print 'Testing case', hasdict, wants_slots, print needsdel, weakrefable slots = [] checks = [] if hasdict: slots.append('__dict__') checks.append('x.foo=5; x.__dict__') else: checks.append('raises(AttributeError, "x.foo=5");' 'raises(AttributeError, "x.__dict__")') if wants_slots: slots.append('a') checks.append('x.a=5; assert X.a.__get__(x)==5') else: checks.append('') if weakrefable: slots.append('__weakref__') checks.append('import _weakref;_weakref.ref(x)') else: checks.append('') if needsdel: methodname = '__del__' checks.append('X();X();X();' 'import gc;gc.collect();' 'assert seen') else: methodname = 'spam' checks.append('assert "Del" not in irepr') assert len(checks) == 4 space.appexec([], """(): seen = [] class X(list): __slots__ = %r def %s(self): seen.append(1) x = X() import __pypy__ irepr = __pypy__.internal_repr(x) print irepr %s %s %s %s """ % (slots, methodname, checks[0], checks[1], > checks[2], checks[3])) interpreter/test/test_typedef.py:128: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ interpreter/baseobjspace.py:1479: in appexec return self.call_args(w_func, args) objspace/descroperation.py:186: in call_args return w_obj.call_args(args) interpreter/function.py:68: in call_args w_res = self.getcode().funcrun(self, args) interpreter/pycode.py:223: in funcrun return frame.run() interpreter/pyframe.py:253: in run return self.execute_frame() interpreter/pyframe.py:290: in execute_frame raise self._convert_unexpected_exception(e) interpreter/pyframe.py:943: in _convert_unexpected_exception operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:286: in execute_frame executioncontext) interpreter/pyopcode.py:63: in dispatch next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:70: in handle_bytecode next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:356: in dispatch_bytecode self.LOOKUP_METHOD(oparg, next_instr) objspace/std/callmethod.py:63: in LOOKUP_METHOD w_value = w_obj.getdictvalue(space, name) interpreter/mixedmodule.py:93: in getdictvalue return self._load_lazily(space, name) interpreter/mixedmodule.py:103: in _load_lazily w_value = loader(space) interpreter/mixedmodule.py:182: in ifileloader d[name] = __import__(pkgroot+'.'+name, None, None, [name]) module/gc/interp_gc.py:4: in from pypy.module.gc.hook import W_GcCollectStepStats module/gc/hook.py:2: in from rpython.memory.gc import incminimark _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ # XXX Should find a way to bound the major collection threshold by the # XXX total addressable size. Maybe by keeping some minimarkpage arenas # XXX pre-reserved, enough for a few nursery collections? What about # XXX raw-malloced memory? # XXX try merging old_objects_pointing_to_pinned into # XXX old_objects_pointing_to_young (IRC 2014-10-22, fijal and gregor_w) import sys import os import time from rpython.rtyper.lltypesystem import lltype, llmemory, llarena, llgroup from rpython.rtyper.lltypesystem.lloperation import llop from rpython.rtyper.lltypesystem.llmemory import raw_malloc_usage from rpython.memory.gc.base import GCBase, MovingGCBase > from rpython.memory.gc import env E File "/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py", line 423 E SyntaxError: Non-ASCII character '\xe2' in file /build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py on line 423, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details ../rpython/memory/gc/incminimark.py:70: SyntaxError ---------- Captured stdout call ---------- Testing case False False False False Testing case False False False True Testing case False False True False . pypy/interpreter/test/test_typedef.py::TestTypeDef::()::test_getsetproperty . pypy/interpreter/test/test_typedef.py::TestTypeDef::()::test_getsetproperty_arguments . pypy/interpreter/test/test_typedef.py::TestTypeDef::()::test_unhashable . pypy/interpreter/test/test_typedef.py::TestTypeDef::()::test_destructor . pypy/interpreter/test/test_typedef.py::TestTypeDef::()::test_multiple_inheritance . pypy/interpreter/test/test_typedef.py::TestTypeDef::()::test_class_attr . pypy/interpreter/test/test_typedef.py::TestTypeDef::()::test_mapdict_number_of_slots F pypy/interpreter/test/test_typedef.py::AppTestTypeDef::()::test_destructor self = func = at 0xf3c72bfc>, 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, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 0xf7a5dc6c> hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf6a170ac>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf6a170ac>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf3cca88c> 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 0xf3cca88c> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf3e8a72c> 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 0xf3e8a72c> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def runtest(self): target = self.obj if self.config.option.runappdirect: return target() space = target.im_self.space filename = self._getdynfilename(target) func = app2interp_temp(target.im_func, filename=filename) w_instance = self.parent.w_instance > self.execute_appex(space, func, space, w_instance) tool/pytest/apptest.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , space = StdObjSpace target = args = (StdObjSpace, ) def execute_appex(self, space, target, *args): self.space = space try: > target(*args) tool/pytest/apptest.py:30: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace args_w = (,) w_func = args = def appcaller(space, *args_w): if not isinstance(space, ObjSpace): raise TypeError("first argument must be a space instance.") # the last argument can be an Arguments w_func = self.wget(space, name) if not args_w: return space.call_function(w_func) else: args = args_w[-1] assert args is not None if not isinstance(args, Arguments): > return space.call_function(w_func, *args_w) interpreter/gateway.py:1227: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = args_w = (,) nargs = 1, Function = Method = def call_function(self, w_func, *args_w): nargs = len(args_w) # used for pruning funccall versions if not self.config.objspace.disable_call_speedhacks and nargs < 5: # start of hack for performance from pypy.interpreter.function import Function, Method if isinstance(w_func, Method): w_inst = w_func.w_instance if w_inst is not None: if nargs < 4: func = w_func.w_function if isinstance(func, Function): return func.funccall(w_inst, *args_w) elif args_w and ( self.abstract_isinstance_w(args_w[0], w_func.w_class)): w_func = w_func.w_function if isinstance(w_func, Function): > return w_func.funccall(*args_w) interpreter/baseobjspace.py:1210: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = args_w = (,) gateway = PyCode = code = def funccall(self, *args_w): # speed hack from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit nargs = len(args_w) fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, args_w[0]) elif nargs == 2: assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, args_w[0], args_w[1]) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) return code.fastcall_3(self.space, self, args_w[0], args_w[1], args_w[2]) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) return code.fastcall_4(self.space, self, args_w[0], args_w[1], args_w[2], args_w[3]) elif (nargs | PyCode.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) if nargs < 5: new_frame = self.space.createframe(code, self.w_func_globals, self) for i in funccallunrolling: if i < nargs: new_frame.locals_cells_stack_w[i] = args_w[i] > return new_frame.run() interpreter/function.py:118: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 12 def run(self): """Start this frame's execution.""" if self.getcode().co_flags & pycode.CO_GENERATOR: from pypy.interpreter.generator import GeneratorIterator return GeneratorIterator(self) else: > return self.execute_frame() interpreter/pyframe.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 12 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:290: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 12 e = SyntaxError("Non-ASCII character '\\xe2' in file /build_dir/own-linux-x86-32/b..., ('/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py', 423, 0, None)) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:943: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 12 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:286: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 12 pycode = next_instr = 0L ec = def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 12 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x01\x00d\x01\x00d\x00\x00l\x01\x00\x89\x00\x00g\x00\x00\x89\x01\x00d\x02\x00t\x02\x00f\x...00s\xbd\x00t\x08\x00\x82\x01\x00t\t\x00t\n\x00\x88\x00\x00j\x06\x00|\x04\x00d\t\x00d\x06\x00\x83\x05\x00\x01d\x00\x00S' next_instr = 0L ec = def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 12 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x01\x00d\x01\x00d\x00\x00l\x01\x00\x89\x00\x00g\x00\x00\x89\x01\x00d\x02\x00t\x02\x00f\x...00s\xbd\x00t\x08\x00\x82\x01\x00t\t\x00t\n\x00\x88\x00\x00j\x06\x00|\x04\x00d\t\x00d\x06\x00\x83\x05\x00\x01d\x00\x00S' next_instr = 128L ec = @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: self.last_instr = intmask(next_instr) if jit.we_are_jitted(): if self.debugdata: ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: ec.bytecode_trace(self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) next_instr += 1 if opcode >= HAVE_ARGUMENT: lo = ord(co_code[next_instr]) hi = ord(co_code[next_instr+1]) next_instr += 2 oparg = (hi * 256) | lo else: oparg = 0 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into a switch(). while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption lo = ord(co_code[next_instr+1]) hi = ord(co_code[next_instr+2]) next_instr += 3 oparg = (oparg * 65536) | (hi * 256) | lo if opcode == opcodedesc.RETURN_VALUE.index: if not self.blockstack_non_empty(): self.frame_finished_execution = True # for generators raise Return w_returnvalue = self.popvalue() block = self.unrollstack(SReturnValue.kind) if block is None: self.pushvalue(w_returnvalue) raise Return else: unroller = SReturnValue(w_returnvalue) next_instr = block.handle(self, unroller) return next_instr # now inside a 'finally' block elif opcode == opcodedesc.END_FINALLY.index: unroller = self.end_finally() if isinstance(unroller, SuspendedUnroller): # go on unrolling the stack block = self.unrollstack(unroller.kind) if block is None: w_result = unroller.nomoreblocks() self.pushvalue(w_result) raise Return else: next_instr = block.handle(self, unroller) return next_instr elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, ec) elif opcode == opcodedesc.BREAK_LOOP.index: next_instr = self.BREAK_LOOP(oparg, next_instr) elif opcode == opcodedesc.CONTINUE_LOOP.index: return self.CONTINUE_LOOP(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: next_instr = self.JUMP_IF_FALSE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_DEBUG.index: next_instr = self.JUMP_IF_NOT_DEBUG(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: next_instr = self.JUMP_IF_TRUE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: next_instr = self.POP_JUMP_IF_FALSE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: next_instr = self.POP_JUMP_IF_TRUE(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_DIVIDE.index: self.BINARY_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CLASS.index: self.BUILD_CLASS(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR.index: self.CALL_FUNCTION_VAR(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR_KW.index: self.CALL_FUNCTION_VAR_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: self.CALL_METHOD(oparg, next_instr) elif opcode == opcodedesc.COMPARE_OP.index: self.COMPARE_OP(oparg, next_instr) elif opcode == opcodedesc.DELETE_ATTR.index: self.DELETE_ATTR(oparg, next_instr) elif opcode == opcodedesc.DELETE_FAST.index: self.DELETE_FAST(oparg, next_instr) elif opcode == opcodedesc.DELETE_GLOBAL.index: self.DELETE_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.DELETE_NAME.index: self.DELETE_NAME(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_0.index: self.DELETE_SLICE_0(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_1.index: self.DELETE_SLICE_1(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_2.index: self.DELETE_SLICE_2(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_3.index: self.DELETE_SLICE_3(oparg, next_instr) elif opcode == opcodedesc.DELETE_SUBSCR.index: self.DELETE_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.DUP_TOP.index: self.DUP_TOP(oparg, next_instr) elif opcode == opcodedesc.DUP_TOPX.index: self.DUP_TOPX(oparg, next_instr) elif opcode == opcodedesc.EXEC_STMT.index: self.EXEC_STMT(oparg, next_instr) elif opcode == opcodedesc.GET_ITER.index: self.GET_ITER(oparg, next_instr) elif opcode == opcodedesc.IMPORT_FROM.index: self.IMPORT_FROM(oparg, next_instr) elif opcode == opcodedesc.IMPORT_NAME.index: self.IMPORT_NAME(oparg, next_instr) elif opcode == opcodedesc.IMPORT_STAR.index: self.IMPORT_STAR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_ADD.index: self.INPLACE_ADD(oparg, next_instr) elif opcode == opcodedesc.INPLACE_AND.index: self.INPLACE_AND(oparg, next_instr) elif opcode == opcodedesc.INPLACE_DIVIDE.index: self.INPLACE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_FLOOR_DIVIDE.index: self.INPLACE_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_LSHIFT.index: self.INPLACE_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MODULO.index: self.INPLACE_MODULO(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MULTIPLY.index: self.INPLACE_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.INPLACE_OR.index: self.INPLACE_OR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_POWER.index: self.INPLACE_POWER(oparg, next_instr) elif opcode == opcodedesc.INPLACE_RSHIFT.index: self.INPLACE_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_SUBTRACT.index: self.INPLACE_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_TRUE_DIVIDE.index: self.INPLACE_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_XOR.index: self.INPLACE_XOR(oparg, next_instr) elif opcode == opcodedesc.LIST_APPEND.index: self.LIST_APPEND(oparg, next_instr) elif opcode == opcodedesc.LOAD_ATTR.index: self.LOAD_ATTR(oparg, next_instr) elif opcode == opcodedesc.LOAD_CLOSURE.index: self.LOAD_CLOSURE(oparg, next_instr) elif opcode == opcodedesc.LOAD_CONST.index: self.LOAD_CONST(oparg, next_instr) elif opcode == opcodedesc.LOAD_DEREF.index: self.LOAD_DEREF(oparg, next_instr) elif opcode == opcodedesc.LOAD_FAST.index: self.LOAD_FAST(oparg, next_instr) elif opcode == opcodedesc.LOAD_GLOBAL.index: self.LOAD_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.LOAD_LOCALS.index: self.LOAD_LOCALS(oparg, next_instr) elif opcode == opcodedesc.LOAD_NAME.index: self.LOAD_NAME(oparg, next_instr) elif opcode == opcodedesc.LOOKUP_METHOD.index: > self.LOOKUP_METHOD(oparg, next_instr) interpreter/pyopcode.py:356: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = at line 12 nameindex = 7, ignored = (128L,) MutableCell = space = StdObjSpace w_obj = def LOOKUP_METHOD(f, nameindex, *ignored): from pypy.objspace.std.typeobject import MutableCell # stack before after # -------------- --fast-method----fallback-case------------ # # w_object None # w_object => w_function w_boundmethod_or_whatever # (more stuff) (more stuff) (more stuff) # space = f.space w_obj = f.popvalue() if not jit.we_are_jitted(): # mapdict has an extra-fast version of this function if LOOKUP_METHOD_mapdict(f, nameindex, w_obj): return w_name = f.getname_w(nameindex) w_value = None w_type = space.type(w_obj) if w_type.has_object_getattribute(): name = space.text_w(w_name) # bit of a mess to use these internal functions, but it allows the # mapdict caching below to work without an additional lookup version_tag = w_type.version_tag() if version_tag is None: _, w_descr = w_type._lookup_where(name) w_descr_cell = None else: _, w_descr_cell = w_type._pure_lookup_where_with_method_cache( name, version_tag) w_descr = w_descr_cell if isinstance(w_descr, MutableCell): w_descr = w_descr.unwrap_cell(space) if w_descr is None: # this handles directly the common case # module.function(args..) > w_value = w_obj.getdictvalue(space, name) objspace/std/callmethod.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def getdictvalue(self, space, name): w_value = space.finditem_str(self.w_dict, name) if self.lazy and w_value is None: > return self._load_lazily(space, name) interpreter/mixedmodule.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def _load_lazily(self, space, name): w_name = space.new_interned_str(name) try: loader = self.loaders[name] except KeyError: return None else: > w_value = loader(space) interpreter/mixedmodule.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace def ifileloader(space): d = {'space':space} # EVIL HACK (but it works, and this is not RPython :-) while 1: try: value = eval(spec, d) except NameError as ex: name = ex.args[0].split("'")[1] # super-Evil if name in d: raise # propagate the NameError try: > d[name] = __import__(pkgroot+'.'+name, None, None, [name]) interpreter/mixedmodule.py:182: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from pypy.interpreter.gateway import unwrap_spec from pypy.interpreter.error import oefmt from rpython.rlib import rgc > from pypy.module.gc.hook import W_GcCollectStepStats module/gc/interp_gc.py:4: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from rpython.memory.gc.hook import GcHooks > from rpython.memory.gc import incminimark module/gc/hook.py:2: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ # XXX Should find a way to bound the major collection threshold by the # XXX total addressable size. Maybe by keeping some minimarkpage arenas # XXX pre-reserved, enough for a few nursery collections? What about # XXX raw-malloced memory? # XXX try merging old_objects_pointing_to_pinned into # XXX old_objects_pointing_to_young (IRC 2014-10-22, fijal and gregor_w) import sys import os import time from rpython.rtyper.lltypesystem import lltype, llmemory, llarena, llgroup from rpython.rtyper.lltypesystem.lloperation import llop from rpython.rtyper.lltypesystem.llmemory import raw_malloc_usage from rpython.memory.gc.base import GCBase, MovingGCBase > from rpython.memory.gc import env E File "/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py", line 423 E SyntaxError: Non-ASCII character '\xe2' in file /build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py on line 423, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details ../rpython/memory/gc/incminimark.py:70: SyntaxError . pypy/interpreter/test/test_typedef.py::AppTestTypeDef::()::test_method_attrs . pypy/interpreter/test/test_typedef.py::AppTestTypeDef::()::test_classmethod_im_class . pypy/interpreter/test/test_typedef.py::AppTestTypeDef::()::test_func_closure . pypy/interpreter/test/test_typedef.py::AppTestTypeDef::()::test_get_with_none_arg . pypy/interpreter/test/test_typedef.py::AppTestTypeDef::()::test_builtin_readonly_property . pypy/interpreter/test/test_unicodehelper.py::test_decode_utf8 . pypy/interpreter/test/test_unicodehelper.py::test_utf8_encode_ascii . pypy/interpreter/test/test_unicodehelper.py::test_utf8_encode_ascii_2 . pypy/interpreter/test/test_unicodehelper.py::test_str_decode_ascii . pypy/interpreter/test/test_unicodehelper.py::test_unicode_raw_escape . pypy/interpreter/test/test_unicodehelper.py::test_unicode_escape . pypy/interpreter/test/test_unicodehelper.py::test_encode_decimal . pypy/interpreter/test/test_unicodehelper.py::test_utf8_encode_latin1_ascii_prefix . pypy/interpreter/test/test_unicodehelper.py::test_latin1_shortcut_bug . pypy/interpreter/test/test_unicodehelper.py::test_unicode_escape_incremental_bug . pypy/interpreter/test/test_zpy.py::test_executable . pypy/interpreter/test/test_zpy.py::test_special_names . pypy/interpreter/test/test_zpy.py::test_argv_command . pypy/interpreter/test/test_zpy.py::test_scripts . pypy/interpreter/test/test_zpy.py::test_tb_normalization . pypy/interpreter/test/test_zpy.py::test_pytrace . pypy/interpreter/test/test_zzpickle_and_slow.py::AppTestSlow::()::test_inspect . pypy/interpreter/test/test_zzpickle_and_slow.py::AppTestInterpObjectPickling::()::test_pickle_code . pypy/interpreter/test/test_zzpickle_and_slow.py::AppTestInterpObjectPickling::()::test_pickle_global_func . pypy/interpreter/test/test_zzpickle_and_slow.py::AppTestInterpObjectPickling::()::test_pickle_not_imported_module . pypy/interpreter/test/test_zzpickle_and_slow.py::AppTestInterpObjectPickling::()::test_pickle_builtin_func . pypy/interpreter/test/test_zzpickle_and_slow.py::AppTestInterpObjectPickling::()::test_pickle_non_top_reachable_func . pypy/interpreter/test/test_zzpickle_and_slow.py::AppTestInterpObjectPickling::()::test_pickle_cell . pypy/interpreter/test/test_zzpickle_and_slow.py::AppTestInterpObjectPickling::()::test_pickle_frame . pypy/interpreter/test/test_zzpickle_and_slow.py::AppTestInterpObjectPickling::()::test_pickle_frame_with_exc . pypy/interpreter/test/test_zzpickle_and_slow.py::AppTestInterpObjectPickling::()::test_pickle_frame_clos . pypy/interpreter/test/test_zzpickle_and_slow.py::AppTestInterpObjectPickling::()::test_frame_setstate_crash . pypy/interpreter/test/test_zzpickle_and_slow.py::AppTestInterpObjectPickling::()::test_pickle_traceback . pypy/interpreter/test/test_zzpickle_and_slow.py::AppTestInterpObjectPickling::()::test_pickle_module . pypy/interpreter/test/test_zzpickle_and_slow.py::AppTestInterpObjectPickling::()::test_pickle_moduledict . pypy/interpreter/test/test_zzpickle_and_slow.py::AppTestInterpObjectPickling::()::test_pickle_bltins_module s pypy/interpreter/test/test_zzpickle_and_slow.py::AppTestInterpObjectPickling::()::test_pickle_buffer Skipped: Can't pickle buffer objects on top of CPython either. Do we really need it? . pypy/interpreter/test/test_zzpickle_and_slow.py::AppTestInterpObjectPickling::()::test_pickle_complex . pypy/interpreter/test/test_zzpickle_and_slow.py::AppTestInterpObjectPickling::()::test_pickle_method . pypy/interpreter/test/test_zzpickle_and_slow.py::AppTestInterpObjectPickling::()::test_pickle_staticmethod . pypy/interpreter/test/test_zzpickle_and_slow.py::AppTestInterpObjectPickling::()::test_pickle_classmethod . pypy/interpreter/test/test_zzpickle_and_slow.py::AppTestInterpObjectPickling::()::test_pickle_sequenceiter . pypy/interpreter/test/test_zzpickle_and_slow.py::AppTestInterpObjectPickling::()::test_pickle_reversesequenceiter . pypy/interpreter/test/test_zzpickle_and_slow.py::AppTestInterpObjectPickling::()::test_pickle_reversesequenceiter_stopped . pypy/interpreter/test/test_zzpickle_and_slow.py::AppTestInterpObjectPickling::()::test_pickle_dictiter . pypy/interpreter/test/test_zzpickle_and_slow.py::AppTestInterpObjectPickling::()::test_pickle_reversed . pypy/interpreter/test/test_zzpickle_and_slow.py::AppTestInterpObjectPickling::()::test_pickle_reversed_stopped . pypy/interpreter/test/test_zzpickle_and_slow.py::AppTestInterpObjectPickling::()::test_pickle_enum . pypy/interpreter/test/test_zzpickle_and_slow.py::AppTestInterpObjectPickling::()::test_pickle_xrangeiter . pypy/interpreter/test/test_zzpickle_and_slow.py::AppTestInterpObjectPickling::()::test_pickle_generator . pypy/interpreter/test/test_zzpickle_and_slow.py::AppTestInterpObjectPickling::()::test_pickle_generator_blk . pypy/interpreter/test/test_zzpickle_and_slow.py::AppTestInterpObjectPickling::()::test_pickle_builtin_method . pypy/interpreter/test/test_zzpickle_and_slow.py::AppTestInterpObjectPickling::()::test_pickle_submodule . pypy/interpreter/test/test_zzpickle_and_slow.py::AppTestInterpObjectPickling::()::test_pickle_generator_crash . pypy/interpreter/test/test_zzpickle_and_slow.py::AppTestGeneratorCloning::()::test_deepcopy_generator . pypy/interpreter/test/test_zzpickle_and_slow.py::AppTestGeneratorCloning::()::test_shallowcopy_generator (somefailed=True in interpreter/test) . pypy/module/_md5/test/test_md5.py::AppTestMD5::()::test_digest_size s pypy/module/_md5/test/test_md5.py::AppTestMD5::()::test_MD5Type Skipped: no md5.MD5Type on CPython . pypy/module/_md5/test/test_md5.py::AppTestMD5::()::test_md5object . pypy/module/_md5/test/test_md5.py::AppTestMD5::()::test_copy . pypy/module/_md5/test/test_md5.py::AppTestMD5::()::test_buffer . pypy/module/_md5/test/test_md5.py::AppTestMD5::()::test_unicode s pypy/module/_minimal_curses/test/test_curses.py::TestCurses::()::test_setupterm Skipped: pexpect not found s pypy/module/_minimal_curses/test/test_curses.py::TestCurses::()::test_tigetstr Skipped: pexpect not found s pypy/module/_minimal_curses/test/test_curses.py::TestCurses::()::test_tparm Skipped: pexpect not found . pypy/module/_minimal_curses/test/test_curses.py::TestCCurses::()::test_csetupterm . pypy/module/_minimal_curses/test/test_curses.py::TestCCurses::()::test_ctgetstr . pypy/module/_minimal_curses/test/test_curses.py::TestCCurses::()::test_ctparm . pypy/module/_multibytecodec/test/test_app_codecs.py::AppTestCodecs::()::test_missing_codec . pypy/module/_multibytecodec/test/test_app_codecs.py::AppTestCodecs::()::test_decode_hz . pypy/module/_multibytecodec/test/test_app_codecs.py::AppTestCodecs::()::test_strict_error . pypy/module/_multibytecodec/test/test_app_codecs.py::AppTestCodecs::()::test_decode_hz_error . pypy/module/_multibytecodec/test/test_app_codecs.py::AppTestCodecs::()::test_decode_hz_ignore . pypy/module/_multibytecodec/test/test_app_codecs.py::AppTestCodecs::()::test_decode_hz_replace . pypy/module/_multibytecodec/test/test_app_codecs.py::AppTestCodecs::()::test_decode_custom_error_handler . pypy/module/_multibytecodec/test/test_app_codecs.py::AppTestCodecs::()::test_decode_custom_error_handler_overflow . pypy/module/_multibytecodec/test/test_app_codecs.py::AppTestCodecs::()::test_encode_hz . pypy/module/_multibytecodec/test/test_app_codecs.py::AppTestCodecs::()::test_encode_hz_error . pypy/module/_multibytecodec/test/test_app_codecs.py::AppTestCodecs::()::test_encode_hz_ignore . pypy/module/_multibytecodec/test/test_app_codecs.py::AppTestCodecs::()::test_encode_hz_replace . pypy/module/_multibytecodec/test/test_app_codecs.py::AppTestCodecs::()::test_encode_custom_error_handler . pypy/module/_multibytecodec/test/test_app_codecs.py::AppTestCodecs::()::test_encode_custom_error_handler_type . pypy/module/_multibytecodec/test/test_app_codecs.py::AppTestCodecs::()::test_encode_replacement_with_state . pypy/module/_multibytecodec/test/test_app_codecs.py::AppTestCodecs::()::test_streaming_codec . pypy/module/_multibytecodec/test/test_app_incremental.py::AppTestClasses::()::test_decode_hz . pypy/module/_multibytecodec/test/test_app_incremental.py::AppTestClasses::()::test_decode_hz_final . pypy/module/_multibytecodec/test/test_app_incremental.py::AppTestClasses::()::test_decode_hz_reset . pypy/module/_multibytecodec/test/test_app_incremental.py::AppTestClasses::()::test_decode_hz_error . pypy/module/_multibytecodec/test/test_app_incremental.py::AppTestClasses::()::test_decode_hz_buffer_grow . pypy/module/_multibytecodec/test/test_app_incremental.py::AppTestClasses::()::test_encode_hz . pypy/module/_multibytecodec/test/test_app_incremental.py::AppTestClasses::()::test_encode_hz_final . pypy/module/_multibytecodec/test/test_app_incremental.py::AppTestClasses::()::test_encode_hz_reset . pypy/module/_multibytecodec/test/test_app_incremental.py::AppTestClasses::()::test_encode_hz_noreset . pypy/module/_multibytecodec/test/test_app_incremental.py::AppTestClasses::()::test_encode_hz_error . pypy/module/_multibytecodec/test/test_app_incremental.py::AppTestClasses::()::test_encode_hz_buffer_grow . pypy/module/_multibytecodec/test/test_app_incremental.py::AppTestClasses::()::test_encode_big5hkscs . pypy/module/_multibytecodec/test/test_app_stream.py::AppTestStreams::()::test_reader . pypy/module/_multibytecodec/test/test_app_stream.py::AppTestStreams::()::test_reader_replace . pypy/module/_multibytecodec/test/test_app_stream.py::AppTestStreams::()::test_writer . pypy/module/_multibytecodec/test/test_app_stream.py::AppTestStreams::()::test_no_flush . pypy/module/_multibytecodec/test/test_app_stream.py::AppTestStreams::()::test_writer_seek_no_empty_write . pypy/module/_multibytecodec/test/test_c_codecs.py::test_codecs_existence . pypy/module/_multibytecodec/test/test_c_codecs.py::test_decode_gbk . pypy/module/_multibytecodec/test/test_c_codecs.py::test_decode_gb18030_error[abc\x80\x80\xc1\xc4] . pypy/module/_multibytecodec/test/test_c_codecs.py::test_decode_gb18030_error[\xff0\x810] . pypy/module/_multibytecodec/test/test_c_codecs.py::test_decode_gb18030_error[\x810\xff0] . pypy/module/_multibytecodec/test/test_c_codecs.py::test_decode_hz . pypy/module/_multibytecodec/test/test_c_codecs.py::test_decodeex_hz . pypy/module/_multibytecodec/test/test_c_codecs.py::test_decodeex_hz_incomplete . pypy/module/_multibytecodec/test/test_c_codecs.py::test_decode_hz_error . pypy/module/_multibytecodec/test/test_c_codecs.py::test_decode_hz_ignore . pypy/module/_multibytecodec/test/test_c_codecs.py::test_decode_hz_replace . pypy/module/_multibytecodec/test/test_c_codecs.py::test_encode_hz . pypy/module/_multibytecodec/test/test_c_codecs.py::test_encode_hz_error . pypy/module/_multibytecodec/test/test_c_codecs.py::test_encode_hz_ignore . pypy/module/_multibytecodec/test/test_c_codecs.py::test_encode_hz_replace . pypy/module/_multibytecodec/test/test_c_codecs.py::test_encode_jisx0208 s pypy/module/_multibytecodec/test/test_c_codecs.py::test_encode_custom_error_handler_bytes Skipped: needs revamping in py3k . pypy/module/_multibytecodec/test/test_translation.py::TestTranslation::()::test_translation s pypy/module/_pypyjson/test/test_simd.py /build_dir/own-linux-x86-32/build/pypy/module/_pypyjson/test/test_simd.py:19: Skipped: only implemented for 64 bit for now . pypy/module/_pypyjson/test/test__pypyjson.py::TestJson::()::test_skip_whitespace . pypy/module/_pypyjson/test/test__pypyjson.py::TestJson::()::test_json_map . pypy/module/_pypyjson/test/test__pypyjson.py::TestJson::()::test_json_map_get_index . pypy/module/_pypyjson/test/test__pypyjson.py::TestJson::()::test_jsonmap_fill_dict . pypy/module/_pypyjson/test/test__pypyjson.py::TestJson::()::test_repeated_key_get_next . pypy/module/_pypyjson/test/test__pypyjson.py::TestJson::()::test_decode_key_map . pypy/module/_pypyjson/test/test__pypyjson.py::TestJson::()::test_decode_string_caching . pypy/module/_pypyjson/test/test__pypyjson.py::TestJson::()::test_fringe_to_useful . pypy/module/_pypyjson/test/test__pypyjson.py::TestJson::()::test_number_of_leaves . pypy/module/_pypyjson/test/test__pypyjson.py::TestJson::()::test_number_of_leaves_after_mark_blocked . pypy/module/_pypyjson/test/test__pypyjson.py::TestJson::()::test_mark_useful_cleans_fringe . pypy/module/_pypyjson/test/test__pypyjson.py::TestJson::()::test_cleanup_fringe . pypy/module/_pypyjson/test/test__pypyjson.py::TestJson::()::test_deal_with_blocked . pypy/module/_pypyjson/test/test__pypyjson.py::TestJson::()::test_deal_with_blocked_number_of_leaves . pypy/module/_pypyjson/test/test__pypyjson.py::TestJson::()::test_instatiation_count . pypy/module/_pypyjson/test/test__pypyjson.py::AppTest::()::test_raise_on_unicode . pypy/module/_pypyjson/test/test__pypyjson.py::AppTest::()::test_decode_constants . pypy/module/_pypyjson/test/test__pypyjson.py::AppTest::()::test_decode_string . pypy/module/_pypyjson/test/test__pypyjson.py::AppTest::()::test_decode_string_utf8 . pypy/module/_pypyjson/test/test__pypyjson.py::AppTest::()::test_skip_whitespace . pypy/module/_pypyjson/test/test__pypyjson.py::AppTest::()::test_unterminated_string . pypy/module/_pypyjson/test/test__pypyjson.py::AppTest::()::test_escape_sequence . pypy/module/_pypyjson/test/test__pypyjson.py::AppTest::()::test_escape_sequence_in_the_middle . pypy/module/_pypyjson/test/test__pypyjson.py::AppTest::()::test_unterminated_string_after_escape_sequence . pypy/module/_pypyjson/test/test__pypyjson.py::AppTest::()::test_escape_sequence_unicode . pypy/module/_pypyjson/test/test__pypyjson.py::AppTest::()::test_escape_sequence_mixed_with_utf8 . pypy/module/_pypyjson/test/test__pypyjson.py::AppTest::()::test_invalid_utf_8 . pypy/module/_pypyjson/test/test__pypyjson.py::AppTest::()::test_decode_numeric . pypy/module/_pypyjson/test/test__pypyjson.py::AppTest::()::test_nan . pypy/module/_pypyjson/test/test__pypyjson.py::AppTest::()::test_decode_numeric_invalid . pypy/module/_pypyjson/test/test__pypyjson.py::AppTest::()::test_decode_object . pypy/module/_pypyjson/test/test__pypyjson.py::AppTest::()::test_decode_object_nonstring_key . pypy/module/_pypyjson/test/test__pypyjson.py::AppTest::()::test_decode_array . pypy/module/_pypyjson/test/test__pypyjson.py::AppTest::()::test_unicode_surrogate_pair . pypy/module/_pypyjson/test/test__pypyjson.py::AppTest::()::test_unicode_not_a_surrogate_pair . pypy/module/_pypyjson/test/test__pypyjson.py::AppTest::()::test_lone_surrogate . pypy/module/_pypyjson/test/test__pypyjson.py::AppTest::()::test_cache_keys . pypy/module/_pypyjson/test/test__pypyjson.py::AppTest::()::test_huge_map . pypy/module/_pypyjson/test/test__pypyjson.py::AppTest::()::test_tab_in_string_should_fail . pypy/module/_pypyjson/test/test__pypyjson.py::AppTest::()::test_raw_encode_basestring_ascii . pypy/module/_pypyjson/test/test__pypyjson.py::AppTest::()::test_error_position . pypy/module/_pypyjson/test/test__pypyjson.py::AppTest::()::test_repeated_key . pypy/module/_random/test/test_random.py::AppTestRandom::()::test_dict . pypy/module/_random/test/test_random.py::AppTestRandom::()::test_random . pypy/module/_random/test/test_random.py::AppTestRandom::()::test_getstate_setstate . pypy/module/_random/test/test_random.py::AppTestRandom::()::test_setstate_negative . pypy/module/_random/test/test_random.py::AppTestRandom::()::test_failed_setstate . pypy/module/_random/test/test_random.py::AppTestRandom::()::test_state_repr . pypy/module/_random/test/test_random.py::AppTestRandom::()::test_seed . pypy/module/_random/test/test_random.py::AppTestRandom::()::test_seedargs . pypy/module/_random/test/test_random.py::AppTestRandom::()::test_seed_uses_the_time . pypy/module/_random/test/test_random.py::AppTestRandom::()::test_jumpahead . pypy/module/_random/test/test_random.py::AppTestRandom::()::test_randbits . pypy/module/_random/test/test_random.py::AppTestRandom::()::test_subclass . pypy/module/_random/test/test_random.py::AppTestRandom::()::test_exact_result . pypy/module/_random/test/test_ztranslation.py::test_checkmodule . pypy/module/_rawffi/alt/test/test_ffitype.py::AppTestFFIType::()::test_simple_types . pypy/module/_rawffi/alt/test/test_ffitype.py::AppTestFFIType::()::test_sizeof . pypy/module/_rawffi/alt/test/test_ffitype.py::AppTestFFIType::()::test_typed_pointer . pypy/module/_rawffi/alt/test/test_ffitype.py::AppTestFFIType::()::test_pointer_identity . pypy/module/_rawffi/alt/test/test_ffitype.py::AppTestFFIType::()::test_char_p_cached . pypy/module/_rawffi/alt/test/test_funcptr.py::AppTestFFI::()::test_libload . pypy/module/_rawffi/alt/test/test_funcptr.py::AppTestFFI::()::test_libload_fail . pypy/module/_rawffi/alt/test/test_funcptr.py::AppTestFFI::()::test_libload_None . pypy/module/_rawffi/alt/test/test_funcptr.py::AppTestFFI::()::test_callfunc . pypy/module/_rawffi/alt/test/test_funcptr.py::AppTestFFI::()::test_getaddr . pypy/module/_rawffi/alt/test/test_funcptr.py::AppTestFFI::()::test_getaddressindll . pypy/module/_rawffi/alt/test/test_funcptr.py::AppTestFFI::()::test_func_fromaddr . pypy/module/_rawffi/alt/test/test_funcptr.py::AppTestFFI::()::test_int_args . pypy/module/_rawffi/alt/test/test_funcptr.py::AppTestFFI::()::test_void_result . pypy/module/_rawffi/alt/test/test_funcptr.py::AppTestFFI::()::test_pointer_args . pypy/module/_rawffi/alt/test/test_funcptr.py::AppTestFFI::()::test_convert_pointer_args . pypy/module/_rawffi/alt/test/test_funcptr.py::AppTestFFI::()::test_convert_strings_to_char_p . pypy/module/_rawffi/alt/test/test_funcptr.py::AppTestFFI::()::test_convert_unicode_to_unichar_p . pypy/module/_rawffi/alt/test/test_funcptr.py::AppTestFFI::()::test_keepalive_temp_buffer . pypy/module/_rawffi/alt/test/test_funcptr.py::AppTestFFI::()::test_typed_pointer_args . pypy/module/_rawffi/alt/test/test_funcptr.py::AppTestFFI::()::test_huge_pointer_args . pypy/module/_rawffi/alt/test/test_funcptr.py::AppTestFFI::()::test_unsigned_long_args . pypy/module/_rawffi/alt/test/test_funcptr.py::AppTestFFI::()::test_unsigned_short_args . pypy/module/_rawffi/alt/test/test_funcptr.py::AppTestFFI::()::test_unsigned_byte_args . pypy/module/_rawffi/alt/test/test_funcptr.py::AppTestFFI::()::test_unsigned_int_args . pypy/module/_rawffi/alt/test/test_funcptr.py::AppTestFFI::()::test_signed_byte_args . pypy/module/_rawffi/alt/test/test_funcptr.py::AppTestFFI::()::test_char_args . pypy/module/_rawffi/alt/test/test_funcptr.py::AppTestFFI::()::test_unichar_args . pypy/module/_rawffi/alt/test/test_funcptr.py::AppTestFFI::()::test_single_float_args . pypy/module/_rawffi/alt/test/test_funcptr.py::AppTestFFI::()::test_slonglong_args . pypy/module/_rawffi/alt/test/test_funcptr.py::AppTestFFI::()::test_ulonglong_args . pypy/module/_rawffi/alt/test/test_funcptr.py::AppTestFFI::()::test_byval_argument . pypy/module/_rawffi/alt/test/test_funcptr.py::AppTestFFI::()::test_byval_result . pypy/module/_rawffi/alt/test/test_funcptr.py::AppTestFFI::()::test_byval_argument__rawffi . pypy/module/_rawffi/alt/test/test_funcptr.py::AppTestFFI::()::test_byval_result__rawffi . pypy/module/_rawffi/alt/test/test_funcptr.py::AppTestFFI::()::test_TypeError_numargs . pypy/module/_rawffi/alt/test/test_funcptr.py::AppTestFFI::()::test_TypeError_voidarg . pypy/module/_rawffi/alt/test/test_funcptr.py::AppTestFFI::()::test_OSError_loading . pypy/module/_rawffi/alt/test/test_funcptr.py::AppTestFFI::()::test_AttributeError_missing_function s pypy/module/_rawffi/alt/test/test_funcptr.py::AppTestFFI::()::test_calling_convention1 Skipped: windows 32-bit specific s pypy/module/_rawffi/alt/test/test_funcptr.py::AppTestFFI::()::test_calling_convention2 Skipped: windows specific s pypy/module/_rawffi/alt/test/test_funcptr.py::AppTestFFI::()::test_calling_convention3 Skipped: windows 32-bit specific s pypy/module/_rawffi/alt/test/test_funcptr.py::AppTestFFI::()::test_func_fromaddr2 Skipped: windows 32-bit specific s pypy/module/_rawffi/alt/test/test_funcptr.py::AppTestFFI::()::test_func_fromaddr3 Skipped: windows specific s pypy/module/_rawffi/alt/test/test_funcptr.py::AppTestFFI::()::test_by_ordinal Skipped: windows specific . pypy/module/_rawffi/alt/test/test_funcptr.py::AppTestFFI::()::test_cdll_as_integer s pypy/module/_rawffi/alt/test/test_funcptr.py::AppTestFFI::()::test_windll_as_integer Skipped: windows specific . pypy/module/_rawffi/alt/test/test_struct.py::TestStruct::()::test_compute_size . pypy/module/_rawffi/alt/test/test_struct.py::AppTestStruct::()::test__StructDescr . pypy/module/_rawffi/alt/test/test_struct.py::AppTestStruct::()::test_alignment . pypy/module/_rawffi/alt/test/test_struct.py::AppTestStruct::()::test_missing_field . pypy/module/_rawffi/alt/test/test_struct.py::AppTestStruct::()::test_unknown_type . pypy/module/_rawffi/alt/test/test_struct.py::AppTestStruct::()::test_getfield_setfield . pypy/module/_rawffi/alt/test/test_struct.py::AppTestStruct::()::test_getfield_setfield_signed_types . pypy/module/_rawffi/alt/test/test_struct.py::AppTestStruct::()::test_getfield_setfield_unsigned_types . pypy/module/_rawffi/alt/test/test_struct.py::AppTestStruct::()::test_getfield_setfield_longlong . pypy/module/_rawffi/alt/test/test_struct.py::AppTestStruct::()::test_getfield_setfield_float . pypy/module/_rawffi/alt/test/test_struct.py::AppTestStruct::()::test_getfield_setfield_singlefloat . pypy/module/_rawffi/alt/test/test_struct.py::AppTestStruct::()::test_define_fields . pypy/module/_rawffi/alt/test/test_struct.py::AppTestStruct::()::test_pointer_to_incomplete_struct . pypy/module/_rawffi/alt/test/test_struct.py::AppTestStruct::()::test_nested_structure . pypy/module/_rawffi/alt/test/test_struct.py::AppTestStruct::()::test_compute_shape . pypy/module/_rawffi/alt/test/test_type_converter.py::TestFromAppLevel::()::test_int . pypy/module/_rawffi/alt/test/test_type_converter.py::TestFromAppLevel::()::test_unsigned . pypy/module/_rawffi/alt/test/test_type_converter.py::TestFromAppLevel::()::test_char . pypy/module/_rawffi/alt/test/test_type_converter.py::TestFromAppLevel::()::test_signed_longlong . pypy/module/_rawffi/alt/test/test_type_converter.py::TestFromAppLevel::()::test_unsigned_longlong . pypy/module/_rawffi/alt/test/test_type_converter.py::TestFromAppLevel::()::test_float_and_double . pypy/module/_rawffi/alt/test/test_type_converter.py::TestFromAppLevel::()::test_pointer . pypy/module/_rawffi/alt/test/test_type_converter.py::TestFromAppLevel::()::test__as_ffi_pointer_ . pypy/module/_rawffi/alt/test/test_type_converter.py::TestFromAppLevel::()::test_strings . pypy/module/_rawffi/alt/test/test_type_converter.py::TestToAppLevel::()::test_int . pypy/module/_rawffi/alt/test/test_type_converter.py::TestToAppLevel::()::test_uint . pypy/module/_io/test/apptest_bytesio.py::test_init . pypy/module/_io/test/apptest_bytesio.py::test_init_kwargs . pypy/module/_io/test/apptest_bytesio.py::test_capabilities F pypy/module/_io/test/apptest_bytesio.py::test_write self = func = at 0xf4ddfdbc>, 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, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 0xf7a7c32c> hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf6a194cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf6a194cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf4d9a86c> 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 0xf4d9a86c> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf4d9a7ac> 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 0xf4d9a7ac> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def runtest(self): target = self.w_obj space = target.space self.check_run(space, target) > self.execute_appex(space, target) tool/pytest/apptest2.py:85: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , space = StdObjSpace w_func = def execute_appex(self, space, w_func): space.getexecutioncontext().set_sys_exc_info(None) sig = w_func.code._signature if sig.varargname or sig.kwargname: raise ValueError( 'Test functions may not use *args or **kwargs') args_w = self.get_fixtures(space, sig.argnames) try: > space.call_function(w_func, *args_w) tool/pytest/apptest2.py:114: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = , args_w = (), nargs = 0 Function = Method = def call_function(self, w_func, *args_w): nargs = len(args_w) # used for pruning funccall versions if not self.config.objspace.disable_call_speedhacks and nargs < 5: # start of hack for performance from pypy.interpreter.function import Function, Method if isinstance(w_func, Method): w_inst = w_func.w_instance if w_inst is not None: if nargs < 4: func = w_func.w_function if isinstance(func, Function): return func.funccall(w_inst, *args_w) elif args_w and ( self.abstract_isinstance_w(args_w[0], w_func.w_class)): w_func = w_func.w_function if isinstance(w_func, Function): > return w_func.funccall(*args_w) interpreter/baseobjspace.py:1210: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , args_w = () gateway = PyCode = code = def funccall(self, *args_w): # speed hack from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit nargs = len(args_w) fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, args_w[0]) elif nargs == 2: assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, args_w[0], args_w[1]) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) return code.fastcall_3(self.space, self, args_w[0], args_w[1], args_w[2]) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) return code.fastcall_4(self.space, self, args_w[0], args_w[1], args_w[2], args_w[3]) elif (nargs | PyCode.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) if nargs < 5: new_frame = self.space.createframe(code, self.w_func_globals, self) for i in funccallunrolling: if i < nargs: new_frame.locals_cells_stack_w[i] = args_w[i] > return new_frame.run() interpreter/function.py:118: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 38 def run(self): """Start this frame's execution.""" if self.getcode().co_flags & pycode.CO_GENERATOR: from pypy.interpreter.generator import GeneratorIterator return GeneratorIterator(self) else: > return self.execute_frame() interpreter/pyframe.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 38 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:290: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 38 e = SyntaxError("Non-ASCII character '\\xe2' in file /build_dir/own-linux-x86-32/b..., ('/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py', 423, 0, None)) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:943: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 38 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:286: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 38 pycode = next_instr = 0L ec = def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 38 co_code = 't\x00\x00\xc9\x01\x00\xca\x00\x00}\x00\x00|\x00\x00j\x02\x00}\x01\x00d\x01\x00}\x02\x00|\x01\x00|\x02\x00\x83\x01\x00...00\x82\x01\x00d\x00\x00\x04}\x01\x00\x04}\x02\x00\x04}\x03\x00}\x0b\x00|\x00\x00\xc9\x12\x00\xca\x00\x00\x01d\x00\x00S' next_instr = 0L ec = def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 38 co_code = 't\x00\x00\xc9\x01\x00\xca\x00\x00}\x00\x00|\x00\x00j\x02\x00}\x01\x00d\x01\x00}\x02\x00|\x01\x00|\x02\x00\x83\x01\x00...00\x82\x01\x00d\x00\x00\x04}\x01\x00\x04}\x02\x00\x04}\x03\x00}\x0b\x00|\x00\x00\xc9\x12\x00\xca\x00\x00\x01d\x00\x00S' next_instr = 881L ec = @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: self.last_instr = intmask(next_instr) if jit.we_are_jitted(): if self.debugdata: ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: ec.bytecode_trace(self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) next_instr += 1 if opcode >= HAVE_ARGUMENT: lo = ord(co_code[next_instr]) hi = ord(co_code[next_instr+1]) next_instr += 2 oparg = (hi * 256) | lo else: oparg = 0 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into a switch(). while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption lo = ord(co_code[next_instr+1]) hi = ord(co_code[next_instr+2]) next_instr += 3 oparg = (oparg * 65536) | (hi * 256) | lo if opcode == opcodedesc.RETURN_VALUE.index: if not self.blockstack_non_empty(): self.frame_finished_execution = True # for generators raise Return w_returnvalue = self.popvalue() block = self.unrollstack(SReturnValue.kind) if block is None: self.pushvalue(w_returnvalue) raise Return else: unroller = SReturnValue(w_returnvalue) next_instr = block.handle(self, unroller) return next_instr # now inside a 'finally' block elif opcode == opcodedesc.END_FINALLY.index: unroller = self.end_finally() if isinstance(unroller, SuspendedUnroller): # go on unrolling the stack block = self.unrollstack(unroller.kind) if block is None: w_result = unroller.nomoreblocks() self.pushvalue(w_result) raise Return else: next_instr = block.handle(self, unroller) return next_instr elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, ec) elif opcode == opcodedesc.BREAK_LOOP.index: next_instr = self.BREAK_LOOP(oparg, next_instr) elif opcode == opcodedesc.CONTINUE_LOOP.index: return self.CONTINUE_LOOP(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: next_instr = self.JUMP_IF_FALSE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_DEBUG.index: next_instr = self.JUMP_IF_NOT_DEBUG(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: next_instr = self.JUMP_IF_TRUE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: next_instr = self.POP_JUMP_IF_FALSE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: next_instr = self.POP_JUMP_IF_TRUE(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_DIVIDE.index: self.BINARY_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CLASS.index: self.BUILD_CLASS(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR.index: self.CALL_FUNCTION_VAR(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR_KW.index: self.CALL_FUNCTION_VAR_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: self.CALL_METHOD(oparg, next_instr) elif opcode == opcodedesc.COMPARE_OP.index: self.COMPARE_OP(oparg, next_instr) elif opcode == opcodedesc.DELETE_ATTR.index: self.DELETE_ATTR(oparg, next_instr) elif opcode == opcodedesc.DELETE_FAST.index: self.DELETE_FAST(oparg, next_instr) elif opcode == opcodedesc.DELETE_GLOBAL.index: self.DELETE_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.DELETE_NAME.index: self.DELETE_NAME(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_0.index: self.DELETE_SLICE_0(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_1.index: self.DELETE_SLICE_1(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_2.index: self.DELETE_SLICE_2(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_3.index: self.DELETE_SLICE_3(oparg, next_instr) elif opcode == opcodedesc.DELETE_SUBSCR.index: self.DELETE_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.DUP_TOP.index: self.DUP_TOP(oparg, next_instr) elif opcode == opcodedesc.DUP_TOPX.index: self.DUP_TOPX(oparg, next_instr) elif opcode == opcodedesc.EXEC_STMT.index: self.EXEC_STMT(oparg, next_instr) elif opcode == opcodedesc.GET_ITER.index: self.GET_ITER(oparg, next_instr) elif opcode == opcodedesc.IMPORT_FROM.index: self.IMPORT_FROM(oparg, next_instr) elif opcode == opcodedesc.IMPORT_NAME.index: self.IMPORT_NAME(oparg, next_instr) elif opcode == opcodedesc.IMPORT_STAR.index: self.IMPORT_STAR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_ADD.index: self.INPLACE_ADD(oparg, next_instr) elif opcode == opcodedesc.INPLACE_AND.index: self.INPLACE_AND(oparg, next_instr) elif opcode == opcodedesc.INPLACE_DIVIDE.index: self.INPLACE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_FLOOR_DIVIDE.index: self.INPLACE_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_LSHIFT.index: self.INPLACE_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MODULO.index: self.INPLACE_MODULO(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MULTIPLY.index: self.INPLACE_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.INPLACE_OR.index: self.INPLACE_OR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_POWER.index: self.INPLACE_POWER(oparg, next_instr) elif opcode == opcodedesc.INPLACE_RSHIFT.index: self.INPLACE_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_SUBTRACT.index: self.INPLACE_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_TRUE_DIVIDE.index: self.INPLACE_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_XOR.index: self.INPLACE_XOR(oparg, next_instr) elif opcode == opcodedesc.LIST_APPEND.index: self.LIST_APPEND(oparg, next_instr) elif opcode == opcodedesc.LOAD_ATTR.index: self.LOAD_ATTR(oparg, next_instr) elif opcode == opcodedesc.LOAD_CLOSURE.index: self.LOAD_CLOSURE(oparg, next_instr) elif opcode == opcodedesc.LOAD_CONST.index: self.LOAD_CONST(oparg, next_instr) elif opcode == opcodedesc.LOAD_DEREF.index: self.LOAD_DEREF(oparg, next_instr) elif opcode == opcodedesc.LOAD_FAST.index: self.LOAD_FAST(oparg, next_instr) elif opcode == opcodedesc.LOAD_GLOBAL.index: self.LOAD_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.LOAD_LOCALS.index: self.LOAD_LOCALS(oparg, next_instr) elif opcode == opcodedesc.LOAD_NAME.index: self.LOAD_NAME(oparg, next_instr) elif opcode == opcodedesc.LOOKUP_METHOD.index: > self.LOOKUP_METHOD(oparg, next_instr) interpreter/pyopcode.py:356: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = at line 38 nameindex = 16, ignored = (881L,) MutableCell = space = StdObjSpace w_obj = def LOOKUP_METHOD(f, nameindex, *ignored): from pypy.objspace.std.typeobject import MutableCell # stack before after # -------------- --fast-method----fallback-case------------ # # w_object None # w_object => w_function w_boundmethod_or_whatever # (more stuff) (more stuff) (more stuff) # space = f.space w_obj = f.popvalue() if not jit.we_are_jitted(): # mapdict has an extra-fast version of this function if LOOKUP_METHOD_mapdict(f, nameindex, w_obj): return w_name = f.getname_w(nameindex) w_value = None w_type = space.type(w_obj) if w_type.has_object_getattribute(): name = space.text_w(w_name) # bit of a mess to use these internal functions, but it allows the # mapdict caching below to work without an additional lookup version_tag = w_type.version_tag() if version_tag is None: _, w_descr = w_type._lookup_where(name) w_descr_cell = None else: _, w_descr_cell = w_type._pure_lookup_where_with_method_cache( name, version_tag) w_descr = w_descr_cell if isinstance(w_descr, MutableCell): w_descr = w_descr.unwrap_cell(space) if w_descr is None: # this handles directly the common case # module.function(args..) > w_value = w_obj.getdictvalue(space, name) objspace/std/callmethod.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def getdictvalue(self, space, name): w_value = space.finditem_str(self.w_dict, name) if self.lazy and w_value is None: > return self._load_lazily(space, name) interpreter/mixedmodule.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def _load_lazily(self, space, name): w_name = space.new_interned_str(name) try: loader = self.loaders[name] except KeyError: return None else: > w_value = loader(space) interpreter/mixedmodule.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace def ifileloader(space): d = {'space':space} # EVIL HACK (but it works, and this is not RPython :-) while 1: try: value = eval(spec, d) except NameError as ex: name = ex.args[0].split("'")[1] # super-Evil if name in d: raise # propagate the NameError try: > d[name] = __import__(pkgroot+'.'+name, None, None, [name]) interpreter/mixedmodule.py:182: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from pypy.interpreter.gateway import unwrap_spec from pypy.interpreter.error import oefmt from rpython.rlib import rgc > from pypy.module.gc.hook import W_GcCollectStepStats module/gc/interp_gc.py:4: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from rpython.memory.gc.hook import GcHooks > from rpython.memory.gc import incminimark module/gc/hook.py:2: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ # XXX Should find a way to bound the major collection threshold by the # XXX total addressable size. Maybe by keeping some minimarkpage arenas # XXX pre-reserved, enough for a few nursery collections? What about # XXX raw-malloced memory? # XXX try merging old_objects_pointing_to_pinned into # XXX old_objects_pointing_to_young (IRC 2014-10-22, fijal and gregor_w) import sys import os import time from rpython.rtyper.lltypesystem import lltype, llmemory, llarena, llgroup from rpython.rtyper.lltypesystem.lloperation import llop from rpython.rtyper.lltypesystem.llmemory import raw_malloc_usage from rpython.memory.gc.base import GCBase, MovingGCBase > from rpython.memory.gc import env E File "/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py", line 423 E SyntaxError: Non-ASCII character '\xe2' in file /build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py on line 423, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details ../rpython/memory/gc/incminimark.py:70: SyntaxError F pypy/module/_io/test/apptest_bytesio.py::test_read self = func = at 0xf4b9c10c>, 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, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 0xf7a7c32c> hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf6a194cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf6a194cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf4e4ed0c> 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 0xf4e4ed0c> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf4ce5eac> 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 0xf4ce5eac> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def runtest(self): target = self.w_obj space = target.space self.check_run(space, target) > self.execute_appex(space, target) tool/pytest/apptest2.py:85: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , space = StdObjSpace w_func = def execute_appex(self, space, w_func): space.getexecutioncontext().set_sys_exc_info(None) sig = w_func.code._signature if sig.varargname or sig.kwargname: raise ValueError( 'Test functions may not use *args or **kwargs') args_w = self.get_fixtures(space, sig.argnames) try: > space.call_function(w_func, *args_w) tool/pytest/apptest2.py:114: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = , args_w = (), nargs = 0 Function = Method = def call_function(self, w_func, *args_w): nargs = len(args_w) # used for pruning funccall versions if not self.config.objspace.disable_call_speedhacks and nargs < 5: # start of hack for performance from pypy.interpreter.function import Function, Method if isinstance(w_func, Method): w_inst = w_func.w_instance if w_inst is not None: if nargs < 4: func = w_func.w_function if isinstance(func, Function): return func.funccall(w_inst, *args_w) elif args_w and ( self.abstract_isinstance_w(args_w[0], w_func.w_class)): w_func = w_func.w_function if isinstance(w_func, Function): > return w_func.funccall(*args_w) interpreter/baseobjspace.py:1210: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , args_w = () gateway = PyCode = code = def funccall(self, *args_w): # speed hack from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit nargs = len(args_w) fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, args_w[0]) elif nargs == 2: assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, args_w[0], args_w[1]) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) return code.fastcall_3(self.space, self, args_w[0], args_w[1], args_w[2]) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) return code.fastcall_4(self.space, self, args_w[0], args_w[1], args_w[2], args_w[3]) elif (nargs | PyCode.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) if nargs < 5: new_frame = self.space.createframe(code, self.w_func_globals, self) for i in funccallunrolling: if i < nargs: new_frame.locals_cells_stack_w[i] = args_w[i] > return new_frame.run() interpreter/function.py:118: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 45 def run(self): """Start this frame's execution.""" if self.getcode().co_flags & pycode.CO_GENERATOR: from pypy.interpreter.generator import GeneratorIterator return GeneratorIterator(self) else: > return self.execute_frame() interpreter/pyframe.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 45 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:290: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 45 e = SyntaxError("Non-ASCII character '\\xe2' in file /build_dir/own-linux-x86-32/b..., ('/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py', 423, 0, None)) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:943: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 45 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:286: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 45 pycode = next_instr = 0L ec = def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 45 co_code = 't\x00\x00\xc9\x01\x00d\x01\x00\xca\x01\x00}\x00\x00|\x00\x00j\x02\x00}\x01\x00|\x01\x00\x83\x00\x00}\x02\x00d\x01\x00...1\x00d\x00\x00\x04}\x01\x00\x04}\x02\x00\x04}\x04\x00\x04}\t\x00}\x08\x00|\x00\x00\xc9\r\x00\xca\x00\x00\x01d\x00\x00S' next_instr = 0L ec = def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 45 co_code = 't\x00\x00\xc9\x01\x00d\x01\x00\xca\x01\x00}\x00\x00|\x00\x00j\x02\x00}\x01\x00|\x01\x00\x83\x00\x00}\x02\x00d\x01\x00...1\x00d\x00\x00\x04}\x01\x00\x04}\x02\x00\x04}\x04\x00\x04}\t\x00}\x08\x00|\x00\x00\xc9\r\x00\xca\x00\x00\x01d\x00\x00S' next_instr = 271L ec = @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: self.last_instr = intmask(next_instr) if jit.we_are_jitted(): if self.debugdata: ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: ec.bytecode_trace(self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) next_instr += 1 if opcode >= HAVE_ARGUMENT: lo = ord(co_code[next_instr]) hi = ord(co_code[next_instr+1]) next_instr += 2 oparg = (hi * 256) | lo else: oparg = 0 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into a switch(). while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption lo = ord(co_code[next_instr+1]) hi = ord(co_code[next_instr+2]) next_instr += 3 oparg = (oparg * 65536) | (hi * 256) | lo if opcode == opcodedesc.RETURN_VALUE.index: if not self.blockstack_non_empty(): self.frame_finished_execution = True # for generators raise Return w_returnvalue = self.popvalue() block = self.unrollstack(SReturnValue.kind) if block is None: self.pushvalue(w_returnvalue) raise Return else: unroller = SReturnValue(w_returnvalue) next_instr = block.handle(self, unroller) return next_instr # now inside a 'finally' block elif opcode == opcodedesc.END_FINALLY.index: unroller = self.end_finally() if isinstance(unroller, SuspendedUnroller): # go on unrolling the stack block = self.unrollstack(unroller.kind) if block is None: w_result = unroller.nomoreblocks() self.pushvalue(w_result) raise Return else: next_instr = block.handle(self, unroller) return next_instr elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, ec) elif opcode == opcodedesc.BREAK_LOOP.index: next_instr = self.BREAK_LOOP(oparg, next_instr) elif opcode == opcodedesc.CONTINUE_LOOP.index: return self.CONTINUE_LOOP(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: next_instr = self.JUMP_IF_FALSE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_DEBUG.index: next_instr = self.JUMP_IF_NOT_DEBUG(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: next_instr = self.JUMP_IF_TRUE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: next_instr = self.POP_JUMP_IF_FALSE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: next_instr = self.POP_JUMP_IF_TRUE(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_DIVIDE.index: self.BINARY_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CLASS.index: self.BUILD_CLASS(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR.index: self.CALL_FUNCTION_VAR(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR_KW.index: self.CALL_FUNCTION_VAR_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: self.CALL_METHOD(oparg, next_instr) elif opcode == opcodedesc.COMPARE_OP.index: self.COMPARE_OP(oparg, next_instr) elif opcode == opcodedesc.DELETE_ATTR.index: self.DELETE_ATTR(oparg, next_instr) elif opcode == opcodedesc.DELETE_FAST.index: self.DELETE_FAST(oparg, next_instr) elif opcode == opcodedesc.DELETE_GLOBAL.index: self.DELETE_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.DELETE_NAME.index: self.DELETE_NAME(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_0.index: self.DELETE_SLICE_0(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_1.index: self.DELETE_SLICE_1(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_2.index: self.DELETE_SLICE_2(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_3.index: self.DELETE_SLICE_3(oparg, next_instr) elif opcode == opcodedesc.DELETE_SUBSCR.index: self.DELETE_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.DUP_TOP.index: self.DUP_TOP(oparg, next_instr) elif opcode == opcodedesc.DUP_TOPX.index: self.DUP_TOPX(oparg, next_instr) elif opcode == opcodedesc.EXEC_STMT.index: self.EXEC_STMT(oparg, next_instr) elif opcode == opcodedesc.GET_ITER.index: self.GET_ITER(oparg, next_instr) elif opcode == opcodedesc.IMPORT_FROM.index: self.IMPORT_FROM(oparg, next_instr) elif opcode == opcodedesc.IMPORT_NAME.index: self.IMPORT_NAME(oparg, next_instr) elif opcode == opcodedesc.IMPORT_STAR.index: self.IMPORT_STAR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_ADD.index: self.INPLACE_ADD(oparg, next_instr) elif opcode == opcodedesc.INPLACE_AND.index: self.INPLACE_AND(oparg, next_instr) elif opcode == opcodedesc.INPLACE_DIVIDE.index: self.INPLACE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_FLOOR_DIVIDE.index: self.INPLACE_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_LSHIFT.index: self.INPLACE_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MODULO.index: self.INPLACE_MODULO(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MULTIPLY.index: self.INPLACE_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.INPLACE_OR.index: self.INPLACE_OR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_POWER.index: self.INPLACE_POWER(oparg, next_instr) elif opcode == opcodedesc.INPLACE_RSHIFT.index: self.INPLACE_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_SUBTRACT.index: self.INPLACE_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_TRUE_DIVIDE.index: self.INPLACE_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_XOR.index: self.INPLACE_XOR(oparg, next_instr) elif opcode == opcodedesc.LIST_APPEND.index: self.LIST_APPEND(oparg, next_instr) elif opcode == opcodedesc.LOAD_ATTR.index: self.LOAD_ATTR(oparg, next_instr) elif opcode == opcodedesc.LOAD_CLOSURE.index: self.LOAD_CLOSURE(oparg, next_instr) elif opcode == opcodedesc.LOAD_CONST.index: self.LOAD_CONST(oparg, next_instr) elif opcode == opcodedesc.LOAD_DEREF.index: self.LOAD_DEREF(oparg, next_instr) elif opcode == opcodedesc.LOAD_FAST.index: self.LOAD_FAST(oparg, next_instr) elif opcode == opcodedesc.LOAD_GLOBAL.index: self.LOAD_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.LOAD_LOCALS.index: self.LOAD_LOCALS(oparg, next_instr) elif opcode == opcodedesc.LOAD_NAME.index: self.LOAD_NAME(oparg, next_instr) elif opcode == opcodedesc.LOOKUP_METHOD.index: > self.LOOKUP_METHOD(oparg, next_instr) interpreter/pyopcode.py:356: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = at line 45 nameindex = 12, ignored = (271L,) MutableCell = space = StdObjSpace w_obj = def LOOKUP_METHOD(f, nameindex, *ignored): from pypy.objspace.std.typeobject import MutableCell # stack before after # -------------- --fast-method----fallback-case------------ # # w_object None # w_object => w_function w_boundmethod_or_whatever # (more stuff) (more stuff) (more stuff) # space = f.space w_obj = f.popvalue() if not jit.we_are_jitted(): # mapdict has an extra-fast version of this function if LOOKUP_METHOD_mapdict(f, nameindex, w_obj): return w_name = f.getname_w(nameindex) w_value = None w_type = space.type(w_obj) if w_type.has_object_getattribute(): name = space.text_w(w_name) # bit of a mess to use these internal functions, but it allows the # mapdict caching below to work without an additional lookup version_tag = w_type.version_tag() if version_tag is None: _, w_descr = w_type._lookup_where(name) w_descr_cell = None else: _, w_descr_cell = w_type._pure_lookup_where_with_method_cache( name, version_tag) w_descr = w_descr_cell if isinstance(w_descr, MutableCell): w_descr = w_descr.unwrap_cell(space) if w_descr is None: # this handles directly the common case # module.function(args..) > w_value = w_obj.getdictvalue(space, name) objspace/std/callmethod.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def getdictvalue(self, space, name): w_value = space.finditem_str(self.w_dict, name) if self.lazy and w_value is None: > return self._load_lazily(space, name) interpreter/mixedmodule.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def _load_lazily(self, space, name): w_name = space.new_interned_str(name) try: loader = self.loaders[name] except KeyError: return None else: > w_value = loader(space) interpreter/mixedmodule.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace def ifileloader(space): d = {'space':space} # EVIL HACK (but it works, and this is not RPython :-) while 1: try: value = eval(spec, d) except NameError as ex: name = ex.args[0].split("'")[1] # super-Evil if name in d: raise # propagate the NameError try: > d[name] = __import__(pkgroot+'.'+name, None, None, [name]) interpreter/mixedmodule.py:182: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from pypy.interpreter.gateway import unwrap_spec from pypy.interpreter.error import oefmt from rpython.rlib import rgc > from pypy.module.gc.hook import W_GcCollectStepStats module/gc/interp_gc.py:4: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from rpython.memory.gc.hook import GcHooks > from rpython.memory.gc import incminimark module/gc/hook.py:2: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ # XXX Should find a way to bound the major collection threshold by the # XXX total addressable size. Maybe by keeping some minimarkpage arenas # XXX pre-reserved, enough for a few nursery collections? What about # XXX raw-malloced memory? # XXX try merging old_objects_pointing_to_pinned into # XXX old_objects_pointing_to_young (IRC 2014-10-22, fijal and gregor_w) import sys import os import time from rpython.rtyper.lltypesystem import lltype, llmemory, llarena, llgroup from rpython.rtyper.lltypesystem.lloperation import llop from rpython.rtyper.lltypesystem.llmemory import raw_malloc_usage from rpython.memory.gc.base import GCBase, MovingGCBase > from rpython.memory.gc import env E File "/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py", line 423 E SyntaxError: Non-ASCII character '\xe2' in file /build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py on line 423, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details ../rpython/memory/gc/incminimark.py:70: SyntaxError . pypy/module/_io/test/apptest_bytesio.py::test_seek . pypy/module/_io/test/apptest_bytesio.py::test_truncate . pypy/module/_io/test/apptest_bytesio.py::test_setstate . pypy/module/_io/test/apptest_bytesio.py::test_readinto . pypy/module/_io/test/apptest_bytesio.py::test_readline . pypy/module/_io/test/apptest_bytesio.py::test_overread . pypy/module/_io/test/apptest_bytesio.py::test_subclass_bytesio_rawiobase . pypy/module/_io/test/apptest_io.py::test_iobase . pypy/module/_io/test/apptest_io.py::test_iobase_overriding . pypy/module/_io/test/apptest_io.py::test_openclose . pypy/module/_io/test/apptest_io.py::test_iter . pypy/module/_io/test/apptest_io.py::test_exception . pypy/module/_io/test/apptest_io.py::test_default_implementations . pypy/module/_io/test/apptest_io.py::test_blockingerror . pypy/module/_io/test/apptest_io.py::test_dict F pypy/module/_io/test/apptest_io.py::test_destructor self = func = at 0xf4b2717c>, 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, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 0xf7a7c32c> hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf6a194cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf6a194cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf4a2a96c> 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 0xf4a2a96c> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf4a2a9cc> 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 0xf4a2a9cc> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def runtest(self): target = self.w_obj space = target.space self.check_run(space, target) > self.execute_appex(space, target) tool/pytest/apptest2.py:85: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , space = StdObjSpace w_func = def execute_appex(self, space, w_func): space.getexecutioncontext().set_sys_exc_info(None) sig = w_func.code._signature if sig.varargname or sig.kwargname: raise ValueError( 'Test functions may not use *args or **kwargs') args_w = self.get_fixtures(space, sig.argnames) try: > space.call_function(w_func, *args_w) tool/pytest/apptest2.py:114: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = , args_w = (), nargs = 0 Function = Method = def call_function(self, w_func, *args_w): nargs = len(args_w) # used for pruning funccall versions if not self.config.objspace.disable_call_speedhacks and nargs < 5: # start of hack for performance from pypy.interpreter.function import Function, Method if isinstance(w_func, Method): w_inst = w_func.w_instance if w_inst is not None: if nargs < 4: func = w_func.w_function if isinstance(func, Function): return func.funccall(w_inst, *args_w) elif args_w and ( self.abstract_isinstance_w(args_w[0], w_func.w_class)): w_func = w_func.w_function if isinstance(w_func, Function): > return w_func.funccall(*args_w) interpreter/baseobjspace.py:1210: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , args_w = () gateway = PyCode = code = def funccall(self, *args_w): # speed hack from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit nargs = len(args_w) fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, args_w[0]) elif nargs == 2: assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, args_w[0], args_w[1]) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) return code.fastcall_3(self.space, self, args_w[0], args_w[1], args_w[2]) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) return code.fastcall_4(self.space, self, args_w[0], args_w[1], args_w[2], args_w[3]) elif (nargs | PyCode.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) if nargs < 5: new_frame = self.space.createframe(code, self.w_func_globals, self) for i in funccallunrolling: if i < nargs: new_frame.locals_cells_stack_w[i] = args_w[i] > return new_frame.run() interpreter/function.py:118: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 108 def run(self): """Start this frame's execution.""" if self.getcode().co_flags & pycode.CO_GENERATOR: from pypy.interpreter.generator import GeneratorIterator return GeneratorIterator(self) else: > return self.execute_frame() interpreter/pyframe.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 108 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:290: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 108 e = SyntaxError("Non-ASCII character '\\xe2' in file /build_dir/own-linux-x86-32/b..., ('/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py', 423, 0, None)) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:943: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 108 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:286: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 108 pycode = next_instr = 0L ec = def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 108 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x00\x00|\x00\x00\xc9\x01\x00\xca\x00\x00\x01g\x00\x00\x89\x01\x00d\x02\x00|\x00\x00j\x01...\x00t\n\x00t\x04\x00\xc9\x0b\x00|\x05\x00\xca\x01\x00\x83\x01\x00\x82\x01\x00d\x00\x00\x04}\x03\x00}\x02\x00d\x00\x00S' next_instr = 0L ec = def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 108 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x00\x00|\x00\x00\xc9\x01\x00\xca\x00\x00\x01g\x00\x00\x89\x01\x00d\x02\x00|\x00\x00j\x01...\x00t\n\x00t\x04\x00\xc9\x0b\x00|\x05\x00\xca\x01\x00\x83\x01\x00\x82\x01\x00d\x00\x00\x04}\x03\x00}\x02\x00d\x00\x00S' next_instr = 87L ec = @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: self.last_instr = intmask(next_instr) if jit.we_are_jitted(): if self.debugdata: ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: ec.bytecode_trace(self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) next_instr += 1 if opcode >= HAVE_ARGUMENT: lo = ord(co_code[next_instr]) hi = ord(co_code[next_instr+1]) next_instr += 2 oparg = (hi * 256) | lo else: oparg = 0 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into a switch(). while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption lo = ord(co_code[next_instr+1]) hi = ord(co_code[next_instr+2]) next_instr += 3 oparg = (oparg * 65536) | (hi * 256) | lo if opcode == opcodedesc.RETURN_VALUE.index: if not self.blockstack_non_empty(): self.frame_finished_execution = True # for generators raise Return w_returnvalue = self.popvalue() block = self.unrollstack(SReturnValue.kind) if block is None: self.pushvalue(w_returnvalue) raise Return else: unroller = SReturnValue(w_returnvalue) next_instr = block.handle(self, unroller) return next_instr # now inside a 'finally' block elif opcode == opcodedesc.END_FINALLY.index: unroller = self.end_finally() if isinstance(unroller, SuspendedUnroller): # go on unrolling the stack block = self.unrollstack(unroller.kind) if block is None: w_result = unroller.nomoreblocks() self.pushvalue(w_result) raise Return else: next_instr = block.handle(self, unroller) return next_instr elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, ec) elif opcode == opcodedesc.BREAK_LOOP.index: next_instr = self.BREAK_LOOP(oparg, next_instr) elif opcode == opcodedesc.CONTINUE_LOOP.index: return self.CONTINUE_LOOP(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: next_instr = self.JUMP_IF_FALSE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_DEBUG.index: next_instr = self.JUMP_IF_NOT_DEBUG(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: next_instr = self.JUMP_IF_TRUE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: next_instr = self.POP_JUMP_IF_FALSE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: next_instr = self.POP_JUMP_IF_TRUE(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_DIVIDE.index: self.BINARY_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CLASS.index: self.BUILD_CLASS(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR.index: self.CALL_FUNCTION_VAR(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR_KW.index: self.CALL_FUNCTION_VAR_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: self.CALL_METHOD(oparg, next_instr) elif opcode == opcodedesc.COMPARE_OP.index: self.COMPARE_OP(oparg, next_instr) elif opcode == opcodedesc.DELETE_ATTR.index: self.DELETE_ATTR(oparg, next_instr) elif opcode == opcodedesc.DELETE_FAST.index: self.DELETE_FAST(oparg, next_instr) elif opcode == opcodedesc.DELETE_GLOBAL.index: self.DELETE_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.DELETE_NAME.index: self.DELETE_NAME(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_0.index: self.DELETE_SLICE_0(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_1.index: self.DELETE_SLICE_1(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_2.index: self.DELETE_SLICE_2(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_3.index: self.DELETE_SLICE_3(oparg, next_instr) elif opcode == opcodedesc.DELETE_SUBSCR.index: self.DELETE_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.DUP_TOP.index: self.DUP_TOP(oparg, next_instr) elif opcode == opcodedesc.DUP_TOPX.index: self.DUP_TOPX(oparg, next_instr) elif opcode == opcodedesc.EXEC_STMT.index: self.EXEC_STMT(oparg, next_instr) elif opcode == opcodedesc.GET_ITER.index: self.GET_ITER(oparg, next_instr) elif opcode == opcodedesc.IMPORT_FROM.index: self.IMPORT_FROM(oparg, next_instr) elif opcode == opcodedesc.IMPORT_NAME.index: self.IMPORT_NAME(oparg, next_instr) elif opcode == opcodedesc.IMPORT_STAR.index: self.IMPORT_STAR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_ADD.index: self.INPLACE_ADD(oparg, next_instr) elif opcode == opcodedesc.INPLACE_AND.index: self.INPLACE_AND(oparg, next_instr) elif opcode == opcodedesc.INPLACE_DIVIDE.index: self.INPLACE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_FLOOR_DIVIDE.index: self.INPLACE_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_LSHIFT.index: self.INPLACE_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MODULO.index: self.INPLACE_MODULO(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MULTIPLY.index: self.INPLACE_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.INPLACE_OR.index: self.INPLACE_OR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_POWER.index: self.INPLACE_POWER(oparg, next_instr) elif opcode == opcodedesc.INPLACE_RSHIFT.index: self.INPLACE_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_SUBTRACT.index: self.INPLACE_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_TRUE_DIVIDE.index: self.INPLACE_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_XOR.index: self.INPLACE_XOR(oparg, next_instr) elif opcode == opcodedesc.LIST_APPEND.index: self.LIST_APPEND(oparg, next_instr) elif opcode == opcodedesc.LOAD_ATTR.index: self.LOAD_ATTR(oparg, next_instr) elif opcode == opcodedesc.LOAD_CLOSURE.index: self.LOAD_CLOSURE(oparg, next_instr) elif opcode == opcodedesc.LOAD_CONST.index: self.LOAD_CONST(oparg, next_instr) elif opcode == opcodedesc.LOAD_DEREF.index: self.LOAD_DEREF(oparg, next_instr) elif opcode == opcodedesc.LOAD_FAST.index: self.LOAD_FAST(oparg, next_instr) elif opcode == opcodedesc.LOAD_GLOBAL.index: self.LOAD_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.LOAD_LOCALS.index: self.LOAD_LOCALS(oparg, next_instr) elif opcode == opcodedesc.LOAD_NAME.index: self.LOAD_NAME(oparg, next_instr) elif opcode == opcodedesc.LOOKUP_METHOD.index: > self.LOOKUP_METHOD(oparg, next_instr) interpreter/pyopcode.py:356: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = at line 108 nameindex = 3, ignored = (87L,) MutableCell = space = StdObjSpace w_obj = def LOOKUP_METHOD(f, nameindex, *ignored): from pypy.objspace.std.typeobject import MutableCell # stack before after # -------------- --fast-method----fallback-case------------ # # w_object None # w_object => w_function w_boundmethod_or_whatever # (more stuff) (more stuff) (more stuff) # space = f.space w_obj = f.popvalue() if not jit.we_are_jitted(): # mapdict has an extra-fast version of this function if LOOKUP_METHOD_mapdict(f, nameindex, w_obj): return w_name = f.getname_w(nameindex) w_value = None w_type = space.type(w_obj) if w_type.has_object_getattribute(): name = space.text_w(w_name) # bit of a mess to use these internal functions, but it allows the # mapdict caching below to work without an additional lookup version_tag = w_type.version_tag() if version_tag is None: _, w_descr = w_type._lookup_where(name) w_descr_cell = None else: _, w_descr_cell = w_type._pure_lookup_where_with_method_cache( name, version_tag) w_descr = w_descr_cell if isinstance(w_descr, MutableCell): w_descr = w_descr.unwrap_cell(space) if w_descr is None: # this handles directly the common case # module.function(args..) > w_value = w_obj.getdictvalue(space, name) objspace/std/callmethod.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def getdictvalue(self, space, name): w_value = space.finditem_str(self.w_dict, name) if self.lazy and w_value is None: > return self._load_lazily(space, name) interpreter/mixedmodule.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def _load_lazily(self, space, name): w_name = space.new_interned_str(name) try: loader = self.loaders[name] except KeyError: return None else: > w_value = loader(space) interpreter/mixedmodule.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace def ifileloader(space): d = {'space':space} # EVIL HACK (but it works, and this is not RPython :-) while 1: try: value = eval(spec, d) except NameError as ex: name = ex.args[0].split("'")[1] # super-Evil if name in d: raise # propagate the NameError try: > d[name] = __import__(pkgroot+'.'+name, None, None, [name]) interpreter/mixedmodule.py:182: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from pypy.interpreter.gateway import unwrap_spec from pypy.interpreter.error import oefmt from rpython.rlib import rgc > from pypy.module.gc.hook import W_GcCollectStepStats module/gc/interp_gc.py:4: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from rpython.memory.gc.hook import GcHooks > from rpython.memory.gc import incminimark module/gc/hook.py:2: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ # XXX Should find a way to bound the major collection threshold by the # XXX total addressable size. Maybe by keeping some minimarkpage arenas # XXX pre-reserved, enough for a few nursery collections? What about # XXX raw-malloced memory? # XXX try merging old_objects_pointing_to_pinned into # XXX old_objects_pointing_to_young (IRC 2014-10-22, fijal and gregor_w) import sys import os import time from rpython.rtyper.lltypesystem import lltype, llmemory, llarena, llgroup from rpython.rtyper.lltypesystem.lloperation import llop from rpython.rtyper.lltypesystem.llmemory import raw_malloc_usage from rpython.memory.gc.base import GCBase, MovingGCBase > from rpython.memory.gc import env E File "/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py", line 423 E SyntaxError: Non-ASCII character '\xe2' in file /build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py on line 423, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details ../rpython/memory/gc/incminimark.py:70: SyntaxError . pypy/module/_io/test/apptest_io.py::test_tell . pypy/module/_io/test/apptest_io.py::test_weakref . pypy/module/_io/test/apptest_io.py::test_rawio_read . pypy/module/_io/test/apptest_io.py::test_rawio_read_pieces . pypy/module/_io/test/apptest_io.py::test_rawio_readall_none . pypy/module/_io/test/apptest_io.py::test_open . pypy/module/_io/test/apptest_io.py::test_open_writable . pypy/module/_io/test/apptest_io.py::test_valid_mode . pypy/module/_io/test/apptest_io.py::test_array_write . pypy/module/_io/test/apptest_io.py::test_attributes . pypy/module/_io/test/apptest_io.py::test_seek_and_tell . pypy/module/_io/test/apptest_io.py::test_telling . pypy/module/_io/test/apptest_io.py::test_chunk_size . pypy/module/_io/test/apptest_io.py::test_truncate . pypy/module/_io/test/apptest_io.py::test_errors_property . pypy/module/_io/test/apptest_io.py::test_append_bom . pypy/module/_io/test/apptest_io.py::test_newlines_attr . pypy/module/_io/test/apptest_io.py::test_mod . pypy/module/_io/test/apptest_io.py::test_issue1902 . pypy/module/_io/test/apptest_io.py::test_issue1902_2 . pypy/module/_io/test/apptest_io.py::test_issue1902_3 . pypy/module/_io/test/apptest_io.py::test_io_after_close . pypy/module/_io/test/apptest_io.py::test_bug_newlines_rr_at_end . pypy/module/_io/test/apptest_stringio.py::test_stringio . pypy/module/_io/test/apptest_stringio.py::test_capabilities . pypy/module/_io/test/apptest_stringio.py::test_closed . pypy/module/_io/test/apptest_stringio.py::test_read . pypy/module/_io/test/apptest_stringio.py::test_read_binary . pypy/module/_io/test/apptest_stringio.py::test_readline . pypy/module/_io/test/apptest_stringio.py::test_seek . pypy/module/_io/test/apptest_stringio.py::test_overseek . pypy/module/_io/test/apptest_stringio.py::test_tell . pypy/module/_io/test/apptest_stringio.py::test_truncate . pypy/module/_io/test/apptest_stringio.py::test_write_error . pypy/module/_io/test/apptest_stringio.py::test_newline_none . pypy/module/_io/test/apptest_stringio.py::test_newline_empty . pypy/module/_io/test/apptest_stringio.py::test_newline_lf . pypy/module/_io/test/apptest_stringio.py::test_newline_cr . pypy/module/_io/test/apptest_stringio.py::test_newline_crlf . pypy/module/_io/test/apptest_stringio.py::test_newline_property . pypy/module/_io/test/apptest_stringio.py::test_iterator . pypy/module/_io/test/apptest_stringio.py::test_getstate . pypy/module/_io/test/apptest_stringio.py::test_setstate . pypy/module/_io/test/apptest_stringio.py::test_roundtrip_translation . pypy/module/_io/test/apptest_stringio.py::test_roundtrip_state . pypy/module/_io/test/apptest_stringio.py::test_rwbuffer_read . pypy/module/_io/test/apptest_stringio.py::test_rwbuffer_readline . pypy/module/_io/test/apptest_stringio.py::test_rwbuffer_newline_none . pypy/module/_io/test/apptest_textio.py::test_constructor . pypy/module/_io/test/apptest_textio.py::test_properties . pypy/module/_io/test/apptest_textio.py::test_default_implementations . pypy/module/_io/test/apptest_textio.py::test_unreadable . pypy/module/_io/test/apptest_textio.py::test_detach . pypy/module/_io/test/apptest_textio.py::test_newlinetranslate . pypy/module/_io/test/apptest_textio.py::test_one_by_one . pypy/module/_io/test/apptest_textio.py::test_read_some_then_all . pypy/module/_io/test/apptest_textio.py::test_read_some_then_readline . pypy/module/_io/test/apptest_textio.py::test_read_bug_unicode . pypy/module/_io/test/apptest_textio.py::test_encoded_writes . pypy/module/_io/test/apptest_textio.py::test_writelines_error . pypy/module/_io/test/apptest_textio.py::test_tell F pypy/module/_io/test/apptest_textio.py::test_destructor self = func = at 0xf41a387c>, 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, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 0xf7a7c32c> hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf6a194cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf6a194cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf3d665ac> 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 0xf3d665ac> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf3d663cc> 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 0xf3d663cc> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def runtest(self): target = self.w_obj space = target.space self.check_run(space, target) > self.execute_appex(space, target) tool/pytest/apptest2.py:85: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , space = StdObjSpace w_func = def execute_appex(self, space, w_func): space.getexecutioncontext().set_sys_exc_info(None) sig = w_func.code._signature if sig.varargname or sig.kwargname: raise ValueError( 'Test functions may not use *args or **kwargs') args_w = self.get_fixtures(space, sig.argnames) try: > space.call_function(w_func, *args_w) tool/pytest/apptest2.py:114: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = , args_w = (), nargs = 0 Function = Method = def call_function(self, w_func, *args_w): nargs = len(args_w) # used for pruning funccall versions if not self.config.objspace.disable_call_speedhacks and nargs < 5: # start of hack for performance from pypy.interpreter.function import Function, Method if isinstance(w_func, Method): w_inst = w_func.w_instance if w_inst is not None: if nargs < 4: func = w_func.w_function if isinstance(func, Function): return func.funccall(w_inst, *args_w) elif args_w and ( self.abstract_isinstance_w(args_w[0], w_func.w_class)): w_func = w_func.w_function if isinstance(w_func, Function): > return w_func.funccall(*args_w) interpreter/baseobjspace.py:1210: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , args_w = () gateway = PyCode = code = def funccall(self, *args_w): # speed hack from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit nargs = len(args_w) fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, args_w[0]) elif nargs == 2: assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, args_w[0], args_w[1]) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) return code.fastcall_3(self.space, self, args_w[0], args_w[1], args_w[2]) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) return code.fastcall_4(self.space, self, args_w[0], args_w[1], args_w[2], args_w[3]) elif (nargs | PyCode.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) if nargs < 5: new_frame = self.space.createframe(code, self.w_func_globals, self) for i in funccallunrolling: if i < nargs: new_frame.locals_cells_stack_w[i] = args_w[i] > return new_frame.run() interpreter/function.py:118: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 150 def run(self): """Start this frame's execution.""" if self.getcode().co_flags & pycode.CO_GENERATOR: from pypy.interpreter.generator import GeneratorIterator return GeneratorIterator(self) else: > return self.execute_frame() interpreter/pyframe.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 150 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:290: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 150 e = SyntaxError("Non-ASCII character '\\xe2' in file /build_dir/own-linux-x86-32/b..., ('/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py', 423, 0, None)) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:943: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 150 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:286: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 150 pycode = next_instr = 0L ec = def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 150 co_code = 'g\x00\x00\x89\x00\x00d\x01\x00t\x00\x00j\x01\x00f\x01\x00\x87\x00\x00f\x01\x00d\x02\x00\x86\x00\x00\x83\x00\x00Y}\x00...\x00t\x0c\x00t\x06\x00\xc9\r\x00|\x07\x00\xca\x01\x00\x83\x01\x00\x82\x01\x00d\x00\x00\x04}\x05\x00}\x04\x00d\x00\x00S' next_instr = 0L ec = def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 150 co_code = 'g\x00\x00\x89\x00\x00d\x01\x00t\x00\x00j\x01\x00f\x01\x00\x87\x00\x00f\x01\x00d\x02\x00\x86\x00\x00\x83\x00\x00Y}\x00...\x00t\x0c\x00t\x06\x00\xc9\r\x00|\x07\x00\xca\x01\x00\x83\x01\x00\x82\x01\x00d\x00\x00\x04}\x05\x00}\x04\x00d\x00\x00S' next_instr = 101L ec = @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: self.last_instr = intmask(next_instr) if jit.we_are_jitted(): if self.debugdata: ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: ec.bytecode_trace(self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) next_instr += 1 if opcode >= HAVE_ARGUMENT: lo = ord(co_code[next_instr]) hi = ord(co_code[next_instr+1]) next_instr += 2 oparg = (hi * 256) | lo else: oparg = 0 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into a switch(). while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption lo = ord(co_code[next_instr+1]) hi = ord(co_code[next_instr+2]) next_instr += 3 oparg = (oparg * 65536) | (hi * 256) | lo if opcode == opcodedesc.RETURN_VALUE.index: if not self.blockstack_non_empty(): self.frame_finished_execution = True # for generators raise Return w_returnvalue = self.popvalue() block = self.unrollstack(SReturnValue.kind) if block is None: self.pushvalue(w_returnvalue) raise Return else: unroller = SReturnValue(w_returnvalue) next_instr = block.handle(self, unroller) return next_instr # now inside a 'finally' block elif opcode == opcodedesc.END_FINALLY.index: unroller = self.end_finally() if isinstance(unroller, SuspendedUnroller): # go on unrolling the stack block = self.unrollstack(unroller.kind) if block is None: w_result = unroller.nomoreblocks() self.pushvalue(w_result) raise Return else: next_instr = block.handle(self, unroller) return next_instr elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, ec) elif opcode == opcodedesc.BREAK_LOOP.index: next_instr = self.BREAK_LOOP(oparg, next_instr) elif opcode == opcodedesc.CONTINUE_LOOP.index: return self.CONTINUE_LOOP(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: next_instr = self.JUMP_IF_FALSE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_DEBUG.index: next_instr = self.JUMP_IF_NOT_DEBUG(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: next_instr = self.JUMP_IF_TRUE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: next_instr = self.POP_JUMP_IF_FALSE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: next_instr = self.POP_JUMP_IF_TRUE(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_DIVIDE.index: self.BINARY_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CLASS.index: self.BUILD_CLASS(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR.index: self.CALL_FUNCTION_VAR(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR_KW.index: self.CALL_FUNCTION_VAR_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: self.CALL_METHOD(oparg, next_instr) elif opcode == opcodedesc.COMPARE_OP.index: self.COMPARE_OP(oparg, next_instr) elif opcode == opcodedesc.DELETE_ATTR.index: self.DELETE_ATTR(oparg, next_instr) elif opcode == opcodedesc.DELETE_FAST.index: self.DELETE_FAST(oparg, next_instr) elif opcode == opcodedesc.DELETE_GLOBAL.index: self.DELETE_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.DELETE_NAME.index: self.DELETE_NAME(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_0.index: self.DELETE_SLICE_0(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_1.index: self.DELETE_SLICE_1(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_2.index: self.DELETE_SLICE_2(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_3.index: self.DELETE_SLICE_3(oparg, next_instr) elif opcode == opcodedesc.DELETE_SUBSCR.index: self.DELETE_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.DUP_TOP.index: self.DUP_TOP(oparg, next_instr) elif opcode == opcodedesc.DUP_TOPX.index: self.DUP_TOPX(oparg, next_instr) elif opcode == opcodedesc.EXEC_STMT.index: self.EXEC_STMT(oparg, next_instr) elif opcode == opcodedesc.GET_ITER.index: self.GET_ITER(oparg, next_instr) elif opcode == opcodedesc.IMPORT_FROM.index: self.IMPORT_FROM(oparg, next_instr) elif opcode == opcodedesc.IMPORT_NAME.index: self.IMPORT_NAME(oparg, next_instr) elif opcode == opcodedesc.IMPORT_STAR.index: self.IMPORT_STAR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_ADD.index: self.INPLACE_ADD(oparg, next_instr) elif opcode == opcodedesc.INPLACE_AND.index: self.INPLACE_AND(oparg, next_instr) elif opcode == opcodedesc.INPLACE_DIVIDE.index: self.INPLACE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_FLOOR_DIVIDE.index: self.INPLACE_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_LSHIFT.index: self.INPLACE_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MODULO.index: self.INPLACE_MODULO(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MULTIPLY.index: self.INPLACE_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.INPLACE_OR.index: self.INPLACE_OR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_POWER.index: self.INPLACE_POWER(oparg, next_instr) elif opcode == opcodedesc.INPLACE_RSHIFT.index: self.INPLACE_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_SUBTRACT.index: self.INPLACE_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_TRUE_DIVIDE.index: self.INPLACE_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_XOR.index: self.INPLACE_XOR(oparg, next_instr) elif opcode == opcodedesc.LIST_APPEND.index: self.LIST_APPEND(oparg, next_instr) elif opcode == opcodedesc.LOAD_ATTR.index: self.LOAD_ATTR(oparg, next_instr) elif opcode == opcodedesc.LOAD_CLOSURE.index: self.LOAD_CLOSURE(oparg, next_instr) elif opcode == opcodedesc.LOAD_CONST.index: self.LOAD_CONST(oparg, next_instr) elif opcode == opcodedesc.LOAD_DEREF.index: self.LOAD_DEREF(oparg, next_instr) elif opcode == opcodedesc.LOAD_FAST.index: self.LOAD_FAST(oparg, next_instr) elif opcode == opcodedesc.LOAD_GLOBAL.index: self.LOAD_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.LOAD_LOCALS.index: self.LOAD_LOCALS(oparg, next_instr) elif opcode == opcodedesc.LOAD_NAME.index: self.LOAD_NAME(oparg, next_instr) elif opcode == opcodedesc.LOOKUP_METHOD.index: > self.LOOKUP_METHOD(oparg, next_instr) interpreter/pyopcode.py:356: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = at line 150 nameindex = 5, ignored = (101L,) MutableCell = space = StdObjSpace w_obj = def LOOKUP_METHOD(f, nameindex, *ignored): from pypy.objspace.std.typeobject import MutableCell # stack before after # -------------- --fast-method----fallback-case------------ # # w_object None # w_object => w_function w_boundmethod_or_whatever # (more stuff) (more stuff) (more stuff) # space = f.space w_obj = f.popvalue() if not jit.we_are_jitted(): # mapdict has an extra-fast version of this function if LOOKUP_METHOD_mapdict(f, nameindex, w_obj): return w_name = f.getname_w(nameindex) w_value = None w_type = space.type(w_obj) if w_type.has_object_getattribute(): name = space.text_w(w_name) # bit of a mess to use these internal functions, but it allows the # mapdict caching below to work without an additional lookup version_tag = w_type.version_tag() if version_tag is None: _, w_descr = w_type._lookup_where(name) w_descr_cell = None else: _, w_descr_cell = w_type._pure_lookup_where_with_method_cache( name, version_tag) w_descr = w_descr_cell if isinstance(w_descr, MutableCell): w_descr = w_descr.unwrap_cell(space) if w_descr is None: # this handles directly the common case # module.function(args..) > w_value = w_obj.getdictvalue(space, name) objspace/std/callmethod.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def getdictvalue(self, space, name): w_value = space.finditem_str(self.w_dict, name) if self.lazy and w_value is None: > return self._load_lazily(space, name) interpreter/mixedmodule.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def _load_lazily(self, space, name): w_name = space.new_interned_str(name) try: loader = self.loaders[name] except KeyError: return None else: > w_value = loader(space) interpreter/mixedmodule.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace def ifileloader(space): d = {'space':space} # EVIL HACK (but it works, and this is not RPython :-) while 1: try: value = eval(spec, d) except NameError as ex: name = ex.args[0].split("'")[1] # super-Evil if name in d: raise # propagate the NameError try: > d[name] = __import__(pkgroot+'.'+name, None, None, [name]) interpreter/mixedmodule.py:182: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from pypy.interpreter.gateway import unwrap_spec from pypy.interpreter.error import oefmt from rpython.rlib import rgc > from pypy.module.gc.hook import W_GcCollectStepStats module/gc/interp_gc.py:4: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from rpython.memory.gc.hook import GcHooks > from rpython.memory.gc import incminimark module/gc/hook.py:2: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ # XXX Should find a way to bound the major collection threshold by the # XXX total addressable size. Maybe by keeping some minimarkpage arenas # XXX pre-reserved, enough for a few nursery collections? What about # XXX raw-malloced memory? # XXX try merging old_objects_pointing_to_pinned into # XXX old_objects_pointing_to_young (IRC 2014-10-22, fijal and gregor_w) import sys import os import time from rpython.rtyper.lltypesystem import lltype, llmemory, llarena, llgroup from rpython.rtyper.lltypesystem.lloperation import llop from rpython.rtyper.lltypesystem.llmemory import raw_malloc_usage from rpython.memory.gc.base import GCBase, MovingGCBase > from rpython.memory.gc import env E File "/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py", line 423 E SyntaxError: Non-ASCII character '\xe2' in file /build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py on line 423, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details ../rpython/memory/gc/incminimark.py:70: SyntaxError . pypy/module/_io/test/apptest_textio.py::test_newlines . pypy/module/_io/test/apptest_textio.py::test_readline . pypy/module/_io/test/apptest_textio.py::test_name . pypy/module/_io/test/apptest_textio.py::test_repr . pypy/module/_io/test/apptest_textio.py::test_flush_error_on_close . pypy/module/_io/test/apptest_textio.py::test_illegal_encoder . pypy/module/_io/test/apptest_textio.py::test_illegal_decoder . pypy/module/_io/test/apptest_textio.py::test_read_nonbytes . pypy/module/_io/test/apptest_textio.py::test_uninitialized . pypy/module/_io/test/apptest_textio.py::test_issue25862 . pypy/module/_io/test/apptest_textio.py::test_newline_decoder . pypy/module/_io/test/apptest_textio.py::test_newline_bytes . pypy/module/_io/test/apptest_textio.py::test_newlines2 . pypy/module/_io/test/test_bufferedio.py::AppTestBufferedReader::()::test_simple_read . pypy/module/_io/test/test_bufferedio.py::AppTestBufferedReader::()::test_read_pieces . pypy/module/_io/test/test_bufferedio.py::AppTestBufferedReader::()::test_slow_provider . pypy/module/_io/test/test_bufferedio.py::AppTestBufferedReader::()::test_read_past_eof . pypy/module/_io/test/test_bufferedio.py::AppTestBufferedReader::()::test_buffering . pypy/module/_io/test/test_bufferedio.py::AppTestBufferedReader::()::test_peek . pypy/module/_io/test/test_bufferedio.py::AppTestBufferedReader::()::test_read1 . pypy/module/_io/test/test_bufferedio.py::AppTestBufferedReader::()::test_readinto . pypy/module/_io/test/test_bufferedio.py::AppTestBufferedReader::()::test_readinto_big . pypy/module/_io/test/test_bufferedio.py::AppTestBufferedReader::()::test_seek . pypy/module/_io/test/test_bufferedio.py::AppTestBufferedReader::()::test_readlines . pypy/module/_io/test/test_bufferedio.py::AppTestBufferedReader::()::test_detach . pypy/module/_io/test/test_bufferedio.py::AppTestBufferedReader::()::test_detached . pypy/module/_io/test/test_bufferedio.py::AppTestBufferedReader::()::test_tell . pypy/module/_io/test/test_bufferedio.py::AppTestBufferedReader::()::test_repr . pypy/module/_io/test/test_bufferedio.py::AppTestBufferedReader::()::test_read_interrupted . pypy/module/_io/test/test_bufferedio.py::AppTestBufferedReaderWithThreads::()::test_simple_read . pypy/module/_io/test/test_bufferedio.py::AppTestBufferedReaderWithThreads::()::test_read_pieces . pypy/module/_io/test/test_bufferedio.py::AppTestBufferedReaderWithThreads::()::test_slow_provider . pypy/module/_io/test/test_bufferedio.py::AppTestBufferedReaderWithThreads::()::test_read_past_eof . pypy/module/_io/test/test_bufferedio.py::AppTestBufferedReaderWithThreads::()::test_buffering . pypy/module/_io/test/test_bufferedio.py::AppTestBufferedReaderWithThreads::()::test_peek . pypy/module/_io/test/test_bufferedio.py::AppTestBufferedReaderWithThreads::()::test_read1 . pypy/module/_io/test/test_bufferedio.py::AppTestBufferedReaderWithThreads::()::test_readinto . pypy/module/_io/test/test_bufferedio.py::AppTestBufferedReaderWithThreads::()::test_readinto_big . pypy/module/_io/test/test_bufferedio.py::AppTestBufferedReaderWithThreads::()::test_seek . pypy/module/_io/test/test_bufferedio.py::AppTestBufferedReaderWithThreads::()::test_readlines . pypy/module/_io/test/test_bufferedio.py::AppTestBufferedReaderWithThreads::()::test_detach . pypy/module/_io/test/test_bufferedio.py::AppTestBufferedReaderWithThreads::()::test_detached . pypy/module/_io/test/test_bufferedio.py::AppTestBufferedReaderWithThreads::()::test_tell . pypy/module/_io/test/test_bufferedio.py::AppTestBufferedReaderWithThreads::()::test_repr . pypy/module/_io/test/test_bufferedio.py::AppTestBufferedReaderWithThreads::()::test_read_interrupted . pypy/module/_io/test/test_bufferedio.py::AppTestBufferedReaderWithThreads::()::test_readinto_small_parts . pypy/module/_io/test/test_bufferedio.py::AppTestForbidRawPtrForResizableList::()::test_monkeypatch_works . pypy/module/_io/test/test_bufferedio.py::AppTestBufferedReaderOnRevDB::()::test_simple_read . pypy/module/_io/test/test_bufferedio.py::AppTestBufferedReaderOnRevDB::()::test_read_pieces . pypy/module/_io/test/test_bufferedio.py::AppTestBufferedReaderOnRevDB::()::test_slow_provider . pypy/module/_io/test/test_bufferedio.py::AppTestBufferedReaderOnRevDB::()::test_read_past_eof . pypy/module/_io/test/test_bufferedio.py::AppTestBufferedReaderOnRevDB::()::test_buffering . pypy/module/_io/test/test_bufferedio.py::AppTestBufferedReaderOnRevDB::()::test_peek . pypy/module/_io/test/test_bufferedio.py::AppTestBufferedReaderOnRevDB::()::test_read1 . pypy/module/_io/test/test_bufferedio.py::AppTestBufferedReaderOnRevDB::()::test_readinto . pypy/module/_io/test/test_bufferedio.py::AppTestBufferedReaderOnRevDB::()::test_readinto_big . pypy/module/_io/test/test_bufferedio.py::AppTestBufferedReaderOnRevDB::()::test_seek . pypy/module/_io/test/test_bufferedio.py::AppTestBufferedReaderOnRevDB::()::test_readlines . pypy/module/_io/test/test_bufferedio.py::AppTestBufferedReaderOnRevDB::()::test_detach . pypy/module/_io/test/test_bufferedio.py::AppTestBufferedReaderOnRevDB::()::test_detached . pypy/module/_io/test/test_bufferedio.py::AppTestBufferedReaderOnRevDB::()::test_tell . pypy/module/_io/test/test_bufferedio.py::AppTestBufferedReaderOnRevDB::()::test_repr . pypy/module/_io/test/test_bufferedio.py::AppTestBufferedReaderOnRevDB::()::test_read_interrupted . pypy/module/_io/test/test_bufferedio.py::AppTestBufferedWriter::()::test_write . pypy/module/_io/test/test_bufferedio.py::AppTestBufferedWriter::()::test_largewrite . pypy/module/_io/test/test_bufferedio.py::AppTestBufferedWriter::()::test_incomplete . pypy/module/_io/test/test_bufferedio.py::AppTestBufferedWriter::()::test_deprecated_max_buffer_size . pypy/module/_io/test/test_bufferedio.py::AppTestBufferedWriter::()::test_check_several_writes F pypy/module/_io/test/test_bufferedio.py::AppTestBufferedWriter::()::test_destructor self = func = at 0xf27f1c6c>, 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, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 0xf7a7c32c> hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf6a194cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf6a194cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf242ad6c> 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 0xf242ad6c> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf1920aac> 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 0xf1920aac> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def runtest(self): target = self.obj if self.config.option.runappdirect: return target() space = target.im_self.space filename = self._getdynfilename(target) func = app2interp_temp(target.im_func, filename=filename) w_instance = self.parent.w_instance > self.execute_appex(space, func, space, w_instance) tool/pytest/apptest.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , space = StdObjSpace target = args = (StdObjSpace, ) def execute_appex(self, space, target, *args): self.space = space try: > target(*args) tool/pytest/apptest.py:30: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace args_w = (,) w_func = args = def appcaller(space, *args_w): if not isinstance(space, ObjSpace): raise TypeError("first argument must be a space instance.") # the last argument can be an Arguments w_func = self.wget(space, name) if not args_w: return space.call_function(w_func) else: args = args_w[-1] assert args is not None if not isinstance(args, Arguments): > return space.call_function(w_func, *args_w) interpreter/gateway.py:1227: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = args_w = (,) nargs = 1, Function = Method = def call_function(self, w_func, *args_w): nargs = len(args_w) # used for pruning funccall versions if not self.config.objspace.disable_call_speedhacks and nargs < 5: # start of hack for performance from pypy.interpreter.function import Function, Method if isinstance(w_func, Method): w_inst = w_func.w_instance if w_inst is not None: if nargs < 4: func = w_func.w_function if isinstance(func, Function): return func.funccall(w_inst, *args_w) elif args_w and ( self.abstract_isinstance_w(args_w[0], w_func.w_class)): w_func = w_func.w_function if isinstance(w_func, Function): > return w_func.funccall(*args_w) interpreter/baseobjspace.py:1210: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = args_w = (,) gateway = PyCode = code = def funccall(self, *args_w): # speed hack from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit nargs = len(args_w) fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, args_w[0]) elif nargs == 2: assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, args_w[0], args_w[1]) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) return code.fastcall_3(self.space, self, args_w[0], args_w[1], args_w[2]) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) return code.fastcall_4(self.space, self, args_w[0], args_w[1], args_w[2], args_w[3]) elif (nargs | PyCode.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) if nargs < 5: new_frame = self.space.createframe(code, self.w_func_globals, self) for i in funccallunrolling: if i < nargs: new_frame.locals_cells_stack_w[i] = args_w[i] > return new_frame.run() interpreter/function.py:118: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 16 def run(self): """Start this frame's execution.""" if self.getcode().co_flags & pycode.CO_GENERATOR: from pypy.interpreter.generator import GeneratorIterator return GeneratorIterator(self) else: > return self.execute_frame() interpreter/pyframe.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 16 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:290: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 16 e = SyntaxError("Non-ASCII character '\\xe2' in file /build_dir/own-linux-x86-32/b..., ('/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py', 423, 0, None)) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:943: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 16 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:286: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 16 pycode = next_instr = 0L ec = def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 16 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x01\x00g\x00\x00\x89\x01\x00d\x02\x00|\x01\x00j\x01\x00f\x01\x00\x87\x00\x00\x87\x01\x00...0\x00\x01\xcc\x1b\x00\x88\x01\x00d\x05\x00d\x06\x00d\x07\x00g\x03\x00k\x02\x00s\x87\x00t\x06\x00\x82\x01\x00d\x00\x00S' next_instr = 0L ec = def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 16 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x01\x00g\x00\x00\x89\x01\x00d\x02\x00|\x01\x00j\x01\x00f\x01\x00\x87\x00\x00\x87\x01\x00...0\x00\x01\xcc\x1b\x00\x88\x01\x00d\x05\x00d\x06\x00d\x07\x00g\x03\x00k\x02\x00s\x87\x00t\x06\x00\x82\x01\x00d\x00\x00S' next_instr = 101L ec = @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: self.last_instr = intmask(next_instr) if jit.we_are_jitted(): if self.debugdata: ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: ec.bytecode_trace(self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) next_instr += 1 if opcode >= HAVE_ARGUMENT: lo = ord(co_code[next_instr]) hi = ord(co_code[next_instr+1]) next_instr += 2 oparg = (hi * 256) | lo else: oparg = 0 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into a switch(). while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption lo = ord(co_code[next_instr+1]) hi = ord(co_code[next_instr+2]) next_instr += 3 oparg = (oparg * 65536) | (hi * 256) | lo if opcode == opcodedesc.RETURN_VALUE.index: if not self.blockstack_non_empty(): self.frame_finished_execution = True # for generators raise Return w_returnvalue = self.popvalue() block = self.unrollstack(SReturnValue.kind) if block is None: self.pushvalue(w_returnvalue) raise Return else: unroller = SReturnValue(w_returnvalue) next_instr = block.handle(self, unroller) return next_instr # now inside a 'finally' block elif opcode == opcodedesc.END_FINALLY.index: unroller = self.end_finally() if isinstance(unroller, SuspendedUnroller): # go on unrolling the stack block = self.unrollstack(unroller.kind) if block is None: w_result = unroller.nomoreblocks() self.pushvalue(w_result) raise Return else: next_instr = block.handle(self, unroller) return next_instr elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, ec) elif opcode == opcodedesc.BREAK_LOOP.index: next_instr = self.BREAK_LOOP(oparg, next_instr) elif opcode == opcodedesc.CONTINUE_LOOP.index: return self.CONTINUE_LOOP(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: next_instr = self.JUMP_IF_FALSE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_DEBUG.index: next_instr = self.JUMP_IF_NOT_DEBUG(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: next_instr = self.JUMP_IF_TRUE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: next_instr = self.POP_JUMP_IF_FALSE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: next_instr = self.POP_JUMP_IF_TRUE(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_DIVIDE.index: self.BINARY_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CLASS.index: self.BUILD_CLASS(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR.index: self.CALL_FUNCTION_VAR(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR_KW.index: self.CALL_FUNCTION_VAR_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: self.CALL_METHOD(oparg, next_instr) elif opcode == opcodedesc.COMPARE_OP.index: self.COMPARE_OP(oparg, next_instr) elif opcode == opcodedesc.DELETE_ATTR.index: self.DELETE_ATTR(oparg, next_instr) elif opcode == opcodedesc.DELETE_FAST.index: self.DELETE_FAST(oparg, next_instr) elif opcode == opcodedesc.DELETE_GLOBAL.index: self.DELETE_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.DELETE_NAME.index: self.DELETE_NAME(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_0.index: self.DELETE_SLICE_0(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_1.index: self.DELETE_SLICE_1(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_2.index: self.DELETE_SLICE_2(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_3.index: self.DELETE_SLICE_3(oparg, next_instr) elif opcode == opcodedesc.DELETE_SUBSCR.index: self.DELETE_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.DUP_TOP.index: self.DUP_TOP(oparg, next_instr) elif opcode == opcodedesc.DUP_TOPX.index: self.DUP_TOPX(oparg, next_instr) elif opcode == opcodedesc.EXEC_STMT.index: self.EXEC_STMT(oparg, next_instr) elif opcode == opcodedesc.GET_ITER.index: self.GET_ITER(oparg, next_instr) elif opcode == opcodedesc.IMPORT_FROM.index: self.IMPORT_FROM(oparg, next_instr) elif opcode == opcodedesc.IMPORT_NAME.index: self.IMPORT_NAME(oparg, next_instr) elif opcode == opcodedesc.IMPORT_STAR.index: self.IMPORT_STAR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_ADD.index: self.INPLACE_ADD(oparg, next_instr) elif opcode == opcodedesc.INPLACE_AND.index: self.INPLACE_AND(oparg, next_instr) elif opcode == opcodedesc.INPLACE_DIVIDE.index: self.INPLACE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_FLOOR_DIVIDE.index: self.INPLACE_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_LSHIFT.index: self.INPLACE_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MODULO.index: self.INPLACE_MODULO(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MULTIPLY.index: self.INPLACE_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.INPLACE_OR.index: self.INPLACE_OR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_POWER.index: self.INPLACE_POWER(oparg, next_instr) elif opcode == opcodedesc.INPLACE_RSHIFT.index: self.INPLACE_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_SUBTRACT.index: self.INPLACE_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_TRUE_DIVIDE.index: self.INPLACE_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_XOR.index: self.INPLACE_XOR(oparg, next_instr) elif opcode == opcodedesc.LIST_APPEND.index: self.LIST_APPEND(oparg, next_instr) elif opcode == opcodedesc.LOAD_ATTR.index: self.LOAD_ATTR(oparg, next_instr) elif opcode == opcodedesc.LOAD_CLOSURE.index: self.LOAD_CLOSURE(oparg, next_instr) elif opcode == opcodedesc.LOAD_CONST.index: self.LOAD_CONST(oparg, next_instr) elif opcode == opcodedesc.LOAD_DEREF.index: self.LOAD_DEREF(oparg, next_instr) elif opcode == opcodedesc.LOAD_FAST.index: self.LOAD_FAST(oparg, next_instr) elif opcode == opcodedesc.LOAD_GLOBAL.index: self.LOAD_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.LOAD_LOCALS.index: self.LOAD_LOCALS(oparg, next_instr) elif opcode == opcodedesc.LOAD_NAME.index: self.LOAD_NAME(oparg, next_instr) elif opcode == opcodedesc.LOOKUP_METHOD.index: > self.LOOKUP_METHOD(oparg, next_instr) interpreter/pyopcode.py:356: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = at line 16 nameindex = 5, ignored = (101L,) MutableCell = space = StdObjSpace w_obj = def LOOKUP_METHOD(f, nameindex, *ignored): from pypy.objspace.std.typeobject import MutableCell # stack before after # -------------- --fast-method----fallback-case------------ # # w_object None # w_object => w_function w_boundmethod_or_whatever # (more stuff) (more stuff) (more stuff) # space = f.space w_obj = f.popvalue() if not jit.we_are_jitted(): # mapdict has an extra-fast version of this function if LOOKUP_METHOD_mapdict(f, nameindex, w_obj): return w_name = f.getname_w(nameindex) w_value = None w_type = space.type(w_obj) if w_type.has_object_getattribute(): name = space.text_w(w_name) # bit of a mess to use these internal functions, but it allows the # mapdict caching below to work without an additional lookup version_tag = w_type.version_tag() if version_tag is None: _, w_descr = w_type._lookup_where(name) w_descr_cell = None else: _, w_descr_cell = w_type._pure_lookup_where_with_method_cache( name, version_tag) w_descr = w_descr_cell if isinstance(w_descr, MutableCell): w_descr = w_descr.unwrap_cell(space) if w_descr is None: # this handles directly the common case # module.function(args..) > w_value = w_obj.getdictvalue(space, name) objspace/std/callmethod.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def getdictvalue(self, space, name): w_value = space.finditem_str(self.w_dict, name) if self.lazy and w_value is None: > return self._load_lazily(space, name) interpreter/mixedmodule.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def _load_lazily(self, space, name): w_name = space.new_interned_str(name) try: loader = self.loaders[name] except KeyError: return None else: > w_value = loader(space) interpreter/mixedmodule.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace def ifileloader(space): d = {'space':space} # EVIL HACK (but it works, and this is not RPython :-) while 1: try: value = eval(spec, d) except NameError as ex: name = ex.args[0].split("'")[1] # super-Evil if name in d: raise # propagate the NameError try: > d[name] = __import__(pkgroot+'.'+name, None, None, [name]) interpreter/mixedmodule.py:182: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from pypy.interpreter.gateway import unwrap_spec from pypy.interpreter.error import oefmt from rpython.rlib import rgc > from pypy.module.gc.hook import W_GcCollectStepStats module/gc/interp_gc.py:4: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from rpython.memory.gc.hook import GcHooks > from rpython.memory.gc import incminimark module/gc/hook.py:2: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ # XXX Should find a way to bound the major collection threshold by the # XXX total addressable size. Maybe by keeping some minimarkpage arenas # XXX pre-reserved, enough for a few nursery collections? What about # XXX raw-malloced memory? # XXX try merging old_objects_pointing_to_pinned into # XXX old_objects_pointing_to_young (IRC 2014-10-22, fijal and gregor_w) import sys import os import time from rpython.rtyper.lltypesystem import lltype, llmemory, llarena, llgroup from rpython.rtyper.lltypesystem.lloperation import llop from rpython.rtyper.lltypesystem.llmemory import raw_malloc_usage from rpython.memory.gc.base import GCBase, MovingGCBase > from rpython.memory.gc import env E File "/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py", line 423 E SyntaxError: Non-ASCII character '\xe2' in file /build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py on line 423, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details ../rpython/memory/gc/incminimark.py:70: SyntaxError . pypy/module/_io/test/test_bufferedio.py::AppTestBufferedWriter::()::test_truncate . pypy/module/_io/test/test_bufferedio.py::AppTestBufferedWriter::()::test_write_non_blocking . pypy/module/_io/test/test_bufferedio.py::AppTestBufferedWriter::()::test_nonblock_pipe_write_bigbuf . pypy/module/_io/test/test_bufferedio.py::AppTestBufferedWriter::()::test_nonblock_pipe_write_smallbuf . pypy/module/_io/test/test_bufferedio.py::AppTestBufferedWriter::()::test_read_non_blocking . pypy/module/_io/test/test_bufferedio.py::AppTestBufferedWriter::()::test_write_interrupted . pypy/module/_io/test/test_bufferedio.py::AppTestBufferedWriter::()::test_reentrant_write . pypy/module/_io/test/test_bufferedio.py::AppTestBufferedWriter::()::test_write_error_on_close . pypy/module/_io/test/test_bufferedio.py::AppTestBufferedWriter::()::test_close_error_on_close . pypy/module/_io/test/test_bufferedio.py::AppTestBufferedWriter::()::test_truncate_after_close . pypy/module/_io/test/test_bufferedio.py::AppTestBufferedRWPair::()::test_pair . pypy/module/_io/test/test_bufferedio.py::AppTestBufferedRWPair::()::test_constructor_with_not_readable . pypy/module/_io/test/test_bufferedio.py::AppTestBufferedRWPair::()::test_constructor_with_not_writable . pypy/module/_io/test/test_bufferedio.py::AppTestBufferedRWPair::()::test_writer_close_error_on_close . pypy/module/_io/test/test_bufferedio.py::AppTestBufferedRWPair::()::test_reader_writer_close_error_on_close . pypy/module/_io/test/test_bufferedio.py::AppTestBufferedRandom::()::test_simple_read . pypy/module/_io/test/test_bufferedio.py::AppTestBufferedRandom::()::test_simple_read_after_write . pypy/module/_io/test/test_bufferedio.py::AppTestBufferedRandom::()::test_write_rewind_write . pypy/module/_io/test/test_bufferedio.py::AppTestBufferedRandom::()::test_interleaved_read_write . pypy/module/_io/test/test_bufferedio.py::AppTestBufferedRandom::()::test_interleaved_readline_write . pypy/module/_io/test/test_bufferedio.py::AppTestBufferedRandom::()::test_readline . pypy/module/_io/test/test_bufferedio.py::TestNonReentrantLock::()::test_trylock . pypy/module/_io/test/test_fileio.py::AppTestFileIO::()::test_constructor . pypy/module/_io/test/test_fileio.py::AppTestFileIO::()::test_invalid_fd . pypy/module/_io/test/test_fileio.py::AppTestFileIO::()::test_weakrefable . pypy/module/_io/test/test_fileio.py::AppTestFileIO::()::test_open_fd . pypy/module/_io/test/test_fileio.py::AppTestFileIO::()::test_open_directory . pypy/module/_io/test/test_fileio.py::AppTestFileIO::()::test_readline . pypy/module/_io/test/test_fileio.py::AppTestFileIO::()::test_readlines . pypy/module/_io/test/test_fileio.py::AppTestFileIO::()::test_readall . pypy/module/_io/test/test_fileio.py::AppTestFileIO::()::test_write . pypy/module/_io/test/test_fileio.py::AppTestFileIO::()::test_writelines . pypy/module/_io/test/test_fileio.py::AppTestFileIO::()::test_seek . pypy/module/_io/test/test_fileio.py::AppTestFileIO::()::test_tell . pypy/module/_io/test/test_fileio.py::AppTestFileIO::()::test_truncate . pypy/module/_io/test/test_fileio.py::AppTestFileIO::()::test_readinto . pypy/module/_io/test/test_fileio.py::AppTestFileIO::()::test_readinto_optimized . pypy/module/_io/test/test_fileio.py::AppTestFileIO::()::test_nonblocking_read . pypy/module/_io/test/test_fileio.py::AppTestFileIO::()::test_repr . pypy/module/_io/test/test_fileio.py::AppTestFileIO::()::test_unclosed_fd_on_exception . pypy/module/_io/test/test_fileio.py::AppTestFileIO::()::test_mode_strings . pypy/module/_io/test/test_fileio.py::AppTestFileIO::()::test_flush_error_on_close . pypy/module/_io/test/test_fileio.py::test_flush_at_exit . pypy/module/_io/test/test_fileio.py::test_flush_at_exit_IOError_and_ValueError . pypy/module/_io/test/test_interp_textio.py::test_readline . pypy/module/_io/test/test_interp_textio.py::test_read_buffer . pypy/module/_io/test/test_interp_textio.py::test_readn_buffer . pypy/module/_io/test/test_interp_textio.py::test_next_char (somefailed=True in module/_io/test) . pypy/module/_rawffi/test/apptest_rawffi.py::test_array_view_format . pypy/module/_rawffi/test/test__rawffi.py::AppTestFfi::()::test_libload . pypy/module/_rawffi/test/test__rawffi.py::AppTestFfi::()::test_libload_fail . pypy/module/_rawffi/test/test__rawffi.py::AppTestFfi::()::test_libload_None . pypy/module/_rawffi/test/test__rawffi.py::AppTestFfi::()::test_libc_load . pypy/module/_rawffi/test/test__rawffi.py::AppTestFfi::()::test_getattr s pypy/module/_rawffi/test/test__rawffi.py::AppTestFfi::()::test_byordinal Skipped: win32 specific . pypy/module/_rawffi/test/test__rawffi.py::AppTestFfi::()::test_getchar . pypy/module/_rawffi/test/test__rawffi.py::AppTestFfi::()::test_chararray_as_bytebuffer . pypy/module/_rawffi/test/test__rawffi.py::AppTestFfi::()::test_returning_str . pypy/module/_rawffi/test/test__rawffi.py::AppTestFfi::()::test_unicode_array . pypy/module/_rawffi/test/test__rawffi.py::AppTestFfi::()::test_returning_unicode . pypy/module/_rawffi/test/test__rawffi.py::AppTestFfi::()::test_rawstring2charp . pypy/module/_rawffi/test/test__rawffi.py::AppTestFfi::()::test_raw_callable . pypy/module/_rawffi/test/test__rawffi.py::AppTestFfi::()::test_raw_callable_returning_void . pypy/module/_rawffi/test/test__rawffi.py::AppTestFfi::()::test_short_addition . pypy/module/_rawffi/test/test__rawffi.py::AppTestFfi::()::test_pow . pypy/module/_rawffi/test/test__rawffi.py::AppTestFfi::()::test_time . pypy/module/_rawffi/test/test__rawffi.py::AppTestFfi::()::test_gettimeofday . pypy/module/_rawffi/test/test__rawffi.py::AppTestFfi::()::test_structreturn . pypy/module/_rawffi/test/test__rawffi.py::AppTestFfi::()::test_nested_structures . pypy/module/_rawffi/test/test__rawffi.py::AppTestFfi::()::test_structure_bitfields_char . pypy/module/_rawffi/test/test__rawffi.py::AppTestFfi::()::test_structure_bitfields_varied . pypy/module/_rawffi/test/test__rawffi.py::AppTestFfi::()::test_structure_bitfields_int . pypy/module/_rawffi/test/test__rawffi.py::AppTestFfi::()::test_structure_bitfields_uint . pypy/module/_rawffi/test/test__rawffi.py::AppTestFfi::()::test_structure_bitfields_longlong . pypy/module/_rawffi/test/test__rawffi.py::AppTestFfi::()::test_structure_bitfields_ulonglong . pypy/module/_rawffi/test/test__rawffi.py::AppTestFfi::()::test_structure_bitfields_single_signed . pypy/module/_rawffi/test/test__rawffi.py::AppTestFfi::()::test_structure_bitfields_single_unsigned . pypy/module/_rawffi/test/test__rawffi.py::AppTestFfi::()::test_invalid_bitfields . pypy/module/_rawffi/test/test__rawffi.py::AppTestFfi::()::test_packed_structure . pypy/module/_rawffi/test/test__rawffi.py::AppTestFfi::()::test_array . pypy/module/_rawffi/test/test__rawffi.py::AppTestFfi::()::test_array_of_structure . pypy/module/_rawffi/test/test__rawffi.py::AppTestFfi::()::test_bad_parameters . pypy/module/_rawffi/test/test__rawffi.py::AppTestFfi::()::test_longs_ulongs . pypy/module/_rawffi/test/test__rawffi.py::AppTestFfi::()::test_callback . pypy/module/_rawffi/test/test__rawffi.py::AppTestFfi::()::test_another_callback . pypy/module/_rawffi/test/test__rawffi.py::AppTestFfi::()::test_void_returning_callback . pypy/module/_rawffi/test/test__rawffi.py::AppTestFfi::()::test_raising_callback . pypy/module/_rawffi/test/test__rawffi.py::AppTestFfi::()::test_setattr_struct . pypy/module/_rawffi/test/test__rawffi.py::AppTestFfi::()::test_sizes_and_alignments . pypy/module/_rawffi/test/test__rawffi.py::AppTestFfi::()::test_unaligned . pypy/module/_rawffi/test/test__rawffi.py::AppTestFfi::()::test_array_addressof . pypy/module/_rawffi/test/test__rawffi.py::AppTestFfi::()::test_shape . pypy/module/_rawffi/test/test__rawffi.py::AppTestFfi::()::test_negative_pointers . pypy/module/_rawffi/test/test__rawffi.py::AppTestFfi::()::test_long_with_fromaddress . pypy/module/_rawffi/test/test__rawffi.py::AppTestFfi::()::test_passing_raw_pointers . pypy/module/_rawffi/test/test__rawffi.py::AppTestFfi::()::test_repr . pypy/module/_rawffi/test/test__rawffi.py::AppTestFfi::()::test_wide_char . pypy/module/_rawffi/test/test__rawffi.py::AppTestFfi::()::test_truncate . pypy/module/_rawffi/test/test__rawffi.py::AppTestFfi::()::test_getaddressindll . pypy/module/_rawffi/test/test__rawffi.py::AppTestFfi::()::test_segfault_exception s pypy/module/_rawffi/test/test__rawffi.py::AppTestFfi::()::test_stackcheck Skipped: 32-bit win32 msvc specific . pypy/module/_rawffi/test/test__rawffi.py::AppTestFfi::()::test_struct_byvalue . pypy/module/_rawffi/test/test__rawffi.py::AppTestFfi::()::test_callback_struct_byvalue . pypy/module/_rawffi/test/test__rawffi.py::AppTestFfi::()::test_ret_struct . pypy/module/_rawffi/test/test__rawffi.py::AppTestFfi::()::test_ret_struct_containing_array . pypy/module/_rawffi/test/test__rawffi.py::AppTestFfi::()::test_buffer . pypy/module/_rawffi/test/test__rawffi.py::AppTestFfi::()::test_pypy_raw_address . pypy/module/_rawffi/test/test__rawffi.py::AppTestFfi::()::test_union . pypy/module/_rawffi/test/test__rawffi.py::AppTestFfi::()::test_ffi_type . pypy/module/_rawffi/test/test__rawffi.py::AppTestFfi::()::test_overflow_error . pypy/module/_rawffi/test/test__rawffi.py::AppTestFfi::()::test_errno s pypy/module/_rawffi/test/test__rawffi.py::AppTestFfi::()::test_last_error Skipped: Windows test . pypy/module/_rawffi/test/test__rawffi.py::AppTestFfi::()::test_cdll_name . pypy/module/_rawffi/test/test__rawffi.py::AppTestFfi::()::test_wcharp2rawunicode . pypy/module/_rawffi/test/test__rawffi.py::AppTestFfi::()::test_variadic_sum F pypy/module/_rawffi/test/test__rawffi.py::AppTestAutoFree::()::test_structure_autofree self = func = at 0xf4a44f7c>, 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, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 0xf7a4332c> hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf69e04cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf69e04cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf49ffe0c> 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 0xf49ffe0c> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf49ff96c> 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 0xf49ff96c> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def runtest(self): target = self.obj if self.config.option.runappdirect: return target() space = target.im_self.space filename = self._getdynfilename(target) func = app2interp_temp(target.im_func, filename=filename) w_instance = self.parent.w_instance > self.execute_appex(space, func, space, w_instance) tool/pytest/apptest.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , space = StdObjSpace target = args = (StdObjSpace, ) def execute_appex(self, space, target, *args): self.space = space try: > target(*args) tool/pytest/apptest.py:30: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace args_w = (,) w_func = args = def appcaller(space, *args_w): if not isinstance(space, ObjSpace): raise TypeError("first argument must be a space instance.") # the last argument can be an Arguments w_func = self.wget(space, name) if not args_w: return space.call_function(w_func) else: args = args_w[-1] assert args is not None if not isinstance(args, Arguments): > return space.call_function(w_func, *args_w) interpreter/gateway.py:1227: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = args_w = (,) nargs = 1, Function = Method = def call_function(self, w_func, *args_w): nargs = len(args_w) # used for pruning funccall versions if not self.config.objspace.disable_call_speedhacks and nargs < 5: # start of hack for performance from pypy.interpreter.function import Function, Method if isinstance(w_func, Method): w_inst = w_func.w_instance if w_inst is not None: if nargs < 4: func = w_func.w_function if isinstance(func, Function): return func.funccall(w_inst, *args_w) elif args_w and ( self.abstract_isinstance_w(args_w[0], w_func.w_class)): w_func = w_func.w_function if isinstance(w_func, Function): > return w_func.funccall(*args_w) interpreter/baseobjspace.py:1210: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = args_w = (,) gateway = PyCode = code = def funccall(self, *args_w): # speed hack from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit nargs = len(args_w) fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, args_w[0]) elif nargs == 2: assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, args_w[0], args_w[1]) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) return code.fastcall_3(self.space, self, args_w[0], args_w[1], args_w[2]) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) return code.fastcall_4(self.space, self, args_w[0], args_w[1], args_w[2], args_w[3]) elif (nargs | PyCode.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) if nargs < 5: new_frame = self.space.createframe(code, self.w_func_globals, self) for i in funccallunrolling: if i < nargs: new_frame.locals_cells_stack_w[i] = args_w[i] > return new_frame.run() interpreter/function.py:118: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 3 def run(self): """Start this frame's execution.""" if self.getcode().co_flags & pycode.CO_GENERATOR: from pypy.interpreter.generator import GeneratorIterator return GeneratorIterator(self) else: > return self.execute_frame() interpreter/pyframe.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 3 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:290: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 3 e = SyntaxError("Non-ASCII character '\\xe2' in file /build_dir/own-linux-x86-32/b..., ('/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py', 423, 0, None)) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:943: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 3 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:286: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 3 pycode = next_instr = 0L ec = def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 3 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x01\x00d\x01\x00d\x00\x00l\x01\x00}\x02\x00|\x01\x00\xc9\x02\x00\xca\x00\x00\x01|\x01\x0...ba\x00\xcc\x18\x00|\x04\x00|\x02\x00\xc9\x04\x00\xca\x00\x00k\x02\x00s\xb7\x00t\x08\x00\x82\x01\x00n\x00\x00d\x00\x00S' next_instr = 0L ec = def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 3 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x01\x00d\x01\x00d\x00\x00l\x01\x00}\x02\x00|\x01\x00\xc9\x02\x00\xca\x00\x00\x01|\x01\x0...ba\x00\xcc\x18\x00|\x04\x00|\x02\x00\xc9\x04\x00\xca\x00\x00k\x02\x00s\xb7\x00t\x08\x00\x82\x01\x00n\x00\x00d\x00\x00S' next_instr = 30L ec = @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: self.last_instr = intmask(next_instr) if jit.we_are_jitted(): if self.debugdata: ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: ec.bytecode_trace(self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) next_instr += 1 if opcode >= HAVE_ARGUMENT: lo = ord(co_code[next_instr]) hi = ord(co_code[next_instr+1]) next_instr += 2 oparg = (hi * 256) | lo else: oparg = 0 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into a switch(). while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption lo = ord(co_code[next_instr+1]) hi = ord(co_code[next_instr+2]) next_instr += 3 oparg = (oparg * 65536) | (hi * 256) | lo if opcode == opcodedesc.RETURN_VALUE.index: if not self.blockstack_non_empty(): self.frame_finished_execution = True # for generators raise Return w_returnvalue = self.popvalue() block = self.unrollstack(SReturnValue.kind) if block is None: self.pushvalue(w_returnvalue) raise Return else: unroller = SReturnValue(w_returnvalue) next_instr = block.handle(self, unroller) return next_instr # now inside a 'finally' block elif opcode == opcodedesc.END_FINALLY.index: unroller = self.end_finally() if isinstance(unroller, SuspendedUnroller): # go on unrolling the stack block = self.unrollstack(unroller.kind) if block is None: w_result = unroller.nomoreblocks() self.pushvalue(w_result) raise Return else: next_instr = block.handle(self, unroller) return next_instr elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, ec) elif opcode == opcodedesc.BREAK_LOOP.index: next_instr = self.BREAK_LOOP(oparg, next_instr) elif opcode == opcodedesc.CONTINUE_LOOP.index: return self.CONTINUE_LOOP(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: next_instr = self.JUMP_IF_FALSE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_DEBUG.index: next_instr = self.JUMP_IF_NOT_DEBUG(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: next_instr = self.JUMP_IF_TRUE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: next_instr = self.POP_JUMP_IF_FALSE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: next_instr = self.POP_JUMP_IF_TRUE(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_DIVIDE.index: self.BINARY_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CLASS.index: self.BUILD_CLASS(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR.index: self.CALL_FUNCTION_VAR(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR_KW.index: self.CALL_FUNCTION_VAR_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: self.CALL_METHOD(oparg, next_instr) elif opcode == opcodedesc.COMPARE_OP.index: self.COMPARE_OP(oparg, next_instr) elif opcode == opcodedesc.DELETE_ATTR.index: self.DELETE_ATTR(oparg, next_instr) elif opcode == opcodedesc.DELETE_FAST.index: self.DELETE_FAST(oparg, next_instr) elif opcode == opcodedesc.DELETE_GLOBAL.index: self.DELETE_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.DELETE_NAME.index: self.DELETE_NAME(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_0.index: self.DELETE_SLICE_0(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_1.index: self.DELETE_SLICE_1(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_2.index: self.DELETE_SLICE_2(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_3.index: self.DELETE_SLICE_3(oparg, next_instr) elif opcode == opcodedesc.DELETE_SUBSCR.index: self.DELETE_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.DUP_TOP.index: self.DUP_TOP(oparg, next_instr) elif opcode == opcodedesc.DUP_TOPX.index: self.DUP_TOPX(oparg, next_instr) elif opcode == opcodedesc.EXEC_STMT.index: self.EXEC_STMT(oparg, next_instr) elif opcode == opcodedesc.GET_ITER.index: self.GET_ITER(oparg, next_instr) elif opcode == opcodedesc.IMPORT_FROM.index: self.IMPORT_FROM(oparg, next_instr) elif opcode == opcodedesc.IMPORT_NAME.index: self.IMPORT_NAME(oparg, next_instr) elif opcode == opcodedesc.IMPORT_STAR.index: self.IMPORT_STAR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_ADD.index: self.INPLACE_ADD(oparg, next_instr) elif opcode == opcodedesc.INPLACE_AND.index: self.INPLACE_AND(oparg, next_instr) elif opcode == opcodedesc.INPLACE_DIVIDE.index: self.INPLACE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_FLOOR_DIVIDE.index: self.INPLACE_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_LSHIFT.index: self.INPLACE_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MODULO.index: self.INPLACE_MODULO(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MULTIPLY.index: self.INPLACE_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.INPLACE_OR.index: self.INPLACE_OR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_POWER.index: self.INPLACE_POWER(oparg, next_instr) elif opcode == opcodedesc.INPLACE_RSHIFT.index: self.INPLACE_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_SUBTRACT.index: self.INPLACE_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_TRUE_DIVIDE.index: self.INPLACE_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_XOR.index: self.INPLACE_XOR(oparg, next_instr) elif opcode == opcodedesc.LIST_APPEND.index: self.LIST_APPEND(oparg, next_instr) elif opcode == opcodedesc.LOAD_ATTR.index: self.LOAD_ATTR(oparg, next_instr) elif opcode == opcodedesc.LOAD_CLOSURE.index: self.LOAD_CLOSURE(oparg, next_instr) elif opcode == opcodedesc.LOAD_CONST.index: self.LOAD_CONST(oparg, next_instr) elif opcode == opcodedesc.LOAD_DEREF.index: self.LOAD_DEREF(oparg, next_instr) elif opcode == opcodedesc.LOAD_FAST.index: self.LOAD_FAST(oparg, next_instr) elif opcode == opcodedesc.LOAD_GLOBAL.index: self.LOAD_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.LOAD_LOCALS.index: self.LOAD_LOCALS(oparg, next_instr) elif opcode == opcodedesc.LOAD_NAME.index: self.LOAD_NAME(oparg, next_instr) elif opcode == opcodedesc.LOOKUP_METHOD.index: > self.LOOKUP_METHOD(oparg, next_instr) interpreter/pyopcode.py:356: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = at line 3 nameindex = 2, ignored = (30L,) MutableCell = space = StdObjSpace w_obj = def LOOKUP_METHOD(f, nameindex, *ignored): from pypy.objspace.std.typeobject import MutableCell # stack before after # -------------- --fast-method----fallback-case------------ # # w_object None # w_object => w_function w_boundmethod_or_whatever # (more stuff) (more stuff) (more stuff) # space = f.space w_obj = f.popvalue() if not jit.we_are_jitted(): # mapdict has an extra-fast version of this function if LOOKUP_METHOD_mapdict(f, nameindex, w_obj): return w_name = f.getname_w(nameindex) w_value = None w_type = space.type(w_obj) if w_type.has_object_getattribute(): name = space.text_w(w_name) # bit of a mess to use these internal functions, but it allows the # mapdict caching below to work without an additional lookup version_tag = w_type.version_tag() if version_tag is None: _, w_descr = w_type._lookup_where(name) w_descr_cell = None else: _, w_descr_cell = w_type._pure_lookup_where_with_method_cache( name, version_tag) w_descr = w_descr_cell if isinstance(w_descr, MutableCell): w_descr = w_descr.unwrap_cell(space) if w_descr is None: # this handles directly the common case # module.function(args..) > w_value = w_obj.getdictvalue(space, name) objspace/std/callmethod.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def getdictvalue(self, space, name): w_value = space.finditem_str(self.w_dict, name) if self.lazy and w_value is None: > return self._load_lazily(space, name) interpreter/mixedmodule.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def _load_lazily(self, space, name): w_name = space.new_interned_str(name) try: loader = self.loaders[name] except KeyError: return None else: > w_value = loader(space) interpreter/mixedmodule.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace def ifileloader(space): d = {'space':space} # EVIL HACK (but it works, and this is not RPython :-) while 1: try: value = eval(spec, d) except NameError as ex: name = ex.args[0].split("'")[1] # super-Evil if name in d: raise # propagate the NameError try: > d[name] = __import__(pkgroot+'.'+name, None, None, [name]) interpreter/mixedmodule.py:182: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from pypy.interpreter.gateway import unwrap_spec from pypy.interpreter.error import oefmt from rpython.rlib import rgc > from pypy.module.gc.hook import W_GcCollectStepStats module/gc/interp_gc.py:4: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from rpython.memory.gc.hook import GcHooks > from rpython.memory.gc import incminimark module/gc/hook.py:2: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ # XXX Should find a way to bound the major collection threshold by the # XXX total addressable size. Maybe by keeping some minimarkpage arenas # XXX pre-reserved, enough for a few nursery collections? What about # XXX raw-malloced memory? # XXX try merging old_objects_pointing_to_pinned into # XXX old_objects_pointing_to_young (IRC 2014-10-22, fijal and gregor_w) import sys import os import time from rpython.rtyper.lltypesystem import lltype, llmemory, llarena, llgroup from rpython.rtyper.lltypesystem.lloperation import llop from rpython.rtyper.lltypesystem.llmemory import raw_malloc_usage from rpython.memory.gc.base import GCBase, MovingGCBase > from rpython.memory.gc import env E File "/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py", line 423 E SyntaxError: Non-ASCII character '\xe2' in file /build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py on line 423, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details ../rpython/memory/gc/incminimark.py:70: SyntaxError F pypy/module/_rawffi/test/test__rawffi.py::AppTestAutoFree::()::test_array_autofree self = func = at 0xf4956684>, 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, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 0xf7a4332c> hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf69e04cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf69e04cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf48c156c> 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 0xf48c156c> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf48c15ac> 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 0xf48c15ac> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def runtest(self): target = self.obj if self.config.option.runappdirect: return target() space = target.im_self.space filename = self._getdynfilename(target) func = app2interp_temp(target.im_func, filename=filename) w_instance = self.parent.w_instance > self.execute_appex(space, func, space, w_instance) tool/pytest/apptest.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , space = StdObjSpace target = args = (StdObjSpace, ) def execute_appex(self, space, target, *args): self.space = space try: > target(*args) tool/pytest/apptest.py:30: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace args_w = (,) w_func = args = def appcaller(space, *args_w): if not isinstance(space, ObjSpace): raise TypeError("first argument must be a space instance.") # the last argument can be an Arguments w_func = self.wget(space, name) if not args_w: return space.call_function(w_func) else: args = args_w[-1] assert args is not None if not isinstance(args, Arguments): > return space.call_function(w_func, *args_w) interpreter/gateway.py:1227: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = args_w = (,) nargs = 1, Function = Method = def call_function(self, w_func, *args_w): nargs = len(args_w) # used for pruning funccall versions if not self.config.objspace.disable_call_speedhacks and nargs < 5: # start of hack for performance from pypy.interpreter.function import Function, Method if isinstance(w_func, Method): w_inst = w_func.w_instance if w_inst is not None: if nargs < 4: func = w_func.w_function if isinstance(func, Function): return func.funccall(w_inst, *args_w) elif args_w and ( self.abstract_isinstance_w(args_w[0], w_func.w_class)): w_func = w_func.w_function if isinstance(w_func, Function): > return w_func.funccall(*args_w) interpreter/baseobjspace.py:1210: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = args_w = (,) gateway = PyCode = code = def funccall(self, *args_w): # speed hack from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit nargs = len(args_w) fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, args_w[0]) elif nargs == 2: assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, args_w[0], args_w[1]) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) return code.fastcall_3(self.space, self, args_w[0], args_w[1], args_w[2]) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) return code.fastcall_4(self.space, self, args_w[0], args_w[1], args_w[2], args_w[3]) elif (nargs | PyCode.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) if nargs < 5: new_frame = self.space.createframe(code, self.w_func_globals, self) for i in funccallunrolling: if i < nargs: new_frame.locals_cells_stack_w[i] = args_w[i] > return new_frame.run() interpreter/function.py:118: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 3 def run(self): """Start this frame's execution.""" if self.getcode().co_flags & pycode.CO_GENERATOR: from pypy.interpreter.generator import GeneratorIterator return GeneratorIterator(self) else: > return self.execute_frame() interpreter/pyframe.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 3 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:290: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 3 e = SyntaxError("Non-ASCII character '\\xe2' in file /build_dir/own-linux-x86-32/b..., ('/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py', 423, 0, None)) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:943: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 3 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:286: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 3 pycode = next_instr = 0L ec = def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 3 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x01\x00d\x01\x00d\x00\x00l\x01\x00}\x02\x00|\x01\x00\xc9\x02\x00\xca\x00\x00\x01y\x10\x0...\xcb\x00\xcc\x18\x00|\x03\x00|\x02\x00\xc9\x03\x00\xca\x00\x00k\x02\x00s\xc8\x00t\t\x00\x82\x01\x00n\x00\x00d\x00\x00S' next_instr = 0L ec = def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 3 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x01\x00d\x01\x00d\x00\x00l\x01\x00}\x02\x00|\x01\x00\xc9\x02\x00\xca\x00\x00\x01y\x10\x0...\xcb\x00\xcc\x18\x00|\x03\x00|\x02\x00\xc9\x03\x00\xca\x00\x00k\x02\x00s\xc8\x00t\t\x00\x82\x01\x00n\x00\x00d\x00\x00S' next_instr = 30L ec = @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: self.last_instr = intmask(next_instr) if jit.we_are_jitted(): if self.debugdata: ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: ec.bytecode_trace(self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) next_instr += 1 if opcode >= HAVE_ARGUMENT: lo = ord(co_code[next_instr]) hi = ord(co_code[next_instr+1]) next_instr += 2 oparg = (hi * 256) | lo else: oparg = 0 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into a switch(). while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption lo = ord(co_code[next_instr+1]) hi = ord(co_code[next_instr+2]) next_instr += 3 oparg = (oparg * 65536) | (hi * 256) | lo if opcode == opcodedesc.RETURN_VALUE.index: if not self.blockstack_non_empty(): self.frame_finished_execution = True # for generators raise Return w_returnvalue = self.popvalue() block = self.unrollstack(SReturnValue.kind) if block is None: self.pushvalue(w_returnvalue) raise Return else: unroller = SReturnValue(w_returnvalue) next_instr = block.handle(self, unroller) return next_instr # now inside a 'finally' block elif opcode == opcodedesc.END_FINALLY.index: unroller = self.end_finally() if isinstance(unroller, SuspendedUnroller): # go on unrolling the stack block = self.unrollstack(unroller.kind) if block is None: w_result = unroller.nomoreblocks() self.pushvalue(w_result) raise Return else: next_instr = block.handle(self, unroller) return next_instr elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, ec) elif opcode == opcodedesc.BREAK_LOOP.index: next_instr = self.BREAK_LOOP(oparg, next_instr) elif opcode == opcodedesc.CONTINUE_LOOP.index: return self.CONTINUE_LOOP(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: next_instr = self.JUMP_IF_FALSE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_DEBUG.index: next_instr = self.JUMP_IF_NOT_DEBUG(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: next_instr = self.JUMP_IF_TRUE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: next_instr = self.POP_JUMP_IF_FALSE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: next_instr = self.POP_JUMP_IF_TRUE(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_DIVIDE.index: self.BINARY_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CLASS.index: self.BUILD_CLASS(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR.index: self.CALL_FUNCTION_VAR(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR_KW.index: self.CALL_FUNCTION_VAR_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: self.CALL_METHOD(oparg, next_instr) elif opcode == opcodedesc.COMPARE_OP.index: self.COMPARE_OP(oparg, next_instr) elif opcode == opcodedesc.DELETE_ATTR.index: self.DELETE_ATTR(oparg, next_instr) elif opcode == opcodedesc.DELETE_FAST.index: self.DELETE_FAST(oparg, next_instr) elif opcode == opcodedesc.DELETE_GLOBAL.index: self.DELETE_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.DELETE_NAME.index: self.DELETE_NAME(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_0.index: self.DELETE_SLICE_0(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_1.index: self.DELETE_SLICE_1(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_2.index: self.DELETE_SLICE_2(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_3.index: self.DELETE_SLICE_3(oparg, next_instr) elif opcode == opcodedesc.DELETE_SUBSCR.index: self.DELETE_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.DUP_TOP.index: self.DUP_TOP(oparg, next_instr) elif opcode == opcodedesc.DUP_TOPX.index: self.DUP_TOPX(oparg, next_instr) elif opcode == opcodedesc.EXEC_STMT.index: self.EXEC_STMT(oparg, next_instr) elif opcode == opcodedesc.GET_ITER.index: self.GET_ITER(oparg, next_instr) elif opcode == opcodedesc.IMPORT_FROM.index: self.IMPORT_FROM(oparg, next_instr) elif opcode == opcodedesc.IMPORT_NAME.index: self.IMPORT_NAME(oparg, next_instr) elif opcode == opcodedesc.IMPORT_STAR.index: self.IMPORT_STAR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_ADD.index: self.INPLACE_ADD(oparg, next_instr) elif opcode == opcodedesc.INPLACE_AND.index: self.INPLACE_AND(oparg, next_instr) elif opcode == opcodedesc.INPLACE_DIVIDE.index: self.INPLACE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_FLOOR_DIVIDE.index: self.INPLACE_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_LSHIFT.index: self.INPLACE_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MODULO.index: self.INPLACE_MODULO(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MULTIPLY.index: self.INPLACE_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.INPLACE_OR.index: self.INPLACE_OR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_POWER.index: self.INPLACE_POWER(oparg, next_instr) elif opcode == opcodedesc.INPLACE_RSHIFT.index: self.INPLACE_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_SUBTRACT.index: self.INPLACE_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_TRUE_DIVIDE.index: self.INPLACE_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_XOR.index: self.INPLACE_XOR(oparg, next_instr) elif opcode == opcodedesc.LIST_APPEND.index: self.LIST_APPEND(oparg, next_instr) elif opcode == opcodedesc.LOAD_ATTR.index: self.LOAD_ATTR(oparg, next_instr) elif opcode == opcodedesc.LOAD_CLOSURE.index: self.LOAD_CLOSURE(oparg, next_instr) elif opcode == opcodedesc.LOAD_CONST.index: self.LOAD_CONST(oparg, next_instr) elif opcode == opcodedesc.LOAD_DEREF.index: self.LOAD_DEREF(oparg, next_instr) elif opcode == opcodedesc.LOAD_FAST.index: self.LOAD_FAST(oparg, next_instr) elif opcode == opcodedesc.LOAD_GLOBAL.index: self.LOAD_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.LOAD_LOCALS.index: self.LOAD_LOCALS(oparg, next_instr) elif opcode == opcodedesc.LOAD_NAME.index: self.LOAD_NAME(oparg, next_instr) elif opcode == opcodedesc.LOOKUP_METHOD.index: > self.LOOKUP_METHOD(oparg, next_instr) interpreter/pyopcode.py:356: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = at line 3 nameindex = 2, ignored = (30L,) MutableCell = space = StdObjSpace w_obj = def LOOKUP_METHOD(f, nameindex, *ignored): from pypy.objspace.std.typeobject import MutableCell # stack before after # -------------- --fast-method----fallback-case------------ # # w_object None # w_object => w_function w_boundmethod_or_whatever # (more stuff) (more stuff) (more stuff) # space = f.space w_obj = f.popvalue() if not jit.we_are_jitted(): # mapdict has an extra-fast version of this function if LOOKUP_METHOD_mapdict(f, nameindex, w_obj): return w_name = f.getname_w(nameindex) w_value = None w_type = space.type(w_obj) if w_type.has_object_getattribute(): name = space.text_w(w_name) # bit of a mess to use these internal functions, but it allows the # mapdict caching below to work without an additional lookup version_tag = w_type.version_tag() if version_tag is None: _, w_descr = w_type._lookup_where(name) w_descr_cell = None else: _, w_descr_cell = w_type._pure_lookup_where_with_method_cache( name, version_tag) w_descr = w_descr_cell if isinstance(w_descr, MutableCell): w_descr = w_descr.unwrap_cell(space) if w_descr is None: # this handles directly the common case # module.function(args..) > w_value = w_obj.getdictvalue(space, name) objspace/std/callmethod.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def getdictvalue(self, space, name): w_value = space.finditem_str(self.w_dict, name) if self.lazy and w_value is None: > return self._load_lazily(space, name) interpreter/mixedmodule.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def _load_lazily(self, space, name): w_name = space.new_interned_str(name) try: loader = self.loaders[name] except KeyError: return None else: > w_value = loader(space) interpreter/mixedmodule.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace def ifileloader(space): d = {'space':space} # EVIL HACK (but it works, and this is not RPython :-) while 1: try: value = eval(spec, d) except NameError as ex: name = ex.args[0].split("'")[1] # super-Evil if name in d: raise # propagate the NameError try: > d[name] = __import__(pkgroot+'.'+name, None, None, [name]) interpreter/mixedmodule.py:182: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from pypy.interpreter.gateway import unwrap_spec from pypy.interpreter.error import oefmt from rpython.rlib import rgc > from pypy.module.gc.hook import W_GcCollectStepStats module/gc/interp_gc.py:4: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from rpython.memory.gc.hook import GcHooks > from rpython.memory.gc import incminimark module/gc/hook.py:2: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ # XXX Should find a way to bound the major collection threshold by the # XXX total addressable size. Maybe by keeping some minimarkpage arenas # XXX pre-reserved, enough for a few nursery collections? What about # XXX raw-malloced memory? # XXX try merging old_objects_pointing_to_pinned into # XXX old_objects_pointing_to_young (IRC 2014-10-22, fijal and gregor_w) import sys import os import time from rpython.rtyper.lltypesystem import lltype, llmemory, llarena, llgroup from rpython.rtyper.lltypesystem.lloperation import llop from rpython.rtyper.lltypesystem.llmemory import raw_malloc_usage from rpython.memory.gc.base import GCBase, MovingGCBase > from rpython.memory.gc import env E File "/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py", line 423 E SyntaxError: Non-ASCII character '\xe2' in file /build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py on line 423, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details ../rpython/memory/gc/incminimark.py:70: SyntaxError . pypy/module/_rawffi/test/test_exit.py::AppTestFfi::()::test_exit . pypy/module/_rawffi/test/test_nested.py::AppTestNested::()::test_inspect_structure . pypy/module/_rawffi/test/test_nested.py::AppTestNested::()::test_opaque_structure . pypy/module/_rawffi/test/test_nested.py::AppTestNested::()::test_nested_structures . pypy/module/_rawffi/test/test_nested.py::AppTestNested::()::test_array_of_structures . pypy/module/_rawffi/test/test_nested.py::AppTestNested::()::test_array_of_array . pypy/module/_rawffi/test/test_nested.py::AppTestNested::()::test_array_in_structures . pypy/module/_rawffi/test/test_struct.py::test_sizeof . pypy/module/_rawffi/test/test_struct.py::test_bitsizes . pypy/module/_rawffi/test/test_struct.py::test_bitsizes_longlong . pypy/module/_rawffi/test/test_tracker.py::AppTestTracker::()::test_array . pypy/module/_rawffi/test/test_tracker.py::AppTestTracker::()::test_structure . pypy/module/_rawffi/test/test_tracker.py::AppTestTracker::()::test_callback . pypy/module/_rawffi/test/test_ztranslation.py::test_checkmodule (somefailed=True in module/_rawffi/test) . pypy/module/_sha/test/test_sha.py::AppTestSHA::()::test_digest_size s pypy/module/_sha/test/test_sha.py::AppTestSHA::()::test_SHAType Skipped: no sha.SHAType on CPython . pypy/module/_sha/test/test_sha.py::AppTestSHA::()::test_shaobject . pypy/module/_sha/test/test_sha.py::AppTestSHA::()::test_copy . pypy/module/_sha/test/test_sha.py::AppTestSHA::()::test_buffer . pypy/module/_sha/test/test_sha.py::AppTestSHA::()::test_unicode . pypy/module/_multiprocessing/test/test_connection.py::TestImport::()::test_simple . pypy/module/_multiprocessing/test/test_connection.py::AppTestBufferTooShort::()::test_exception s pypy/module/_multiprocessing/test/test_connection.py::AppTestWinpipeConnection::()::test_connection Skipped: win32 only s pypy/module/_multiprocessing/test/test_connection.py::AppTestWinpipeConnection::()::test_poll Skipped: win32 only s pypy/module/_multiprocessing/test/test_connection.py::AppTestWinpipeConnection::()::test_read_into Skipped: win32 only . pypy/module/_multiprocessing/test/test_connection.py::AppTestSocketConnection::()::test_connection . pypy/module/_multiprocessing/test/test_connection.py::AppTestSocketConnection::()::test_poll . pypy/module/_multiprocessing/test/test_connection.py::AppTestSocketConnection::()::test_read_into . pypy/module/_multiprocessing/test/test_connection.py::AppTestSocketConnection::()::test_bad_fd . pypy/module/_multiprocessing/test/test_connection.py::AppTestSocketConnection::()::test_byte_order . pypy/module/_multiprocessing/test/test_connection.py::AppTestSocketConnection::()::test_repr . pypy/module/_multiprocessing/test/test_interp_semaphore.py::test_semlock_release[spaceconfig0] . pypy/module/_multiprocessing/test/test_memory.py::AppTestMemory::()::test_address_of . pypy/module/_multiprocessing/test/test_memory.py::AppTestMemory::()::test_mmap_address . pypy/module/_multiprocessing/test/test_semaphore.py::AppTestSemaphore::()::test_semaphore_basic . pypy/module/_multiprocessing/test/test_semaphore.py::AppTestSemaphore::()::test_recursive . pypy/module/_multiprocessing/test/test_semaphore.py::AppTestSemaphore::()::test_semaphore_maxvalue . pypy/module/_multiprocessing/test/test_semaphore.py::AppTestSemaphore::()::test_semaphore_wait . pypy/module/_multiprocessing/test/test_semaphore.py::AppTestSemaphore::()::test_semaphore_rebuild . pypy/module/_multiprocessing/test/test_semaphore.py::AppTestSemaphore::()::test_semaphore_contextmanager . pypy/module/_multiprocessing/test/test_semaphore.py::AppTestSemaphore::()::test_in_threads s pypy/module/_multiprocessing/test/test_win32.py::AppTestWin32::()::test_CreateFile Skipped: condition: sys.platform != "win32" s pypy/module/_multiprocessing/test/test_win32.py::AppTestWin32::()::test_pipe Skipped: condition: sys.platform != "win32" . pypy/module/_multiprocessing/test/test_ztranslation.py::test_checkmodule . pypy/module/_file/test/test_file.py::AppTestFile::()::test_simple . pypy/module/_file/test/test_file.py::AppTestFile::()::test_readline . pypy/module/_file/test/test_file.py::AppTestFile::()::test_readlines . pypy/module/_file/test/test_file.py::AppTestFile::()::test_fdopen . pypy/module/_file/test/test_file.py::AppTestFile::()::test_badmode . pypy/module/_file/test/test_file.py::AppTestFile::()::test_wraposerror . pypy/module/_file/test/test_file.py::AppTestFile::()::test_correct_file_mode . pypy/module/_file/test/test_file.py::AppTestFile::()::test_newlines . pypy/module/_file/test/test_file.py::AppTestFile::()::test_unicode . pypy/module/_file/test/test_file.py::AppTestFile::()::test_unicode_filename . pypy/module/_file/test/test_file.py::AppTestFile::()::test_oserror_has_filename . pypy/module/_file/test/test_file.py::AppTestFile::()::test_readline_mixed_with_read . pypy/module/_file/test/test_file.py::AppTestFile::()::test_invalid_modes . pypy/module/_file/test/test_file.py::AppTestFile::()::test_write_resets_softspace . pypy/module/_file/test/test_file.py::AppTestFile::()::test_open_dir . pypy/module/_file/test/test_file.py::AppTestFile::()::test_encoding_errors . pypy/module/_file/test/test_file.py::AppTestFile::()::test_exception_from_close F pypy/module/_file/test/test_file.py::AppTestFile::()::test_exception_from_del self = func = at 0xf5b56534>, 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, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 0xf7a1532c> hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf69b24cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf69b24cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf4c98d4c> 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 0xf4c98d4c> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf4c9810c> 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 0xf4c9810c> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def runtest(self): target = self.obj if self.config.option.runappdirect: return target() space = target.im_self.space filename = self._getdynfilename(target) func = app2interp_temp(target.im_func, filename=filename) w_instance = self.parent.w_instance > self.execute_appex(space, func, space, w_instance) tool/pytest/apptest.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , space = StdObjSpace target = args = (StdObjSpace, ) def execute_appex(self, space, target, *args): self.space = space try: > target(*args) tool/pytest/apptest.py:30: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace args_w = (,) w_func = args = def appcaller(space, *args_w): if not isinstance(space, ObjSpace): raise TypeError("first argument must be a space instance.") # the last argument can be an Arguments w_func = self.wget(space, name) if not args_w: return space.call_function(w_func) else: args = args_w[-1] assert args is not None if not isinstance(args, Arguments): > return space.call_function(w_func, *args_w) interpreter/gateway.py:1227: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = args_w = (,) nargs = 1, Function = Method = def call_function(self, w_func, *args_w): nargs = len(args_w) # used for pruning funccall versions if not self.config.objspace.disable_call_speedhacks and nargs < 5: # start of hack for performance from pypy.interpreter.function import Function, Method if isinstance(w_func, Method): w_inst = w_func.w_instance if w_inst is not None: if nargs < 4: func = w_func.w_function if isinstance(func, Function): return func.funccall(w_inst, *args_w) elif args_w and ( self.abstract_isinstance_w(args_w[0], w_func.w_class)): w_func = w_func.w_function if isinstance(w_func, Function): > return w_func.funccall(*args_w) interpreter/baseobjspace.py:1210: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = args_w = (,) gateway = PyCode = code = def funccall(self, *args_w): # speed hack from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit nargs = len(args_w) fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, args_w[0]) elif nargs == 2: assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, args_w[0], args_w[1]) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) return code.fastcall_3(self.space, self, args_w[0], args_w[1], args_w[2]) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) return code.fastcall_4(self.space, self, args_w[0], args_w[1], args_w[2], args_w[3]) elif (nargs | PyCode.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) if nargs < 5: new_frame = self.space.createframe(code, self.w_func_globals, self) for i in funccallunrolling: if i < nargs: new_frame.locals_cells_stack_w[i] = args_w[i] > return new_frame.run() interpreter/function.py:118: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 10 def run(self): """Start this frame's execution.""" if self.getcode().co_flags & pycode.CO_GENERATOR: from pypy.interpreter.generator import GeneratorIterator return GeneratorIterator(self) else: > return self.execute_frame() interpreter/pyframe.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 10 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:290: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 10 e = SyntaxError("Non-ASCII character '\\xe2' in file /build_dir/own-linux-x86-32/b..., ('/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py', 423, 0, None)) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:943: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 10 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:286: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 10 pycode = next_instr = 0L ec = def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 10 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x01\x00d\x01\x00d\x00\x00l\x01\x00}\x02\x00d\x01\x00d\x00\x00l\x02\x00}\x03\x00d\x01\x00...00\x00j\x05\x00\x83\x01\x00|\x06\x00\xc9\x0e\x00\xca\x00\x00k\x06\x00s\xfa\x00t\x0f\x00\x82\x01\x00n\x00\x00d\x00\x00S' next_instr = 0L ec = def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 10 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x01\x00d\x01\x00d\x00\x00l\x01\x00}\x02\x00d\x01\x00d\x00\x00l\x02\x00}\x03\x00d\x01\x00...00\x00j\x05\x00\x83\x01\x00|\x06\x00\xc9\x0e\x00\xca\x00\x00k\x06\x00s\xfa\x00t\x0f\x00\x82\x01\x00n\x00\x00d\x00\x00S' next_instr = 130L ec = @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: self.last_instr = intmask(next_instr) if jit.we_are_jitted(): if self.debugdata: ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: ec.bytecode_trace(self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) next_instr += 1 if opcode >= HAVE_ARGUMENT: lo = ord(co_code[next_instr]) hi = ord(co_code[next_instr+1]) next_instr += 2 oparg = (hi * 256) | lo else: oparg = 0 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into a switch(). while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption lo = ord(co_code[next_instr+1]) hi = ord(co_code[next_instr+2]) next_instr += 3 oparg = (oparg * 65536) | (hi * 256) | lo if opcode == opcodedesc.RETURN_VALUE.index: if not self.blockstack_non_empty(): self.frame_finished_execution = True # for generators raise Return w_returnvalue = self.popvalue() block = self.unrollstack(SReturnValue.kind) if block is None: self.pushvalue(w_returnvalue) raise Return else: unroller = SReturnValue(w_returnvalue) next_instr = block.handle(self, unroller) return next_instr # now inside a 'finally' block elif opcode == opcodedesc.END_FINALLY.index: unroller = self.end_finally() if isinstance(unroller, SuspendedUnroller): # go on unrolling the stack block = self.unrollstack(unroller.kind) if block is None: w_result = unroller.nomoreblocks() self.pushvalue(w_result) raise Return else: next_instr = block.handle(self, unroller) return next_instr elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, ec) elif opcode == opcodedesc.BREAK_LOOP.index: next_instr = self.BREAK_LOOP(oparg, next_instr) elif opcode == opcodedesc.CONTINUE_LOOP.index: return self.CONTINUE_LOOP(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: next_instr = self.JUMP_IF_FALSE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_DEBUG.index: next_instr = self.JUMP_IF_NOT_DEBUG(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: next_instr = self.JUMP_IF_TRUE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: next_instr = self.POP_JUMP_IF_FALSE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: next_instr = self.POP_JUMP_IF_TRUE(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_DIVIDE.index: self.BINARY_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CLASS.index: self.BUILD_CLASS(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR.index: self.CALL_FUNCTION_VAR(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR_KW.index: self.CALL_FUNCTION_VAR_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: self.CALL_METHOD(oparg, next_instr) elif opcode == opcodedesc.COMPARE_OP.index: self.COMPARE_OP(oparg, next_instr) elif opcode == opcodedesc.DELETE_ATTR.index: self.DELETE_ATTR(oparg, next_instr) elif opcode == opcodedesc.DELETE_FAST.index: self.DELETE_FAST(oparg, next_instr) elif opcode == opcodedesc.DELETE_GLOBAL.index: self.DELETE_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.DELETE_NAME.index: self.DELETE_NAME(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_0.index: self.DELETE_SLICE_0(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_1.index: self.DELETE_SLICE_1(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_2.index: self.DELETE_SLICE_2(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_3.index: self.DELETE_SLICE_3(oparg, next_instr) elif opcode == opcodedesc.DELETE_SUBSCR.index: self.DELETE_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.DUP_TOP.index: self.DUP_TOP(oparg, next_instr) elif opcode == opcodedesc.DUP_TOPX.index: self.DUP_TOPX(oparg, next_instr) elif opcode == opcodedesc.EXEC_STMT.index: self.EXEC_STMT(oparg, next_instr) elif opcode == opcodedesc.GET_ITER.index: self.GET_ITER(oparg, next_instr) elif opcode == opcodedesc.IMPORT_FROM.index: self.IMPORT_FROM(oparg, next_instr) elif opcode == opcodedesc.IMPORT_NAME.index: self.IMPORT_NAME(oparg, next_instr) elif opcode == opcodedesc.IMPORT_STAR.index: self.IMPORT_STAR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_ADD.index: self.INPLACE_ADD(oparg, next_instr) elif opcode == opcodedesc.INPLACE_AND.index: self.INPLACE_AND(oparg, next_instr) elif opcode == opcodedesc.INPLACE_DIVIDE.index: self.INPLACE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_FLOOR_DIVIDE.index: self.INPLACE_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_LSHIFT.index: self.INPLACE_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MODULO.index: self.INPLACE_MODULO(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MULTIPLY.index: self.INPLACE_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.INPLACE_OR.index: self.INPLACE_OR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_POWER.index: self.INPLACE_POWER(oparg, next_instr) elif opcode == opcodedesc.INPLACE_RSHIFT.index: self.INPLACE_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_SUBTRACT.index: self.INPLACE_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_TRUE_DIVIDE.index: self.INPLACE_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_XOR.index: self.INPLACE_XOR(oparg, next_instr) elif opcode == opcodedesc.LIST_APPEND.index: self.LIST_APPEND(oparg, next_instr) elif opcode == opcodedesc.LOAD_ATTR.index: self.LOAD_ATTR(oparg, next_instr) elif opcode == opcodedesc.LOAD_CLOSURE.index: self.LOAD_CLOSURE(oparg, next_instr) elif opcode == opcodedesc.LOAD_CONST.index: self.LOAD_CONST(oparg, next_instr) elif opcode == opcodedesc.LOAD_DEREF.index: self.LOAD_DEREF(oparg, next_instr) elif opcode == opcodedesc.LOAD_FAST.index: self.LOAD_FAST(oparg, next_instr) elif opcode == opcodedesc.LOAD_GLOBAL.index: self.LOAD_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.LOAD_LOCALS.index: self.LOAD_LOCALS(oparg, next_instr) elif opcode == opcodedesc.LOAD_NAME.index: self.LOAD_NAME(oparg, next_instr) elif opcode == opcodedesc.LOOKUP_METHOD.index: > self.LOOKUP_METHOD(oparg, next_instr) interpreter/pyopcode.py:356: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = at line 10 nameindex = 10, ignored = (130L,) MutableCell = space = StdObjSpace w_obj = def LOOKUP_METHOD(f, nameindex, *ignored): from pypy.objspace.std.typeobject import MutableCell # stack before after # -------------- --fast-method----fallback-case------------ # # w_object None # w_object => w_function w_boundmethod_or_whatever # (more stuff) (more stuff) (more stuff) # space = f.space w_obj = f.popvalue() if not jit.we_are_jitted(): # mapdict has an extra-fast version of this function if LOOKUP_METHOD_mapdict(f, nameindex, w_obj): return w_name = f.getname_w(nameindex) w_value = None w_type = space.type(w_obj) if w_type.has_object_getattribute(): name = space.text_w(w_name) # bit of a mess to use these internal functions, but it allows the # mapdict caching below to work without an additional lookup version_tag = w_type.version_tag() if version_tag is None: _, w_descr = w_type._lookup_where(name) w_descr_cell = None else: _, w_descr_cell = w_type._pure_lookup_where_with_method_cache( name, version_tag) w_descr = w_descr_cell if isinstance(w_descr, MutableCell): w_descr = w_descr.unwrap_cell(space) if w_descr is None: # this handles directly the common case # module.function(args..) > w_value = w_obj.getdictvalue(space, name) objspace/std/callmethod.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def getdictvalue(self, space, name): w_value = space.finditem_str(self.w_dict, name) if self.lazy and w_value is None: > return self._load_lazily(space, name) interpreter/mixedmodule.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def _load_lazily(self, space, name): w_name = space.new_interned_str(name) try: loader = self.loaders[name] except KeyError: return None else: > w_value = loader(space) interpreter/mixedmodule.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace def ifileloader(space): d = {'space':space} # EVIL HACK (but it works, and this is not RPython :-) while 1: try: value = eval(spec, d) except NameError as ex: name = ex.args[0].split("'")[1] # super-Evil if name in d: raise # propagate the NameError try: > d[name] = __import__(pkgroot+'.'+name, None, None, [name]) interpreter/mixedmodule.py:182: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from pypy.interpreter.gateway import unwrap_spec from pypy.interpreter.error import oefmt from rpython.rlib import rgc > from pypy.module.gc.hook import W_GcCollectStepStats module/gc/interp_gc.py:4: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from rpython.memory.gc.hook import GcHooks > from rpython.memory.gc import incminimark module/gc/hook.py:2: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ # XXX Should find a way to bound the major collection threshold by the # XXX total addressable size. Maybe by keeping some minimarkpage arenas # XXX pre-reserved, enough for a few nursery collections? What about # XXX raw-malloced memory? # XXX try merging old_objects_pointing_to_pinned into # XXX old_objects_pointing_to_young (IRC 2014-10-22, fijal and gregor_w) import sys import os import time from rpython.rtyper.lltypesystem import lltype, llmemory, llarena, llgroup from rpython.rtyper.lltypesystem.lloperation import llop from rpython.rtyper.lltypesystem.llmemory import raw_malloc_usage from rpython.memory.gc.base import GCBase, MovingGCBase > from rpython.memory.gc import env E File "/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py", line 423 E SyntaxError: Non-ASCII character '\xe2' in file /build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py on line 423, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details ../rpython/memory/gc/incminimark.py:70: SyntaxError F pypy/module/_file/test/test_file.py::AppTestFile::()::test_track_resources self = func = at 0xf4c74a74>, 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, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 0xf7a1532c> hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf69b24cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf69b24cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf4f41d8c> 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 0xf4f41d8c> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf4e60e6c> 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 0xf4e60e6c> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def runtest(self): target = self.obj if self.config.option.runappdirect: return target() space = target.im_self.space filename = self._getdynfilename(target) func = app2interp_temp(target.im_func, filename=filename) w_instance = self.parent.w_instance > self.execute_appex(space, func, space, w_instance) tool/pytest/apptest.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , space = StdObjSpace target = args = (StdObjSpace, ) def execute_appex(self, space, target, *args): self.space = space try: > target(*args) tool/pytest/apptest.py:30: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace args_w = (,) w_func = args = def appcaller(space, *args_w): if not isinstance(space, ObjSpace): raise TypeError("first argument must be a space instance.") # the last argument can be an Arguments w_func = self.wget(space, name) if not args_w: return space.call_function(w_func) else: args = args_w[-1] assert args is not None if not isinstance(args, Arguments): > return space.call_function(w_func, *args_w) interpreter/gateway.py:1227: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = args_w = (,) nargs = 1, Function = Method = def call_function(self, w_func, *args_w): nargs = len(args_w) # used for pruning funccall versions if not self.config.objspace.disable_call_speedhacks and nargs < 5: # start of hack for performance from pypy.interpreter.function import Function, Method if isinstance(w_func, Method): w_inst = w_func.w_instance if w_inst is not None: if nargs < 4: func = w_func.w_function if isinstance(func, Function): return func.funccall(w_inst, *args_w) elif args_w and ( self.abstract_isinstance_w(args_w[0], w_func.w_class)): w_func = w_func.w_function if isinstance(w_func, Function): > return w_func.funccall(*args_w) interpreter/baseobjspace.py:1210: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = args_w = (,) gateway = PyCode = code = def funccall(self, *args_w): # speed hack from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit nargs = len(args_w) fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, args_w[0]) elif nargs == 2: assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, args_w[0], args_w[1]) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) return code.fastcall_3(self.space, self, args_w[0], args_w[1], args_w[2]) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) return code.fastcall_4(self.space, self, args_w[0], args_w[1], args_w[2], args_w[3]) elif (nargs | PyCode.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) if nargs < 5: new_frame = self.space.createframe(code, self.w_func_globals, self) for i in funccallunrolling: if i < nargs: new_frame.locals_cells_stack_w[i] = args_w[i] return new_frame.run() elif nargs >= 1 and fast_natural_arity == Code.PASSTHROUGHARGS1: assert isinstance(code, gateway.BuiltinCodePassThroughArguments1) return code.funcrun_obj(self, args_w[0], Arguments(self.space, list(args_w[1:]))) > return self.call_args(Arguments(self.space, list(args_w))) interpreter/function.py:124: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = args = Arguments([]) def call_args(self, args): # delegate activation to code > w_res = self.getcode().funcrun(self, args) interpreter/function.py:68: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = func = args = Arguments([]) def funcrun(self, func, args): frame = self.space.createframe(self, func.w_func_globals, func) sig = self._signature # speed hack fresh_frame = jit.hint(frame, access_directly=True, fresh_virtualizable=True) args.parse_into_scope(None, fresh_frame.locals_cells_stack_w, func.name, sig, func.defs_w) fresh_frame.init_cells() > return frame.run() interpreter/pycode.py:223: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 23 def run(self): """Start this frame's execution.""" if self.getcode().co_flags & pycode.CO_GENERATOR: from pypy.interpreter.generator import GeneratorIterator return GeneratorIterator(self) else: > return self.execute_frame() interpreter/pyframe.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 23 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:290: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 23 e = SyntaxError("Non-ASCII character '\\xe2' in file /build_dir/own-linux-x86-32/b..., ('/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py', 423, 0, None)) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:943: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 23 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:286: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 23 pycode = next_instr = 0L ec = def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 23 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x01\x00d\x01\x00d\x00\x00l\x01\x00\x89\x01\x00d\x01\x00d\x00\x00l\x02\x00\x89\x03\x00d\x...xca\x02\x00s\xfd\x00t\x07\x00\x82\x01\x00\xcc\x12\x00d\t\x00|\x03\x00k\x07\x00s\x12\x01t\x07\x00\x82\x01\x00d\x00\x00S' next_instr = 0L ec = def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 23 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x01\x00d\x01\x00d\x00\x00l\x01\x00\x89\x01\x00d\x01\x00d\x00\x00l\x02\x00\x89\x03\x00d\x...xca\x02\x00s\xfd\x00t\x07\x00\x82\x01\x00\xcc\x12\x00d\t\x00|\x03\x00k\x07\x00s\x12\x01t\x07\x00\x82\x01\x00d\x00\x00S' next_instr = 118L ec = @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: self.last_instr = intmask(next_instr) if jit.we_are_jitted(): if self.debugdata: ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: ec.bytecode_trace(self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) next_instr += 1 if opcode >= HAVE_ARGUMENT: lo = ord(co_code[next_instr]) hi = ord(co_code[next_instr+1]) next_instr += 2 oparg = (hi * 256) | lo else: oparg = 0 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into a switch(). while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption lo = ord(co_code[next_instr+1]) hi = ord(co_code[next_instr+2]) next_instr += 3 oparg = (oparg * 65536) | (hi * 256) | lo if opcode == opcodedesc.RETURN_VALUE.index: if not self.blockstack_non_empty(): self.frame_finished_execution = True # for generators raise Return w_returnvalue = self.popvalue() block = self.unrollstack(SReturnValue.kind) if block is None: self.pushvalue(w_returnvalue) raise Return else: unroller = SReturnValue(w_returnvalue) next_instr = block.handle(self, unroller) return next_instr # now inside a 'finally' block elif opcode == opcodedesc.END_FINALLY.index: unroller = self.end_finally() if isinstance(unroller, SuspendedUnroller): # go on unrolling the stack block = self.unrollstack(unroller.kind) if block is None: w_result = unroller.nomoreblocks() self.pushvalue(w_result) raise Return else: next_instr = block.handle(self, unroller) return next_instr elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, ec) elif opcode == opcodedesc.BREAK_LOOP.index: next_instr = self.BREAK_LOOP(oparg, next_instr) elif opcode == opcodedesc.CONTINUE_LOOP.index: return self.CONTINUE_LOOP(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: next_instr = self.JUMP_IF_FALSE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_DEBUG.index: next_instr = self.JUMP_IF_NOT_DEBUG(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: next_instr = self.JUMP_IF_TRUE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: next_instr = self.POP_JUMP_IF_FALSE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: next_instr = self.POP_JUMP_IF_TRUE(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_DIVIDE.index: self.BINARY_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CLASS.index: self.BUILD_CLASS(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: > self.CALL_FUNCTION(oparg, next_instr) interpreter/pyopcode.py:268: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 23 oparg = 2, next_instr = 118L def CALL_FUNCTION(self, oparg, next_instr): # XXX start of hack for performance if (oparg >> 8) & 0xff == 0: # Only positional arguments nargs = oparg & 0xff w_function = self.peekvalue(nargs) > w_result = self.space.call_valuestack(w_function, nargs, self, dropvalues=nargs+1) interpreter/pyopcode.py:1233: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = , nargs = 2 frame = at line 23 dropvalues = 3, methodcall = False def call_valuestack(self, w_func, nargs, frame, dropvalues, methodcall=False): # methodcall is only used for better error messages in argument.py from pypy.interpreter.function import Function, Method, is_builtin_code if frame.get_is_being_profiled() and is_builtin_code(w_func): # XXX: this code is copied&pasted :-( from the slow path below # call_valuestack(). args = frame.make_arguments(nargs) frame.dropvalues(dropvalues) return self.call_args_and_c_profile(frame, w_func, args) if not self.config.objspace.disable_call_speedhacks: # start of hack for performance if isinstance(w_func, Method): w_inst = w_func.w_instance if w_inst is not None: w_func = w_func.w_function # reuse callable stack place for w_inst frame.settopvalue(w_inst, nargs) nargs += 1 methodcall = True elif nargs > 0 and ( self.abstract_isinstance_w(frame.peekvalue(nargs-1), # :-( w_func.w_class)): w_func = w_func.w_function if isinstance(w_func, Function): return w_func.funccall_valuestack( > nargs, frame, methodcall=methodcall, dropvalues=dropvalues) interpreter/baseobjspace.py:1243: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , nargs = 2 frame = at line 23 dropvalues = 3, methodcall = False def funccall_valuestack(self, nargs, frame, dropvalues, methodcall=False): # speed hack # methodcall is only for better error messages from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit # if (jit.we_are_jitted() and code is self.space._code_of_sys_exc_info and nargs == 0): frame.dropvalues(dropvalues) from pypy.module.sys.vm import exc_info_direct return exc_info_direct(self.space, frame) # fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: f_0 = frame.peekvalue(0) frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, f_0) elif nargs == 2: f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, f_1, f_0) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) f_2 = frame.peekvalue(2) frame.dropvalues(dropvalues) return code.fastcall_3(self.space, self, f_2, f_1, f_0) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) f_2 = frame.peekvalue(2) f_3 = frame.peekvalue(3) frame.dropvalues(dropvalues) return code.fastcall_4(self.space, self, f_3, f_2, f_1, f_0) elif (nargs | Code.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) return self._flat_pycall(code, nargs, frame, dropvalues) elif fast_natural_arity & Code.FLATPYCALL: natural_arity = fast_natural_arity & 0xff if natural_arity > nargs >= natural_arity - len(self.defs_w): assert isinstance(code, PyCode) return self._flat_pycall_defaults(code, nargs, frame, > natural_arity - nargs, dropvalues) interpreter/function.py:180: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = code = nargs = 2 frame = at line 23 defs_to_load = 1, dropvalues = 3 @jit.unroll_safe def _flat_pycall_defaults(self, code, nargs, frame, defs_to_load, dropvalues): # code is a PyCode new_frame = self.space.createframe(code, self.w_func_globals, self) for i in xrange(nargs): new_frame.locals_cells_stack_w[i] = frame.peekvalue(nargs-1-i) ndefs = len(self.defs_w) start = ndefs - defs_to_load i = nargs for j in xrange(start, ndefs): new_frame.locals_cells_stack_w[i] = self.defs_w[j] i += 1 frame.dropvalues(dropvalues) > return new_frame.run() interpreter/function.py:218: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 16 def run(self): """Start this frame's execution.""" if self.getcode().co_flags & pycode.CO_GENERATOR: from pypy.interpreter.generator import GeneratorIterator return GeneratorIterator(self) else: > return self.execute_frame() interpreter/pyframe.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 16 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:290: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 16 e = SyntaxError("Non-ASCII character '\\xe2' in file /build_dir/own-linux-x86-32/b..., ('/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py', 423, 0, None)) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:943: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 16 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:286: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 16 pycode = next_instr = 0L ec = def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 16 co_code = '\x88\x03\x00\xc9\x00\x00|\x00\x00\xca\x01\x00\x01\x88\x02\x00\xc9\x01\x00\x88\x02\x00j\x02\x00d\x01\x00\xca\x02\x00}\...\x00|\x05\x00\x88\x03\x00_\x04\x00\x88\x03\x00\xc9\x00\x00t\x07\x00\xca\x01\x00\x01X|\x04\x00\xc9\x08\x00\xca\x00\x00S' next_instr = 0L ec = def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 16 co_code = '\x88\x03\x00\xc9\x00\x00|\x00\x00\xca\x01\x00\x01\x88\x02\x00\xc9\x01\x00\x88\x02\x00j\x02\x00d\x01\x00\xca\x02\x00}\...\x00|\x05\x00\x88\x03\x00_\x04\x00\x88\x03\x00\xc9\x00\x00t\x07\x00\xca\x01\x00\x01X|\x04\x00\xc9\x08\x00\xca\x00\x00S' next_instr = 108L ec = @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: self.last_instr = intmask(next_instr) if jit.we_are_jitted(): if self.debugdata: ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: ec.bytecode_trace(self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) next_instr += 1 if opcode >= HAVE_ARGUMENT: lo = ord(co_code[next_instr]) hi = ord(co_code[next_instr+1]) next_instr += 2 oparg = (hi * 256) | lo else: oparg = 0 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into a switch(). while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption lo = ord(co_code[next_instr+1]) hi = ord(co_code[next_instr+2]) next_instr += 3 oparg = (oparg * 65536) | (hi * 256) | lo if opcode == opcodedesc.RETURN_VALUE.index: if not self.blockstack_non_empty(): self.frame_finished_execution = True # for generators raise Return w_returnvalue = self.popvalue() block = self.unrollstack(SReturnValue.kind) if block is None: self.pushvalue(w_returnvalue) raise Return else: unroller = SReturnValue(w_returnvalue) next_instr = block.handle(self, unroller) return next_instr # now inside a 'finally' block elif opcode == opcodedesc.END_FINALLY.index: unroller = self.end_finally() if isinstance(unroller, SuspendedUnroller): # go on unrolling the stack block = self.unrollstack(unroller.kind) if block is None: w_result = unroller.nomoreblocks() self.pushvalue(w_result) raise Return else: next_instr = block.handle(self, unroller) return next_instr elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, ec) elif opcode == opcodedesc.BREAK_LOOP.index: next_instr = self.BREAK_LOOP(oparg, next_instr) elif opcode == opcodedesc.CONTINUE_LOOP.index: return self.CONTINUE_LOOP(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: next_instr = self.JUMP_IF_FALSE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_DEBUG.index: next_instr = self.JUMP_IF_NOT_DEBUG(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: next_instr = self.JUMP_IF_TRUE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: next_instr = self.POP_JUMP_IF_FALSE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: next_instr = self.POP_JUMP_IF_TRUE(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_DIVIDE.index: self.BINARY_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CLASS.index: self.BUILD_CLASS(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR.index: self.CALL_FUNCTION_VAR(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR_KW.index: self.CALL_FUNCTION_VAR_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: self.CALL_METHOD(oparg, next_instr) elif opcode == opcodedesc.COMPARE_OP.index: self.COMPARE_OP(oparg, next_instr) elif opcode == opcodedesc.DELETE_ATTR.index: self.DELETE_ATTR(oparg, next_instr) elif opcode == opcodedesc.DELETE_FAST.index: self.DELETE_FAST(oparg, next_instr) elif opcode == opcodedesc.DELETE_GLOBAL.index: self.DELETE_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.DELETE_NAME.index: self.DELETE_NAME(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_0.index: self.DELETE_SLICE_0(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_1.index: self.DELETE_SLICE_1(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_2.index: self.DELETE_SLICE_2(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_3.index: self.DELETE_SLICE_3(oparg, next_instr) elif opcode == opcodedesc.DELETE_SUBSCR.index: self.DELETE_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.DUP_TOP.index: self.DUP_TOP(oparg, next_instr) elif opcode == opcodedesc.DUP_TOPX.index: self.DUP_TOPX(oparg, next_instr) elif opcode == opcodedesc.EXEC_STMT.index: self.EXEC_STMT(oparg, next_instr) elif opcode == opcodedesc.GET_ITER.index: self.GET_ITER(oparg, next_instr) elif opcode == opcodedesc.IMPORT_FROM.index: self.IMPORT_FROM(oparg, next_instr) elif opcode == opcodedesc.IMPORT_NAME.index: self.IMPORT_NAME(oparg, next_instr) elif opcode == opcodedesc.IMPORT_STAR.index: self.IMPORT_STAR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_ADD.index: self.INPLACE_ADD(oparg, next_instr) elif opcode == opcodedesc.INPLACE_AND.index: self.INPLACE_AND(oparg, next_instr) elif opcode == opcodedesc.INPLACE_DIVIDE.index: self.INPLACE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_FLOOR_DIVIDE.index: self.INPLACE_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_LSHIFT.index: self.INPLACE_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MODULO.index: self.INPLACE_MODULO(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MULTIPLY.index: self.INPLACE_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.INPLACE_OR.index: self.INPLACE_OR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_POWER.index: self.INPLACE_POWER(oparg, next_instr) elif opcode == opcodedesc.INPLACE_RSHIFT.index: self.INPLACE_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_SUBTRACT.index: self.INPLACE_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_TRUE_DIVIDE.index: self.INPLACE_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_XOR.index: self.INPLACE_XOR(oparg, next_instr) elif opcode == opcodedesc.LIST_APPEND.index: self.LIST_APPEND(oparg, next_instr) elif opcode == opcodedesc.LOAD_ATTR.index: self.LOAD_ATTR(oparg, next_instr) elif opcode == opcodedesc.LOAD_CLOSURE.index: self.LOAD_CLOSURE(oparg, next_instr) elif opcode == opcodedesc.LOAD_CONST.index: self.LOAD_CONST(oparg, next_instr) elif opcode == opcodedesc.LOAD_DEREF.index: self.LOAD_DEREF(oparg, next_instr) elif opcode == opcodedesc.LOAD_FAST.index: self.LOAD_FAST(oparg, next_instr) elif opcode == opcodedesc.LOAD_GLOBAL.index: self.LOAD_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.LOAD_LOCALS.index: self.LOAD_LOCALS(oparg, next_instr) elif opcode == opcodedesc.LOAD_NAME.index: self.LOAD_NAME(oparg, next_instr) elif opcode == opcodedesc.LOOKUP_METHOD.index: > self.LOOKUP_METHOD(oparg, next_instr) interpreter/pyopcode.py:356: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = at line 16 nameindex = 6, ignored = (108L,) MutableCell = space = StdObjSpace w_obj = def LOOKUP_METHOD(f, nameindex, *ignored): from pypy.objspace.std.typeobject import MutableCell # stack before after # -------------- --fast-method----fallback-case------------ # # w_object None # w_object => w_function w_boundmethod_or_whatever # (more stuff) (more stuff) (more stuff) # space = f.space w_obj = f.popvalue() if not jit.we_are_jitted(): # mapdict has an extra-fast version of this function if LOOKUP_METHOD_mapdict(f, nameindex, w_obj): return w_name = f.getname_w(nameindex) w_value = None w_type = space.type(w_obj) if w_type.has_object_getattribute(): name = space.text_w(w_name) # bit of a mess to use these internal functions, but it allows the # mapdict caching below to work without an additional lookup version_tag = w_type.version_tag() if version_tag is None: _, w_descr = w_type._lookup_where(name) w_descr_cell = None else: _, w_descr_cell = w_type._pure_lookup_where_with_method_cache( name, version_tag) w_descr = w_descr_cell if isinstance(w_descr, MutableCell): w_descr = w_descr.unwrap_cell(space) if w_descr is None: # this handles directly the common case # module.function(args..) > w_value = w_obj.getdictvalue(space, name) objspace/std/callmethod.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def getdictvalue(self, space, name): w_value = space.finditem_str(self.w_dict, name) if self.lazy and w_value is None: > return self._load_lazily(space, name) interpreter/mixedmodule.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def _load_lazily(self, space, name): w_name = space.new_interned_str(name) try: loader = self.loaders[name] except KeyError: return None else: > w_value = loader(space) interpreter/mixedmodule.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace def ifileloader(space): d = {'space':space} # EVIL HACK (but it works, and this is not RPython :-) while 1: try: value = eval(spec, d) except NameError as ex: name = ex.args[0].split("'")[1] # super-Evil if name in d: raise # propagate the NameError try: > d[name] = __import__(pkgroot+'.'+name, None, None, [name]) interpreter/mixedmodule.py:182: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from pypy.interpreter.gateway import unwrap_spec from pypy.interpreter.error import oefmt from rpython.rlib import rgc > from pypy.module.gc.hook import W_GcCollectStepStats module/gc/interp_gc.py:4: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from rpython.memory.gc.hook import GcHooks > from rpython.memory.gc import incminimark module/gc/hook.py:2: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ # XXX Should find a way to bound the major collection threshold by the # XXX total addressable size. Maybe by keeping some minimarkpage arenas # XXX pre-reserved, enough for a few nursery collections? What about # XXX raw-malloced memory? # XXX try merging old_objects_pointing_to_pinned into # XXX old_objects_pointing_to_young (IRC 2014-10-22, fijal and gregor_w) import sys import os import time from rpython.rtyper.lltypesystem import lltype, llmemory, llarena, llgroup from rpython.rtyper.lltypesystem.lloperation import llop from rpython.rtyper.lltypesystem.llmemory import raw_malloc_usage from rpython.memory.gc.base import GCBase, MovingGCBase > from rpython.memory.gc import env E File "/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py", line 423 E SyntaxError: Non-ASCII character '\xe2' in file /build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py on line 423, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details ../rpython/memory/gc/incminimark.py:70: SyntaxError . pypy/module/_file/test/test_file.py::AppTestFile::()::test_track_resources_dont_crash . pypy/module/_file/test/test_file.py::AppTestFile::()::test_truncate . pypy/module/_file/test/test_file.py::AppTestFile::()::test_write_full . pypy/module/_file/test/test_file.py::AppTestFile::()::test_ignore_ioerror_in_readall_if_nonempty_result . pypy/module/_file/test/test_file.py::AppTestNonblocking::()::test_nonblocking_file_all . pypy/module/_file/test/test_file.py::AppTestNonblocking::()::test_nonblocking_file_max s pypy/module/_file/test/test_file.py::AppTestConcurrency::()::test_concurrent_writes Skipped: likely to deadlock when interpreted by py.py s pypy/module/_file/test/test_file.py::AppTestConcurrency::()::test_parallel_writes_and_reads Skipped: likely to deadlock when interpreted by py.py s pypy/module/_file/test/test_file.py::AppTestConcurrency::()::test_seek_from_cur_backwards_off_end Skipped: likely to deadlock when interpreted by py.py . pypy/module/_file/test/test_file.py::AppTestFile25::()::test___enter__ . pypy/module/_file/test/test_file.py::AppTestFile25::()::test___exit__ . pypy/module/_file/test/test_file.py::AppTestFile25::()::test_file_and_with_statement . pypy/module/_file/test/test_file.py::AppTestFile25::()::test_subclass_with . pypy/module/_file/test/test_file.py::AppTestFile25::()::test_readline_unbuffered_should_read_one_line_only . pypy/module/_file/test/test_file.py::test_flush_at_exit . pypy/module/_file/test/test_file_extra.py::AppTestFile::()::test_simple_tell . pypy/module/_file/test/test_file_extra.py::AppTestFile::()::test_plain_read . pypy/module/_file/test/test_file_extra.py::AppTestFile::()::test_readline . pypy/module/_file/test/test_file_extra.py::AppTestFile::()::test_readline_max . pypy/module/_file/test/test_file_extra.py::AppTestFile::()::test_iter . pypy/module/_file/test/test_file_extra.py::AppTestFile::()::test_isatty . pypy/module/_file/test/test_file_extra.py::AppTestFile::()::test_next . pypy/module/_file/test/test_file_extra.py::AppTestFile::()::test_read . pypy/module/_file/test/test_file_extra.py::AppTestFile::()::test_readlines . pypy/module/_file/test/test_file_extra.py::AppTestFile::()::test_readlines_max . pypy/module/_file/test/test_file_extra.py::AppTestFile::()::test_seek . pypy/module/_file/test/test_file_extra.py::AppTestFile::()::test_tell . pypy/module/_file/test/test_file_extra.py::AppTestFile::()::test_tell_and_seek_back . pypy/module/_file/test/test_file_extra.py::AppTestFile::()::test_xreadlines . pypy/module/_file/test/test_file_extra.py::AppTestFile::()::test_attr . pypy/module/_file/test/test_file_extra.py::AppTestFile::()::test_repr . pypy/module/_file/test/test_file_extra.py::AppTestUnbufferedFile::()::test_simple_tell . pypy/module/_file/test/test_file_extra.py::AppTestUnbufferedFile::()::test_plain_read . pypy/module/_file/test/test_file_extra.py::AppTestUnbufferedFile::()::test_readline . pypy/module/_file/test/test_file_extra.py::AppTestUnbufferedFile::()::test_readline_max . pypy/module/_file/test/test_file_extra.py::AppTestUnbufferedFile::()::test_iter . pypy/module/_file/test/test_file_extra.py::AppTestUnbufferedFile::()::test_isatty . pypy/module/_file/test/test_file_extra.py::AppTestUnbufferedFile::()::test_next . pypy/module/_file/test/test_file_extra.py::AppTestUnbufferedFile::()::test_read . pypy/module/_file/test/test_file_extra.py::AppTestUnbufferedFile::()::test_readlines . pypy/module/_file/test/test_file_extra.py::AppTestUnbufferedFile::()::test_readlines_max . pypy/module/_file/test/test_file_extra.py::AppTestUnbufferedFile::()::test_seek . pypy/module/_file/test/test_file_extra.py::AppTestUnbufferedFile::()::test_tell . pypy/module/_file/test/test_file_extra.py::AppTestUnbufferedFile::()::test_tell_and_seek_back . pypy/module/_file/test/test_file_extra.py::AppTestUnbufferedFile::()::test_xreadlines . pypy/module/_file/test/test_file_extra.py::AppTestUnbufferedFile::()::test_attr . pypy/module/_file/test/test_file_extra.py::AppTestUnbufferedFile::()::test_repr . pypy/module/_file/test/test_file_extra.py::AppTestLineBufferedFile::()::test_simple_tell . pypy/module/_file/test/test_file_extra.py::AppTestLineBufferedFile::()::test_plain_read . pypy/module/_file/test/test_file_extra.py::AppTestLineBufferedFile::()::test_readline . pypy/module/_file/test/test_file_extra.py::AppTestLineBufferedFile::()::test_readline_max . pypy/module/_file/test/test_file_extra.py::AppTestLineBufferedFile::()::test_iter . pypy/module/_file/test/test_file_extra.py::AppTestLineBufferedFile::()::test_isatty . pypy/module/_file/test/test_file_extra.py::AppTestLineBufferedFile::()::test_next . pypy/module/_file/test/test_file_extra.py::AppTestLineBufferedFile::()::test_read . pypy/module/_file/test/test_file_extra.py::AppTestLineBufferedFile::()::test_readlines . pypy/module/_file/test/test_file_extra.py::AppTestLineBufferedFile::()::test_readlines_max . pypy/module/_file/test/test_file_extra.py::AppTestLineBufferedFile::()::test_seek . pypy/module/_file/test/test_file_extra.py::AppTestLineBufferedFile::()::test_tell . pypy/module/_file/test/test_file_extra.py::AppTestLineBufferedFile::()::test_tell_and_seek_back . pypy/module/_file/test/test_file_extra.py::AppTestLineBufferedFile::()::test_xreadlines . pypy/module/_file/test/test_file_extra.py::AppTestLineBufferedFile::()::test_attr . pypy/module/_file/test/test_file_extra.py::AppTestLineBufferedFile::()::test_repr . pypy/module/_file/test/test_file_extra.py::AppTestLargeBufferFile::()::test_simple_tell . pypy/module/_file/test/test_file_extra.py::AppTestLargeBufferFile::()::test_plain_read . pypy/module/_file/test/test_file_extra.py::AppTestLargeBufferFile::()::test_readline . pypy/module/_file/test/test_file_extra.py::AppTestLargeBufferFile::()::test_readline_max . pypy/module/_file/test/test_file_extra.py::AppTestLargeBufferFile::()::test_iter . pypy/module/_file/test/test_file_extra.py::AppTestLargeBufferFile::()::test_isatty . pypy/module/_file/test/test_file_extra.py::AppTestLargeBufferFile::()::test_next . pypy/module/_file/test/test_file_extra.py::AppTestLargeBufferFile::()::test_read . pypy/module/_file/test/test_file_extra.py::AppTestLargeBufferFile::()::test_readlines . pypy/module/_file/test/test_file_extra.py::AppTestLargeBufferFile::()::test_readlines_max . pypy/module/_file/test/test_file_extra.py::AppTestLargeBufferFile::()::test_seek . pypy/module/_file/test/test_file_extra.py::AppTestLargeBufferFile::()::test_tell . pypy/module/_file/test/test_file_extra.py::AppTestLargeBufferFile::()::test_tell_and_seek_back . pypy/module/_file/test/test_file_extra.py::AppTestLargeBufferFile::()::test_xreadlines . pypy/module/_file/test/test_file_extra.py::AppTestLargeBufferFile::()::test_attr . pypy/module/_file/test/test_file_extra.py::AppTestLargeBufferFile::()::test_repr . pypy/module/_file/test/test_file_extra.py::TestWithCPython::()::test_simple_tell . pypy/module/_file/test/test_file_extra.py::TestWithCPython::()::test_plain_read . pypy/module/_file/test/test_file_extra.py::TestWithCPython::()::test_readline . pypy/module/_file/test/test_file_extra.py::TestWithCPython::()::test_readline_max . pypy/module/_file/test/test_file_extra.py::TestWithCPython::()::test_iter . pypy/module/_file/test/test_file_extra.py::TestWithCPython::()::test_isatty . pypy/module/_file/test/test_file_extra.py::TestWithCPython::()::test_next . pypy/module/_file/test/test_file_extra.py::TestWithCPython::()::test_read . pypy/module/_file/test/test_file_extra.py::TestWithCPython::()::test_readlines . pypy/module/_file/test/test_file_extra.py::TestWithCPython::()::test_readlines_max . pypy/module/_file/test/test_file_extra.py::TestWithCPython::()::test_seek . pypy/module/_file/test/test_file_extra.py::TestWithCPython::()::test_tell . pypy/module/_file/test/test_file_extra.py::TestWithCPython::()::test_tell_and_seek_back . pypy/module/_file/test/test_file_extra.py::TestWithCPython::()::test_xreadlines . pypy/module/_file/test/test_file_extra.py::TestWithCPython::()::test_attr . pypy/module/_file/test/test_file_extra.py::TestWithCPython::()::test_repr . pypy/module/_file/test/test_file_extra.py::AppTestFdOpen::()::test_simple_tell . pypy/module/_file/test/test_file_extra.py::AppTestFdOpen::()::test_plain_read . pypy/module/_file/test/test_file_extra.py::AppTestFdOpen::()::test_readline . pypy/module/_file/test/test_file_extra.py::AppTestFdOpen::()::test_readline_max . pypy/module/_file/test/test_file_extra.py::AppTestFdOpen::()::test_iter . pypy/module/_file/test/test_file_extra.py::AppTestFdOpen::()::test_isatty . pypy/module/_file/test/test_file_extra.py::AppTestFdOpen::()::test_next . pypy/module/_file/test/test_file_extra.py::AppTestFdOpen::()::test_read . pypy/module/_file/test/test_file_extra.py::AppTestFdOpen::()::test_readlines . pypy/module/_file/test/test_file_extra.py::AppTestFdOpen::()::test_readlines_max . pypy/module/_file/test/test_file_extra.py::AppTestFdOpen::()::test_seek . pypy/module/_file/test/test_file_extra.py::AppTestFdOpen::()::test_tell . pypy/module/_file/test/test_file_extra.py::AppTestFdOpen::()::test_tell_and_seek_back . pypy/module/_file/test/test_file_extra.py::AppTestFdOpen::()::test_xreadlines . pypy/module/_file/test/test_file_extra.py::AppTestFdOpen::()::test_attr . pypy/module/_file/test/test_file_extra.py::AppTestFdOpen::()::test_repr . pypy/module/_file/test/test_file_extra.py::AppTestFdOpen::()::test_fileno . pypy/module/_file/test/test_file_extra.py::AppTestUnbufferedFdOpen::()::test_simple_tell . pypy/module/_file/test/test_file_extra.py::AppTestUnbufferedFdOpen::()::test_plain_read . pypy/module/_file/test/test_file_extra.py::AppTestUnbufferedFdOpen::()::test_readline . pypy/module/_file/test/test_file_extra.py::AppTestUnbufferedFdOpen::()::test_readline_max . pypy/module/_file/test/test_file_extra.py::AppTestUnbufferedFdOpen::()::test_iter . pypy/module/_file/test/test_file_extra.py::AppTestUnbufferedFdOpen::()::test_isatty . pypy/module/_file/test/test_file_extra.py::AppTestUnbufferedFdOpen::()::test_next . pypy/module/_file/test/test_file_extra.py::AppTestUnbufferedFdOpen::()::test_read . pypy/module/_file/test/test_file_extra.py::AppTestUnbufferedFdOpen::()::test_readlines . pypy/module/_file/test/test_file_extra.py::AppTestUnbufferedFdOpen::()::test_readlines_max . pypy/module/_file/test/test_file_extra.py::AppTestUnbufferedFdOpen::()::test_seek . pypy/module/_file/test/test_file_extra.py::AppTestUnbufferedFdOpen::()::test_tell . pypy/module/_file/test/test_file_extra.py::AppTestUnbufferedFdOpen::()::test_tell_and_seek_back . pypy/module/_file/test/test_file_extra.py::AppTestUnbufferedFdOpen::()::test_xreadlines . pypy/module/_file/test/test_file_extra.py::AppTestUnbufferedFdOpen::()::test_attr . pypy/module/_file/test/test_file_extra.py::AppTestUnbufferedFdOpen::()::test_repr . pypy/module/_file/test/test_file_extra.py::AppTestUnbufferedFdOpen::()::test_fileno . pypy/module/_file/test/test_file_extra.py::AppTestLineBufferedFdOpen::()::test_simple_tell . pypy/module/_file/test/test_file_extra.py::AppTestLineBufferedFdOpen::()::test_plain_read . pypy/module/_file/test/test_file_extra.py::AppTestLineBufferedFdOpen::()::test_readline . pypy/module/_file/test/test_file_extra.py::AppTestLineBufferedFdOpen::()::test_readline_max . pypy/module/_file/test/test_file_extra.py::AppTestLineBufferedFdOpen::()::test_iter . pypy/module/_file/test/test_file_extra.py::AppTestLineBufferedFdOpen::()::test_isatty . pypy/module/_file/test/test_file_extra.py::AppTestLineBufferedFdOpen::()::test_next . pypy/module/_file/test/test_file_extra.py::AppTestLineBufferedFdOpen::()::test_read . pypy/module/_file/test/test_file_extra.py::AppTestLineBufferedFdOpen::()::test_readlines . pypy/module/_file/test/test_file_extra.py::AppTestLineBufferedFdOpen::()::test_readlines_max . pypy/module/_file/test/test_file_extra.py::AppTestLineBufferedFdOpen::()::test_seek . pypy/module/_file/test/test_file_extra.py::AppTestLineBufferedFdOpen::()::test_tell . pypy/module/_file/test/test_file_extra.py::AppTestLineBufferedFdOpen::()::test_tell_and_seek_back . pypy/module/_file/test/test_file_extra.py::AppTestLineBufferedFdOpen::()::test_xreadlines . pypy/module/_file/test/test_file_extra.py::AppTestLineBufferedFdOpen::()::test_attr . pypy/module/_file/test/test_file_extra.py::AppTestLineBufferedFdOpen::()::test_repr . pypy/module/_file/test/test_file_extra.py::AppTestLineBufferedFdOpen::()::test_fileno . pypy/module/_file/test/test_file_extra.py::AppTestLargeBufferFdOpen::()::test_simple_tell . pypy/module/_file/test/test_file_extra.py::AppTestLargeBufferFdOpen::()::test_plain_read . pypy/module/_file/test/test_file_extra.py::AppTestLargeBufferFdOpen::()::test_readline . pypy/module/_file/test/test_file_extra.py::AppTestLargeBufferFdOpen::()::test_readline_max . pypy/module/_file/test/test_file_extra.py::AppTestLargeBufferFdOpen::()::test_iter . pypy/module/_file/test/test_file_extra.py::AppTestLargeBufferFdOpen::()::test_isatty . pypy/module/_file/test/test_file_extra.py::AppTestLargeBufferFdOpen::()::test_next . pypy/module/_file/test/test_file_extra.py::AppTestLargeBufferFdOpen::()::test_read . pypy/module/_file/test/test_file_extra.py::AppTestLargeBufferFdOpen::()::test_readlines . pypy/module/_file/test/test_file_extra.py::AppTestLargeBufferFdOpen::()::test_readlines_max . pypy/module/_file/test/test_file_extra.py::AppTestLargeBufferFdOpen::()::test_seek . pypy/module/_file/test/test_file_extra.py::AppTestLargeBufferFdOpen::()::test_tell . pypy/module/_file/test/test_file_extra.py::AppTestLargeBufferFdOpen::()::test_tell_and_seek_back . pypy/module/_file/test/test_file_extra.py::AppTestLargeBufferFdOpen::()::test_xreadlines . pypy/module/_file/test/test_file_extra.py::AppTestLargeBufferFdOpen::()::test_attr . pypy/module/_file/test/test_file_extra.py::AppTestLargeBufferFdOpen::()::test_repr . pypy/module/_file/test/test_file_extra.py::AppTestLargeBufferFdOpen::()::test_fileno . pypy/module/_file/test/test_file_extra.py::AppTestUniversalNewlines::()::test_simple_tell . pypy/module/_file/test/test_file_extra.py::AppTestUniversalNewlines::()::test_plain_read . pypy/module/_file/test/test_file_extra.py::AppTestUniversalNewlines::()::test_readline . pypy/module/_file/test/test_file_extra.py::AppTestUniversalNewlines::()::test_readline_max . pypy/module/_file/test/test_file_extra.py::AppTestUniversalNewlines::()::test_iter . pypy/module/_file/test/test_file_extra.py::AppTestUniversalNewlines::()::test_isatty . pypy/module/_file/test/test_file_extra.py::AppTestUniversalNewlines::()::test_next . pypy/module/_file/test/test_file_extra.py::AppTestUniversalNewlines::()::test_read . pypy/module/_file/test/test_file_extra.py::AppTestUniversalNewlines::()::test_readlines . pypy/module/_file/test/test_file_extra.py::AppTestUniversalNewlines::()::test_readlines_max . pypy/module/_file/test/test_file_extra.py::AppTestUniversalNewlines::()::test_tell_and_seek_back . pypy/module/_file/test/test_file_extra.py::AppTestUniversalNewlines::()::test_xreadlines . pypy/module/_file/test/test_file_extra.py::AppTestUniversalNewlines::()::test_attr . pypy/module/_file/test/test_file_extra.py::AppTestUniversalNewlines::()::test_repr s pypy/module/_file/test/test_file_extra.py::AppTestUniversalNewlines::()::test_tell Skipped: does not apply in universal newlines mode s pypy/module/_file/test/test_file_extra.py::AppTestUniversalNewlines::()::test_seek Skipped: does not apply in universal newlines mode . pypy/module/_file/test/test_file_extra.py::AppTestUnbufferedUniversal::()::test_simple_tell . pypy/module/_file/test/test_file_extra.py::AppTestUnbufferedUniversal::()::test_plain_read . pypy/module/_file/test/test_file_extra.py::AppTestUnbufferedUniversal::()::test_readline . pypy/module/_file/test/test_file_extra.py::AppTestUnbufferedUniversal::()::test_readline_max . pypy/module/_file/test/test_file_extra.py::AppTestUnbufferedUniversal::()::test_iter . pypy/module/_file/test/test_file_extra.py::AppTestUnbufferedUniversal::()::test_isatty . pypy/module/_file/test/test_file_extra.py::AppTestUnbufferedUniversal::()::test_next . pypy/module/_file/test/test_file_extra.py::AppTestUnbufferedUniversal::()::test_read . pypy/module/_file/test/test_file_extra.py::AppTestUnbufferedUniversal::()::test_readlines . pypy/module/_file/test/test_file_extra.py::AppTestUnbufferedUniversal::()::test_readlines_max . pypy/module/_file/test/test_file_extra.py::AppTestUnbufferedUniversal::()::test_tell_and_seek_back . pypy/module/_file/test/test_file_extra.py::AppTestUnbufferedUniversal::()::test_xreadlines . pypy/module/_file/test/test_file_extra.py::AppTestUnbufferedUniversal::()::test_attr . pypy/module/_file/test/test_file_extra.py::AppTestUnbufferedUniversal::()::test_repr s pypy/module/_file/test/test_file_extra.py::AppTestUnbufferedUniversal::()::test_tell Skipped: does not apply in universal newlines mode s pypy/module/_file/test/test_file_extra.py::AppTestUnbufferedUniversal::()::test_seek Skipped: does not apply in universal newlines mode . pypy/module/_file/test/test_file_extra.py::AppTestLineBufferedUniversal::()::test_simple_tell . pypy/module/_file/test/test_file_extra.py::AppTestLineBufferedUniversal::()::test_plain_read . pypy/module/_file/test/test_file_extra.py::AppTestLineBufferedUniversal::()::test_readline . pypy/module/_file/test/test_file_extra.py::AppTestLineBufferedUniversal::()::test_readline_max . pypy/module/_file/test/test_file_extra.py::AppTestLineBufferedUniversal::()::test_iter . pypy/module/_file/test/test_file_extra.py::AppTestLineBufferedUniversal::()::test_isatty . pypy/module/_file/test/test_file_extra.py::AppTestLineBufferedUniversal::()::test_next . pypy/module/_file/test/test_file_extra.py::AppTestLineBufferedUniversal::()::test_read . pypy/module/_file/test/test_file_extra.py::AppTestLineBufferedUniversal::()::test_readlines . pypy/module/_file/test/test_file_extra.py::AppTestLineBufferedUniversal::()::test_readlines_max . pypy/module/_file/test/test_file_extra.py::AppTestLineBufferedUniversal::()::test_tell_and_seek_back . pypy/module/_file/test/test_file_extra.py::AppTestLineBufferedUniversal::()::test_xreadlines . pypy/module/_file/test/test_file_extra.py::AppTestLineBufferedUniversal::()::test_attr . pypy/module/_file/test/test_file_extra.py::AppTestLineBufferedUniversal::()::test_repr s pypy/module/_file/test/test_file_extra.py::AppTestLineBufferedUniversal::()::test_tell Skipped: does not apply in universal newlines mode s pypy/module/_file/test/test_file_extra.py::AppTestLineBufferedUniversal::()::test_seek Skipped: does not apply in universal newlines mode . pypy/module/_file/test/test_file_extra.py::AppTestLargeBufferUniversal::()::test_simple_tell . pypy/module/_file/test/test_file_extra.py::AppTestLargeBufferUniversal::()::test_plain_read . pypy/module/_file/test/test_file_extra.py::AppTestLargeBufferUniversal::()::test_readline . pypy/module/_file/test/test_file_extra.py::AppTestLargeBufferUniversal::()::test_readline_max . pypy/module/_file/test/test_file_extra.py::AppTestLargeBufferUniversal::()::test_iter . pypy/module/_file/test/test_file_extra.py::AppTestLargeBufferUniversal::()::test_isatty . pypy/module/_file/test/test_file_extra.py::AppTestLargeBufferUniversal::()::test_next . pypy/module/_file/test/test_file_extra.py::AppTestLargeBufferUniversal::()::test_read . pypy/module/_file/test/test_file_extra.py::AppTestLargeBufferUniversal::()::test_readlines . pypy/module/_file/test/test_file_extra.py::AppTestLargeBufferUniversal::()::test_readlines_max . pypy/module/_file/test/test_file_extra.py::AppTestLargeBufferUniversal::()::test_tell_and_seek_back . pypy/module/_file/test/test_file_extra.py::AppTestLargeBufferUniversal::()::test_xreadlines . pypy/module/_file/test/test_file_extra.py::AppTestLargeBufferUniversal::()::test_attr . pypy/module/_file/test/test_file_extra.py::AppTestLargeBufferUniversal::()::test_repr s pypy/module/_file/test/test_file_extra.py::AppTestLargeBufferUniversal::()::test_tell Skipped: does not apply in universal newlines mode s pypy/module/_file/test/test_file_extra.py::AppTestLargeBufferUniversal::()::test_seek Skipped: does not apply in universal newlines mode . pypy/module/_file/test/test_file_extra.py::AppTestAFewExtra::()::test_case_readonly . pypy/module/_file/test/test_file_extra.py::AppTestAFewExtra::()::test_readlines . pypy/module/_file/test/test_file_extra.py::AppTestAFewExtra::()::test_writelines . pypy/module/_file/test/test_file_extra.py::AppTestAFewExtra::()::test_nasty_writelines . pypy/module/_file/test/test_file_extra.py::AppTestAFewExtra::()::test_rw_bin . pypy/module/_file/test/test_file_extra.py::AppTestAFewExtra::()::test_rw . pypy/module/_file/test/test_file_extra.py::AppTestAFewExtra::()::test_r_universal . pypy/module/_file/test/test_file_extra.py::AppTestAFewExtra::()::test_flush . pypy/module/_file/test/test_file_extra.py::AppTestAFewExtra::()::test_isatty . pypy/module/_file/test/test_file_extra.py::AppTestAFewExtra::()::test_truncate . pypy/module/_file/test/test_file_extra.py::AppTestAFewExtra::()::test_readinto . pypy/module/_file/test/test_file_extra.py::AppTestAFewExtra::()::test_readinto_error . pypy/module/_file/test/test_file_extra.py::AppTestAFewExtra::()::test_weakref . pypy/module/_file/test/test_file_extra.py::AppTestAFewExtra::()::test_weakref_dies_before_file_closes . pypy/module/_file/test/test_file_extra.py::AppTestAFewExtra::()::test_ValueError . pypy/module/_file/test/test_file_extra.py::AppTestAFewExtra::()::test_docstrings . pypy/module/_file/test/test_file_extra.py::AppTestAFewExtra::()::test_repr_unicode_filename . pypy/module/_file/test/test_file_extra.py::AppTestAFewExtra::()::test_repr_escape_filename . pypy/module/_file/test/test_file_extra.py::AppTestAFewExtra::()::test_EAGAIN . pypy/module/_file/test/test_file_extra.py::AppTestAFewExtra::()::test_close_fd_if_dir_check_fails . pypy/module/_file/test/test_file_extra.py::AppTestAFewExtra::()::test_dont_close_fd_if_dir_check_fails_in_fdopen . pypy/module/_file/test/test_large_file.py::AppTestLargeFile::()::test_large_seek_offsets s pypy/module/_file/test/test_large_file.py::AppTestLargeFile::()::test_large_sparse Skipped: emulation of files can't use larger-than-long offsets (somefailed=True in module/_file/test) . pypy/module/_warnings/test/apptest_warnings.py::test_defaults . pypy/module/_warnings/test/apptest_warnings.py::test_warn . pypy/module/_warnings/test/apptest_warnings.py::test_lineno . pypy/module/_warnings/test/apptest_warnings.py::test_warn_explicit . pypy/module/_warnings/test/apptest_warnings.py::test_default_action . pypy/module/_warnings/test/apptest_warnings.py::test_ignore . pypy/module/_warnings/test/apptest_warnings.py::test_show_source_line . pypy/module/_warnings/test/apptest_warnings.py::test_filename_none . pypy/module/_warnings/test/apptest_warnings.py::test_warn_unicode . pypy/module/_warnings/test/apptest_warnings.py::test_issue31285 . pypy/module/_warnings/test/apptest_warnings.py::test_once_is_not_broken . pypy/module/_warnings/test/test_warnings.py::test_warn_globals_immutable . pypy/module/_sre/test/test_app_sre.py::AppTestSrePy::()::test_magic . pypy/module/_sre/test/test_app_sre.py::AppTestSrePy::()::test_codesize . pypy/module/_sre/test/test_app_sre.py::AppTestSrePy::()::test_opcodes . pypy/module/_sre/test/test_app_sre.py::AppTestSrePattern::()::test_copy . pypy/module/_sre/test/test_app_sre.py::AppTestSrePattern::()::test_creation_attributes . pypy/module/_sre/test/test_app_sre.py::AppTestSrePattern::()::test_repeat_minmax_overflow . pypy/module/_sre/test/test_app_sre.py::AppTestSrePattern::()::test_match_none . pypy/module/_sre/test/test_app_sre.py::AppTestSrePattern::()::test_pos_endpos . pypy/module/_sre/test/test_app_sre.py::AppTestSrePattern::()::test_findall . pypy/module/_sre/test/test_app_sre.py::AppTestSrePattern::()::test_findall_unicode . pypy/module/_sre/test/test_app_sre.py::AppTestSrePattern::()::test_finditer . pypy/module/_sre/test/test_app_sre.py::AppTestSrePattern::()::test_split . pypy/module/_sre/test/test_app_sre.py::AppTestSrePattern::()::test_weakref . pypy/module/_sre/test/test_app_sre.py::AppTestSrePattern::()::test_match_compat . pypy/module/_sre/test/test_app_sre.py::AppTestSreMatch::()::test_copy . pypy/module/_sre/test/test_app_sre.py::AppTestSreMatch::()::test_match_attributes . pypy/module/_sre/test/test_app_sre.py::AppTestSreMatch::()::test_match_attributes_with_groups . pypy/module/_sre/test/test_app_sre.py::AppTestSreMatch::()::test_regs_overlapping_groups . pypy/module/_sre/test/test_app_sre.py::AppTestSreMatch::()::test_start_end_span . pypy/module/_sre/test/test_app_sre.py::AppTestSreMatch::()::test_groups . pypy/module/_sre/test/test_app_sre.py::AppTestSreMatch::()::test_groupdict . pypy/module/_sre/test/test_app_sre.py::AppTestSreMatch::()::test_group . pypy/module/_sre/test/test_app_sre.py::AppTestSreMatch::()::test_group_takes_long . pypy/module/_sre/test/test_app_sre.py::AppTestSreMatch::()::test_expand . pypy/module/_sre/test/test_app_sre.py::AppTestSreMatch::()::test_sub . pypy/module/_sre/test/test_app_sre.py::AppTestSreMatch::()::test_sub_unicode . pypy/module/_sre/test/test_app_sre.py::AppTestSreMatch::()::test_sub_callable . pypy/module/_sre/test/test_app_sre.py::AppTestSreMatch::()::test_sub_callable_returns_none . pypy/module/_sre/test/test_app_sre.py::AppTestSreMatch::()::test_sub_callable_suddenly_unicode . pypy/module/_sre/test/test_app_sre.py::AppTestSreMatch::()::test_sub_subclass_of_str . pypy/module/_sre/test/test_app_sre.py::AppTestSreMatch::()::test_sub_bug . pypy/module/_sre/test/test_app_sre.py::AppTestSreMatch::()::test_sub_emptymatch . pypy/module/_sre/test/test_app_sre.py::AppTestSreMatch::()::test_sub_shortcut_no_match . pypy/module/_sre/test/test_app_sre.py::AppTestSreMatch::()::test_match_array . pypy/module/_sre/test/test_app_sre.py::AppTestSreMatch::()::test_match_typeerror . pypy/module/_sre/test/test_app_sre.py::AppTestSreMatch::()::test_group_bugs . pypy/module/_sre/test/test_app_sre.py::AppTestSreMatch::()::test_sub_typecheck . pypy/module/_sre/test/test_app_sre.py::AppTestSreMatch::()::test_sub_matches_stay_valid . pypy/module/_sre/test/test_app_sre.py::AppTestSreScanner::()::test_scanner_attributes . pypy/module/_sre/test/test_app_sre.py::AppTestSreScanner::()::test_scanner_match . pypy/module/_sre/test/test_app_sre.py::AppTestSreScanner::()::test_scanner_match_detail . pypy/module/_sre/test/test_app_sre.py::AppTestSreScanner::()::test_scanner_search . pypy/module/_sre/test/test_app_sre.py::AppTestSreScanner::()::test_scanner_zero_width_match . pypy/module/_sre/test/test_app_sre.py::AppTestSreScanner::()::test_scanner_empty_match . pypy/module/_sre/test/test_app_sre.py::AppTestSreScanner::()::test_scanner_match_string . pypy/module/_sre/test/test_app_sre.py::AppTestGetlower::()::test_getlower_no_flags s pypy/module/_sre/test/test_app_sre.py::AppTestGetlower::()::test_getlower_locale Skipped: unsupported locale de_DE . pypy/module/_sre/test/test_app_sre.py::AppTestGetlower::()::test_getlower_unicode . pypy/module/_sre/test/test_app_sre.py::AppTestSimpleSearches::()::test_search_simple_literal . pypy/module/_sre/test/test_app_sre.py::AppTestSimpleSearches::()::test_search_simple_ats . pypy/module/_sre/test/test_app_sre.py::AppTestSimpleSearches::()::test_search_simple_boundaries . pypy/module/_sre/test/test_app_sre.py::AppTestSimpleSearches::()::test_search_simple_categories . pypy/module/_sre/test/test_app_sre.py::AppTestSimpleSearches::()::test_search_simple_any . pypy/module/_sre/test/test_app_sre.py::AppTestSimpleSearches::()::test_search_simple_in . pypy/module/_sre/test/test_app_sre.py::AppTestSimpleSearches::()::test_search_simple_literal_ignore . pypy/module/_sre/test/test_app_sre.py::AppTestSimpleSearches::()::test_search_simple_in_ignore . pypy/module/_sre/test/test_app_sre.py::AppTestSimpleSearches::()::test_search_simple_branch . pypy/module/_sre/test/test_app_sre.py::AppTestSimpleSearches::()::test_search_simple_repeat_one . pypy/module/_sre/test/test_app_sre.py::AppTestSimpleSearches::()::test_search_simple_min_repeat_one . pypy/module/_sre/test/test_app_sre.py::AppTestSimpleSearches::()::test_search_simple_repeat_maximizing . pypy/module/_sre/test/test_app_sre.py::AppTestSimpleSearches::()::test_search_simple_repeat_minimizing . pypy/module/_sre/test/test_app_sre.py::AppTestSimpleSearches::()::test_search_simple_groupref . pypy/module/_sre/test/test_app_sre.py::AppTestSimpleSearches::()::test_search_simple_groupref_exists . pypy/module/_sre/test/test_app_sre.py::AppTestSimpleSearches::()::test_search_simple_assert . pypy/module/_sre/test/test_app_sre.py::AppTestSimpleSearches::()::test_search_simple_assert_not . pypy/module/_sre/test/test_app_sre.py::AppTestMarksStack::()::test_mark_stack_branch . pypy/module/_sre/test/test_app_sre.py::AppTestMarksStack::()::test_mark_stack_repeat_one . pypy/module/_sre/test/test_app_sre.py::AppTestMarksStack::()::test_mark_stack_min_repeat_one . pypy/module/_sre/test/test_app_sre.py::AppTestMarksStack::()::test_mark_stack_max_until . pypy/module/_sre/test/test_app_sre.py::AppTestMarksStack::()::test_mark_stack_min_until . pypy/module/_sre/test/test_app_sre.py::AppTestMarksStack::()::test_bug_725149 . pypy/module/_sre/test/test_app_sre.py::AppTestOpcodes::()::test_length_optimization . pypy/module/_sre/test/test_app_sre.py::AppTestOpcodes::()::test_literal . pypy/module/_sre/test/test_app_sre.py::AppTestOpcodes::()::test_not_literal . pypy/module/_sre/test/test_app_sre.py::AppTestOpcodes::()::test_unknown . pypy/module/_sre/test/test_app_sre.py::AppTestOpcodes::()::test_at_beginning . pypy/module/_sre/test/test_app_sre.py::AppTestOpcodes::()::test_at_beginning_line . pypy/module/_sre/test/test_app_sre.py::AppTestOpcodes::()::test_at_end . pypy/module/_sre/test/test_app_sre.py::AppTestOpcodes::()::test_at_end_line . pypy/module/_sre/test/test_app_sre.py::AppTestOpcodes::()::test_at_end_string . pypy/module/_sre/test/test_app_sre.py::AppTestOpcodes::()::test_at_boundary . pypy/module/_sre/test/test_app_sre.py::AppTestOpcodes::()::test_at_non_boundary s pypy/module/_sre/test/test_app_sre.py::AppTestOpcodes::()::test_at_loc_boundary Skipped: locale error . pypy/module/_sre/test/test_app_sre.py::AppTestOpcodes::()::test_at_uni_boundary s pypy/module/_sre/test/test_app_sre.py::AppTestOpcodes::()::test_category_loc_word Skipped: locale error . pypy/module/_sre/test/test_app_sre.py::AppTestOpcodes::()::test_any . pypy/module/_sre/test/test_app_sre.py::AppTestOpcodes::()::test_any_all . pypy/module/_sre/test/test_app_sre.py::AppTestOpcodes::()::test_in_failure . pypy/module/_sre/test/test_app_sre.py::AppTestOpcodes::()::test_in_literal . pypy/module/_sre/test/test_app_sre.py::AppTestOpcodes::()::test_in_category . pypy/module/_sre/test/test_app_sre.py::AppTestOpcodes::()::test_in_charset_ucs2 . pypy/module/_sre/test/test_app_sre.py::AppTestOpcodes::()::test_in_range . pypy/module/_sre/test/test_app_sre.py::AppTestOpcodes::()::test_in_negate . pypy/module/_sre/test/test_app_sre.py::AppTestOpcodes::()::test_literal_ignore . pypy/module/_sre/test/test_app_sre.py::AppTestOpcodes::()::test_not_literal_ignore . pypy/module/_sre/test/test_app_sre.py::AppTestOpcodes::()::test_in_ignore . pypy/module/_sre/test/test_app_sre.py::AppTestOpcodes::()::test_in_jump_info . pypy/module/_sre/test/test_app_sre.py::AppTestOpcodes::()::test_branch . pypy/module/_sre/test/test_app_sre.py::AppTestOpcodes::()::test_repeat_one . pypy/module/_sre/test/test_app_sre.py::AppTestOpcodes::()::test_min_repeat_one . pypy/module/_sre/test/test_app_sre.py::AppTestOpcodes::()::test_repeat_maximizing . pypy/module/_sre/test/test_app_sre.py::AppTestOpcodes::()::test_max_until_zero_width_match . pypy/module/_sre/test/test_app_sre.py::AppTestOpcodes::()::test_repeat_minimizing . pypy/module/_sre/test/test_app_sre.py::AppTestOpcodes::()::test_groupref . pypy/module/_sre/test/test_app_sre.py::AppTestOpcodes::()::test_groupref_ignore . pypy/module/_sre/test/test_app_sre.py::AppTestOpcodes::()::test_assert . pypy/module/_sre/test/test_app_sre.py::AppTestOpcodes::()::test_assert_not . pypy/module/_sre/test/test_app_sre.py::AppTestOptimizations::()::test_match_length_optimization . pypy/module/_sre/test/test_app_sre.py::AppTestOptimizations::()::test_fast_search . pypy/module/_sre/test/test_app_sre.py::AppTestOptimizations::()::test_branch_literal_shortcut . pypy/module/_sre/test/test_app_sre.py::AppTestOptimizations::()::test_literal_search . pypy/module/_sre/test/test_app_sre.py::AppTestOptimizations::()::test_repeat_one_literal_tail . pypy/module/_sre/test/test_app_sre.py::AppTestUnicodeExtra::()::test_string_attribute . pypy/module/_sre/test/test_app_sre.py::AppTestUnicodeExtra::()::test_string_attribute_is_original_string . pypy/module/_sre/test/test_app_sre.py::AppTestUnicodeExtra::()::test_match_start . pypy/module/_sre/test/test_sre_buf.py::AppTestSreMatchBuf::()::test_copy . pypy/module/_sre/test/test_sre_buf.py::AppTestSreMatchBuf::()::test_match_attributes . pypy/module/_sre/test/test_sre_buf.py::AppTestSreMatchBuf::()::test_match_attributes_with_groups . pypy/module/_sre/test/test_sre_buf.py::AppTestSreMatchBuf::()::test_regs_overlapping_groups . pypy/module/_sre/test/test_sre_buf.py::AppTestSreMatchBuf::()::test_start_end_span . pypy/module/_sre/test/test_sre_buf.py::AppTestSreMatchBuf::()::test_groups . pypy/module/_sre/test/test_sre_buf.py::AppTestSreMatchBuf::()::test_groupdict . pypy/module/_sre/test/test_sre_buf.py::AppTestSreMatchBuf::()::test_group . pypy/module/_sre/test/test_sre_buf.py::AppTestSreMatchBuf::()::test_group_takes_long . pypy/module/_sre/test/test_sre_buf.py::AppTestSreMatchBuf::()::test_expand . pypy/module/_sre/test/test_sre_buf.py::AppTestSreMatchBuf::()::test_sub . pypy/module/_sre/test/test_sre_buf.py::AppTestSreMatchBuf::()::test_sub_unicode . pypy/module/_sre/test/test_sre_buf.py::AppTestSreMatchBuf::()::test_sub_callable . pypy/module/_sre/test/test_sre_buf.py::AppTestSreMatchBuf::()::test_sub_callable_returns_none . pypy/module/_sre/test/test_sre_buf.py::AppTestSreMatchBuf::()::test_sub_callable_suddenly_unicode . pypy/module/_sre/test/test_sre_buf.py::AppTestSreMatchBuf::()::test_sub_subclass_of_str . pypy/module/_sre/test/test_sre_buf.py::AppTestSreMatchBuf::()::test_sub_bug . pypy/module/_sre/test/test_sre_buf.py::AppTestSreMatchBuf::()::test_sub_emptymatch . pypy/module/_sre/test/test_sre_buf.py::AppTestSreMatchBuf::()::test_sub_shortcut_no_match . pypy/module/_sre/test/test_sre_buf.py::AppTestSreMatchBuf::()::test_match_array . pypy/module/_sre/test/test_sre_buf.py::AppTestSreMatchBuf::()::test_match_typeerror . pypy/module/_sre/test/test_sre_buf.py::AppTestSreMatchBuf::()::test_group_bugs . pypy/module/_sre/test/test_sre_buf.py::AppTestSreMatchBuf::()::test_sub_typecheck . pypy/module/_sre/test/test_sre_buf.py::AppTestSreMatchBuf::()::test_sub_matches_stay_valid s pypy/module/_winreg/test/test_winreg.py /build_dir/own-linux-x86-32/build/pypy/module/_winreg/test/test_winreg.py:6: Skipped: _winreg is a win32 module F pypy/module/_vmprof/test/test__vmprof.py::AppTestVMProf::()::test_import_vmprof self = func = at 0xf5a39ed4>, 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, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 0xf7a8c32c> hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf6a286cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf6a286cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf5079aac> 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 0xf5079aac> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf5079a6c> 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 0xf5079a6c> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def runtest(self): target = self.obj if self.config.option.runappdirect: return target() space = target.im_self.space filename = self._getdynfilename(target) func = app2interp_temp(target.im_func, filename=filename) w_instance = self.parent.w_instance > self.execute_appex(space, func, space, w_instance) tool/pytest/apptest.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , space = StdObjSpace target = args = (StdObjSpace, ) def execute_appex(self, space, target, *args): self.space = space try: > target(*args) tool/pytest/apptest.py:30: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace args_w = (,) w_func = args = def appcaller(space, *args_w): if not isinstance(space, ObjSpace): raise TypeError("first argument must be a space instance.") # the last argument can be an Arguments w_func = self.wget(space, name) if not args_w: return space.call_function(w_func) else: args = args_w[-1] assert args is not None if not isinstance(args, Arguments): > return space.call_function(w_func, *args_w) interpreter/gateway.py:1227: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = args_w = (,) nargs = 1, Function = Method = def call_function(self, w_func, *args_w): nargs = len(args_w) # used for pruning funccall versions if not self.config.objspace.disable_call_speedhacks and nargs < 5: # start of hack for performance from pypy.interpreter.function import Function, Method if isinstance(w_func, Method): w_inst = w_func.w_instance if w_inst is not None: if nargs < 4: func = w_func.w_function if isinstance(func, Function): return func.funccall(w_inst, *args_w) elif args_w and ( self.abstract_isinstance_w(args_w[0], w_func.w_class)): w_func = w_func.w_function if isinstance(w_func, Function): > return w_func.funccall(*args_w) interpreter/baseobjspace.py:1210: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = args_w = (,) gateway = PyCode = code = def funccall(self, *args_w): # speed hack from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit nargs = len(args_w) fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, args_w[0]) elif nargs == 2: assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, args_w[0], args_w[1]) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) return code.fastcall_3(self.space, self, args_w[0], args_w[1], args_w[2]) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) return code.fastcall_4(self.space, self, args_w[0], args_w[1], args_w[2], args_w[3]) elif (nargs | PyCode.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) if nargs < 5: new_frame = self.space.createframe(code, self.w_func_globals, self) for i in funccallunrolling: if i < nargs: new_frame.locals_cells_stack_w[i] = args_w[i] > return new_frame.run() interpreter/function.py:118: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 51 def run(self): """Start this frame's execution.""" if self.getcode().co_flags & pycode.CO_GENERATOR: from pypy.interpreter.generator import GeneratorIterator return GeneratorIterator(self) else: > return self.execute_frame() interpreter/pyframe.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 51 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): # indirection for the optional arguments > return my_execute_frame(self, w_inputvalue, operr) module/_vmprof/interp_vmprof.py:20: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ args = ( at line 51, None, None) unique_id = 180, x = <* DEAD Struct vmprof_stack_s { c_next, c_value, c_kind }> def decorated_function(*args): unique_id = get_code_fn(*args)._vmprof_unique_id unique_id = rffi.cast(lltype.Signed, unique_id) # ^^^ removes the "known non-negative" hint for annotation # # Signals can occur at the two places (1) and (2), that will # have added a stack entry, but the function __vmprof_eval_vmprof # is not entered. This behaviour will swallow one Python stack frame # # Current fix: vmprof will discard this sample. (happens # very infrequently) # if not jit.we_are_jitted(): x = enter_code(unique_id) # (1) signal here try: > return func(*args) ../rpython/rlib/rvmprof/rvmprof.py:240: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 51 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:290: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 51 e = SyntaxError("Non-ASCII character '\\xe2' in file /build_dir/own-linux-x86-32/b..., ('/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py', 423, 0, None)) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:943: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 51 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:286: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 51 pycode = next_instr = 0L ec = def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 51 co_code = 'e\x00\x00|\x00\x00j\x01\x00d\x01\x00\x83\x02\x00}\x01\x00|\x01\x00\xc9\x02\x00\xca\x00\x00}\x02\x00e\x00\x00|\x00\x00...\x00s\x9e\x01t\r\x00\x82\x01\x00\xcc\x16\x00|\x0c\x00|\n\x00d\r\x00\x17k\x05\x00s\xb7\x01t\r\x00\x82\x01\x00d\x00\x00S' next_instr = 0L ec = def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 51 co_code = 'e\x00\x00|\x00\x00j\x01\x00d\x01\x00\x83\x02\x00}\x01\x00|\x01\x00\xc9\x02\x00\xca\x00\x00}\x02\x00e\x00\x00|\x00\x00...\x00s\x9e\x01t\r\x00\x82\x01\x00\xcc\x16\x00|\x0c\x00|\n\x00d\r\x00\x17k\x05\x00s\xb7\x01t\r\x00\x82\x01\x00d\x00\x00S' next_instr = 147L ec = @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: self.last_instr = intmask(next_instr) if jit.we_are_jitted(): if self.debugdata: ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: ec.bytecode_trace(self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) next_instr += 1 if opcode >= HAVE_ARGUMENT: lo = ord(co_code[next_instr]) hi = ord(co_code[next_instr+1]) next_instr += 2 oparg = (hi * 256) | lo else: oparg = 0 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into a switch(). while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption lo = ord(co_code[next_instr+1]) hi = ord(co_code[next_instr+2]) next_instr += 3 oparg = (oparg * 65536) | (hi * 256) | lo if opcode == opcodedesc.RETURN_VALUE.index: if not self.blockstack_non_empty(): self.frame_finished_execution = True # for generators raise Return w_returnvalue = self.popvalue() block = self.unrollstack(SReturnValue.kind) if block is None: self.pushvalue(w_returnvalue) raise Return else: unroller = SReturnValue(w_returnvalue) next_instr = block.handle(self, unroller) return next_instr # now inside a 'finally' block elif opcode == opcodedesc.END_FINALLY.index: unroller = self.end_finally() if isinstance(unroller, SuspendedUnroller): # go on unrolling the stack block = self.unrollstack(unroller.kind) if block is None: w_result = unroller.nomoreblocks() self.pushvalue(w_result) raise Return else: next_instr = block.handle(self, unroller) return next_instr elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, ec) elif opcode == opcodedesc.BREAK_LOOP.index: next_instr = self.BREAK_LOOP(oparg, next_instr) elif opcode == opcodedesc.CONTINUE_LOOP.index: return self.CONTINUE_LOOP(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: next_instr = self.JUMP_IF_FALSE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_DEBUG.index: next_instr = self.JUMP_IF_NOT_DEBUG(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: next_instr = self.JUMP_IF_TRUE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: next_instr = self.POP_JUMP_IF_FALSE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: next_instr = self.POP_JUMP_IF_TRUE(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_DIVIDE.index: self.BINARY_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CLASS.index: self.BUILD_CLASS(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR.index: self.CALL_FUNCTION_VAR(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR_KW.index: self.CALL_FUNCTION_VAR_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: self.CALL_METHOD(oparg, next_instr) elif opcode == opcodedesc.COMPARE_OP.index: self.COMPARE_OP(oparg, next_instr) elif opcode == opcodedesc.DELETE_ATTR.index: self.DELETE_ATTR(oparg, next_instr) elif opcode == opcodedesc.DELETE_FAST.index: self.DELETE_FAST(oparg, next_instr) elif opcode == opcodedesc.DELETE_GLOBAL.index: self.DELETE_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.DELETE_NAME.index: self.DELETE_NAME(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_0.index: self.DELETE_SLICE_0(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_1.index: self.DELETE_SLICE_1(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_2.index: self.DELETE_SLICE_2(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_3.index: self.DELETE_SLICE_3(oparg, next_instr) elif opcode == opcodedesc.DELETE_SUBSCR.index: self.DELETE_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.DUP_TOP.index: self.DUP_TOP(oparg, next_instr) elif opcode == opcodedesc.DUP_TOPX.index: self.DUP_TOPX(oparg, next_instr) elif opcode == opcodedesc.EXEC_STMT.index: self.EXEC_STMT(oparg, next_instr) elif opcode == opcodedesc.GET_ITER.index: self.GET_ITER(oparg, next_instr) elif opcode == opcodedesc.IMPORT_FROM.index: self.IMPORT_FROM(oparg, next_instr) elif opcode == opcodedesc.IMPORT_NAME.index: self.IMPORT_NAME(oparg, next_instr) elif opcode == opcodedesc.IMPORT_STAR.index: self.IMPORT_STAR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_ADD.index: self.INPLACE_ADD(oparg, next_instr) elif opcode == opcodedesc.INPLACE_AND.index: self.INPLACE_AND(oparg, next_instr) elif opcode == opcodedesc.INPLACE_DIVIDE.index: self.INPLACE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_FLOOR_DIVIDE.index: self.INPLACE_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_LSHIFT.index: self.INPLACE_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MODULO.index: self.INPLACE_MODULO(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MULTIPLY.index: self.INPLACE_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.INPLACE_OR.index: self.INPLACE_OR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_POWER.index: self.INPLACE_POWER(oparg, next_instr) elif opcode == opcodedesc.INPLACE_RSHIFT.index: self.INPLACE_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_SUBTRACT.index: self.INPLACE_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_TRUE_DIVIDE.index: self.INPLACE_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_XOR.index: self.INPLACE_XOR(oparg, next_instr) elif opcode == opcodedesc.LIST_APPEND.index: self.LIST_APPEND(oparg, next_instr) elif opcode == opcodedesc.LOAD_ATTR.index: self.LOAD_ATTR(oparg, next_instr) elif opcode == opcodedesc.LOAD_CLOSURE.index: self.LOAD_CLOSURE(oparg, next_instr) elif opcode == opcodedesc.LOAD_CONST.index: self.LOAD_CONST(oparg, next_instr) elif opcode == opcodedesc.LOAD_DEREF.index: self.LOAD_DEREF(oparg, next_instr) elif opcode == opcodedesc.LOAD_FAST.index: self.LOAD_FAST(oparg, next_instr) elif opcode == opcodedesc.LOAD_GLOBAL.index: self.LOAD_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.LOAD_LOCALS.index: self.LOAD_LOCALS(oparg, next_instr) elif opcode == opcodedesc.LOAD_NAME.index: self.LOAD_NAME(oparg, next_instr) elif opcode == opcodedesc.LOOKUP_METHOD.index: > self.LOOKUP_METHOD(oparg, next_instr) interpreter/pyopcode.py:356: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = at line 51 nameindex = 9, ignored = (147L,) MutableCell = space = StdObjSpace w_obj = def LOOKUP_METHOD(f, nameindex, *ignored): from pypy.objspace.std.typeobject import MutableCell # stack before after # -------------- --fast-method----fallback-case------------ # # w_object None # w_object => w_function w_boundmethod_or_whatever # (more stuff) (more stuff) (more stuff) # space = f.space w_obj = f.popvalue() if not jit.we_are_jitted(): # mapdict has an extra-fast version of this function if LOOKUP_METHOD_mapdict(f, nameindex, w_obj): return w_name = f.getname_w(nameindex) w_value = None w_type = space.type(w_obj) if w_type.has_object_getattribute(): name = space.text_w(w_name) # bit of a mess to use these internal functions, but it allows the # mapdict caching below to work without an additional lookup version_tag = w_type.version_tag() if version_tag is None: _, w_descr = w_type._lookup_where(name) w_descr_cell = None else: _, w_descr_cell = w_type._pure_lookup_where_with_method_cache( name, version_tag) w_descr = w_descr_cell if isinstance(w_descr, MutableCell): w_descr = w_descr.unwrap_cell(space) if w_descr is None: # this handles directly the common case # module.function(args..) > w_value = w_obj.getdictvalue(space, name) objspace/std/callmethod.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def getdictvalue(self, space, name): w_value = space.finditem_str(self.w_dict, name) if self.lazy and w_value is None: > return self._load_lazily(space, name) interpreter/mixedmodule.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def _load_lazily(self, space, name): w_name = space.new_interned_str(name) try: loader = self.loaders[name] except KeyError: return None else: > w_value = loader(space) interpreter/mixedmodule.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace def ifileloader(space): d = {'space':space} # EVIL HACK (but it works, and this is not RPython :-) while 1: try: value = eval(spec, d) except NameError as ex: name = ex.args[0].split("'")[1] # super-Evil if name in d: raise # propagate the NameError try: > d[name] = __import__(pkgroot+'.'+name, None, None, [name]) interpreter/mixedmodule.py:182: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from pypy.interpreter.gateway import unwrap_spec from pypy.interpreter.error import oefmt from rpython.rlib import rgc > from pypy.module.gc.hook import W_GcCollectStepStats module/gc/interp_gc.py:4: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from rpython.memory.gc.hook import GcHooks > from rpython.memory.gc import incminimark module/gc/hook.py:2: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ # XXX Should find a way to bound the major collection threshold by the # XXX total addressable size. Maybe by keeping some minimarkpage arenas # XXX pre-reserved, enough for a few nursery collections? What about # XXX raw-malloced memory? # XXX try merging old_objects_pointing_to_pinned into # XXX old_objects_pointing_to_young (IRC 2014-10-22, fijal and gregor_w) import sys import os import time from rpython.rtyper.lltypesystem import lltype, llmemory, llarena, llgroup from rpython.rtyper.lltypesystem.lloperation import llop from rpython.rtyper.lltypesystem.llmemory import raw_malloc_usage from rpython.memory.gc.base import GCBase, MovingGCBase > from rpython.memory.gc import env E File "/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py", line 423 E SyntaxError: Non-ASCII character '\xe2' in file /build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py on line 423, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details ../rpython/memory/gc/incminimark.py:70: SyntaxError . pypy/module/_vmprof/test/test__vmprof.py::AppTestVMProf::()::test_enable_ovf . pypy/module/_vmprof/test/test__vmprof.py::AppTestVMProf::()::test_is_enabled . pypy/module/_vmprof/test/test__vmprof.py::AppTestVMProf::()::test_get_profile_path . pypy/module/_vmprof/test/test__vmprof.py::AppTestVMProf::()::test_stop_sampling . pypy/module/_vmprof/test/test_direct.py::TestDirect::()::test_infrastructure . pypy/module/_vmprof/test/test_direct.py::TestDirect::()::test_write_header_for_jit_addr (somefailed=True in module/_vmprof/test) . pypy/module/_socket/test/test_sock_app.py::test_gethostname . pypy/module/_socket/test/test_sock_app.py::test_gethostbyname . pypy/module/_socket/test/test_sock_app.py::test_gethostbyname_ex . pypy/module/_socket/test/test_sock_app.py::test_gethostbyaddr . pypy/module/_socket/test/test_sock_app.py::test_getservbyname . pypy/module/_socket/test/test_sock_app.py::test_getservbyport . pypy/module/_socket/test/test_sock_app.py::test_getprotobyname . pypy/module/_socket/test/test_sock_app.py::test_fromfd . pypy/module/_socket/test/test_sock_app.py::test_ntohs . pypy/module/_socket/test/test_sock_app.py::test_ntohl . pypy/module/_socket/test/test_sock_app.py::test_htons . pypy/module/_socket/test/test_sock_app.py::test_htonl . pypy/module/_socket/test/test_sock_app.py::test_aton_ntoa . pypy/module/_socket/test/test_sock_app.py::test_pton_ntop_ipv4 . pypy/module/_socket/test/test_sock_app.py::test_ntop_ipv6 . pypy/module/_socket/test/test_sock_app.py::test_pton_ipv6 . pypy/module/_socket/test/test_sock_app.py::test_getaddrinfo . pypy/module/_socket/test/test_sock_app.py::test_unknown_addr_as_object . pypy/module/_socket/test/test_sock_app.py::test_addr_raw_packet . pypy/module/_socket/test/test_sock_app.py::test_getnameinfo . pypy/module/_socket/test/test_sock_app.py::test_timeout . pypy/module/_socket/test/test_sock_app.py::AppTestSocket::()::test_module . pypy/module/_socket/test/test_sock_app.py::AppTestSocket::()::test_overflow_errors . pypy/module/_socket/test/test_sock_app.py::AppTestSocket::()::test_ntoa_exception . pypy/module/_socket/test/test_sock_app.py::AppTestSocket::()::test_aton_exceptions . pypy/module/_socket/test/test_sock_app.py::AppTestSocket::()::test_ntop_exceptions . pypy/module/_socket/test/test_sock_app.py::AppTestSocket::()::test_pton_exceptions . pypy/module/_socket/test/test_sock_app.py::AppTestSocket::()::test_newsocket_error . pypy/module/_socket/test/test_sock_app.py::AppTestSocket::()::test_socket_fileno . pypy/module/_socket/test/test_sock_app.py::AppTestSocket::()::test_socket_repr . pypy/module/_socket/test/test_sock_app.py::AppTestSocket::()::test_socket_close F pypy/module/_socket/test/test_sock_app.py::AppTestSocket::()::test_track_resources self = func = at 0xf4d08d84>, 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, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 0xf79b532c> hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf69524cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf69524cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf4d1776c> 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 0xf4d1776c> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf4d1766c> 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 0xf4d1766c> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def runtest(self): target = self.obj if self.config.option.runappdirect: return target() space = target.im_self.space filename = self._getdynfilename(target) func = app2interp_temp(target.im_func, filename=filename) w_instance = self.parent.w_instance > self.execute_appex(space, func, space, w_instance) tool/pytest/apptest.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , space = StdObjSpace target = args = (StdObjSpace, ) def execute_appex(self, space, target, *args): self.space = space try: > target(*args) tool/pytest/apptest.py:30: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace args_w = (,) w_func = args = def appcaller(space, *args_w): if not isinstance(space, ObjSpace): raise TypeError("first argument must be a space instance.") # the last argument can be an Arguments w_func = self.wget(space, name) if not args_w: return space.call_function(w_func) else: args = args_w[-1] assert args is not None if not isinstance(args, Arguments): > return space.call_function(w_func, *args_w) interpreter/gateway.py:1227: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = args_w = (,) nargs = 1, Function = Method = def call_function(self, w_func, *args_w): nargs = len(args_w) # used for pruning funccall versions if not self.config.objspace.disable_call_speedhacks and nargs < 5: # start of hack for performance from pypy.interpreter.function import Function, Method if isinstance(w_func, Method): w_inst = w_func.w_instance if w_inst is not None: if nargs < 4: func = w_func.w_function if isinstance(func, Function): return func.funccall(w_inst, *args_w) elif args_w and ( self.abstract_isinstance_w(args_w[0], w_func.w_class)): w_func = w_func.w_function if isinstance(w_func, Function): > return w_func.funccall(*args_w) interpreter/baseobjspace.py:1210: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = args_w = (,) gateway = PyCode = code = def funccall(self, *args_w): # speed hack from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit nargs = len(args_w) fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, args_w[0]) elif nargs == 2: assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, args_w[0], args_w[1]) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) return code.fastcall_3(self.space, self, args_w[0], args_w[1], args_w[2]) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) return code.fastcall_4(self.space, self, args_w[0], args_w[1], args_w[2], args_w[3]) elif (nargs | PyCode.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) if nargs < 5: new_frame = self.space.createframe(code, self.w_func_globals, self) for i in funccallunrolling: if i < nargs: new_frame.locals_cells_stack_w[i] = args_w[i] > return new_frame.run() interpreter/function.py:118: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 23 def run(self): """Start this frame's execution.""" if self.getcode().co_flags & pycode.CO_GENERATOR: from pypy.interpreter.generator import GeneratorIterator return GeneratorIterator(self) else: > return self.execute_frame() interpreter/pyframe.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 23 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:290: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 23 e = SyntaxError("Non-ASCII character '\\xe2' in file /build_dir/own-linux-x86-32/b..., ('/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py', 423, 0, None)) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:943: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 23 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:286: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 23 pycode = next_instr = 0L ec = def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 23 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x01\x00d\x01\x00d\x00\x00l\x01\x00\x89\x02\x00d\x01\x00d\x00\x00l\x02\x00\x89\x03\x00d\x...t\x05\x00t\x07\x00\x83\x02\x00}\x03\x00\xcc\x12\x00|\x03\x00d\x03\x00k\x02\x00s\xed\x00t\x06\x00\x82\x01\x00d\x00\x00S' next_instr = 0L ec = def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 23 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x01\x00d\x01\x00d\x00\x00l\x01\x00\x89\x02\x00d\x01\x00d\x00\x00l\x02\x00\x89\x03\x00d\x...t\x05\x00t\x07\x00\x83\x02\x00}\x03\x00\xcc\x12\x00|\x03\x00d\x03\x00k\x02\x00s\xed\x00t\x06\x00\x82\x01\x00d\x00\x00S' next_instr = 102L ec = @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: self.last_instr = intmask(next_instr) if jit.we_are_jitted(): if self.debugdata: ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: ec.bytecode_trace(self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) next_instr += 1 if opcode >= HAVE_ARGUMENT: lo = ord(co_code[next_instr]) hi = ord(co_code[next_instr+1]) next_instr += 2 oparg = (hi * 256) | lo else: oparg = 0 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into a switch(). while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption lo = ord(co_code[next_instr+1]) hi = ord(co_code[next_instr+2]) next_instr += 3 oparg = (oparg * 65536) | (hi * 256) | lo if opcode == opcodedesc.RETURN_VALUE.index: if not self.blockstack_non_empty(): self.frame_finished_execution = True # for generators raise Return w_returnvalue = self.popvalue() block = self.unrollstack(SReturnValue.kind) if block is None: self.pushvalue(w_returnvalue) raise Return else: unroller = SReturnValue(w_returnvalue) next_instr = block.handle(self, unroller) return next_instr # now inside a 'finally' block elif opcode == opcodedesc.END_FINALLY.index: unroller = self.end_finally() if isinstance(unroller, SuspendedUnroller): # go on unrolling the stack block = self.unrollstack(unroller.kind) if block is None: w_result = unroller.nomoreblocks() self.pushvalue(w_result) raise Return else: next_instr = block.handle(self, unroller) return next_instr elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, ec) elif opcode == opcodedesc.BREAK_LOOP.index: next_instr = self.BREAK_LOOP(oparg, next_instr) elif opcode == opcodedesc.CONTINUE_LOOP.index: return self.CONTINUE_LOOP(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: next_instr = self.JUMP_IF_FALSE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_DEBUG.index: next_instr = self.JUMP_IF_NOT_DEBUG(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: next_instr = self.JUMP_IF_TRUE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: next_instr = self.POP_JUMP_IF_FALSE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: next_instr = self.POP_JUMP_IF_TRUE(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_DIVIDE.index: self.BINARY_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CLASS.index: self.BUILD_CLASS(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: > self.CALL_FUNCTION(oparg, next_instr) interpreter/pyopcode.py:268: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 23 oparg = 2, next_instr = 102L def CALL_FUNCTION(self, oparg, next_instr): # XXX start of hack for performance if (oparg >> 8) & 0xff == 0: # Only positional arguments nargs = oparg & 0xff w_function = self.peekvalue(nargs) > w_result = self.space.call_valuestack(w_function, nargs, self, dropvalues=nargs+1) interpreter/pyopcode.py:1233: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = , nargs = 2 frame = at line 23 dropvalues = 3, methodcall = False def call_valuestack(self, w_func, nargs, frame, dropvalues, methodcall=False): # methodcall is only used for better error messages in argument.py from pypy.interpreter.function import Function, Method, is_builtin_code if frame.get_is_being_profiled() and is_builtin_code(w_func): # XXX: this code is copied&pasted :-( from the slow path below # call_valuestack(). args = frame.make_arguments(nargs) frame.dropvalues(dropvalues) return self.call_args_and_c_profile(frame, w_func, args) if not self.config.objspace.disable_call_speedhacks: # start of hack for performance if isinstance(w_func, Method): w_inst = w_func.w_instance if w_inst is not None: w_func = w_func.w_function # reuse callable stack place for w_inst frame.settopvalue(w_inst, nargs) nargs += 1 methodcall = True elif nargs > 0 and ( self.abstract_isinstance_w(frame.peekvalue(nargs-1), # :-( w_func.w_class)): w_func = w_func.w_function if isinstance(w_func, Function): return w_func.funccall_valuestack( > nargs, frame, methodcall=methodcall, dropvalues=dropvalues) interpreter/baseobjspace.py:1243: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , nargs = 2 frame = at line 23 dropvalues = 3, methodcall = False def funccall_valuestack(self, nargs, frame, dropvalues, methodcall=False): # speed hack # methodcall is only for better error messages from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit # if (jit.we_are_jitted() and code is self.space._code_of_sys_exc_info and nargs == 0): frame.dropvalues(dropvalues) from pypy.module.sys.vm import exc_info_direct return exc_info_direct(self.space, frame) # fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: f_0 = frame.peekvalue(0) frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, f_0) elif nargs == 2: f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, f_1, f_0) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) f_2 = frame.peekvalue(2) frame.dropvalues(dropvalues) return code.fastcall_3(self.space, self, f_2, f_1, f_0) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) f_2 = frame.peekvalue(2) f_3 = frame.peekvalue(3) frame.dropvalues(dropvalues) return code.fastcall_4(self.space, self, f_3, f_2, f_1, f_0) elif (nargs | Code.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) return self._flat_pycall(code, nargs, frame, dropvalues) elif fast_natural_arity & Code.FLATPYCALL: natural_arity = fast_natural_arity & 0xff if natural_arity > nargs >= natural_arity - len(self.defs_w): assert isinstance(code, PyCode) return self._flat_pycall_defaults(code, nargs, frame, > natural_arity - nargs, dropvalues) interpreter/function.py:180: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = code = nargs = 2 frame = at line 23 defs_to_load = 1, dropvalues = 3 @jit.unroll_safe def _flat_pycall_defaults(self, code, nargs, frame, defs_to_load, dropvalues): # code is a PyCode new_frame = self.space.createframe(code, self.w_func_globals, self) for i in xrange(nargs): new_frame.locals_cells_stack_w[i] = frame.peekvalue(nargs-1-i) ndefs = len(self.defs_w) start = ndefs - defs_to_load i = nargs for j in xrange(start, ndefs): new_frame.locals_cells_stack_w[i] = self.defs_w[j] i += 1 frame.dropvalues(dropvalues) > return new_frame.run() interpreter/function.py:218: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 16 def run(self): """Start this frame's execution.""" if self.getcode().co_flags & pycode.CO_GENERATOR: from pypy.interpreter.generator import GeneratorIterator return GeneratorIterator(self) else: > return self.execute_frame() interpreter/pyframe.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 16 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:290: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 16 e = SyntaxError("Non-ASCII character '\\xe2' in file /build_dir/own-linux-x86-32/b..., ('/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py', 423, 0, None)) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:943: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 16 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:286: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 16 pycode = next_instr = 0L ec = def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 16 co_code = '\x88\x03\x00\xc9\x00\x00|\x00\x00\xca\x01\x00\x01\x88\x00\x00\xc9\x01\x00\x88\x00\x00j\x02\x00\x88\x00\x00j\x03\x00d\...00\x00|\x05\x00\x88\x03\x00_\x05\x00\x88\x03\x00\xc9\x00\x00t\x08\x00\xca\x01\x00\x01X|\x04\x00\xc9\t\x00\xca\x00\x00S' next_instr = 0L ec = def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 16 co_code = '\x88\x03\x00\xc9\x00\x00|\x00\x00\xca\x01\x00\x01\x88\x00\x00\xc9\x01\x00\x88\x00\x00j\x02\x00\x88\x00\x00j\x03\x00d\...00\x00|\x05\x00\x88\x03\x00_\x05\x00\x88\x03\x00\xc9\x00\x00t\x08\x00\xca\x01\x00\x01X|\x04\x00\xc9\t\x00\xca\x00\x00S' next_instr = 114L ec = @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: self.last_instr = intmask(next_instr) if jit.we_are_jitted(): if self.debugdata: ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: ec.bytecode_trace(self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) next_instr += 1 if opcode >= HAVE_ARGUMENT: lo = ord(co_code[next_instr]) hi = ord(co_code[next_instr+1]) next_instr += 2 oparg = (hi * 256) | lo else: oparg = 0 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into a switch(). while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption lo = ord(co_code[next_instr+1]) hi = ord(co_code[next_instr+2]) next_instr += 3 oparg = (oparg * 65536) | (hi * 256) | lo if opcode == opcodedesc.RETURN_VALUE.index: if not self.blockstack_non_empty(): self.frame_finished_execution = True # for generators raise Return w_returnvalue = self.popvalue() block = self.unrollstack(SReturnValue.kind) if block is None: self.pushvalue(w_returnvalue) raise Return else: unroller = SReturnValue(w_returnvalue) next_instr = block.handle(self, unroller) return next_instr # now inside a 'finally' block elif opcode == opcodedesc.END_FINALLY.index: unroller = self.end_finally() if isinstance(unroller, SuspendedUnroller): # go on unrolling the stack block = self.unrollstack(unroller.kind) if block is None: w_result = unroller.nomoreblocks() self.pushvalue(w_result) raise Return else: next_instr = block.handle(self, unroller) return next_instr elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, ec) elif opcode == opcodedesc.BREAK_LOOP.index: next_instr = self.BREAK_LOOP(oparg, next_instr) elif opcode == opcodedesc.CONTINUE_LOOP.index: return self.CONTINUE_LOOP(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: next_instr = self.JUMP_IF_FALSE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_DEBUG.index: next_instr = self.JUMP_IF_NOT_DEBUG(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: next_instr = self.JUMP_IF_TRUE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: next_instr = self.POP_JUMP_IF_FALSE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: next_instr = self.POP_JUMP_IF_TRUE(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_DIVIDE.index: self.BINARY_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CLASS.index: self.BUILD_CLASS(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR.index: self.CALL_FUNCTION_VAR(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR_KW.index: self.CALL_FUNCTION_VAR_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: self.CALL_METHOD(oparg, next_instr) elif opcode == opcodedesc.COMPARE_OP.index: self.COMPARE_OP(oparg, next_instr) elif opcode == opcodedesc.DELETE_ATTR.index: self.DELETE_ATTR(oparg, next_instr) elif opcode == opcodedesc.DELETE_FAST.index: self.DELETE_FAST(oparg, next_instr) elif opcode == opcodedesc.DELETE_GLOBAL.index: self.DELETE_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.DELETE_NAME.index: self.DELETE_NAME(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_0.index: self.DELETE_SLICE_0(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_1.index: self.DELETE_SLICE_1(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_2.index: self.DELETE_SLICE_2(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_3.index: self.DELETE_SLICE_3(oparg, next_instr) elif opcode == opcodedesc.DELETE_SUBSCR.index: self.DELETE_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.DUP_TOP.index: self.DUP_TOP(oparg, next_instr) elif opcode == opcodedesc.DUP_TOPX.index: self.DUP_TOPX(oparg, next_instr) elif opcode == opcodedesc.EXEC_STMT.index: self.EXEC_STMT(oparg, next_instr) elif opcode == opcodedesc.GET_ITER.index: self.GET_ITER(oparg, next_instr) elif opcode == opcodedesc.IMPORT_FROM.index: self.IMPORT_FROM(oparg, next_instr) elif opcode == opcodedesc.IMPORT_NAME.index: self.IMPORT_NAME(oparg, next_instr) elif opcode == opcodedesc.IMPORT_STAR.index: self.IMPORT_STAR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_ADD.index: self.INPLACE_ADD(oparg, next_instr) elif opcode == opcodedesc.INPLACE_AND.index: self.INPLACE_AND(oparg, next_instr) elif opcode == opcodedesc.INPLACE_DIVIDE.index: self.INPLACE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_FLOOR_DIVIDE.index: self.INPLACE_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_LSHIFT.index: self.INPLACE_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MODULO.index: self.INPLACE_MODULO(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MULTIPLY.index: self.INPLACE_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.INPLACE_OR.index: self.INPLACE_OR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_POWER.index: self.INPLACE_POWER(oparg, next_instr) elif opcode == opcodedesc.INPLACE_RSHIFT.index: self.INPLACE_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_SUBTRACT.index: self.INPLACE_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_TRUE_DIVIDE.index: self.INPLACE_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_XOR.index: self.INPLACE_XOR(oparg, next_instr) elif opcode == opcodedesc.LIST_APPEND.index: self.LIST_APPEND(oparg, next_instr) elif opcode == opcodedesc.LOAD_ATTR.index: self.LOAD_ATTR(oparg, next_instr) elif opcode == opcodedesc.LOAD_CLOSURE.index: self.LOAD_CLOSURE(oparg, next_instr) elif opcode == opcodedesc.LOAD_CONST.index: self.LOAD_CONST(oparg, next_instr) elif opcode == opcodedesc.LOAD_DEREF.index: self.LOAD_DEREF(oparg, next_instr) elif opcode == opcodedesc.LOAD_FAST.index: self.LOAD_FAST(oparg, next_instr) elif opcode == opcodedesc.LOAD_GLOBAL.index: self.LOAD_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.LOAD_LOCALS.index: self.LOAD_LOCALS(oparg, next_instr) elif opcode == opcodedesc.LOAD_NAME.index: self.LOAD_NAME(oparg, next_instr) elif opcode == opcodedesc.LOOKUP_METHOD.index: > self.LOOKUP_METHOD(oparg, next_instr) interpreter/pyopcode.py:356: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = at line 16 nameindex = 7, ignored = (114L,) MutableCell = space = StdObjSpace w_obj = def LOOKUP_METHOD(f, nameindex, *ignored): from pypy.objspace.std.typeobject import MutableCell # stack before after # -------------- --fast-method----fallback-case------------ # # w_object None # w_object => w_function w_boundmethod_or_whatever # (more stuff) (more stuff) (more stuff) # space = f.space w_obj = f.popvalue() if not jit.we_are_jitted(): # mapdict has an extra-fast version of this function if LOOKUP_METHOD_mapdict(f, nameindex, w_obj): return w_name = f.getname_w(nameindex) w_value = None w_type = space.type(w_obj) if w_type.has_object_getattribute(): name = space.text_w(w_name) # bit of a mess to use these internal functions, but it allows the # mapdict caching below to work without an additional lookup version_tag = w_type.version_tag() if version_tag is None: _, w_descr = w_type._lookup_where(name) w_descr_cell = None else: _, w_descr_cell = w_type._pure_lookup_where_with_method_cache( name, version_tag) w_descr = w_descr_cell if isinstance(w_descr, MutableCell): w_descr = w_descr.unwrap_cell(space) if w_descr is None: # this handles directly the common case # module.function(args..) > w_value = w_obj.getdictvalue(space, name) objspace/std/callmethod.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def getdictvalue(self, space, name): w_value = space.finditem_str(self.w_dict, name) if self.lazy and w_value is None: > return self._load_lazily(space, name) interpreter/mixedmodule.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def _load_lazily(self, space, name): w_name = space.new_interned_str(name) try: loader = self.loaders[name] except KeyError: return None else: > w_value = loader(space) interpreter/mixedmodule.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace def ifileloader(space): d = {'space':space} # EVIL HACK (but it works, and this is not RPython :-) while 1: try: value = eval(spec, d) except NameError as ex: name = ex.args[0].split("'")[1] # super-Evil if name in d: raise # propagate the NameError try: > d[name] = __import__(pkgroot+'.'+name, None, None, [name]) interpreter/mixedmodule.py:182: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from pypy.interpreter.gateway import unwrap_spec from pypy.interpreter.error import oefmt from rpython.rlib import rgc > from pypy.module.gc.hook import W_GcCollectStepStats module/gc/interp_gc.py:4: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from rpython.memory.gc.hook import GcHooks > from rpython.memory.gc import incminimark module/gc/hook.py:2: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ # XXX Should find a way to bound the major collection threshold by the # XXX total addressable size. Maybe by keeping some minimarkpage arenas # XXX pre-reserved, enough for a few nursery collections? What about # XXX raw-malloced memory? # XXX try merging old_objects_pointing_to_pinned into # XXX old_objects_pointing_to_young (IRC 2014-10-22, fijal and gregor_w) import sys import os import time from rpython.rtyper.lltypesystem import lltype, llmemory, llarena, llgroup from rpython.rtyper.lltypesystem.lloperation import llop from rpython.rtyper.lltypesystem.llmemory import raw_malloc_usage from rpython.memory.gc.base import GCBase, MovingGCBase > from rpython.memory.gc import env E File "/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py", line 423 E SyntaxError: Non-ASCII character '\xe2' in file /build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py on line 423, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details ../rpython/memory/gc/incminimark.py:70: SyntaxError . pypy/module/_socket/test/test_sock_app.py::AppTestSocket::()::test_socket_close_error . pypy/module/_socket/test/test_sock_app.py::AppTestSocket::()::test_socket_connect . pypy/module/_socket/test/test_sock_app.py::AppTestSocket::()::test_socket_connect_ex . pypy/module/_socket/test/test_sock_app.py::AppTestSocket::()::test_socket_connect_typeerrors . pypy/module/_socket/test/test_sock_app.py::AppTestSocket::()::test_bigport . pypy/module/_socket/test/test_sock_app.py::AppTestSocket::()::test_NtoH . pypy/module/_socket/test/test_sock_app.py::AppTestSocket::()::test_newsocket . pypy/module/_socket/test/test_sock_app.py::AppTestSocket::()::test_subclass . pypy/module/_socket/test/test_sock_app.py::AppTestSocket::()::test_getsetsockopt . pypy/module/_socket/test/test_sock_app.py::AppTestSocket::()::test_getsetsockopt_zero . pypy/module/_socket/test/test_sock_app.py::AppTestSocket::()::test_getsockopt_bad_length s pypy/module/_socket/test/test_sock_app.py::AppTestSocket::()::test_socket_ioctl Skipped: win32 only . pypy/module/_socket/test/test_sock_app.py::AppTestSocket::()::test_dup . pypy/module/_socket/test/test_sock_app.py::AppTestSocket::()::test_buffer_or_unicode . pypy/module/_socket/test/test_sock_app.py::AppTestSocket::()::test_unix_socket_connect . pypy/module/_socket/test/test_sock_app.py::AppTestSocket::()::test_automatic_shutdown . pypy/module/_socket/test/test_sock_app.py::AppTestNetlink::()::test_connect_to_kernel_netlink_routing_socket s pypy/module/_socket/test/test_sock_app.py::AppTestPacket::()::test_convert_between_tuple_and_sockaddr_ll Skipped: AF_PACKET needs to be root for testing . pypy/module/_socket/test/test_sock_app.py::AppTestSocketTCP::()::test_timeout . pypy/module/_socket/test/test_sock_app.py::AppTestSocketTCP::()::test_timeout_zero . pypy/module/_socket/test/test_sock_app.py::AppTestSocketTCP::()::test_recv_send_timeout . pypy/module/_socket/test/test_sock_app.py::AppTestSocketTCP::()::test_recv_into . pypy/module/_socket/test/test_sock_app.py::AppTestSocketTCP::()::test_recvfrom_into . pypy/module/_socket/test/test_sock_app.py::AppTestSocketTCP::()::test_family . pypy/module/_socket/test/test_sock_app.py::AppTestSocketTCP::()::test_missing_error_catching . pypy/module/_socket/test/test_sock_app.py::AppTestSocketTCP::()::test_no_socket_cloexec_non_block . pypy/module/_socket/test/test_sock_app.py::AppTestErrno::()::test_errno . pypy/module/_socket/test/test_ztranslation.py::test_checkmodule (somefailed=True in module/_socket/test) . pypy/module/binascii/test/test_binascii.py::AppTestBinascii::()::test_a2b_uu . pypy/module/binascii/test/test_binascii.py::AppTestBinascii::()::test_b2a_uu . pypy/module/binascii/test/test_binascii.py::AppTestBinascii::()::test_a2b_base64 . pypy/module/binascii/test/test_binascii.py::AppTestBinascii::()::test_b2a_base64 . pypy/module/binascii/test/test_binascii.py::AppTestBinascii::()::test_a2b_qp . pypy/module/binascii/test/test_binascii.py::AppTestBinascii::()::test_b2a_qp . pypy/module/binascii/test/test_binascii.py::AppTestBinascii::()::test_a2b_hqx . pypy/module/binascii/test/test_binascii.py::AppTestBinascii::()::test_b2a_hqx . pypy/module/binascii/test/test_binascii.py::AppTestBinascii::()::test_rledecode_hqx . pypy/module/binascii/test/test_binascii.py::AppTestBinascii::()::test_rlecode_hqx . pypy/module/binascii/test/test_binascii.py::AppTestBinascii::()::test_crc_hqx . pypy/module/binascii/test/test_binascii.py::AppTestBinascii::()::test_crc32 . pypy/module/binascii/test/test_binascii.py::AppTestBinascii::()::test_hexlify . pypy/module/binascii/test/test_binascii.py::AppTestBinascii::()::test_unhexlify . pypy/module/cStringIO/test/test_interp_stringio.py::AppTestcStringIO::()::test_simple . pypy/module/cStringIO/test/test_interp_stringio.py::AppTestcStringIO::()::test_write_many . pypy/module/cStringIO/test/test_interp_stringio.py::AppTestcStringIO::()::test_seek . pypy/module/cStringIO/test/test_interp_stringio.py::AppTestcStringIO::()::test_write_beyond_end . pypy/module/cStringIO/test/test_interp_stringio.py::AppTestcStringIO::()::test_tell . pypy/module/cStringIO/test/test_interp_stringio.py::AppTestcStringIO::()::test_read . pypy/module/cStringIO/test/test_interp_stringio.py::AppTestcStringIO::()::test_reset . pypy/module/cStringIO/test/test_interp_stringio.py::AppTestcStringIO::()::test_close . pypy/module/cStringIO/test/test_interp_stringio.py::AppTestcStringIO::()::test_readline . pypy/module/cStringIO/test/test_interp_stringio.py::AppTestcStringIO::()::test_misc . pypy/module/cStringIO/test/test_interp_stringio.py::AppTestcStringIO::()::test_truncate . pypy/module/cStringIO/test/test_interp_stringio.py::AppTestcStringIO::()::test_writelines . pypy/module/cStringIO/test/test_interp_stringio.py::AppTestcStringIO::()::test_stringi . pypy/module/cStringIO/test/test_interp_stringio.py::AppTestcStringIO::()::test_types . pypy/module/cStringIO/test/test_interp_stringio.py::AppTestcStringIO::()::test_error_message_wrong_self . pypy/module/cStringIO/test/test_ztranslation.py::test_checkmodule F pypy/module/_weakref/test/test_weakref.py::AppTestWeakref::()::test_simple self = func = at 0xf7677144>, 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, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 0xf7a8732c> hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf6a244cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf6a244cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf51c658c> 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 0xf51c658c> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf51c652c> 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 0xf51c652c> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def runtest(self): target = self.obj if self.config.option.runappdirect: return target() space = target.im_self.space filename = self._getdynfilename(target) func = app2interp_temp(target.im_func, filename=filename) w_instance = self.parent.w_instance > self.execute_appex(space, func, space, w_instance) tool/pytest/apptest.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , space = StdObjSpace target = args = (StdObjSpace, ) def execute_appex(self, space, target, *args): self.space = space try: > target(*args) tool/pytest/apptest.py:30: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace args_w = (,) w_func = args = def appcaller(space, *args_w): if not isinstance(space, ObjSpace): raise TypeError("first argument must be a space instance.") # the last argument can be an Arguments w_func = self.wget(space, name) if not args_w: return space.call_function(w_func) else: args = args_w[-1] assert args is not None if not isinstance(args, Arguments): > return space.call_function(w_func, *args_w) interpreter/gateway.py:1227: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = args_w = (,) nargs = 1, Function = Method = def call_function(self, w_func, *args_w): nargs = len(args_w) # used for pruning funccall versions if not self.config.objspace.disable_call_speedhacks and nargs < 5: # start of hack for performance from pypy.interpreter.function import Function, Method if isinstance(w_func, Method): w_inst = w_func.w_instance if w_inst is not None: if nargs < 4: func = w_func.w_function if isinstance(func, Function): return func.funccall(w_inst, *args_w) elif args_w and ( self.abstract_isinstance_w(args_w[0], w_func.w_class)): w_func = w_func.w_function if isinstance(w_func, Function): > return w_func.funccall(*args_w) interpreter/baseobjspace.py:1210: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = args_w = (,) gateway = PyCode = code = def funccall(self, *args_w): # speed hack from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit nargs = len(args_w) fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, args_w[0]) elif nargs == 2: assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, args_w[0], args_w[1]) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) return code.fastcall_3(self.space, self, args_w[0], args_w[1], args_w[2]) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) return code.fastcall_4(self.space, self, args_w[0], args_w[1], args_w[2], args_w[3]) elif (nargs | PyCode.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) if nargs < 5: new_frame = self.space.createframe(code, self.w_func_globals, self) for i in funccallunrolling: if i < nargs: new_frame.locals_cells_stack_w[i] = args_w[i] > return new_frame.run() interpreter/function.py:118: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 12 def run(self): """Start this frame's execution.""" if self.getcode().co_flags & pycode.CO_GENERATOR: from pypy.interpreter.generator import GeneratorIterator return GeneratorIterator(self) else: > return self.execute_frame() interpreter/pyframe.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 12 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:290: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 12 e = SyntaxError("Non-ASCII character '\\xe2' in file /build_dir/own-linux-x86-32/b..., ('/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py', 423, 0, None)) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:943: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 12 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:286: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 12 pycode = next_instr = 0L ec = def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 12 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x01\x00d\x01\x00d\x00\x00l\x01\x00}\x02\x00d\x02\x00t\x02\x00f\x01\x00d\x03\x00\x84\x00\...xc9\x07\x00\xca\x00\x00\x01\xcc\x15\x00|\x05\x00\x83\x00\x00d\x00\x00k\x08\x00s\xd7\x00t\x04\x00\x82\x01\x00d\x00\x00S' next_instr = 0L ec = def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 12 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x01\x00d\x01\x00d\x00\x00l\x01\x00}\x02\x00d\x02\x00t\x02\x00f\x01\x00d\x03\x00\x84\x00\...xc9\x07\x00\xca\x00\x00\x01\xcc\x15\x00|\x05\x00\x83\x00\x00d\x00\x00k\x08\x00s\xd7\x00t\x04\x00\x82\x01\x00d\x00\x00S' next_instr = 187L ec = @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: self.last_instr = intmask(next_instr) if jit.we_are_jitted(): if self.debugdata: ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: ec.bytecode_trace(self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) next_instr += 1 if opcode >= HAVE_ARGUMENT: lo = ord(co_code[next_instr]) hi = ord(co_code[next_instr+1]) next_instr += 2 oparg = (hi * 256) | lo else: oparg = 0 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into a switch(). while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption lo = ord(co_code[next_instr+1]) hi = ord(co_code[next_instr+2]) next_instr += 3 oparg = (oparg * 65536) | (hi * 256) | lo if opcode == opcodedesc.RETURN_VALUE.index: if not self.blockstack_non_empty(): self.frame_finished_execution = True # for generators raise Return w_returnvalue = self.popvalue() block = self.unrollstack(SReturnValue.kind) if block is None: self.pushvalue(w_returnvalue) raise Return else: unroller = SReturnValue(w_returnvalue) next_instr = block.handle(self, unroller) return next_instr # now inside a 'finally' block elif opcode == opcodedesc.END_FINALLY.index: unroller = self.end_finally() if isinstance(unroller, SuspendedUnroller): # go on unrolling the stack block = self.unrollstack(unroller.kind) if block is None: w_result = unroller.nomoreblocks() self.pushvalue(w_result) raise Return else: next_instr = block.handle(self, unroller) return next_instr elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, ec) elif opcode == opcodedesc.BREAK_LOOP.index: next_instr = self.BREAK_LOOP(oparg, next_instr) elif opcode == opcodedesc.CONTINUE_LOOP.index: return self.CONTINUE_LOOP(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: next_instr = self.JUMP_IF_FALSE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_DEBUG.index: next_instr = self.JUMP_IF_NOT_DEBUG(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: next_instr = self.JUMP_IF_TRUE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: next_instr = self.POP_JUMP_IF_FALSE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: next_instr = self.POP_JUMP_IF_TRUE(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_DIVIDE.index: self.BINARY_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CLASS.index: self.BUILD_CLASS(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR.index: self.CALL_FUNCTION_VAR(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR_KW.index: self.CALL_FUNCTION_VAR_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: self.CALL_METHOD(oparg, next_instr) elif opcode == opcodedesc.COMPARE_OP.index: self.COMPARE_OP(oparg, next_instr) elif opcode == opcodedesc.DELETE_ATTR.index: self.DELETE_ATTR(oparg, next_instr) elif opcode == opcodedesc.DELETE_FAST.index: self.DELETE_FAST(oparg, next_instr) elif opcode == opcodedesc.DELETE_GLOBAL.index: self.DELETE_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.DELETE_NAME.index: self.DELETE_NAME(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_0.index: self.DELETE_SLICE_0(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_1.index: self.DELETE_SLICE_1(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_2.index: self.DELETE_SLICE_2(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_3.index: self.DELETE_SLICE_3(oparg, next_instr) elif opcode == opcodedesc.DELETE_SUBSCR.index: self.DELETE_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.DUP_TOP.index: self.DUP_TOP(oparg, next_instr) elif opcode == opcodedesc.DUP_TOPX.index: self.DUP_TOPX(oparg, next_instr) elif opcode == opcodedesc.EXEC_STMT.index: self.EXEC_STMT(oparg, next_instr) elif opcode == opcodedesc.GET_ITER.index: self.GET_ITER(oparg, next_instr) elif opcode == opcodedesc.IMPORT_FROM.index: self.IMPORT_FROM(oparg, next_instr) elif opcode == opcodedesc.IMPORT_NAME.index: self.IMPORT_NAME(oparg, next_instr) elif opcode == opcodedesc.IMPORT_STAR.index: self.IMPORT_STAR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_ADD.index: self.INPLACE_ADD(oparg, next_instr) elif opcode == opcodedesc.INPLACE_AND.index: self.INPLACE_AND(oparg, next_instr) elif opcode == opcodedesc.INPLACE_DIVIDE.index: self.INPLACE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_FLOOR_DIVIDE.index: self.INPLACE_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_LSHIFT.index: self.INPLACE_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MODULO.index: self.INPLACE_MODULO(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MULTIPLY.index: self.INPLACE_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.INPLACE_OR.index: self.INPLACE_OR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_POWER.index: self.INPLACE_POWER(oparg, next_instr) elif opcode == opcodedesc.INPLACE_RSHIFT.index: self.INPLACE_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_SUBTRACT.index: self.INPLACE_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_TRUE_DIVIDE.index: self.INPLACE_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_XOR.index: self.INPLACE_XOR(oparg, next_instr) elif opcode == opcodedesc.LIST_APPEND.index: self.LIST_APPEND(oparg, next_instr) elif opcode == opcodedesc.LOAD_ATTR.index: self.LOAD_ATTR(oparg, next_instr) elif opcode == opcodedesc.LOAD_CLOSURE.index: self.LOAD_CLOSURE(oparg, next_instr) elif opcode == opcodedesc.LOAD_CONST.index: self.LOAD_CONST(oparg, next_instr) elif opcode == opcodedesc.LOAD_DEREF.index: self.LOAD_DEREF(oparg, next_instr) elif opcode == opcodedesc.LOAD_FAST.index: self.LOAD_FAST(oparg, next_instr) elif opcode == opcodedesc.LOAD_GLOBAL.index: self.LOAD_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.LOAD_LOCALS.index: self.LOAD_LOCALS(oparg, next_instr) elif opcode == opcodedesc.LOAD_NAME.index: self.LOAD_NAME(oparg, next_instr) elif opcode == opcodedesc.LOOKUP_METHOD.index: > self.LOOKUP_METHOD(oparg, next_instr) interpreter/pyopcode.py:356: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = at line 12 nameindex = 7, ignored = (187L,) MutableCell = space = StdObjSpace w_obj = def LOOKUP_METHOD(f, nameindex, *ignored): from pypy.objspace.std.typeobject import MutableCell # stack before after # -------------- --fast-method----fallback-case------------ # # w_object None # w_object => w_function w_boundmethod_or_whatever # (more stuff) (more stuff) (more stuff) # space = f.space w_obj = f.popvalue() if not jit.we_are_jitted(): # mapdict has an extra-fast version of this function if LOOKUP_METHOD_mapdict(f, nameindex, w_obj): return w_name = f.getname_w(nameindex) w_value = None w_type = space.type(w_obj) if w_type.has_object_getattribute(): name = space.text_w(w_name) # bit of a mess to use these internal functions, but it allows the # mapdict caching below to work without an additional lookup version_tag = w_type.version_tag() if version_tag is None: _, w_descr = w_type._lookup_where(name) w_descr_cell = None else: _, w_descr_cell = w_type._pure_lookup_where_with_method_cache( name, version_tag) w_descr = w_descr_cell if isinstance(w_descr, MutableCell): w_descr = w_descr.unwrap_cell(space) if w_descr is None: # this handles directly the common case # module.function(args..) > w_value = w_obj.getdictvalue(space, name) objspace/std/callmethod.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def getdictvalue(self, space, name): w_value = space.finditem_str(self.w_dict, name) if self.lazy and w_value is None: > return self._load_lazily(space, name) interpreter/mixedmodule.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def _load_lazily(self, space, name): w_name = space.new_interned_str(name) try: loader = self.loaders[name] except KeyError: return None else: > w_value = loader(space) interpreter/mixedmodule.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace def ifileloader(space): d = {'space':space} # EVIL HACK (but it works, and this is not RPython :-) while 1: try: value = eval(spec, d) except NameError as ex: name = ex.args[0].split("'")[1] # super-Evil if name in d: raise # propagate the NameError try: > d[name] = __import__(pkgroot+'.'+name, None, None, [name]) interpreter/mixedmodule.py:182: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from pypy.interpreter.gateway import unwrap_spec from pypy.interpreter.error import oefmt from rpython.rlib import rgc > from pypy.module.gc.hook import W_GcCollectStepStats module/gc/interp_gc.py:4: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from rpython.memory.gc.hook import GcHooks > from rpython.memory.gc import incminimark module/gc/hook.py:2: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ # XXX Should find a way to bound the major collection threshold by the # XXX total addressable size. Maybe by keeping some minimarkpage arenas # XXX pre-reserved, enough for a few nursery collections? What about # XXX raw-malloced memory? # XXX try merging old_objects_pointing_to_pinned into # XXX old_objects_pointing_to_young (IRC 2014-10-22, fijal and gregor_w) import sys import os import time from rpython.rtyper.lltypesystem import lltype, llmemory, llarena, llgroup from rpython.rtyper.lltypesystem.lloperation import llop from rpython.rtyper.lltypesystem.llmemory import raw_malloc_usage from rpython.memory.gc.base import GCBase, MovingGCBase > from rpython.memory.gc import env E File "/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py", line 423 E SyntaxError: Non-ASCII character '\xe2' in file /build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py on line 423, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details ../rpython/memory/gc/incminimark.py:70: SyntaxError . pypy/module/_weakref/test/test_weakref.py::AppTestWeakref::()::test_missing_arg . pypy/module/_weakref/test/test_weakref.py::AppTestWeakref::()::test_no_kwargs F pypy/module/_weakref/test/test_weakref.py::AppTestWeakref::()::test_callback self = func = at 0xf5038454>, 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, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 0xf7a8732c> hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf6a244cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf6a244cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf4b2790c> 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 0xf4b2790c> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf4b2792c> 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 0xf4b2792c> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def runtest(self): target = self.obj if self.config.option.runappdirect: return target() space = target.im_self.space filename = self._getdynfilename(target) func = app2interp_temp(target.im_func, filename=filename) w_instance = self.parent.w_instance > self.execute_appex(space, func, space, w_instance) tool/pytest/apptest.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , space = StdObjSpace target = args = (StdObjSpace, ) def execute_appex(self, space, target, *args): self.space = space try: > target(*args) tool/pytest/apptest.py:30: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace args_w = (,) w_func = args = def appcaller(space, *args_w): if not isinstance(space, ObjSpace): raise TypeError("first argument must be a space instance.") # the last argument can be an Arguments w_func = self.wget(space, name) if not args_w: return space.call_function(w_func) else: args = args_w[-1] assert args is not None if not isinstance(args, Arguments): > return space.call_function(w_func, *args_w) interpreter/gateway.py:1227: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = args_w = (,) nargs = 1, Function = Method = def call_function(self, w_func, *args_w): nargs = len(args_w) # used for pruning funccall versions if not self.config.objspace.disable_call_speedhacks and nargs < 5: # start of hack for performance from pypy.interpreter.function import Function, Method if isinstance(w_func, Method): w_inst = w_func.w_instance if w_inst is not None: if nargs < 4: func = w_func.w_function if isinstance(func, Function): return func.funccall(w_inst, *args_w) elif args_w and ( self.abstract_isinstance_w(args_w[0], w_func.w_class)): w_func = w_func.w_function if isinstance(w_func, Function): > return w_func.funccall(*args_w) interpreter/baseobjspace.py:1210: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = args_w = (,) gateway = PyCode = code = def funccall(self, *args_w): # speed hack from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit nargs = len(args_w) fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, args_w[0]) elif nargs == 2: assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, args_w[0], args_w[1]) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) return code.fastcall_3(self.space, self, args_w[0], args_w[1], args_w[2]) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) return code.fastcall_4(self.space, self, args_w[0], args_w[1], args_w[2], args_w[3]) elif (nargs | PyCode.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) if nargs < 5: new_frame = self.space.createframe(code, self.w_func_globals, self) for i in funccallunrolling: if i < nargs: new_frame.locals_cells_stack_w[i] = args_w[i] > return new_frame.run() interpreter/function.py:118: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 13 def run(self): """Start this frame's execution.""" if self.getcode().co_flags & pycode.CO_GENERATOR: from pypy.interpreter.generator import GeneratorIterator return GeneratorIterator(self) else: > return self.execute_frame() interpreter/pyframe.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 13 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:290: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 13 e = SyntaxError("Non-ASCII character '\\xe2' in file /build_dir/own-linux-x86-32/b..., ('/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py', 423, 0, None)) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:943: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 13 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:286: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 13 pycode = next_instr = 0L ec = def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 13 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x01\x00d\x01\x00d\x00\x00l\x01\x00}\x02\x00d\x02\x00t\x02\x00f\x01\x00d\x03\x00\x84\x00\...b3\x00t\x05\x00\x82\x01\x00\xcc\x15\x00\x88\x00\x00j\x03\x00d\x00\x00k\x08\x00s\xcb\x00t\x05\x00\x82\x01\x00d\x00\x00S' next_instr = 0L ec = def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 13 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x01\x00d\x01\x00d\x00\x00l\x01\x00}\x02\x00d\x02\x00t\x02\x00f\x01\x00d\x03\x00\x84\x00\...b3\x00t\x05\x00\x82\x01\x00\xcc\x15\x00\x88\x00\x00j\x03\x00d\x00\x00k\x08\x00s\xcb\x00t\x05\x00\x82\x01\x00d\x00\x00S' next_instr = 151L ec = @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: self.last_instr = intmask(next_instr) if jit.we_are_jitted(): if self.debugdata: ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: ec.bytecode_trace(self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) next_instr += 1 if opcode >= HAVE_ARGUMENT: lo = ord(co_code[next_instr]) hi = ord(co_code[next_instr+1]) next_instr += 2 oparg = (hi * 256) | lo else: oparg = 0 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into a switch(). while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption lo = ord(co_code[next_instr+1]) hi = ord(co_code[next_instr+2]) next_instr += 3 oparg = (oparg * 65536) | (hi * 256) | lo if opcode == opcodedesc.RETURN_VALUE.index: if not self.blockstack_non_empty(): self.frame_finished_execution = True # for generators raise Return w_returnvalue = self.popvalue() block = self.unrollstack(SReturnValue.kind) if block is None: self.pushvalue(w_returnvalue) raise Return else: unroller = SReturnValue(w_returnvalue) next_instr = block.handle(self, unroller) return next_instr # now inside a 'finally' block elif opcode == opcodedesc.END_FINALLY.index: unroller = self.end_finally() if isinstance(unroller, SuspendedUnroller): # go on unrolling the stack block = self.unrollstack(unroller.kind) if block is None: w_result = unroller.nomoreblocks() self.pushvalue(w_result) raise Return else: next_instr = block.handle(self, unroller) return next_instr elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, ec) elif opcode == opcodedesc.BREAK_LOOP.index: next_instr = self.BREAK_LOOP(oparg, next_instr) elif opcode == opcodedesc.CONTINUE_LOOP.index: return self.CONTINUE_LOOP(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: next_instr = self.JUMP_IF_FALSE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_DEBUG.index: next_instr = self.JUMP_IF_NOT_DEBUG(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: next_instr = self.JUMP_IF_TRUE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: next_instr = self.POP_JUMP_IF_FALSE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: next_instr = self.POP_JUMP_IF_TRUE(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_DIVIDE.index: self.BINARY_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CLASS.index: self.BUILD_CLASS(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR.index: self.CALL_FUNCTION_VAR(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR_KW.index: self.CALL_FUNCTION_VAR_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: self.CALL_METHOD(oparg, next_instr) elif opcode == opcodedesc.COMPARE_OP.index: self.COMPARE_OP(oparg, next_instr) elif opcode == opcodedesc.DELETE_ATTR.index: self.DELETE_ATTR(oparg, next_instr) elif opcode == opcodedesc.DELETE_FAST.index: self.DELETE_FAST(oparg, next_instr) elif opcode == opcodedesc.DELETE_GLOBAL.index: self.DELETE_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.DELETE_NAME.index: self.DELETE_NAME(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_0.index: self.DELETE_SLICE_0(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_1.index: self.DELETE_SLICE_1(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_2.index: self.DELETE_SLICE_2(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_3.index: self.DELETE_SLICE_3(oparg, next_instr) elif opcode == opcodedesc.DELETE_SUBSCR.index: self.DELETE_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.DUP_TOP.index: self.DUP_TOP(oparg, next_instr) elif opcode == opcodedesc.DUP_TOPX.index: self.DUP_TOPX(oparg, next_instr) elif opcode == opcodedesc.EXEC_STMT.index: self.EXEC_STMT(oparg, next_instr) elif opcode == opcodedesc.GET_ITER.index: self.GET_ITER(oparg, next_instr) elif opcode == opcodedesc.IMPORT_FROM.index: self.IMPORT_FROM(oparg, next_instr) elif opcode == opcodedesc.IMPORT_NAME.index: self.IMPORT_NAME(oparg, next_instr) elif opcode == opcodedesc.IMPORT_STAR.index: self.IMPORT_STAR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_ADD.index: self.INPLACE_ADD(oparg, next_instr) elif opcode == opcodedesc.INPLACE_AND.index: self.INPLACE_AND(oparg, next_instr) elif opcode == opcodedesc.INPLACE_DIVIDE.index: self.INPLACE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_FLOOR_DIVIDE.index: self.INPLACE_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_LSHIFT.index: self.INPLACE_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MODULO.index: self.INPLACE_MODULO(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MULTIPLY.index: self.INPLACE_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.INPLACE_OR.index: self.INPLACE_OR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_POWER.index: self.INPLACE_POWER(oparg, next_instr) elif opcode == opcodedesc.INPLACE_RSHIFT.index: self.INPLACE_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_SUBTRACT.index: self.INPLACE_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_TRUE_DIVIDE.index: self.INPLACE_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_XOR.index: self.INPLACE_XOR(oparg, next_instr) elif opcode == opcodedesc.LIST_APPEND.index: self.LIST_APPEND(oparg, next_instr) elif opcode == opcodedesc.LOAD_ATTR.index: self.LOAD_ATTR(oparg, next_instr) elif opcode == opcodedesc.LOAD_CLOSURE.index: self.LOAD_CLOSURE(oparg, next_instr) elif opcode == opcodedesc.LOAD_CONST.index: self.LOAD_CONST(oparg, next_instr) elif opcode == opcodedesc.LOAD_DEREF.index: self.LOAD_DEREF(oparg, next_instr) elif opcode == opcodedesc.LOAD_FAST.index: self.LOAD_FAST(oparg, next_instr) elif opcode == opcodedesc.LOAD_GLOBAL.index: self.LOAD_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.LOAD_LOCALS.index: self.LOAD_LOCALS(oparg, next_instr) elif opcode == opcodedesc.LOAD_NAME.index: self.LOAD_NAME(oparg, next_instr) elif opcode == opcodedesc.LOOKUP_METHOD.index: > self.LOOKUP_METHOD(oparg, next_instr) interpreter/pyopcode.py:356: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = at line 13 nameindex = 6, ignored = (151L,) MutableCell = space = StdObjSpace w_obj = def LOOKUP_METHOD(f, nameindex, *ignored): from pypy.objspace.std.typeobject import MutableCell # stack before after # -------------- --fast-method----fallback-case------------ # # w_object None # w_object => w_function w_boundmethod_or_whatever # (more stuff) (more stuff) (more stuff) # space = f.space w_obj = f.popvalue() if not jit.we_are_jitted(): # mapdict has an extra-fast version of this function if LOOKUP_METHOD_mapdict(f, nameindex, w_obj): return w_name = f.getname_w(nameindex) w_value = None w_type = space.type(w_obj) if w_type.has_object_getattribute(): name = space.text_w(w_name) # bit of a mess to use these internal functions, but it allows the # mapdict caching below to work without an additional lookup version_tag = w_type.version_tag() if version_tag is None: _, w_descr = w_type._lookup_where(name) w_descr_cell = None else: _, w_descr_cell = w_type._pure_lookup_where_with_method_cache( name, version_tag) w_descr = w_descr_cell if isinstance(w_descr, MutableCell): w_descr = w_descr.unwrap_cell(space) if w_descr is None: # this handles directly the common case # module.function(args..) > w_value = w_obj.getdictvalue(space, name) objspace/std/callmethod.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def getdictvalue(self, space, name): w_value = space.finditem_str(self.w_dict, name) if self.lazy and w_value is None: > return self._load_lazily(space, name) interpreter/mixedmodule.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def _load_lazily(self, space, name): w_name = space.new_interned_str(name) try: loader = self.loaders[name] except KeyError: return None else: > w_value = loader(space) interpreter/mixedmodule.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace def ifileloader(space): d = {'space':space} # EVIL HACK (but it works, and this is not RPython :-) while 1: try: value = eval(spec, d) except NameError as ex: name = ex.args[0].split("'")[1] # super-Evil if name in d: raise # propagate the NameError try: > d[name] = __import__(pkgroot+'.'+name, None, None, [name]) interpreter/mixedmodule.py:182: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from pypy.interpreter.gateway import unwrap_spec from pypy.interpreter.error import oefmt from rpython.rlib import rgc > from pypy.module.gc.hook import W_GcCollectStepStats module/gc/interp_gc.py:4: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from rpython.memory.gc.hook import GcHooks > from rpython.memory.gc import incminimark module/gc/hook.py:2: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ # XXX Should find a way to bound the major collection threshold by the # XXX total addressable size. Maybe by keeping some minimarkpage arenas # XXX pre-reserved, enough for a few nursery collections? What about # XXX raw-malloced memory? # XXX try merging old_objects_pointing_to_pinned into # XXX old_objects_pointing_to_young (IRC 2014-10-22, fijal and gregor_w) import sys import os import time from rpython.rtyper.lltypesystem import lltype, llmemory, llarena, llgroup from rpython.rtyper.lltypesystem.lloperation import llop from rpython.rtyper.lltypesystem.llmemory import raw_malloc_usage from rpython.memory.gc.base import GCBase, MovingGCBase > from rpython.memory.gc import env E File "/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py", line 423 E SyntaxError: Non-ASCII character '\xe2' in file /build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py on line 423, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details ../rpython/memory/gc/incminimark.py:70: SyntaxError F pypy/module/_weakref/test/test_weakref.py::AppTestWeakref::()::test_callback_order self = func = at 0xf4f9b4c4>, 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, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 0xf7a8732c> hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf6a244cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf6a244cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf50e8c8c> 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 0xf50e8c8c> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf50e8fac> 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 0xf50e8fac> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def runtest(self): target = self.obj if self.config.option.runappdirect: return target() space = target.im_self.space filename = self._getdynfilename(target) func = app2interp_temp(target.im_func, filename=filename) w_instance = self.parent.w_instance > self.execute_appex(space, func, space, w_instance) tool/pytest/apptest.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , space = StdObjSpace target = args = (StdObjSpace, ) def execute_appex(self, space, target, *args): self.space = space try: > target(*args) tool/pytest/apptest.py:30: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace args_w = (,) w_func = args = def appcaller(space, *args_w): if not isinstance(space, ObjSpace): raise TypeError("first argument must be a space instance.") # the last argument can be an Arguments w_func = self.wget(space, name) if not args_w: return space.call_function(w_func) else: args = args_w[-1] assert args is not None if not isinstance(args, Arguments): > return space.call_function(w_func, *args_w) interpreter/gateway.py:1227: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = args_w = (,) nargs = 1, Function = Method = def call_function(self, w_func, *args_w): nargs = len(args_w) # used for pruning funccall versions if not self.config.objspace.disable_call_speedhacks and nargs < 5: # start of hack for performance from pypy.interpreter.function import Function, Method if isinstance(w_func, Method): w_inst = w_func.w_instance if w_inst is not None: if nargs < 4: func = w_func.w_function if isinstance(func, Function): return func.funccall(w_inst, *args_w) elif args_w and ( self.abstract_isinstance_w(args_w[0], w_func.w_class)): w_func = w_func.w_function if isinstance(w_func, Function): > return w_func.funccall(*args_w) interpreter/baseobjspace.py:1210: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = args_w = (,) gateway = PyCode = code = def funccall(self, *args_w): # speed hack from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit nargs = len(args_w) fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, args_w[0]) elif nargs == 2: assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, args_w[0], args_w[1]) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) return code.fastcall_3(self.space, self, args_w[0], args_w[1], args_w[2]) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) return code.fastcall_4(self.space, self, args_w[0], args_w[1], args_w[2], args_w[3]) elif (nargs | PyCode.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) if nargs < 5: new_frame = self.space.createframe(code, self.w_func_globals, self) for i in funccallunrolling: if i < nargs: new_frame.locals_cells_stack_w[i] = args_w[i] > return new_frame.run() interpreter/function.py:118: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 14 def run(self): """Start this frame's execution.""" if self.getcode().co_flags & pycode.CO_GENERATOR: from pypy.interpreter.generator import GeneratorIterator return GeneratorIterator(self) else: > return self.execute_frame() interpreter/pyframe.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 14 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:290: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 14 e = SyntaxError("Non-ASCII character '\\xe2' in file /build_dir/own-linux-x86-32/b..., ('/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py', 423, 0, None)) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:943: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 14 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:286: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 14 pycode = next_instr = 0L ec = def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 14 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x01\x00d\x01\x00d\x00\x00l\x01\x00}\x02\x00d\x02\x00t\x02\x00f\x01\x00d\x03\x00\x84\x00\...xc9\x04\x00\xca\x00\x00\x01\xcc\x15\x00\x88\x00\x00j\x05\x00d\x06\x00k\x02\x00s\xa7\x00t\x06\x00\x82\x01\x00d\x00\x00S' next_instr = 0L ec = def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 14 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x01\x00d\x01\x00d\x00\x00l\x01\x00}\x02\x00d\x02\x00t\x02\x00f\x01\x00d\x03\x00\x84\x00\...xc9\x04\x00\xca\x00\x00\x01\xcc\x15\x00\x88\x00\x00j\x05\x00d\x06\x00k\x02\x00s\xa7\x00t\x06\x00\x82\x01\x00d\x00\x00S' next_instr = 139L ec = @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: self.last_instr = intmask(next_instr) if jit.we_are_jitted(): if self.debugdata: ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: ec.bytecode_trace(self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) next_instr += 1 if opcode >= HAVE_ARGUMENT: lo = ord(co_code[next_instr]) hi = ord(co_code[next_instr+1]) next_instr += 2 oparg = (hi * 256) | lo else: oparg = 0 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into a switch(). while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption lo = ord(co_code[next_instr+1]) hi = ord(co_code[next_instr+2]) next_instr += 3 oparg = (oparg * 65536) | (hi * 256) | lo if opcode == opcodedesc.RETURN_VALUE.index: if not self.blockstack_non_empty(): self.frame_finished_execution = True # for generators raise Return w_returnvalue = self.popvalue() block = self.unrollstack(SReturnValue.kind) if block is None: self.pushvalue(w_returnvalue) raise Return else: unroller = SReturnValue(w_returnvalue) next_instr = block.handle(self, unroller) return next_instr # now inside a 'finally' block elif opcode == opcodedesc.END_FINALLY.index: unroller = self.end_finally() if isinstance(unroller, SuspendedUnroller): # go on unrolling the stack block = self.unrollstack(unroller.kind) if block is None: w_result = unroller.nomoreblocks() self.pushvalue(w_result) raise Return else: next_instr = block.handle(self, unroller) return next_instr elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, ec) elif opcode == opcodedesc.BREAK_LOOP.index: next_instr = self.BREAK_LOOP(oparg, next_instr) elif opcode == opcodedesc.CONTINUE_LOOP.index: return self.CONTINUE_LOOP(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: next_instr = self.JUMP_IF_FALSE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_DEBUG.index: next_instr = self.JUMP_IF_NOT_DEBUG(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: next_instr = self.JUMP_IF_TRUE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: next_instr = self.POP_JUMP_IF_FALSE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: next_instr = self.POP_JUMP_IF_TRUE(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_DIVIDE.index: self.BINARY_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CLASS.index: self.BUILD_CLASS(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR.index: self.CALL_FUNCTION_VAR(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR_KW.index: self.CALL_FUNCTION_VAR_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: self.CALL_METHOD(oparg, next_instr) elif opcode == opcodedesc.COMPARE_OP.index: self.COMPARE_OP(oparg, next_instr) elif opcode == opcodedesc.DELETE_ATTR.index: self.DELETE_ATTR(oparg, next_instr) elif opcode == opcodedesc.DELETE_FAST.index: self.DELETE_FAST(oparg, next_instr) elif opcode == opcodedesc.DELETE_GLOBAL.index: self.DELETE_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.DELETE_NAME.index: self.DELETE_NAME(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_0.index: self.DELETE_SLICE_0(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_1.index: self.DELETE_SLICE_1(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_2.index: self.DELETE_SLICE_2(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_3.index: self.DELETE_SLICE_3(oparg, next_instr) elif opcode == opcodedesc.DELETE_SUBSCR.index: self.DELETE_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.DUP_TOP.index: self.DUP_TOP(oparg, next_instr) elif opcode == opcodedesc.DUP_TOPX.index: self.DUP_TOPX(oparg, next_instr) elif opcode == opcodedesc.EXEC_STMT.index: self.EXEC_STMT(oparg, next_instr) elif opcode == opcodedesc.GET_ITER.index: self.GET_ITER(oparg, next_instr) elif opcode == opcodedesc.IMPORT_FROM.index: self.IMPORT_FROM(oparg, next_instr) elif opcode == opcodedesc.IMPORT_NAME.index: self.IMPORT_NAME(oparg, next_instr) elif opcode == opcodedesc.IMPORT_STAR.index: self.IMPORT_STAR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_ADD.index: self.INPLACE_ADD(oparg, next_instr) elif opcode == opcodedesc.INPLACE_AND.index: self.INPLACE_AND(oparg, next_instr) elif opcode == opcodedesc.INPLACE_DIVIDE.index: self.INPLACE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_FLOOR_DIVIDE.index: self.INPLACE_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_LSHIFT.index: self.INPLACE_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MODULO.index: self.INPLACE_MODULO(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MULTIPLY.index: self.INPLACE_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.INPLACE_OR.index: self.INPLACE_OR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_POWER.index: self.INPLACE_POWER(oparg, next_instr) elif opcode == opcodedesc.INPLACE_RSHIFT.index: self.INPLACE_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_SUBTRACT.index: self.INPLACE_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_TRUE_DIVIDE.index: self.INPLACE_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_XOR.index: self.INPLACE_XOR(oparg, next_instr) elif opcode == opcodedesc.LIST_APPEND.index: self.LIST_APPEND(oparg, next_instr) elif opcode == opcodedesc.LOAD_ATTR.index: self.LOAD_ATTR(oparg, next_instr) elif opcode == opcodedesc.LOAD_CLOSURE.index: self.LOAD_CLOSURE(oparg, next_instr) elif opcode == opcodedesc.LOAD_CONST.index: self.LOAD_CONST(oparg, next_instr) elif opcode == opcodedesc.LOAD_DEREF.index: self.LOAD_DEREF(oparg, next_instr) elif opcode == opcodedesc.LOAD_FAST.index: self.LOAD_FAST(oparg, next_instr) elif opcode == opcodedesc.LOAD_GLOBAL.index: self.LOAD_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.LOAD_LOCALS.index: self.LOAD_LOCALS(oparg, next_instr) elif opcode == opcodedesc.LOAD_NAME.index: self.LOAD_NAME(oparg, next_instr) elif opcode == opcodedesc.LOOKUP_METHOD.index: > self.LOOKUP_METHOD(oparg, next_instr) interpreter/pyopcode.py:356: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = at line 14 nameindex = 4, ignored = (139L,) MutableCell = space = StdObjSpace w_obj = def LOOKUP_METHOD(f, nameindex, *ignored): from pypy.objspace.std.typeobject import MutableCell # stack before after # -------------- --fast-method----fallback-case------------ # # w_object None # w_object => w_function w_boundmethod_or_whatever # (more stuff) (more stuff) (more stuff) # space = f.space w_obj = f.popvalue() if not jit.we_are_jitted(): # mapdict has an extra-fast version of this function if LOOKUP_METHOD_mapdict(f, nameindex, w_obj): return w_name = f.getname_w(nameindex) w_value = None w_type = space.type(w_obj) if w_type.has_object_getattribute(): name = space.text_w(w_name) # bit of a mess to use these internal functions, but it allows the # mapdict caching below to work without an additional lookup version_tag = w_type.version_tag() if version_tag is None: _, w_descr = w_type._lookup_where(name) w_descr_cell = None else: _, w_descr_cell = w_type._pure_lookup_where_with_method_cache( name, version_tag) w_descr = w_descr_cell if isinstance(w_descr, MutableCell): w_descr = w_descr.unwrap_cell(space) if w_descr is None: # this handles directly the common case # module.function(args..) > w_value = w_obj.getdictvalue(space, name) objspace/std/callmethod.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def getdictvalue(self, space, name): w_value = space.finditem_str(self.w_dict, name) if self.lazy and w_value is None: > return self._load_lazily(space, name) interpreter/mixedmodule.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def _load_lazily(self, space, name): w_name = space.new_interned_str(name) try: loader = self.loaders[name] except KeyError: return None else: > w_value = loader(space) interpreter/mixedmodule.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace def ifileloader(space): d = {'space':space} # EVIL HACK (but it works, and this is not RPython :-) while 1: try: value = eval(spec, d) except NameError as ex: name = ex.args[0].split("'")[1] # super-Evil if name in d: raise # propagate the NameError try: > d[name] = __import__(pkgroot+'.'+name, None, None, [name]) interpreter/mixedmodule.py:182: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from pypy.interpreter.gateway import unwrap_spec from pypy.interpreter.error import oefmt from rpython.rlib import rgc > from pypy.module.gc.hook import W_GcCollectStepStats module/gc/interp_gc.py:4: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from rpython.memory.gc.hook import GcHooks > from rpython.memory.gc import incminimark module/gc/hook.py:2: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ # XXX Should find a way to bound the major collection threshold by the # XXX total addressable size. Maybe by keeping some minimarkpage arenas # XXX pre-reserved, enough for a few nursery collections? What about # XXX raw-malloced memory? # XXX try merging old_objects_pointing_to_pinned into # XXX old_objects_pointing_to_young (IRC 2014-10-22, fijal and gregor_w) import sys import os import time from rpython.rtyper.lltypesystem import lltype, llmemory, llarena, llgroup from rpython.rtyper.lltypesystem.lloperation import llop from rpython.rtyper.lltypesystem.llmemory import raw_malloc_usage from rpython.memory.gc.base import GCBase, MovingGCBase > from rpython.memory.gc import env E File "/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py", line 423 E SyntaxError: Non-ASCII character '\xe2' in file /build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py on line 423, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details ../rpython/memory/gc/incminimark.py:70: SyntaxError F pypy/module/_weakref/test/test_weakref.py::AppTestWeakref::()::test_dont_callback_if_weakref_dead self = func = at 0xf4ad5c34>, 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, 1 meths, kwargs={'item': ...call__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 0xf7a8732c> hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf6a244cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': ...call__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf6a244cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': ...call__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf4fef56c> 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 0xf4fef56c> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf4fef5cc> 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 0xf4fef5cc> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def runtest(self): target = self.obj if self.config.option.runappdirect: return target() space = target.im_self.space filename = self._getdynfilename(target) func = app2interp_temp(target.im_func, filename=filename) w_instance = self.parent.w_instance > self.execute_appex(space, func, space, w_instance) tool/pytest/apptest.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , space = StdObjSpace target = args = (StdObjSpace, ) def execute_appex(self, space, target, *args): self.space = space try: > target(*args) tool/pytest/apptest.py:30: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace args_w = (,) w_func = args = def appcaller(space, *args_w): if not isinstance(space, ObjSpace): raise TypeError("first argument must be a space instance.") # the last argument can be an Arguments w_func = self.wget(space, name) if not args_w: return space.call_function(w_func) else: args = args_w[-1] assert args is not None if not isinstance(args, Arguments): > return space.call_function(w_func, *args_w) interpreter/gateway.py:1227: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = args_w = (,) nargs = 1, Function = Method = def call_function(self, w_func, *args_w): nargs = len(args_w) # used for pruning funccall versions if not self.config.objspace.disable_call_speedhacks and nargs < 5: # start of hack for performance from pypy.interpreter.function import Function, Method if isinstance(w_func, Method): w_inst = w_func.w_instance if w_inst is not None: if nargs < 4: func = w_func.w_function if isinstance(func, Function): return func.funccall(w_inst, *args_w) elif args_w and ( self.abstract_isinstance_w(args_w[0], w_func.w_class)): w_func = w_func.w_function if isinstance(w_func, Function): > return w_func.funccall(*args_w) interpreter/baseobjspace.py:1210: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = args_w = (,) gateway = PyCode = code = def funccall(self, *args_w): # speed hack from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit nargs = len(args_w) fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, args_w[0]) elif nargs == 2: assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, args_w[0], args_w[1]) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) return code.fastcall_3(self.space, self, args_w[0], args_w[1], args_w[2]) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) return code.fastcall_4(self.space, self, args_w[0], args_w[1], args_w[2], args_w[3]) elif (nargs | PyCode.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) if nargs < 5: new_frame = self.space.createframe(code, self.w_func_globals, self) for i in funccallunrolling: if i < nargs: new_frame.locals_cells_stack_w[i] = args_w[i] > return new_frame.run() interpreter/function.py:118: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 14 def run(self): """Start this frame's execution.""" if self.getcode().co_flags & pycode.CO_GENERATOR: from pypy.interpreter.generator import GeneratorIterator return GeneratorIterator(self) else: > return self.execute_frame() interpreter/pyframe.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 14 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:290: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 14 e = SyntaxError("Non-ASCII character '\\xe2' in file /build_dir/own-linux-x86-32/b..., ('/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py', 423, 0, None)) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:943: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 14 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:286: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 14 pycode = next_instr = 0L ec = def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 14 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x01\x00d\x01\x00d\x00\x00l\x01\x00}\x02\x00d\x02\x00t\x02\x00f\x01\x00d\x03\x00\x84\x00\...xc9\x07\x00\xca\x00\x00\x01\xcc\x15\x00\x88\x00\x00j\x03\x00d\x04\x00k\x02\x00s\xfc\x00t\x05\x00\x82\x01\x00d\x00\x00S' next_instr = 0L ec = def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 14 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x01\x00d\x01\x00d\x00\x00l\x01\x00}\x02\x00d\x02\x00t\x02\x00f\x01\x00d\x03\x00\x84\x00\...xc9\x07\x00\xca\x00\x00\x01\xcc\x15\x00\x88\x00\x00j\x03\x00d\x04\x00k\x02\x00s\xfc\x00t\x05\x00\x82\x01\x00d\x00\x00S' next_instr = 178L ec = @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: self.last_instr = intmask(next_instr) if jit.we_are_jitted(): if self.debugdata: ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: ec.bytecode_trace(self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) next_instr += 1 if opcode >= HAVE_ARGUMENT: lo = ord(co_code[next_instr]) hi = ord(co_code[next_instr+1]) next_instr += 2 oparg = (hi * 256) | lo else: oparg = 0 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into a switch(). while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption lo = ord(co_code[next_instr+1]) hi = ord(co_code[next_instr+2]) next_instr += 3 oparg = (oparg * 65536) | (hi * 256) | lo if opcode == opcodedesc.RETURN_VALUE.index: if not self.blockstack_non_empty(): self.frame_finished_execution = True # for generators raise Return w_returnvalue = self.popvalue() block = self.unrollstack(SReturnValue.kind) if block is None: self.pushvalue(w_returnvalue) raise Return else: unroller = SReturnValue(w_returnvalue) next_instr = block.handle(self, unroller) return next_instr # now inside a 'finally' block elif opcode == opcodedesc.END_FINALLY.index: unroller = self.end_finally() if isinstance(unroller, SuspendedUnroller): # go on unrolling the stack block = self.unrollstack(unroller.kind) if block is None: w_result = unroller.nomoreblocks() self.pushvalue(w_result) raise Return else: next_instr = block.handle(self, unroller) return next_instr elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, ec) elif opcode == opcodedesc.BREAK_LOOP.index: next_instr = self.BREAK_LOOP(oparg, next_instr) elif opcode == opcodedesc.CONTINUE_LOOP.index: return self.CONTINUE_LOOP(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: next_instr = self.JUMP_IF_FALSE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_DEBUG.index: next_instr = self.JUMP_IF_NOT_DEBUG(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: next_instr = self.JUMP_IF_TRUE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: next_instr = self.POP_JUMP_IF_FALSE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: next_instr = self.POP_JUMP_IF_TRUE(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_DIVIDE.index: self.BINARY_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CLASS.index: self.BUILD_CLASS(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR.index: self.CALL_FUNCTION_VAR(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR_KW.index: self.CALL_FUNCTION_VAR_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: self.CALL_METHOD(oparg, next_instr) elif opcode == opcodedesc.COMPARE_OP.index: self.COMPARE_OP(oparg, next_instr) elif opcode == opcodedesc.DELETE_ATTR.index: self.DELETE_ATTR(oparg, next_instr) elif opcode == opcodedesc.DELETE_FAST.index: self.DELETE_FAST(oparg, next_instr) elif opcode == opcodedesc.DELETE_GLOBAL.index: self.DELETE_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.DELETE_NAME.index: self.DELETE_NAME(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_0.index: self.DELETE_SLICE_0(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_1.index: self.DELETE_SLICE_1(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_2.index: self.DELETE_SLICE_2(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_3.index: self.DELETE_SLICE_3(oparg, next_instr) elif opcode == opcodedesc.DELETE_SUBSCR.index: self.DELETE_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.DUP_TOP.index: self.DUP_TOP(oparg, next_instr) elif opcode == opcodedesc.DUP_TOPX.index: self.DUP_TOPX(oparg, next_instr) elif opcode == opcodedesc.EXEC_STMT.index: self.EXEC_STMT(oparg, next_instr) elif opcode == opcodedesc.GET_ITER.index: self.GET_ITER(oparg, next_instr) elif opcode == opcodedesc.IMPORT_FROM.index: self.IMPORT_FROM(oparg, next_instr) elif opcode == opcodedesc.IMPORT_NAME.index: self.IMPORT_NAME(oparg, next_instr) elif opcode == opcodedesc.IMPORT_STAR.index: self.IMPORT_STAR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_ADD.index: self.INPLACE_ADD(oparg, next_instr) elif opcode == opcodedesc.INPLACE_AND.index: self.INPLACE_AND(oparg, next_instr) elif opcode == opcodedesc.INPLACE_DIVIDE.index: self.INPLACE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_FLOOR_DIVIDE.index: self.INPLACE_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_LSHIFT.index: self.INPLACE_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MODULO.index: self.INPLACE_MODULO(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MULTIPLY.index: self.INPLACE_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.INPLACE_OR.index: self.INPLACE_OR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_POWER.index: self.INPLACE_POWER(oparg, next_instr) elif opcode == opcodedesc.INPLACE_RSHIFT.index: self.INPLACE_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_SUBTRACT.index: self.INPLACE_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_TRUE_DIVIDE.index: self.INPLACE_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_XOR.index: self.INPLACE_XOR(oparg, next_instr) elif opcode == opcodedesc.LIST_APPEND.index: self.LIST_APPEND(oparg, next_instr) elif opcode == opcodedesc.LOAD_ATTR.index: self.LOAD_ATTR(oparg, next_instr) elif opcode == opcodedesc.LOAD_CLOSURE.index: self.LOAD_CLOSURE(oparg, next_instr) elif opcode == opcodedesc.LOAD_CONST.index: self.LOAD_CONST(oparg, next_instr) elif opcode == opcodedesc.LOAD_DEREF.index: self.LOAD_DEREF(oparg, next_instr) elif opcode == opcodedesc.LOAD_FAST.index: self.LOAD_FAST(oparg, next_instr) elif opcode == opcodedesc.LOAD_GLOBAL.index: self.LOAD_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.LOAD_LOCALS.index: self.LOAD_LOCALS(oparg, next_instr) elif opcode == opcodedesc.LOAD_NAME.index: self.LOAD_NAME(oparg, next_instr) elif opcode == opcodedesc.LOOKUP_METHOD.index: > self.LOOKUP_METHOD(oparg, next_instr) interpreter/pyopcode.py:356: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = at line 14 nameindex = 7, ignored = (178L,) MutableCell = space = StdObjSpace w_obj = def LOOKUP_METHOD(f, nameindex, *ignored): from pypy.objspace.std.typeobject import MutableCell # stack before after # -------------- --fast-method----fallback-case------------ # # w_object None # w_object => w_function w_boundmethod_or_whatever # (more stuff) (more stuff) (more stuff) # space = f.space w_obj = f.popvalue() if not jit.we_are_jitted(): # mapdict has an extra-fast version of this function if LOOKUP_METHOD_mapdict(f, nameindex, w_obj): return w_name = f.getname_w(nameindex) w_value = None w_type = space.type(w_obj) if w_type.has_object_getattribute(): name = space.text_w(w_name) # bit of a mess to use these internal functions, but it allows the # mapdict caching below to work without an additional lookup version_tag = w_type.version_tag() if version_tag is None: _, w_descr = w_type._lookup_where(name) w_descr_cell = None else: _, w_descr_cell = w_type._pure_lookup_where_with_method_cache( name, version_tag) w_descr = w_descr_cell if isinstance(w_descr, MutableCell): w_descr = w_descr.unwrap_cell(space) if w_descr is None: # this handles directly the common case # module.function(args..) > w_value = w_obj.getdictvalue(space, name) objspace/std/callmethod.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def getdictvalue(self, space, name): w_value = space.finditem_str(self.w_dict, name) if self.lazy and w_value is None: > return self._load_lazily(space, name) interpreter/mixedmodule.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def _load_lazily(self, space, name): w_name = space.new_interned_str(name) try: loader = self.loaders[name] except KeyError: return None else: > w_value = loader(space) interpreter/mixedmodule.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace def ifileloader(space): d = {'space':space} # EVIL HACK (but it works, and this is not RPython :-) while 1: try: value = eval(spec, d) except NameError as ex: name = ex.args[0].split("'")[1] # super-Evil if name in d: raise # propagate the NameError try: > d[name] = __import__(pkgroot+'.'+name, None, None, [name]) interpreter/mixedmodule.py:182: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from pypy.interpreter.gateway import unwrap_spec from pypy.interpreter.error import oefmt from rpython.rlib import rgc > from pypy.module.gc.hook import W_GcCollectStepStats module/gc/interp_gc.py:4: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from rpython.memory.gc.hook import GcHooks > from rpython.memory.gc import incminimark module/gc/hook.py:2: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ # XXX Should find a way to bound the major collection threshold by the # XXX total addressable size. Maybe by keeping some minimarkpage arenas # XXX pre-reserved, enough for a few nursery collections? What about # XXX raw-malloced memory? # XXX try merging old_objects_pointing_to_pinned into # XXX old_objects_pointing_to_young (IRC 2014-10-22, fijal and gregor_w) import sys import os import time from rpython.rtyper.lltypesystem import lltype, llmemory, llarena, llgroup from rpython.rtyper.lltypesystem.lloperation import llop from rpython.rtyper.lltypesystem.llmemory import raw_malloc_usage from rpython.memory.gc.base import GCBase, MovingGCBase > from rpython.memory.gc import env E File "/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py", line 423 E SyntaxError: Non-ASCII character '\xe2' in file /build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py on line 423, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details ../rpython/memory/gc/incminimark.py:70: SyntaxError F pypy/module/_weakref/test/test_weakref.py::AppTestWeakref::()::test_callback_cannot_ressurect self = func = at 0xf505fcdc>, 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, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 0xf7a8732c> hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf6a244cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf6a244cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf4f2c58c> 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 0xf4f2c58c> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf4f2c6ac> 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 0xf4f2c6ac> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def runtest(self): target = self.obj if self.config.option.runappdirect: return target() space = target.im_self.space filename = self._getdynfilename(target) func = app2interp_temp(target.im_func, filename=filename) w_instance = self.parent.w_instance > self.execute_appex(space, func, space, w_instance) tool/pytest/apptest.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , space = StdObjSpace target = args = (StdObjSpace, ) def execute_appex(self, space, target, *args): self.space = space try: > target(*args) tool/pytest/apptest.py:30: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace args_w = (,) w_func = args = def appcaller(space, *args_w): if not isinstance(space, ObjSpace): raise TypeError("first argument must be a space instance.") # the last argument can be an Arguments w_func = self.wget(space, name) if not args_w: return space.call_function(w_func) else: args = args_w[-1] assert args is not None if not isinstance(args, Arguments): > return space.call_function(w_func, *args_w) interpreter/gateway.py:1227: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = args_w = (,) nargs = 1, Function = Method = def call_function(self, w_func, *args_w): nargs = len(args_w) # used for pruning funccall versions if not self.config.objspace.disable_call_speedhacks and nargs < 5: # start of hack for performance from pypy.interpreter.function import Function, Method if isinstance(w_func, Method): w_inst = w_func.w_instance if w_inst is not None: if nargs < 4: func = w_func.w_function if isinstance(func, Function): return func.funccall(w_inst, *args_w) elif args_w and ( self.abstract_isinstance_w(args_w[0], w_func.w_class)): w_func = w_func.w_function if isinstance(w_func, Function): > return w_func.funccall(*args_w) interpreter/baseobjspace.py:1210: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = args_w = (,) gateway = PyCode = code = def funccall(self, *args_w): # speed hack from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit nargs = len(args_w) fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, args_w[0]) elif nargs == 2: assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, args_w[0], args_w[1]) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) return code.fastcall_3(self.space, self, args_w[0], args_w[1], args_w[2]) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) return code.fastcall_4(self.space, self, args_w[0], args_w[1], args_w[2], args_w[3]) elif (nargs | PyCode.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) if nargs < 5: new_frame = self.space.createframe(code, self.w_func_globals, self) for i in funccallunrolling: if i < nargs: new_frame.locals_cells_stack_w[i] = args_w[i] > return new_frame.run() interpreter/function.py:118: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 13 def run(self): """Start this frame's execution.""" if self.getcode().co_flags & pycode.CO_GENERATOR: from pypy.interpreter.generator import GeneratorIterator return GeneratorIterator(self) else: > return self.execute_frame() interpreter/pyframe.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 13 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:290: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 13 e = SyntaxError("Non-ASCII character '\\xe2' in file /build_dir/own-linux-x86-32/b..., ('/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py', 423, 0, None)) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:943: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 13 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:286: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 13 pycode = next_instr = 0L ec = def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 13 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x01\x00d\x01\x00d\x00\x00l\x01\x00}\x02\x00d\x02\x00t\x02\x00f\x01\x00d\x03\x00\x84\x00\...xc9\x05\x00\xca\x00\x00\x01\xcc\x15\x00\x88\x00\x00j\x03\x00d\x00\x00k\x08\x00s\xa4\x00t\x06\x00\x82\x01\x00d\x00\x00S' next_instr = 0L ec = def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 13 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x01\x00d\x01\x00d\x00\x00l\x01\x00}\x02\x00d\x02\x00t\x02\x00f\x01\x00d\x03\x00\x84\x00\...xc9\x05\x00\xca\x00\x00\x01\xcc\x15\x00\x88\x00\x00j\x03\x00d\x00\x00k\x08\x00s\xa4\x00t\x06\x00\x82\x01\x00d\x00\x00S' next_instr = 136L ec = @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: self.last_instr = intmask(next_instr) if jit.we_are_jitted(): if self.debugdata: ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: ec.bytecode_trace(self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) next_instr += 1 if opcode >= HAVE_ARGUMENT: lo = ord(co_code[next_instr]) hi = ord(co_code[next_instr+1]) next_instr += 2 oparg = (hi * 256) | lo else: oparg = 0 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into a switch(). while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption lo = ord(co_code[next_instr+1]) hi = ord(co_code[next_instr+2]) next_instr += 3 oparg = (oparg * 65536) | (hi * 256) | lo if opcode == opcodedesc.RETURN_VALUE.index: if not self.blockstack_non_empty(): self.frame_finished_execution = True # for generators raise Return w_returnvalue = self.popvalue() block = self.unrollstack(SReturnValue.kind) if block is None: self.pushvalue(w_returnvalue) raise Return else: unroller = SReturnValue(w_returnvalue) next_instr = block.handle(self, unroller) return next_instr # now inside a 'finally' block elif opcode == opcodedesc.END_FINALLY.index: unroller = self.end_finally() if isinstance(unroller, SuspendedUnroller): # go on unrolling the stack block = self.unrollstack(unroller.kind) if block is None: w_result = unroller.nomoreblocks() self.pushvalue(w_result) raise Return else: next_instr = block.handle(self, unroller) return next_instr elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, ec) elif opcode == opcodedesc.BREAK_LOOP.index: next_instr = self.BREAK_LOOP(oparg, next_instr) elif opcode == opcodedesc.CONTINUE_LOOP.index: return self.CONTINUE_LOOP(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: next_instr = self.JUMP_IF_FALSE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_DEBUG.index: next_instr = self.JUMP_IF_NOT_DEBUG(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: next_instr = self.JUMP_IF_TRUE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: next_instr = self.POP_JUMP_IF_FALSE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: next_instr = self.POP_JUMP_IF_TRUE(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_DIVIDE.index: self.BINARY_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CLASS.index: self.BUILD_CLASS(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR.index: self.CALL_FUNCTION_VAR(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR_KW.index: self.CALL_FUNCTION_VAR_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: self.CALL_METHOD(oparg, next_instr) elif opcode == opcodedesc.COMPARE_OP.index: self.COMPARE_OP(oparg, next_instr) elif opcode == opcodedesc.DELETE_ATTR.index: self.DELETE_ATTR(oparg, next_instr) elif opcode == opcodedesc.DELETE_FAST.index: self.DELETE_FAST(oparg, next_instr) elif opcode == opcodedesc.DELETE_GLOBAL.index: self.DELETE_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.DELETE_NAME.index: self.DELETE_NAME(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_0.index: self.DELETE_SLICE_0(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_1.index: self.DELETE_SLICE_1(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_2.index: self.DELETE_SLICE_2(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_3.index: self.DELETE_SLICE_3(oparg, next_instr) elif opcode == opcodedesc.DELETE_SUBSCR.index: self.DELETE_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.DUP_TOP.index: self.DUP_TOP(oparg, next_instr) elif opcode == opcodedesc.DUP_TOPX.index: self.DUP_TOPX(oparg, next_instr) elif opcode == opcodedesc.EXEC_STMT.index: self.EXEC_STMT(oparg, next_instr) elif opcode == opcodedesc.GET_ITER.index: self.GET_ITER(oparg, next_instr) elif opcode == opcodedesc.IMPORT_FROM.index: self.IMPORT_FROM(oparg, next_instr) elif opcode == opcodedesc.IMPORT_NAME.index: self.IMPORT_NAME(oparg, next_instr) elif opcode == opcodedesc.IMPORT_STAR.index: self.IMPORT_STAR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_ADD.index: self.INPLACE_ADD(oparg, next_instr) elif opcode == opcodedesc.INPLACE_AND.index: self.INPLACE_AND(oparg, next_instr) elif opcode == opcodedesc.INPLACE_DIVIDE.index: self.INPLACE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_FLOOR_DIVIDE.index: self.INPLACE_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_LSHIFT.index: self.INPLACE_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MODULO.index: self.INPLACE_MODULO(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MULTIPLY.index: self.INPLACE_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.INPLACE_OR.index: self.INPLACE_OR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_POWER.index: self.INPLACE_POWER(oparg, next_instr) elif opcode == opcodedesc.INPLACE_RSHIFT.index: self.INPLACE_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_SUBTRACT.index: self.INPLACE_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_TRUE_DIVIDE.index: self.INPLACE_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_XOR.index: self.INPLACE_XOR(oparg, next_instr) elif opcode == opcodedesc.LIST_APPEND.index: self.LIST_APPEND(oparg, next_instr) elif opcode == opcodedesc.LOAD_ATTR.index: self.LOAD_ATTR(oparg, next_instr) elif opcode == opcodedesc.LOAD_CLOSURE.index: self.LOAD_CLOSURE(oparg, next_instr) elif opcode == opcodedesc.LOAD_CONST.index: self.LOAD_CONST(oparg, next_instr) elif opcode == opcodedesc.LOAD_DEREF.index: self.LOAD_DEREF(oparg, next_instr) elif opcode == opcodedesc.LOAD_FAST.index: self.LOAD_FAST(oparg, next_instr) elif opcode == opcodedesc.LOAD_GLOBAL.index: self.LOAD_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.LOAD_LOCALS.index: self.LOAD_LOCALS(oparg, next_instr) elif opcode == opcodedesc.LOAD_NAME.index: self.LOAD_NAME(oparg, next_instr) elif opcode == opcodedesc.LOOKUP_METHOD.index: > self.LOOKUP_METHOD(oparg, next_instr) interpreter/pyopcode.py:356: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = at line 13 nameindex = 5, ignored = (136L,) MutableCell = space = StdObjSpace w_obj = def LOOKUP_METHOD(f, nameindex, *ignored): from pypy.objspace.std.typeobject import MutableCell # stack before after # -------------- --fast-method----fallback-case------------ # # w_object None # w_object => w_function w_boundmethod_or_whatever # (more stuff) (more stuff) (more stuff) # space = f.space w_obj = f.popvalue() if not jit.we_are_jitted(): # mapdict has an extra-fast version of this function if LOOKUP_METHOD_mapdict(f, nameindex, w_obj): return w_name = f.getname_w(nameindex) w_value = None w_type = space.type(w_obj) if w_type.has_object_getattribute(): name = space.text_w(w_name) # bit of a mess to use these internal functions, but it allows the # mapdict caching below to work without an additional lookup version_tag = w_type.version_tag() if version_tag is None: _, w_descr = w_type._lookup_where(name) w_descr_cell = None else: _, w_descr_cell = w_type._pure_lookup_where_with_method_cache( name, version_tag) w_descr = w_descr_cell if isinstance(w_descr, MutableCell): w_descr = w_descr.unwrap_cell(space) if w_descr is None: # this handles directly the common case # module.function(args..) > w_value = w_obj.getdictvalue(space, name) objspace/std/callmethod.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def getdictvalue(self, space, name): w_value = space.finditem_str(self.w_dict, name) if self.lazy and w_value is None: > return self._load_lazily(space, name) interpreter/mixedmodule.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def _load_lazily(self, space, name): w_name = space.new_interned_str(name) try: loader = self.loaders[name] except KeyError: return None else: > w_value = loader(space) interpreter/mixedmodule.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace def ifileloader(space): d = {'space':space} # EVIL HACK (but it works, and this is not RPython :-) while 1: try: value = eval(spec, d) except NameError as ex: name = ex.args[0].split("'")[1] # super-Evil if name in d: raise # propagate the NameError try: > d[name] = __import__(pkgroot+'.'+name, None, None, [name]) interpreter/mixedmodule.py:182: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from pypy.interpreter.gateway import unwrap_spec from pypy.interpreter.error import oefmt from rpython.rlib import rgc > from pypy.module.gc.hook import W_GcCollectStepStats module/gc/interp_gc.py:4: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from rpython.memory.gc.hook import GcHooks > from rpython.memory.gc import incminimark module/gc/hook.py:2: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ # XXX Should find a way to bound the major collection threshold by the # XXX total addressable size. Maybe by keeping some minimarkpage arenas # XXX pre-reserved, enough for a few nursery collections? What about # XXX raw-malloced memory? # XXX try merging old_objects_pointing_to_pinned into # XXX old_objects_pointing_to_young (IRC 2014-10-22, fijal and gregor_w) import sys import os import time from rpython.rtyper.lltypesystem import lltype, llmemory, llarena, llgroup from rpython.rtyper.lltypesystem.lloperation import llop from rpython.rtyper.lltypesystem.llmemory import raw_malloc_usage from rpython.memory.gc.base import GCBase, MovingGCBase > from rpython.memory.gc import env E File "/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py", line 423 E SyntaxError: Non-ASCII character '\xe2' in file /build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py on line 423, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details ../rpython/memory/gc/incminimark.py:70: SyntaxError . pypy/module/_weakref/test/test_weakref.py::AppTestWeakref::()::test_weakref_reusing F pypy/module/_weakref/test/test_weakref.py::AppTestWeakref::()::test_correct_weakrefcount_after_death self = func = at 0xf5051dbc>, 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, 1 meths, kwargs={'item': }>, 'item': } 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 0xf7a8732c> hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf6a244cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': }>, 'item': } 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 = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf6a244cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': }>, 'item': } self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf4b4578c> 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 0xf4b4578c> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf4b4596c> 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 0xf4b4596c> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def runtest(self): target = self.obj if self.config.option.runappdirect: return target() space = target.im_self.space filename = self._getdynfilename(target) func = app2interp_temp(target.im_func, filename=filename) w_instance = self.parent.w_instance > self.execute_appex(space, func, space, w_instance) tool/pytest/apptest.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace target = args = (StdObjSpace, ) def execute_appex(self, space, target, *args): self.space = space try: > target(*args) tool/pytest/apptest.py:30: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace args_w = (,) w_func = args = def appcaller(space, *args_w): if not isinstance(space, ObjSpace): raise TypeError("first argument must be a space instance.") # the last argument can be an Arguments w_func = self.wget(space, name) if not args_w: return space.call_function(w_func) else: args = args_w[-1] assert args is not None if not isinstance(args, Arguments): > return space.call_function(w_func, *args_w) interpreter/gateway.py:1227: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = args_w = (,) nargs = 1, Function = Method = def call_function(self, w_func, *args_w): nargs = len(args_w) # used for pruning funccall versions if not self.config.objspace.disable_call_speedhacks and nargs < 5: # start of hack for performance from pypy.interpreter.function import Function, Method if isinstance(w_func, Method): w_inst = w_func.w_instance if w_inst is not None: if nargs < 4: func = w_func.w_function if isinstance(func, Function): return func.funccall(w_inst, *args_w) elif args_w and ( self.abstract_isinstance_w(args_w[0], w_func.w_class)): w_func = w_func.w_function if isinstance(w_func, Function): > return w_func.funccall(*args_w) interpreter/baseobjspace.py:1210: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = args_w = (,) gateway = PyCode = code = def funccall(self, *args_w): # speed hack from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit nargs = len(args_w) fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, args_w[0]) elif nargs == 2: assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, args_w[0], args_w[1]) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) return code.fastcall_3(self.space, self, args_w[0], args_w[1], args_w[2]) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) return code.fastcall_4(self.space, self, args_w[0], args_w[1], args_w[2], args_w[3]) elif (nargs | PyCode.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) if nargs < 5: new_frame = self.space.createframe(code, self.w_func_globals, self) for i in funccallunrolling: if i < nargs: new_frame.locals_cells_stack_w[i] = args_w[i] > return new_frame.run() interpreter/function.py:118: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 10 def run(self): """Start this frame's execution.""" if self.getcode().co_flags & pycode.CO_GENERATOR: from pypy.interpreter.generator import GeneratorIterator return GeneratorIterator(self) else: > return self.execute_frame() interpreter/pyframe.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 10 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:290: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 10 e = SyntaxError("Non-ASCII character '\\xe2' in file /build_dir/own-linux-x86-32/b..., ('/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py', 423, 0, None)) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:943: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 10 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:286: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 10 pycode = next_instr = 0L ec = def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 10 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x01\x00d\x01\x00d\x00\x00l\x01\x00}\x02\x00d\x02\x00t\x02\x00f\x01\x00d\x03\x00\x84\x00\...00\x01\xcc\x1b\x00|\x01\x00\xc9\x04\x00|\x04\x00\xca\x01\x00d\x05\x00k\x02\x00s\xc9\x00t\x05\x00\x82\x01\x00d\x00\x00S' next_instr = 0L ec = def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 10 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x01\x00d\x01\x00d\x00\x00l\x01\x00}\x02\x00d\x02\x00t\x02\x00f\x01\x00d\x03\x00\x84\x00\...00\x01\xcc\x1b\x00|\x01\x00\xc9\x04\x00|\x04\x00\xca\x01\x00d\x05\x00k\x02\x00s\xc9\x00t\x05\x00\x82\x01\x00d\x00\x00S' next_instr = 124L ec = @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: self.last_instr = intmask(next_instr) if jit.we_are_jitted(): if self.debugdata: ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: ec.bytecode_trace(self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) next_instr += 1 if opcode >= HAVE_ARGUMENT: lo = ord(co_code[next_instr]) hi = ord(co_code[next_instr+1]) next_instr += 2 oparg = (hi * 256) | lo else: oparg = 0 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into a switch(). while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption lo = ord(co_code[next_instr+1]) hi = ord(co_code[next_instr+2]) next_instr += 3 oparg = (oparg * 65536) | (hi * 256) | lo if opcode == opcodedesc.RETURN_VALUE.index: if not self.blockstack_non_empty(): self.frame_finished_execution = True # for generators raise Return w_returnvalue = self.popvalue() block = self.unrollstack(SReturnValue.kind) if block is None: self.pushvalue(w_returnvalue) raise Return else: unroller = SReturnValue(w_returnvalue) next_instr = block.handle(self, unroller) return next_instr # now inside a 'finally' block elif opcode == opcodedesc.END_FINALLY.index: unroller = self.end_finally() if isinstance(unroller, SuspendedUnroller): # go on unrolling the stack block = self.unrollstack(unroller.kind) if block is None: w_result = unroller.nomoreblocks() self.pushvalue(w_result) raise Return else: next_instr = block.handle(self, unroller) return next_instr elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, ec) elif opcode == opcodedesc.BREAK_LOOP.index: next_instr = self.BREAK_LOOP(oparg, next_instr) elif opcode == opcodedesc.CONTINUE_LOOP.index: return self.CONTINUE_LOOP(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: next_instr = self.JUMP_IF_FALSE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_DEBUG.index: next_instr = self.JUMP_IF_NOT_DEBUG(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: next_instr = self.JUMP_IF_TRUE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: next_instr = self.POP_JUMP_IF_FALSE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: next_instr = self.POP_JUMP_IF_TRUE(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_DIVIDE.index: self.BINARY_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CLASS.index: self.BUILD_CLASS(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR.index: self.CALL_FUNCTION_VAR(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR_KW.index: self.CALL_FUNCTION_VAR_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: self.CALL_METHOD(oparg, next_instr) elif opcode == opcodedesc.COMPARE_OP.index: self.COMPARE_OP(oparg, next_instr) elif opcode == opcodedesc.DELETE_ATTR.index: self.DELETE_ATTR(oparg, next_instr) elif opcode == opcodedesc.DELETE_FAST.index: self.DELETE_FAST(oparg, next_instr) elif opcode == opcodedesc.DELETE_GLOBAL.index: self.DELETE_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.DELETE_NAME.index: self.DELETE_NAME(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_0.index: self.DELETE_SLICE_0(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_1.index: self.DELETE_SLICE_1(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_2.index: self.DELETE_SLICE_2(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_3.index: self.DELETE_SLICE_3(oparg, next_instr) elif opcode == opcodedesc.DELETE_SUBSCR.index: self.DELETE_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.DUP_TOP.index: self.DUP_TOP(oparg, next_instr) elif opcode == opcodedesc.DUP_TOPX.index: self.DUP_TOPX(oparg, next_instr) elif opcode == opcodedesc.EXEC_STMT.index: self.EXEC_STMT(oparg, next_instr) elif opcode == opcodedesc.GET_ITER.index: self.GET_ITER(oparg, next_instr) elif opcode == opcodedesc.IMPORT_FROM.index: self.IMPORT_FROM(oparg, next_instr) elif opcode == opcodedesc.IMPORT_NAME.index: self.IMPORT_NAME(oparg, next_instr) elif opcode == opcodedesc.IMPORT_STAR.index: self.IMPORT_STAR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_ADD.index: self.INPLACE_ADD(oparg, next_instr) elif opcode == opcodedesc.INPLACE_AND.index: self.INPLACE_AND(oparg, next_instr) elif opcode == opcodedesc.INPLACE_DIVIDE.index: self.INPLACE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_FLOOR_DIVIDE.index: self.INPLACE_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_LSHIFT.index: self.INPLACE_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MODULO.index: self.INPLACE_MODULO(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MULTIPLY.index: self.INPLACE_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.INPLACE_OR.index: self.INPLACE_OR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_POWER.index: self.INPLACE_POWER(oparg, next_instr) elif opcode == opcodedesc.INPLACE_RSHIFT.index: self.INPLACE_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_SUBTRACT.index: self.INPLACE_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_TRUE_DIVIDE.index: self.INPLACE_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_XOR.index: self.INPLACE_XOR(oparg, next_instr) elif opcode == opcodedesc.LIST_APPEND.index: self.LIST_APPEND(oparg, next_instr) elif opcode == opcodedesc.LOAD_ATTR.index: self.LOAD_ATTR(oparg, next_instr) elif opcode == opcodedesc.LOAD_CLOSURE.index: self.LOAD_CLOSURE(oparg, next_instr) elif opcode == opcodedesc.LOAD_CONST.index: self.LOAD_CONST(oparg, next_instr) elif opcode == opcodedesc.LOAD_DEREF.index: self.LOAD_DEREF(oparg, next_instr) elif opcode == opcodedesc.LOAD_FAST.index: self.LOAD_FAST(oparg, next_instr) elif opcode == opcodedesc.LOAD_GLOBAL.index: self.LOAD_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.LOAD_LOCALS.index: self.LOAD_LOCALS(oparg, next_instr) elif opcode == opcodedesc.LOAD_NAME.index: self.LOAD_NAME(oparg, next_instr) elif opcode == opcodedesc.LOOKUP_METHOD.index: > self.LOOKUP_METHOD(oparg, next_instr) interpreter/pyopcode.py:356: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = at line 10 nameindex = 6, ignored = (124L,) MutableCell = space = StdObjSpace w_obj = def LOOKUP_METHOD(f, nameindex, *ignored): from pypy.objspace.std.typeobject import MutableCell # stack before after # -------------- --fast-method----fallback-case------------ # # w_object None # w_object => w_function w_boundmethod_or_whatever # (more stuff) (more stuff) (more stuff) # space = f.space w_obj = f.popvalue() if not jit.we_are_jitted(): # mapdict has an extra-fast version of this function if LOOKUP_METHOD_mapdict(f, nameindex, w_obj): return w_name = f.getname_w(nameindex) w_value = None w_type = space.type(w_obj) if w_type.has_object_getattribute(): name = space.text_w(w_name) # bit of a mess to use these internal functions, but it allows the # mapdict caching below to work without an additional lookup version_tag = w_type.version_tag() if version_tag is None: _, w_descr = w_type._lookup_where(name) w_descr_cell = None else: _, w_descr_cell = w_type._pure_lookup_where_with_method_cache( name, version_tag) w_descr = w_descr_cell if isinstance(w_descr, MutableCell): w_descr = w_descr.unwrap_cell(space) if w_descr is None: # this handles directly the common case # module.function(args..) > w_value = w_obj.getdictvalue(space, name) objspace/std/callmethod.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def getdictvalue(self, space, name): w_value = space.finditem_str(self.w_dict, name) if self.lazy and w_value is None: > return self._load_lazily(space, name) interpreter/mixedmodule.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def _load_lazily(self, space, name): w_name = space.new_interned_str(name) try: loader = self.loaders[name] except KeyError: return None else: > w_value = loader(space) interpreter/mixedmodule.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace def ifileloader(space): d = {'space':space} # EVIL HACK (but it works, and this is not RPython :-) while 1: try: value = eval(spec, d) except NameError as ex: name = ex.args[0].split("'")[1] # super-Evil if name in d: raise # propagate the NameError try: > d[name] = __import__(pkgroot+'.'+name, None, None, [name]) interpreter/mixedmodule.py:182: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from pypy.interpreter.gateway import unwrap_spec from pypy.interpreter.error import oefmt from rpython.rlib import rgc > from pypy.module.gc.hook import W_GcCollectStepStats module/gc/interp_gc.py:4: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from rpython.memory.gc.hook import GcHooks > from rpython.memory.gc import incminimark module/gc/hook.py:2: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ # XXX Should find a way to bound the major collection threshold by the # XXX total addressable size. Maybe by keeping some minimarkpage arenas # XXX pre-reserved, enough for a few nursery collections? What about # XXX raw-malloced memory? # XXX try merging old_objects_pointing_to_pinned into # XXX old_objects_pointing_to_young (IRC 2014-10-22, fijal and gregor_w) import sys import os import time from rpython.rtyper.lltypesystem import lltype, llmemory, llarena, llgroup from rpython.rtyper.lltypesystem.lloperation import llop from rpython.rtyper.lltypesystem.llmemory import raw_malloc_usage from rpython.memory.gc.base import GCBase, MovingGCBase > from rpython.memory.gc import env E File "/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py", line 423 E SyntaxError: Non-ASCII character '\xe2' in file /build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py on line 423, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details ../rpython/memory/gc/incminimark.py:70: SyntaxError F pypy/module/_weakref/test/test_weakref.py::AppTestWeakref::()::test_weakref_equality self = func = at 0xf506ce2c>, 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, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 0xf7a8732c> hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf6a244cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf6a244cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf49b456c> 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 0xf49b456c> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf49b464c> 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 0xf49b464c> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def runtest(self): target = self.obj if self.config.option.runappdirect: return target() space = target.im_self.space filename = self._getdynfilename(target) func = app2interp_temp(target.im_func, filename=filename) w_instance = self.parent.w_instance > self.execute_appex(space, func, space, w_instance) tool/pytest/apptest.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , space = StdObjSpace target = args = (StdObjSpace, ) def execute_appex(self, space, target, *args): self.space = space try: > target(*args) tool/pytest/apptest.py:30: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace args_w = (,) w_func = args = def appcaller(space, *args_w): if not isinstance(space, ObjSpace): raise TypeError("first argument must be a space instance.") # the last argument can be an Arguments w_func = self.wget(space, name) if not args_w: return space.call_function(w_func) else: args = args_w[-1] assert args is not None if not isinstance(args, Arguments): > return space.call_function(w_func, *args_w) interpreter/gateway.py:1227: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = args_w = (,) nargs = 1, Function = Method = def call_function(self, w_func, *args_w): nargs = len(args_w) # used for pruning funccall versions if not self.config.objspace.disable_call_speedhacks and nargs < 5: # start of hack for performance from pypy.interpreter.function import Function, Method if isinstance(w_func, Method): w_inst = w_func.w_instance if w_inst is not None: if nargs < 4: func = w_func.w_function if isinstance(func, Function): return func.funccall(w_inst, *args_w) elif args_w and ( self.abstract_isinstance_w(args_w[0], w_func.w_class)): w_func = w_func.w_function if isinstance(w_func, Function): > return w_func.funccall(*args_w) interpreter/baseobjspace.py:1210: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = args_w = (,) gateway = PyCode = code = def funccall(self, *args_w): # speed hack from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit nargs = len(args_w) fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, args_w[0]) elif nargs == 2: assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, args_w[0], args_w[1]) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) return code.fastcall_3(self.space, self, args_w[0], args_w[1], args_w[2]) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) return code.fastcall_4(self.space, self, args_w[0], args_w[1], args_w[2], args_w[3]) elif (nargs | PyCode.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) if nargs < 5: new_frame = self.space.createframe(code, self.w_func_globals, self) for i in funccallunrolling: if i < nargs: new_frame.locals_cells_stack_w[i] = args_w[i] > return new_frame.run() interpreter/function.py:118: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 17 def run(self): """Start this frame's execution.""" if self.getcode().co_flags & pycode.CO_GENERATOR: from pypy.interpreter.generator import GeneratorIterator return GeneratorIterator(self) else: > return self.execute_frame() interpreter/pyframe.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 17 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:290: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 17 e = SyntaxError("Non-ASCII character '\\xe2' in file /build_dir/own-linux-x86-32/b..., ('/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py', 423, 0, None)) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:943: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 17 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:286: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 17 pycode = next_instr = 0L ec = def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 17 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x01\x00d\x01\x00d\x00\x00l\x01\x00}\x02\x00d\x02\x00t\x02\x00f\x01\x00d\x03\x00\x84\x00\...00\x00k\x02\x00r_\x01t\x04\x00\x82\x01\x00\xcc\x12\x00|\x06\x00g\x00\x00k\x03\x00st\x01t\x04\x00\x82\x01\x00d\x00\x00S' next_instr = 0L ec = def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 17 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x01\x00d\x01\x00d\x00\x00l\x01\x00}\x02\x00d\x02\x00t\x02\x00f\x01\x00d\x03\x00\x84\x00\...00\x00k\x02\x00r_\x01t\x04\x00\x82\x01\x00\xcc\x12\x00|\x06\x00g\x00\x00k\x03\x00st\x01t\x04\x00\x82\x01\x00d\x00\x00S' next_instr = 187L ec = @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: self.last_instr = intmask(next_instr) if jit.we_are_jitted(): if self.debugdata: ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: ec.bytecode_trace(self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) next_instr += 1 if opcode >= HAVE_ARGUMENT: lo = ord(co_code[next_instr]) hi = ord(co_code[next_instr+1]) next_instr += 2 oparg = (hi * 256) | lo else: oparg = 0 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into a switch(). while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption lo = ord(co_code[next_instr+1]) hi = ord(co_code[next_instr+2]) next_instr += 3 oparg = (oparg * 65536) | (hi * 256) | lo if opcode == opcodedesc.RETURN_VALUE.index: if not self.blockstack_non_empty(): self.frame_finished_execution = True # for generators raise Return w_returnvalue = self.popvalue() block = self.unrollstack(SReturnValue.kind) if block is None: self.pushvalue(w_returnvalue) raise Return else: unroller = SReturnValue(w_returnvalue) next_instr = block.handle(self, unroller) return next_instr # now inside a 'finally' block elif opcode == opcodedesc.END_FINALLY.index: unroller = self.end_finally() if isinstance(unroller, SuspendedUnroller): # go on unrolling the stack block = self.unrollstack(unroller.kind) if block is None: w_result = unroller.nomoreblocks() self.pushvalue(w_result) raise Return else: next_instr = block.handle(self, unroller) return next_instr elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, ec) elif opcode == opcodedesc.BREAK_LOOP.index: next_instr = self.BREAK_LOOP(oparg, next_instr) elif opcode == opcodedesc.CONTINUE_LOOP.index: return self.CONTINUE_LOOP(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: next_instr = self.JUMP_IF_FALSE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_DEBUG.index: next_instr = self.JUMP_IF_NOT_DEBUG(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: next_instr = self.JUMP_IF_TRUE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: next_instr = self.POP_JUMP_IF_FALSE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: next_instr = self.POP_JUMP_IF_TRUE(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_DIVIDE.index: self.BINARY_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CLASS.index: self.BUILD_CLASS(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR.index: self.CALL_FUNCTION_VAR(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR_KW.index: self.CALL_FUNCTION_VAR_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: self.CALL_METHOD(oparg, next_instr) elif opcode == opcodedesc.COMPARE_OP.index: self.COMPARE_OP(oparg, next_instr) elif opcode == opcodedesc.DELETE_ATTR.index: self.DELETE_ATTR(oparg, next_instr) elif opcode == opcodedesc.DELETE_FAST.index: self.DELETE_FAST(oparg, next_instr) elif opcode == opcodedesc.DELETE_GLOBAL.index: self.DELETE_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.DELETE_NAME.index: self.DELETE_NAME(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_0.index: self.DELETE_SLICE_0(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_1.index: self.DELETE_SLICE_1(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_2.index: self.DELETE_SLICE_2(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_3.index: self.DELETE_SLICE_3(oparg, next_instr) elif opcode == opcodedesc.DELETE_SUBSCR.index: self.DELETE_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.DUP_TOP.index: self.DUP_TOP(oparg, next_instr) elif opcode == opcodedesc.DUP_TOPX.index: self.DUP_TOPX(oparg, next_instr) elif opcode == opcodedesc.EXEC_STMT.index: self.EXEC_STMT(oparg, next_instr) elif opcode == opcodedesc.GET_ITER.index: self.GET_ITER(oparg, next_instr) elif opcode == opcodedesc.IMPORT_FROM.index: self.IMPORT_FROM(oparg, next_instr) elif opcode == opcodedesc.IMPORT_NAME.index: self.IMPORT_NAME(oparg, next_instr) elif opcode == opcodedesc.IMPORT_STAR.index: self.IMPORT_STAR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_ADD.index: self.INPLACE_ADD(oparg, next_instr) elif opcode == opcodedesc.INPLACE_AND.index: self.INPLACE_AND(oparg, next_instr) elif opcode == opcodedesc.INPLACE_DIVIDE.index: self.INPLACE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_FLOOR_DIVIDE.index: self.INPLACE_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_LSHIFT.index: self.INPLACE_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MODULO.index: self.INPLACE_MODULO(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MULTIPLY.index: self.INPLACE_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.INPLACE_OR.index: self.INPLACE_OR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_POWER.index: self.INPLACE_POWER(oparg, next_instr) elif opcode == opcodedesc.INPLACE_RSHIFT.index: self.INPLACE_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_SUBTRACT.index: self.INPLACE_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_TRUE_DIVIDE.index: self.INPLACE_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_XOR.index: self.INPLACE_XOR(oparg, next_instr) elif opcode == opcodedesc.LIST_APPEND.index: self.LIST_APPEND(oparg, next_instr) elif opcode == opcodedesc.LOAD_ATTR.index: self.LOAD_ATTR(oparg, next_instr) elif opcode == opcodedesc.LOAD_CLOSURE.index: self.LOAD_CLOSURE(oparg, next_instr) elif opcode == opcodedesc.LOAD_CONST.index: self.LOAD_CONST(oparg, next_instr) elif opcode == opcodedesc.LOAD_DEREF.index: self.LOAD_DEREF(oparg, next_instr) elif opcode == opcodedesc.LOAD_FAST.index: self.LOAD_FAST(oparg, next_instr) elif opcode == opcodedesc.LOAD_GLOBAL.index: self.LOAD_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.LOAD_LOCALS.index: self.LOAD_LOCALS(oparg, next_instr) elif opcode == opcodedesc.LOAD_NAME.index: self.LOAD_NAME(oparg, next_instr) elif opcode == opcodedesc.LOOKUP_METHOD.index: > self.LOOKUP_METHOD(oparg, next_instr) interpreter/pyopcode.py:356: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = at line 17 nameindex = 5, ignored = (187L,) MutableCell = space = StdObjSpace w_obj = def LOOKUP_METHOD(f, nameindex, *ignored): from pypy.objspace.std.typeobject import MutableCell # stack before after # -------------- --fast-method----fallback-case------------ # # w_object None # w_object => w_function w_boundmethod_or_whatever # (more stuff) (more stuff) (more stuff) # space = f.space w_obj = f.popvalue() if not jit.we_are_jitted(): # mapdict has an extra-fast version of this function if LOOKUP_METHOD_mapdict(f, nameindex, w_obj): return w_name = f.getname_w(nameindex) w_value = None w_type = space.type(w_obj) if w_type.has_object_getattribute(): name = space.text_w(w_name) # bit of a mess to use these internal functions, but it allows the # mapdict caching below to work without an additional lookup version_tag = w_type.version_tag() if version_tag is None: _, w_descr = w_type._lookup_where(name) w_descr_cell = None else: _, w_descr_cell = w_type._pure_lookup_where_with_method_cache( name, version_tag) w_descr = w_descr_cell if isinstance(w_descr, MutableCell): w_descr = w_descr.unwrap_cell(space) if w_descr is None: # this handles directly the common case # module.function(args..) > w_value = w_obj.getdictvalue(space, name) objspace/std/callmethod.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def getdictvalue(self, space, name): w_value = space.finditem_str(self.w_dict, name) if self.lazy and w_value is None: > return self._load_lazily(space, name) interpreter/mixedmodule.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def _load_lazily(self, space, name): w_name = space.new_interned_str(name) try: loader = self.loaders[name] except KeyError: return None else: > w_value = loader(space) interpreter/mixedmodule.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace def ifileloader(space): d = {'space':space} # EVIL HACK (but it works, and this is not RPython :-) while 1: try: value = eval(spec, d) except NameError as ex: name = ex.args[0].split("'")[1] # super-Evil if name in d: raise # propagate the NameError try: > d[name] = __import__(pkgroot+'.'+name, None, None, [name]) interpreter/mixedmodule.py:182: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from pypy.interpreter.gateway import unwrap_spec from pypy.interpreter.error import oefmt from rpython.rlib import rgc > from pypy.module.gc.hook import W_GcCollectStepStats module/gc/interp_gc.py:4: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from rpython.memory.gc.hook import GcHooks > from rpython.memory.gc import incminimark module/gc/hook.py:2: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ # XXX Should find a way to bound the major collection threshold by the # XXX total addressable size. Maybe by keeping some minimarkpage arenas # XXX pre-reserved, enough for a few nursery collections? What about # XXX raw-malloced memory? # XXX try merging old_objects_pointing_to_pinned into # XXX old_objects_pointing_to_young (IRC 2014-10-22, fijal and gregor_w) import sys import os import time from rpython.rtyper.lltypesystem import lltype, llmemory, llarena, llgroup from rpython.rtyper.lltypesystem.lloperation import llop from rpython.rtyper.lltypesystem.llmemory import raw_malloc_usage from rpython.memory.gc.base import GCBase, MovingGCBase > from rpython.memory.gc import env E File "/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py", line 423 E SyntaxError: Non-ASCII character '\xe2' in file /build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py on line 423, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details ../rpython/memory/gc/incminimark.py:70: SyntaxError . pypy/module/_weakref/test/test_weakref.py::AppTestWeakref::()::test_ne . pypy/module/_weakref/test/test_weakref.py::AppTestWeakref::()::test_getweakrefs F pypy/module/_weakref/test/test_weakref.py::AppTestWeakref::()::test_hashing self = func = at 0xf4d95cdc>, 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, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 0xf7a8732c> hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf6a244cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf6a244cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf4c95e2c> 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 0xf4c95e2c> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf4c956cc> 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 0xf4c956cc> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def runtest(self): target = self.obj if self.config.option.runappdirect: return target() space = target.im_self.space filename = self._getdynfilename(target) func = app2interp_temp(target.im_func, filename=filename) w_instance = self.parent.w_instance > self.execute_appex(space, func, space, w_instance) tool/pytest/apptest.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , space = StdObjSpace target = args = (StdObjSpace, ) def execute_appex(self, space, target, *args): self.space = space try: > target(*args) tool/pytest/apptest.py:30: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace args_w = (,) w_func = args = def appcaller(space, *args_w): if not isinstance(space, ObjSpace): raise TypeError("first argument must be a space instance.") # the last argument can be an Arguments w_func = self.wget(space, name) if not args_w: return space.call_function(w_func) else: args = args_w[-1] assert args is not None if not isinstance(args, Arguments): > return space.call_function(w_func, *args_w) interpreter/gateway.py:1227: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = args_w = (,) nargs = 1, Function = Method = def call_function(self, w_func, *args_w): nargs = len(args_w) # used for pruning funccall versions if not self.config.objspace.disable_call_speedhacks and nargs < 5: # start of hack for performance from pypy.interpreter.function import Function, Method if isinstance(w_func, Method): w_inst = w_func.w_instance if w_inst is not None: if nargs < 4: func = w_func.w_function if isinstance(func, Function): return func.funccall(w_inst, *args_w) elif args_w and ( self.abstract_isinstance_w(args_w[0], w_func.w_class)): w_func = w_func.w_function if isinstance(w_func, Function): > return w_func.funccall(*args_w) interpreter/baseobjspace.py:1210: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = args_w = (,) gateway = PyCode = code = def funccall(self, *args_w): # speed hack from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit nargs = len(args_w) fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, args_w[0]) elif nargs == 2: assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, args_w[0], args_w[1]) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) return code.fastcall_3(self.space, self, args_w[0], args_w[1], args_w[2]) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) return code.fastcall_4(self.space, self, args_w[0], args_w[1], args_w[2], args_w[3]) elif (nargs | PyCode.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) if nargs < 5: new_frame = self.space.createframe(code, self.w_func_globals, self) for i in funccallunrolling: if i < nargs: new_frame.locals_cells_stack_w[i] = args_w[i] > return new_frame.run() interpreter/function.py:118: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 10 def run(self): """Start this frame's execution.""" if self.getcode().co_flags & pycode.CO_GENERATOR: from pypy.interpreter.generator import GeneratorIterator return GeneratorIterator(self) else: > return self.execute_frame() interpreter/pyframe.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 10 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:290: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 10 e = SyntaxError("Non-ASCII character '\\xe2' in file /build_dir/own-linux-x86-32/b..., ('/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py', 423, 0, None)) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:943: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 10 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:286: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 10 pycode = next_instr = 0L ec = def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 10 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x01\x00d\x01\x00d\x00\x00l\x01\x00}\x02\x00d\x02\x00t\x02\x00f\x01\x00d\x03\x00\x84\x00\...ca\x01\x00}\x05\x00|\x02\x00\xc9\x06\x00\xca\x00\x00\x01t\x07\x00t\x08\x00t\x04\x00|\x05\x00\x83\x03\x00\x01d\x00\x00S' next_instr = 0L ec = def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 10 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x01\x00d\x01\x00d\x00\x00l\x01\x00}\x02\x00d\x02\x00t\x02\x00f\x01\x00d\x03\x00\x84\x00\...ca\x01\x00}\x05\x00|\x02\x00\xc9\x06\x00\xca\x00\x00\x01t\x07\x00t\x08\x00t\x04\x00|\x05\x00\x83\x03\x00\x01d\x00\x00S' next_instr = 112L ec = @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: self.last_instr = intmask(next_instr) if jit.we_are_jitted(): if self.debugdata: ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: ec.bytecode_trace(self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) next_instr += 1 if opcode >= HAVE_ARGUMENT: lo = ord(co_code[next_instr]) hi = ord(co_code[next_instr+1]) next_instr += 2 oparg = (hi * 256) | lo else: oparg = 0 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into a switch(). while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption lo = ord(co_code[next_instr+1]) hi = ord(co_code[next_instr+2]) next_instr += 3 oparg = (oparg * 65536) | (hi * 256) | lo if opcode == opcodedesc.RETURN_VALUE.index: if not self.blockstack_non_empty(): self.frame_finished_execution = True # for generators raise Return w_returnvalue = self.popvalue() block = self.unrollstack(SReturnValue.kind) if block is None: self.pushvalue(w_returnvalue) raise Return else: unroller = SReturnValue(w_returnvalue) next_instr = block.handle(self, unroller) return next_instr # now inside a 'finally' block elif opcode == opcodedesc.END_FINALLY.index: unroller = self.end_finally() if isinstance(unroller, SuspendedUnroller): # go on unrolling the stack block = self.unrollstack(unroller.kind) if block is None: w_result = unroller.nomoreblocks() self.pushvalue(w_result) raise Return else: next_instr = block.handle(self, unroller) return next_instr elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, ec) elif opcode == opcodedesc.BREAK_LOOP.index: next_instr = self.BREAK_LOOP(oparg, next_instr) elif opcode == opcodedesc.CONTINUE_LOOP.index: return self.CONTINUE_LOOP(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: next_instr = self.JUMP_IF_FALSE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_DEBUG.index: next_instr = self.JUMP_IF_NOT_DEBUG(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: next_instr = self.JUMP_IF_TRUE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: next_instr = self.POP_JUMP_IF_FALSE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: next_instr = self.POP_JUMP_IF_TRUE(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_DIVIDE.index: self.BINARY_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CLASS.index: self.BUILD_CLASS(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR.index: self.CALL_FUNCTION_VAR(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR_KW.index: self.CALL_FUNCTION_VAR_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: self.CALL_METHOD(oparg, next_instr) elif opcode == opcodedesc.COMPARE_OP.index: self.COMPARE_OP(oparg, next_instr) elif opcode == opcodedesc.DELETE_ATTR.index: self.DELETE_ATTR(oparg, next_instr) elif opcode == opcodedesc.DELETE_FAST.index: self.DELETE_FAST(oparg, next_instr) elif opcode == opcodedesc.DELETE_GLOBAL.index: self.DELETE_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.DELETE_NAME.index: self.DELETE_NAME(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_0.index: self.DELETE_SLICE_0(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_1.index: self.DELETE_SLICE_1(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_2.index: self.DELETE_SLICE_2(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_3.index: self.DELETE_SLICE_3(oparg, next_instr) elif opcode == opcodedesc.DELETE_SUBSCR.index: self.DELETE_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.DUP_TOP.index: self.DUP_TOP(oparg, next_instr) elif opcode == opcodedesc.DUP_TOPX.index: self.DUP_TOPX(oparg, next_instr) elif opcode == opcodedesc.EXEC_STMT.index: self.EXEC_STMT(oparg, next_instr) elif opcode == opcodedesc.GET_ITER.index: self.GET_ITER(oparg, next_instr) elif opcode == opcodedesc.IMPORT_FROM.index: self.IMPORT_FROM(oparg, next_instr) elif opcode == opcodedesc.IMPORT_NAME.index: self.IMPORT_NAME(oparg, next_instr) elif opcode == opcodedesc.IMPORT_STAR.index: self.IMPORT_STAR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_ADD.index: self.INPLACE_ADD(oparg, next_instr) elif opcode == opcodedesc.INPLACE_AND.index: self.INPLACE_AND(oparg, next_instr) elif opcode == opcodedesc.INPLACE_DIVIDE.index: self.INPLACE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_FLOOR_DIVIDE.index: self.INPLACE_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_LSHIFT.index: self.INPLACE_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MODULO.index: self.INPLACE_MODULO(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MULTIPLY.index: self.INPLACE_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.INPLACE_OR.index: self.INPLACE_OR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_POWER.index: self.INPLACE_POWER(oparg, next_instr) elif opcode == opcodedesc.INPLACE_RSHIFT.index: self.INPLACE_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_SUBTRACT.index: self.INPLACE_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_TRUE_DIVIDE.index: self.INPLACE_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_XOR.index: self.INPLACE_XOR(oparg, next_instr) elif opcode == opcodedesc.LIST_APPEND.index: self.LIST_APPEND(oparg, next_instr) elif opcode == opcodedesc.LOAD_ATTR.index: self.LOAD_ATTR(oparg, next_instr) elif opcode == opcodedesc.LOAD_CLOSURE.index: self.LOAD_CLOSURE(oparg, next_instr) elif opcode == opcodedesc.LOAD_CONST.index: self.LOAD_CONST(oparg, next_instr) elif opcode == opcodedesc.LOAD_DEREF.index: self.LOAD_DEREF(oparg, next_instr) elif opcode == opcodedesc.LOAD_FAST.index: self.LOAD_FAST(oparg, next_instr) elif opcode == opcodedesc.LOAD_GLOBAL.index: self.LOAD_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.LOAD_LOCALS.index: self.LOAD_LOCALS(oparg, next_instr) elif opcode == opcodedesc.LOAD_NAME.index: self.LOAD_NAME(oparg, next_instr) elif opcode == opcodedesc.LOOKUP_METHOD.index: > self.LOOKUP_METHOD(oparg, next_instr) interpreter/pyopcode.py:356: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = at line 10 nameindex = 6, ignored = (112L,) MutableCell = space = StdObjSpace w_obj = def LOOKUP_METHOD(f, nameindex, *ignored): from pypy.objspace.std.typeobject import MutableCell # stack before after # -------------- --fast-method----fallback-case------------ # # w_object None # w_object => w_function w_boundmethod_or_whatever # (more stuff) (more stuff) (more stuff) # space = f.space w_obj = f.popvalue() if not jit.we_are_jitted(): # mapdict has an extra-fast version of this function if LOOKUP_METHOD_mapdict(f, nameindex, w_obj): return w_name = f.getname_w(nameindex) w_value = None w_type = space.type(w_obj) if w_type.has_object_getattribute(): name = space.text_w(w_name) # bit of a mess to use these internal functions, but it allows the # mapdict caching below to work without an additional lookup version_tag = w_type.version_tag() if version_tag is None: _, w_descr = w_type._lookup_where(name) w_descr_cell = None else: _, w_descr_cell = w_type._pure_lookup_where_with_method_cache( name, version_tag) w_descr = w_descr_cell if isinstance(w_descr, MutableCell): w_descr = w_descr.unwrap_cell(space) if w_descr is None: # this handles directly the common case # module.function(args..) > w_value = w_obj.getdictvalue(space, name) objspace/std/callmethod.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def getdictvalue(self, space, name): w_value = space.finditem_str(self.w_dict, name) if self.lazy and w_value is None: > return self._load_lazily(space, name) interpreter/mixedmodule.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def _load_lazily(self, space, name): w_name = space.new_interned_str(name) try: loader = self.loaders[name] except KeyError: return None else: > w_value = loader(space) interpreter/mixedmodule.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace def ifileloader(space): d = {'space':space} # EVIL HACK (but it works, and this is not RPython :-) while 1: try: value = eval(spec, d) except NameError as ex: name = ex.args[0].split("'")[1] # super-Evil if name in d: raise # propagate the NameError try: > d[name] = __import__(pkgroot+'.'+name, None, None, [name]) interpreter/mixedmodule.py:182: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from pypy.interpreter.gateway import unwrap_spec from pypy.interpreter.error import oefmt from rpython.rlib import rgc > from pypy.module.gc.hook import W_GcCollectStepStats module/gc/interp_gc.py:4: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from rpython.memory.gc.hook import GcHooks > from rpython.memory.gc import incminimark module/gc/hook.py:2: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ # XXX Should find a way to bound the major collection threshold by the # XXX total addressable size. Maybe by keeping some minimarkpage arenas # XXX pre-reserved, enough for a few nursery collections? What about # XXX raw-malloced memory? # XXX try merging old_objects_pointing_to_pinned into # XXX old_objects_pointing_to_young (IRC 2014-10-22, fijal and gregor_w) import sys import os import time from rpython.rtyper.lltypesystem import lltype, llmemory, llarena, llgroup from rpython.rtyper.lltypesystem.lloperation import llop from rpython.rtyper.lltypesystem.llmemory import raw_malloc_usage from rpython.memory.gc.base import GCBase, MovingGCBase > from rpython.memory.gc import env E File "/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py", line 423 E SyntaxError: Non-ASCII character '\xe2' in file /build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py on line 423, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details ../rpython/memory/gc/incminimark.py:70: SyntaxError F pypy/module/_weakref/test/test_weakref.py::AppTestWeakref::()::test_weakref_subclassing self = func = at 0xf5022c34>, 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, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 0xf7a8732c> hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf6a244cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf6a244cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf4d8c74c> 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 0xf4d8c74c> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf4d8c70c> 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 0xf4d8c70c> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def runtest(self): target = self.obj if self.config.option.runappdirect: return target() space = target.im_self.space filename = self._getdynfilename(target) func = app2interp_temp(target.im_func, filename=filename) w_instance = self.parent.w_instance > self.execute_appex(space, func, space, w_instance) tool/pytest/apptest.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , space = StdObjSpace target = args = (StdObjSpace, ) def execute_appex(self, space, target, *args): self.space = space try: > target(*args) tool/pytest/apptest.py:30: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace args_w = (,) w_func = args = def appcaller(space, *args_w): if not isinstance(space, ObjSpace): raise TypeError("first argument must be a space instance.") # the last argument can be an Arguments w_func = self.wget(space, name) if not args_w: return space.call_function(w_func) else: args = args_w[-1] assert args is not None if not isinstance(args, Arguments): > return space.call_function(w_func, *args_w) interpreter/gateway.py:1227: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = args_w = (,) nargs = 1, Function = Method = def call_function(self, w_func, *args_w): nargs = len(args_w) # used for pruning funccall versions if not self.config.objspace.disable_call_speedhacks and nargs < 5: # start of hack for performance from pypy.interpreter.function import Function, Method if isinstance(w_func, Method): w_inst = w_func.w_instance if w_inst is not None: if nargs < 4: func = w_func.w_function if isinstance(func, Function): return func.funccall(w_inst, *args_w) elif args_w and ( self.abstract_isinstance_w(args_w[0], w_func.w_class)): w_func = w_func.w_function if isinstance(w_func, Function): > return w_func.funccall(*args_w) interpreter/baseobjspace.py:1210: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = args_w = (,) gateway = PyCode = code = def funccall(self, *args_w): # speed hack from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit nargs = len(args_w) fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, args_w[0]) elif nargs == 2: assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, args_w[0], args_w[1]) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) return code.fastcall_3(self.space, self, args_w[0], args_w[1], args_w[2]) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) return code.fastcall_4(self.space, self, args_w[0], args_w[1], args_w[2], args_w[3]) elif (nargs | PyCode.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) if nargs < 5: new_frame = self.space.createframe(code, self.w_func_globals, self) for i in funccallunrolling: if i < nargs: new_frame.locals_cells_stack_w[i] = args_w[i] > return new_frame.run() interpreter/function.py:118: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 22 def run(self): """Start this frame's execution.""" if self.getcode().co_flags & pycode.CO_GENERATOR: from pypy.interpreter.generator import GeneratorIterator return GeneratorIterator(self) else: > return self.execute_frame() interpreter/pyframe.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 22 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:290: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 22 e = SyntaxError("Non-ASCII character '\\xe2' in file /build_dir/own-linux-x86-32/b..., ('/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py', 423, 0, None)) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:943: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 22 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:286: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 22 pycode = next_instr = 0L ec = def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 22 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x01\x00d\x01\x00d\x00\x00l\x01\x00}\x02\x00d\x02\x00t\x02\x00f\x01\x00d\x03\x00\x84\x00\...sz\x01t\x06\x00\x82\x01\x00\xcc\x15\x00\x88\x00\x00j\x04\x00d\x0b\x00k\x02\x00s\x92\x01t\x06\x00\x82\x01\x00d\x00\x00S' next_instr = 0L ec = def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 22 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x01\x00d\x01\x00d\x00\x00l\x01\x00}\x02\x00d\x02\x00t\x02\x00f\x01\x00d\x03\x00\x84\x00\...sz\x01t\x06\x00\x82\x01\x00\xcc\x15\x00\x88\x00\x00j\x04\x00d\x0b\x00k\x02\x00s\x92\x01t\x06\x00\x82\x01\x00d\x00\x00S' next_instr = 302L ec = @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: self.last_instr = intmask(next_instr) if jit.we_are_jitted(): if self.debugdata: ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: ec.bytecode_trace(self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) next_instr += 1 if opcode >= HAVE_ARGUMENT: lo = ord(co_code[next_instr]) hi = ord(co_code[next_instr+1]) next_instr += 2 oparg = (hi * 256) | lo else: oparg = 0 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into a switch(). while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption lo = ord(co_code[next_instr+1]) hi = ord(co_code[next_instr+2]) next_instr += 3 oparg = (oparg * 65536) | (hi * 256) | lo if opcode == opcodedesc.RETURN_VALUE.index: if not self.blockstack_non_empty(): self.frame_finished_execution = True # for generators raise Return w_returnvalue = self.popvalue() block = self.unrollstack(SReturnValue.kind) if block is None: self.pushvalue(w_returnvalue) raise Return else: unroller = SReturnValue(w_returnvalue) next_instr = block.handle(self, unroller) return next_instr # now inside a 'finally' block elif opcode == opcodedesc.END_FINALLY.index: unroller = self.end_finally() if isinstance(unroller, SuspendedUnroller): # go on unrolling the stack block = self.unrollstack(unroller.kind) if block is None: w_result = unroller.nomoreblocks() self.pushvalue(w_result) raise Return else: next_instr = block.handle(self, unroller) return next_instr elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, ec) elif opcode == opcodedesc.BREAK_LOOP.index: next_instr = self.BREAK_LOOP(oparg, next_instr) elif opcode == opcodedesc.CONTINUE_LOOP.index: return self.CONTINUE_LOOP(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: next_instr = self.JUMP_IF_FALSE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_DEBUG.index: next_instr = self.JUMP_IF_NOT_DEBUG(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: next_instr = self.JUMP_IF_TRUE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: next_instr = self.POP_JUMP_IF_FALSE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: next_instr = self.POP_JUMP_IF_TRUE(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_DIVIDE.index: self.BINARY_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CLASS.index: self.BUILD_CLASS(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR.index: self.CALL_FUNCTION_VAR(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR_KW.index: self.CALL_FUNCTION_VAR_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: self.CALL_METHOD(oparg, next_instr) elif opcode == opcodedesc.COMPARE_OP.index: self.COMPARE_OP(oparg, next_instr) elif opcode == opcodedesc.DELETE_ATTR.index: self.DELETE_ATTR(oparg, next_instr) elif opcode == opcodedesc.DELETE_FAST.index: self.DELETE_FAST(oparg, next_instr) elif opcode == opcodedesc.DELETE_GLOBAL.index: self.DELETE_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.DELETE_NAME.index: self.DELETE_NAME(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_0.index: self.DELETE_SLICE_0(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_1.index: self.DELETE_SLICE_1(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_2.index: self.DELETE_SLICE_2(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_3.index: self.DELETE_SLICE_3(oparg, next_instr) elif opcode == opcodedesc.DELETE_SUBSCR.index: self.DELETE_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.DUP_TOP.index: self.DUP_TOP(oparg, next_instr) elif opcode == opcodedesc.DUP_TOPX.index: self.DUP_TOPX(oparg, next_instr) elif opcode == opcodedesc.EXEC_STMT.index: self.EXEC_STMT(oparg, next_instr) elif opcode == opcodedesc.GET_ITER.index: self.GET_ITER(oparg, next_instr) elif opcode == opcodedesc.IMPORT_FROM.index: self.IMPORT_FROM(oparg, next_instr) elif opcode == opcodedesc.IMPORT_NAME.index: self.IMPORT_NAME(oparg, next_instr) elif opcode == opcodedesc.IMPORT_STAR.index: self.IMPORT_STAR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_ADD.index: self.INPLACE_ADD(oparg, next_instr) elif opcode == opcodedesc.INPLACE_AND.index: self.INPLACE_AND(oparg, next_instr) elif opcode == opcodedesc.INPLACE_DIVIDE.index: self.INPLACE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_FLOOR_DIVIDE.index: self.INPLACE_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_LSHIFT.index: self.INPLACE_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MODULO.index: self.INPLACE_MODULO(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MULTIPLY.index: self.INPLACE_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.INPLACE_OR.index: self.INPLACE_OR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_POWER.index: self.INPLACE_POWER(oparg, next_instr) elif opcode == opcodedesc.INPLACE_RSHIFT.index: self.INPLACE_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_SUBTRACT.index: self.INPLACE_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_TRUE_DIVIDE.index: self.INPLACE_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_XOR.index: self.INPLACE_XOR(oparg, next_instr) elif opcode == opcodedesc.LIST_APPEND.index: self.LIST_APPEND(oparg, next_instr) elif opcode == opcodedesc.LOAD_ATTR.index: self.LOAD_ATTR(oparg, next_instr) elif opcode == opcodedesc.LOAD_CLOSURE.index: self.LOAD_CLOSURE(oparg, next_instr) elif opcode == opcodedesc.LOAD_CONST.index: self.LOAD_CONST(oparg, next_instr) elif opcode == opcodedesc.LOAD_DEREF.index: self.LOAD_DEREF(oparg, next_instr) elif opcode == opcodedesc.LOAD_FAST.index: self.LOAD_FAST(oparg, next_instr) elif opcode == opcodedesc.LOAD_GLOBAL.index: self.LOAD_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.LOAD_LOCALS.index: self.LOAD_LOCALS(oparg, next_instr) elif opcode == opcodedesc.LOAD_NAME.index: self.LOAD_NAME(oparg, next_instr) elif opcode == opcodedesc.LOOKUP_METHOD.index: > self.LOOKUP_METHOD(oparg, next_instr) interpreter/pyopcode.py:356: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = at line 22 nameindex = 9, ignored = (302L,) MutableCell = space = StdObjSpace w_obj = def LOOKUP_METHOD(f, nameindex, *ignored): from pypy.objspace.std.typeobject import MutableCell # stack before after # -------------- --fast-method----fallback-case------------ # # w_object None # w_object => w_function w_boundmethod_or_whatever # (more stuff) (more stuff) (more stuff) # space = f.space w_obj = f.popvalue() if not jit.we_are_jitted(): # mapdict has an extra-fast version of this function if LOOKUP_METHOD_mapdict(f, nameindex, w_obj): return w_name = f.getname_w(nameindex) w_value = None w_type = space.type(w_obj) if w_type.has_object_getattribute(): name = space.text_w(w_name) # bit of a mess to use these internal functions, but it allows the # mapdict caching below to work without an additional lookup version_tag = w_type.version_tag() if version_tag is None: _, w_descr = w_type._lookup_where(name) w_descr_cell = None else: _, w_descr_cell = w_type._pure_lookup_where_with_method_cache( name, version_tag) w_descr = w_descr_cell if isinstance(w_descr, MutableCell): w_descr = w_descr.unwrap_cell(space) if w_descr is None: # this handles directly the common case # module.function(args..) > w_value = w_obj.getdictvalue(space, name) objspace/std/callmethod.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def getdictvalue(self, space, name): w_value = space.finditem_str(self.w_dict, name) if self.lazy and w_value is None: > return self._load_lazily(space, name) interpreter/mixedmodule.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def _load_lazily(self, space, name): w_name = space.new_interned_str(name) try: loader = self.loaders[name] except KeyError: return None else: > w_value = loader(space) interpreter/mixedmodule.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace def ifileloader(space): d = {'space':space} # EVIL HACK (but it works, and this is not RPython :-) while 1: try: value = eval(spec, d) except NameError as ex: name = ex.args[0].split("'")[1] # super-Evil if name in d: raise # propagate the NameError try: > d[name] = __import__(pkgroot+'.'+name, None, None, [name]) interpreter/mixedmodule.py:182: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from pypy.interpreter.gateway import unwrap_spec from pypy.interpreter.error import oefmt from rpython.rlib import rgc > from pypy.module.gc.hook import W_GcCollectStepStats module/gc/interp_gc.py:4: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from rpython.memory.gc.hook import GcHooks > from rpython.memory.gc import incminimark module/gc/hook.py:2: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ # XXX Should find a way to bound the major collection threshold by the # XXX total addressable size. Maybe by keeping some minimarkpage arenas # XXX pre-reserved, enough for a few nursery collections? What about # XXX raw-malloced memory? # XXX try merging old_objects_pointing_to_pinned into # XXX old_objects_pointing_to_young (IRC 2014-10-22, fijal and gregor_w) import sys import os import time from rpython.rtyper.lltypesystem import lltype, llmemory, llarena, llgroup from rpython.rtyper.lltypesystem.lloperation import llop from rpython.rtyper.lltypesystem.llmemory import raw_malloc_usage from rpython.memory.gc.base import GCBase, MovingGCBase > from rpython.memory.gc import env E File "/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py", line 423 E SyntaxError: Non-ASCII character '\xe2' in file /build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py on line 423, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details ../rpython/memory/gc/incminimark.py:70: SyntaxError F pypy/module/_weakref/test/test_weakref.py::AppTestWeakref::()::test_function_weakrefable self = func = at 0xf4a28aac>, 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, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 0xf7a8732c> hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf6a244cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf6a244cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf4eb650c> 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 0xf4eb650c> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf4eb65ac> 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 0xf4eb65ac> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def runtest(self): target = self.obj if self.config.option.runappdirect: return target() space = target.im_self.space filename = self._getdynfilename(target) func = app2interp_temp(target.im_func, filename=filename) w_instance = self.parent.w_instance > self.execute_appex(space, func, space, w_instance) tool/pytest/apptest.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , space = StdObjSpace target = args = (StdObjSpace, ) def execute_appex(self, space, target, *args): self.space = space try: > target(*args) tool/pytest/apptest.py:30: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace args_w = (,) w_func = args = def appcaller(space, *args_w): if not isinstance(space, ObjSpace): raise TypeError("first argument must be a space instance.") # the last argument can be an Arguments w_func = self.wget(space, name) if not args_w: return space.call_function(w_func) else: args = args_w[-1] assert args is not None if not isinstance(args, Arguments): > return space.call_function(w_func, *args_w) interpreter/gateway.py:1227: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = args_w = (,) nargs = 1, Function = Method = def call_function(self, w_func, *args_w): nargs = len(args_w) # used for pruning funccall versions if not self.config.objspace.disable_call_speedhacks and nargs < 5: # start of hack for performance from pypy.interpreter.function import Function, Method if isinstance(w_func, Method): w_inst = w_func.w_instance if w_inst is not None: if nargs < 4: func = w_func.w_function if isinstance(func, Function): return func.funccall(w_inst, *args_w) elif args_w and ( self.abstract_isinstance_w(args_w[0], w_func.w_class)): w_func = w_func.w_function if isinstance(w_func, Function): > return w_func.funccall(*args_w) interpreter/baseobjspace.py:1210: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = args_w = (,) gateway = PyCode = code = def funccall(self, *args_w): # speed hack from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit nargs = len(args_w) fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, args_w[0]) elif nargs == 2: assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, args_w[0], args_w[1]) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) return code.fastcall_3(self.space, self, args_w[0], args_w[1], args_w[2]) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) return code.fastcall_4(self.space, self, args_w[0], args_w[1], args_w[2], args_w[3]) elif (nargs | PyCode.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) if nargs < 5: new_frame = self.space.createframe(code, self.w_func_globals, self) for i in funccallunrolling: if i < nargs: new_frame.locals_cells_stack_w[i] = args_w[i] > return new_frame.run() interpreter/function.py:118: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 8 def run(self): """Start this frame's execution.""" if self.getcode().co_flags & pycode.CO_GENERATOR: from pypy.interpreter.generator import GeneratorIterator return GeneratorIterator(self) else: > return self.execute_frame() interpreter/pyframe.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 8 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:290: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 8 e = SyntaxError("Non-ASCII character '\\xe2' in file /build_dir/own-linux-x86-32/b..., ('/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py', 423, 0, None)) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:943: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 8 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:286: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 8 pycode = next_instr = 0L ec = def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 8 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x01\x00d\x01\x00d\x00\x00l\x01\x00}\x02\x00d\x02\x00\x84\x00\x00}\x03\x00|\x01\x00\xc9\x...00\xc9\x04\x00\xca\x00\x00\x01\xcc\x15\x00|\x04\x00\x83\x00\x00d\x00\x00k\x08\x00ss\x00t\x03\x00\x82\x01\x00d\x00\x00S' next_instr = 0L ec = def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 8 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x01\x00d\x01\x00d\x00\x00l\x01\x00}\x02\x00d\x02\x00\x84\x00\x00}\x03\x00|\x01\x00\xc9\x...00\xc9\x04\x00\xca\x00\x00\x01\xcc\x15\x00|\x04\x00\x83\x00\x00d\x00\x00k\x08\x00ss\x00t\x03\x00\x82\x01\x00d\x00\x00S' next_instr = 87L ec = @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: self.last_instr = intmask(next_instr) if jit.we_are_jitted(): if self.debugdata: ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: ec.bytecode_trace(self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) next_instr += 1 if opcode >= HAVE_ARGUMENT: lo = ord(co_code[next_instr]) hi = ord(co_code[next_instr+1]) next_instr += 2 oparg = (hi * 256) | lo else: oparg = 0 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into a switch(). while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption lo = ord(co_code[next_instr+1]) hi = ord(co_code[next_instr+2]) next_instr += 3 oparg = (oparg * 65536) | (hi * 256) | lo if opcode == opcodedesc.RETURN_VALUE.index: if not self.blockstack_non_empty(): self.frame_finished_execution = True # for generators raise Return w_returnvalue = self.popvalue() block = self.unrollstack(SReturnValue.kind) if block is None: self.pushvalue(w_returnvalue) raise Return else: unroller = SReturnValue(w_returnvalue) next_instr = block.handle(self, unroller) return next_instr # now inside a 'finally' block elif opcode == opcodedesc.END_FINALLY.index: unroller = self.end_finally() if isinstance(unroller, SuspendedUnroller): # go on unrolling the stack block = self.unrollstack(unroller.kind) if block is None: w_result = unroller.nomoreblocks() self.pushvalue(w_result) raise Return else: next_instr = block.handle(self, unroller) return next_instr elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, ec) elif opcode == opcodedesc.BREAK_LOOP.index: next_instr = self.BREAK_LOOP(oparg, next_instr) elif opcode == opcodedesc.CONTINUE_LOOP.index: return self.CONTINUE_LOOP(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: next_instr = self.JUMP_IF_FALSE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_DEBUG.index: next_instr = self.JUMP_IF_NOT_DEBUG(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: next_instr = self.JUMP_IF_TRUE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: next_instr = self.POP_JUMP_IF_FALSE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: next_instr = self.POP_JUMP_IF_TRUE(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_DIVIDE.index: self.BINARY_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CLASS.index: self.BUILD_CLASS(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR.index: self.CALL_FUNCTION_VAR(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR_KW.index: self.CALL_FUNCTION_VAR_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: self.CALL_METHOD(oparg, next_instr) elif opcode == opcodedesc.COMPARE_OP.index: self.COMPARE_OP(oparg, next_instr) elif opcode == opcodedesc.DELETE_ATTR.index: self.DELETE_ATTR(oparg, next_instr) elif opcode == opcodedesc.DELETE_FAST.index: self.DELETE_FAST(oparg, next_instr) elif opcode == opcodedesc.DELETE_GLOBAL.index: self.DELETE_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.DELETE_NAME.index: self.DELETE_NAME(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_0.index: self.DELETE_SLICE_0(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_1.index: self.DELETE_SLICE_1(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_2.index: self.DELETE_SLICE_2(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_3.index: self.DELETE_SLICE_3(oparg, next_instr) elif opcode == opcodedesc.DELETE_SUBSCR.index: self.DELETE_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.DUP_TOP.index: self.DUP_TOP(oparg, next_instr) elif opcode == opcodedesc.DUP_TOPX.index: self.DUP_TOPX(oparg, next_instr) elif opcode == opcodedesc.EXEC_STMT.index: self.EXEC_STMT(oparg, next_instr) elif opcode == opcodedesc.GET_ITER.index: self.GET_ITER(oparg, next_instr) elif opcode == opcodedesc.IMPORT_FROM.index: self.IMPORT_FROM(oparg, next_instr) elif opcode == opcodedesc.IMPORT_NAME.index: self.IMPORT_NAME(oparg, next_instr) elif opcode == opcodedesc.IMPORT_STAR.index: self.IMPORT_STAR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_ADD.index: self.INPLACE_ADD(oparg, next_instr) elif opcode == opcodedesc.INPLACE_AND.index: self.INPLACE_AND(oparg, next_instr) elif opcode == opcodedesc.INPLACE_DIVIDE.index: self.INPLACE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_FLOOR_DIVIDE.index: self.INPLACE_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_LSHIFT.index: self.INPLACE_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MODULO.index: self.INPLACE_MODULO(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MULTIPLY.index: self.INPLACE_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.INPLACE_OR.index: self.INPLACE_OR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_POWER.index: self.INPLACE_POWER(oparg, next_instr) elif opcode == opcodedesc.INPLACE_RSHIFT.index: self.INPLACE_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_SUBTRACT.index: self.INPLACE_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_TRUE_DIVIDE.index: self.INPLACE_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_XOR.index: self.INPLACE_XOR(oparg, next_instr) elif opcode == opcodedesc.LIST_APPEND.index: self.LIST_APPEND(oparg, next_instr) elif opcode == opcodedesc.LOAD_ATTR.index: self.LOAD_ATTR(oparg, next_instr) elif opcode == opcodedesc.LOAD_CLOSURE.index: self.LOAD_CLOSURE(oparg, next_instr) elif opcode == opcodedesc.LOAD_CONST.index: self.LOAD_CONST(oparg, next_instr) elif opcode == opcodedesc.LOAD_DEREF.index: self.LOAD_DEREF(oparg, next_instr) elif opcode == opcodedesc.LOAD_FAST.index: self.LOAD_FAST(oparg, next_instr) elif opcode == opcodedesc.LOAD_GLOBAL.index: self.LOAD_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.LOAD_LOCALS.index: self.LOAD_LOCALS(oparg, next_instr) elif opcode == opcodedesc.LOAD_NAME.index: self.LOAD_NAME(oparg, next_instr) elif opcode == opcodedesc.LOOKUP_METHOD.index: > self.LOOKUP_METHOD(oparg, next_instr) interpreter/pyopcode.py:356: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = at line 8 nameindex = 4, ignored = (87L,) MutableCell = space = StdObjSpace w_obj = def LOOKUP_METHOD(f, nameindex, *ignored): from pypy.objspace.std.typeobject import MutableCell # stack before after # -------------- --fast-method----fallback-case------------ # # w_object None # w_object => w_function w_boundmethod_or_whatever # (more stuff) (more stuff) (more stuff) # space = f.space w_obj = f.popvalue() if not jit.we_are_jitted(): # mapdict has an extra-fast version of this function if LOOKUP_METHOD_mapdict(f, nameindex, w_obj): return w_name = f.getname_w(nameindex) w_value = None w_type = space.type(w_obj) if w_type.has_object_getattribute(): name = space.text_w(w_name) # bit of a mess to use these internal functions, but it allows the # mapdict caching below to work without an additional lookup version_tag = w_type.version_tag() if version_tag is None: _, w_descr = w_type._lookup_where(name) w_descr_cell = None else: _, w_descr_cell = w_type._pure_lookup_where_with_method_cache( name, version_tag) w_descr = w_descr_cell if isinstance(w_descr, MutableCell): w_descr = w_descr.unwrap_cell(space) if w_descr is None: # this handles directly the common case # module.function(args..) > w_value = w_obj.getdictvalue(space, name) objspace/std/callmethod.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def getdictvalue(self, space, name): w_value = space.finditem_str(self.w_dict, name) if self.lazy and w_value is None: > return self._load_lazily(space, name) interpreter/mixedmodule.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def _load_lazily(self, space, name): w_name = space.new_interned_str(name) try: loader = self.loaders[name] except KeyError: return None else: > w_value = loader(space) interpreter/mixedmodule.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace def ifileloader(space): d = {'space':space} # EVIL HACK (but it works, and this is not RPython :-) while 1: try: value = eval(spec, d) except NameError as ex: name = ex.args[0].split("'")[1] # super-Evil if name in d: raise # propagate the NameError try: > d[name] = __import__(pkgroot+'.'+name, None, None, [name]) interpreter/mixedmodule.py:182: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from pypy.interpreter.gateway import unwrap_spec from pypy.interpreter.error import oefmt from rpython.rlib import rgc > from pypy.module.gc.hook import W_GcCollectStepStats module/gc/interp_gc.py:4: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from rpython.memory.gc.hook import GcHooks > from rpython.memory.gc import incminimark module/gc/hook.py:2: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ # XXX Should find a way to bound the major collection threshold by the # XXX total addressable size. Maybe by keeping some minimarkpage arenas # XXX pre-reserved, enough for a few nursery collections? What about # XXX raw-malloced memory? # XXX try merging old_objects_pointing_to_pinned into # XXX old_objects_pointing_to_young (IRC 2014-10-22, fijal and gregor_w) import sys import os import time from rpython.rtyper.lltypesystem import lltype, llmemory, llarena, llgroup from rpython.rtyper.lltypesystem.lloperation import llop from rpython.rtyper.lltypesystem.llmemory import raw_malloc_usage from rpython.memory.gc.base import GCBase, MovingGCBase > from rpython.memory.gc import env E File "/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py", line 423 E SyntaxError: Non-ASCII character '\xe2' in file /build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py on line 423, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details ../rpython/memory/gc/incminimark.py:70: SyntaxError F pypy/module/_weakref/test/test_weakref.py::AppTestWeakref::()::test_method_weakrefable self = func = at 0xf4adad4c>, 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, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 0xf7a8732c> hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf6a244cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf6a244cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf4d57eac> 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 0xf4d57eac> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf4d577ec> 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 0xf4d577ec> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def runtest(self): target = self.obj if self.config.option.runappdirect: return target() space = target.im_self.space filename = self._getdynfilename(target) func = app2interp_temp(target.im_func, filename=filename) w_instance = self.parent.w_instance > self.execute_appex(space, func, space, w_instance) tool/pytest/apptest.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , space = StdObjSpace target = args = (StdObjSpace, ) def execute_appex(self, space, target, *args): self.space = space try: > target(*args) tool/pytest/apptest.py:30: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace args_w = (,) w_func = args = def appcaller(space, *args_w): if not isinstance(space, ObjSpace): raise TypeError("first argument must be a space instance.") # the last argument can be an Arguments w_func = self.wget(space, name) if not args_w: return space.call_function(w_func) else: args = args_w[-1] assert args is not None if not isinstance(args, Arguments): > return space.call_function(w_func, *args_w) interpreter/gateway.py:1227: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = args_w = (,) nargs = 1, Function = Method = def call_function(self, w_func, *args_w): nargs = len(args_w) # used for pruning funccall versions if not self.config.objspace.disable_call_speedhacks and nargs < 5: # start of hack for performance from pypy.interpreter.function import Function, Method if isinstance(w_func, Method): w_inst = w_func.w_instance if w_inst is not None: if nargs < 4: func = w_func.w_function if isinstance(func, Function): return func.funccall(w_inst, *args_w) elif args_w and ( self.abstract_isinstance_w(args_w[0], w_func.w_class)): w_func = w_func.w_function if isinstance(w_func, Function): > return w_func.funccall(*args_w) interpreter/baseobjspace.py:1210: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = args_w = (,) gateway = PyCode = code = def funccall(self, *args_w): # speed hack from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit nargs = len(args_w) fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, args_w[0]) elif nargs == 2: assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, args_w[0], args_w[1]) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) return code.fastcall_3(self.space, self, args_w[0], args_w[1], args_w[2]) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) return code.fastcall_4(self.space, self, args_w[0], args_w[1], args_w[2], args_w[3]) elif (nargs | PyCode.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) if nargs < 5: new_frame = self.space.createframe(code, self.w_func_globals, self) for i in funccallunrolling: if i < nargs: new_frame.locals_cells_stack_w[i] = args_w[i] > return new_frame.run() interpreter/function.py:118: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 14 def run(self): """Start this frame's execution.""" if self.getcode().co_flags & pycode.CO_GENERATOR: from pypy.interpreter.generator import GeneratorIterator return GeneratorIterator(self) else: > return self.execute_frame() interpreter/pyframe.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 14 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:290: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 14 e = SyntaxError("Non-ASCII character '\\xe2' in file /build_dir/own-linux-x86-32/b..., ('/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py', 423, 0, None)) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:943: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 14 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:286: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 14 pycode = next_instr = 0L ec = def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 14 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x01\x00d\x01\x00d\x00\x00l\x01\x00}\x02\x00d\x02\x00t\x02\x00f\x01\x00d\x03\x00\x84\x00\...cb\x00t\x05\x00\x82\x01\x00\xcc\x15\x00|\x07\x00\x83\x00\x00d\x00\x00k\x08\x00s\xe3\x00t\x05\x00\x82\x01\x00d\x00\x00S' next_instr = 0L ec = def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 14 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x01\x00d\x01\x00d\x00\x00l\x01\x00}\x02\x00d\x02\x00t\x02\x00f\x01\x00d\x03\x00\x84\x00\...cb\x00t\x05\x00\x82\x01\x00\xcc\x15\x00|\x07\x00\x83\x00\x00d\x00\x00k\x08\x00s\xe3\x00t\x05\x00\x82\x01\x00d\x00\x00S' next_instr = 175L ec = @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: self.last_instr = intmask(next_instr) if jit.we_are_jitted(): if self.debugdata: ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: ec.bytecode_trace(self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) next_instr += 1 if opcode >= HAVE_ARGUMENT: lo = ord(co_code[next_instr]) hi = ord(co_code[next_instr+1]) next_instr += 2 oparg = (hi * 256) | lo else: oparg = 0 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into a switch(). while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption lo = ord(co_code[next_instr+1]) hi = ord(co_code[next_instr+2]) next_instr += 3 oparg = (oparg * 65536) | (hi * 256) | lo if opcode == opcodedesc.RETURN_VALUE.index: if not self.blockstack_non_empty(): self.frame_finished_execution = True # for generators raise Return w_returnvalue = self.popvalue() block = self.unrollstack(SReturnValue.kind) if block is None: self.pushvalue(w_returnvalue) raise Return else: unroller = SReturnValue(w_returnvalue) next_instr = block.handle(self, unroller) return next_instr # now inside a 'finally' block elif opcode == opcodedesc.END_FINALLY.index: unroller = self.end_finally() if isinstance(unroller, SuspendedUnroller): # go on unrolling the stack block = self.unrollstack(unroller.kind) if block is None: w_result = unroller.nomoreblocks() self.pushvalue(w_result) raise Return else: next_instr = block.handle(self, unroller) return next_instr elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, ec) elif opcode == opcodedesc.BREAK_LOOP.index: next_instr = self.BREAK_LOOP(oparg, next_instr) elif opcode == opcodedesc.CONTINUE_LOOP.index: return self.CONTINUE_LOOP(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: next_instr = self.JUMP_IF_FALSE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_DEBUG.index: next_instr = self.JUMP_IF_NOT_DEBUG(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: next_instr = self.JUMP_IF_TRUE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: next_instr = self.POP_JUMP_IF_FALSE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: next_instr = self.POP_JUMP_IF_TRUE(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_DIVIDE.index: self.BINARY_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CLASS.index: self.BUILD_CLASS(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR.index: self.CALL_FUNCTION_VAR(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR_KW.index: self.CALL_FUNCTION_VAR_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: self.CALL_METHOD(oparg, next_instr) elif opcode == opcodedesc.COMPARE_OP.index: self.COMPARE_OP(oparg, next_instr) elif opcode == opcodedesc.DELETE_ATTR.index: self.DELETE_ATTR(oparg, next_instr) elif opcode == opcodedesc.DELETE_FAST.index: self.DELETE_FAST(oparg, next_instr) elif opcode == opcodedesc.DELETE_GLOBAL.index: self.DELETE_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.DELETE_NAME.index: self.DELETE_NAME(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_0.index: self.DELETE_SLICE_0(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_1.index: self.DELETE_SLICE_1(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_2.index: self.DELETE_SLICE_2(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_3.index: self.DELETE_SLICE_3(oparg, next_instr) elif opcode == opcodedesc.DELETE_SUBSCR.index: self.DELETE_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.DUP_TOP.index: self.DUP_TOP(oparg, next_instr) elif opcode == opcodedesc.DUP_TOPX.index: self.DUP_TOPX(oparg, next_instr) elif opcode == opcodedesc.EXEC_STMT.index: self.EXEC_STMT(oparg, next_instr) elif opcode == opcodedesc.GET_ITER.index: self.GET_ITER(oparg, next_instr) elif opcode == opcodedesc.IMPORT_FROM.index: self.IMPORT_FROM(oparg, next_instr) elif opcode == opcodedesc.IMPORT_NAME.index: self.IMPORT_NAME(oparg, next_instr) elif opcode == opcodedesc.IMPORT_STAR.index: self.IMPORT_STAR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_ADD.index: self.INPLACE_ADD(oparg, next_instr) elif opcode == opcodedesc.INPLACE_AND.index: self.INPLACE_AND(oparg, next_instr) elif opcode == opcodedesc.INPLACE_DIVIDE.index: self.INPLACE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_FLOOR_DIVIDE.index: self.INPLACE_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_LSHIFT.index: self.INPLACE_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MODULO.index: self.INPLACE_MODULO(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MULTIPLY.index: self.INPLACE_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.INPLACE_OR.index: self.INPLACE_OR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_POWER.index: self.INPLACE_POWER(oparg, next_instr) elif opcode == opcodedesc.INPLACE_RSHIFT.index: self.INPLACE_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_SUBTRACT.index: self.INPLACE_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_TRUE_DIVIDE.index: self.INPLACE_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_XOR.index: self.INPLACE_XOR(oparg, next_instr) elif opcode == opcodedesc.LIST_APPEND.index: self.LIST_APPEND(oparg, next_instr) elif opcode == opcodedesc.LOAD_ATTR.index: self.LOAD_ATTR(oparg, next_instr) elif opcode == opcodedesc.LOAD_CLOSURE.index: self.LOAD_CLOSURE(oparg, next_instr) elif opcode == opcodedesc.LOAD_CONST.index: self.LOAD_CONST(oparg, next_instr) elif opcode == opcodedesc.LOAD_DEREF.index: self.LOAD_DEREF(oparg, next_instr) elif opcode == opcodedesc.LOAD_FAST.index: self.LOAD_FAST(oparg, next_instr) elif opcode == opcodedesc.LOAD_GLOBAL.index: self.LOAD_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.LOAD_LOCALS.index: self.LOAD_LOCALS(oparg, next_instr) elif opcode == opcodedesc.LOAD_NAME.index: self.LOAD_NAME(oparg, next_instr) elif opcode == opcodedesc.LOOKUP_METHOD.index: > self.LOOKUP_METHOD(oparg, next_instr) interpreter/pyopcode.py:356: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = at line 14 nameindex = 6, ignored = (175L,) MutableCell = space = StdObjSpace w_obj = def LOOKUP_METHOD(f, nameindex, *ignored): from pypy.objspace.std.typeobject import MutableCell # stack before after # -------------- --fast-method----fallback-case------------ # # w_object None # w_object => w_function w_boundmethod_or_whatever # (more stuff) (more stuff) (more stuff) # space = f.space w_obj = f.popvalue() if not jit.we_are_jitted(): # mapdict has an extra-fast version of this function if LOOKUP_METHOD_mapdict(f, nameindex, w_obj): return w_name = f.getname_w(nameindex) w_value = None w_type = space.type(w_obj) if w_type.has_object_getattribute(): name = space.text_w(w_name) # bit of a mess to use these internal functions, but it allows the # mapdict caching below to work without an additional lookup version_tag = w_type.version_tag() if version_tag is None: _, w_descr = w_type._lookup_where(name) w_descr_cell = None else: _, w_descr_cell = w_type._pure_lookup_where_with_method_cache( name, version_tag) w_descr = w_descr_cell if isinstance(w_descr, MutableCell): w_descr = w_descr.unwrap_cell(space) if w_descr is None: # this handles directly the common case # module.function(args..) > w_value = w_obj.getdictvalue(space, name) objspace/std/callmethod.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def getdictvalue(self, space, name): w_value = space.finditem_str(self.w_dict, name) if self.lazy and w_value is None: > return self._load_lazily(space, name) interpreter/mixedmodule.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def _load_lazily(self, space, name): w_name = space.new_interned_str(name) try: loader = self.loaders[name] except KeyError: return None else: > w_value = loader(space) interpreter/mixedmodule.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace def ifileloader(space): d = {'space':space} # EVIL HACK (but it works, and this is not RPython :-) while 1: try: value = eval(spec, d) except NameError as ex: name = ex.args[0].split("'")[1] # super-Evil if name in d: raise # propagate the NameError try: > d[name] = __import__(pkgroot+'.'+name, None, None, [name]) interpreter/mixedmodule.py:182: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from pypy.interpreter.gateway import unwrap_spec from pypy.interpreter.error import oefmt from rpython.rlib import rgc > from pypy.module.gc.hook import W_GcCollectStepStats module/gc/interp_gc.py:4: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from rpython.memory.gc.hook import GcHooks > from rpython.memory.gc import incminimark module/gc/hook.py:2: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ # XXX Should find a way to bound the major collection threshold by the # XXX total addressable size. Maybe by keeping some minimarkpage arenas # XXX pre-reserved, enough for a few nursery collections? What about # XXX raw-malloced memory? # XXX try merging old_objects_pointing_to_pinned into # XXX old_objects_pointing_to_young (IRC 2014-10-22, fijal and gregor_w) import sys import os import time from rpython.rtyper.lltypesystem import lltype, llmemory, llarena, llgroup from rpython.rtyper.lltypesystem.lloperation import llop from rpython.rtyper.lltypesystem.llmemory import raw_malloc_usage from rpython.memory.gc.base import GCBase, MovingGCBase > from rpython.memory.gc import env E File "/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py", line 423 E SyntaxError: Non-ASCII character '\xe2' in file /build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py on line 423, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details ../rpython/memory/gc/incminimark.py:70: SyntaxError F pypy/module/_weakref/test/test_weakref.py::AppTestWeakref::()::test_set_weakrefable self = func = at 0xf5047a04>, 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, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 0xf7a8732c> hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf6a244cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf6a244cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf485a06c> 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 0xf485a06c> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf485a38c> 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 0xf485a38c> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def runtest(self): target = self.obj if self.config.option.runappdirect: return target() space = target.im_self.space filename = self._getdynfilename(target) func = app2interp_temp(target.im_func, filename=filename) w_instance = self.parent.w_instance > self.execute_appex(space, func, space, w_instance) tool/pytest/apptest.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , space = StdObjSpace target = args = (StdObjSpace, ) def execute_appex(self, space, target, *args): self.space = space try: > target(*args) tool/pytest/apptest.py:30: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace args_w = (,) w_func = args = def appcaller(space, *args_w): if not isinstance(space, ObjSpace): raise TypeError("first argument must be a space instance.") # the last argument can be an Arguments w_func = self.wget(space, name) if not args_w: return space.call_function(w_func) else: args = args_w[-1] assert args is not None if not isinstance(args, Arguments): > return space.call_function(w_func, *args_w) interpreter/gateway.py:1227: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = args_w = (,) nargs = 1, Function = Method = def call_function(self, w_func, *args_w): nargs = len(args_w) # used for pruning funccall versions if not self.config.objspace.disable_call_speedhacks and nargs < 5: # start of hack for performance from pypy.interpreter.function import Function, Method if isinstance(w_func, Method): w_inst = w_func.w_instance if w_inst is not None: if nargs < 4: func = w_func.w_function if isinstance(func, Function): return func.funccall(w_inst, *args_w) elif args_w and ( self.abstract_isinstance_w(args_w[0], w_func.w_class)): w_func = w_func.w_function if isinstance(w_func, Function): > return w_func.funccall(*args_w) interpreter/baseobjspace.py:1210: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = args_w = (,) gateway = PyCode = code = def funccall(self, *args_w): # speed hack from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit nargs = len(args_w) fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, args_w[0]) elif nargs == 2: assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, args_w[0], args_w[1]) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) return code.fastcall_3(self.space, self, args_w[0], args_w[1], args_w[2]) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) return code.fastcall_4(self.space, self, args_w[0], args_w[1], args_w[2], args_w[3]) elif (nargs | PyCode.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) if nargs < 5: new_frame = self.space.createframe(code, self.w_func_globals, self) for i in funccallunrolling: if i < nargs: new_frame.locals_cells_stack_w[i] = args_w[i] > return new_frame.run() interpreter/function.py:118: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 7 def run(self): """Start this frame's execution.""" if self.getcode().co_flags & pycode.CO_GENERATOR: from pypy.interpreter.generator import GeneratorIterator return GeneratorIterator(self) else: > return self.execute_frame() interpreter/pyframe.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 7 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:290: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 7 e = SyntaxError("Non-ASCII character '\\xe2' in file /build_dir/own-linux-x86-32/b..., ('/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py', 423, 0, None)) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:943: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 7 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:286: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 7 pycode = next_instr = 0L ec = def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 7 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x01\x00d\x01\x00d\x00\x00l\x01\x00}\x02\x00t\x02\x00d\x02\x00d\x03\x00d\x04\x00d\x05\x00...00\xc9\x05\x00\xca\x00\x00\x01\xcc\x15\x00|\x04\x00\x83\x00\x00d\x00\x00k\x08\x00s|\x00t\x04\x00\x82\x01\x00d\x00\x00S' next_instr = 0L ec = def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 7 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x01\x00d\x01\x00d\x00\x00l\x01\x00}\x02\x00t\x02\x00d\x02\x00d\x03\x00d\x04\x00d\x05\x00...00\xc9\x05\x00\xca\x00\x00\x01\xcc\x15\x00|\x04\x00\x83\x00\x00d\x00\x00k\x08\x00s|\x00t\x04\x00\x82\x01\x00d\x00\x00S' next_instr = 96L ec = @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: self.last_instr = intmask(next_instr) if jit.we_are_jitted(): if self.debugdata: ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: ec.bytecode_trace(self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) next_instr += 1 if opcode >= HAVE_ARGUMENT: lo = ord(co_code[next_instr]) hi = ord(co_code[next_instr+1]) next_instr += 2 oparg = (hi * 256) | lo else: oparg = 0 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into a switch(). while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption lo = ord(co_code[next_instr+1]) hi = ord(co_code[next_instr+2]) next_instr += 3 oparg = (oparg * 65536) | (hi * 256) | lo if opcode == opcodedesc.RETURN_VALUE.index: if not self.blockstack_non_empty(): self.frame_finished_execution = True # for generators raise Return w_returnvalue = self.popvalue() block = self.unrollstack(SReturnValue.kind) if block is None: self.pushvalue(w_returnvalue) raise Return else: unroller = SReturnValue(w_returnvalue) next_instr = block.handle(self, unroller) return next_instr # now inside a 'finally' block elif opcode == opcodedesc.END_FINALLY.index: unroller = self.end_finally() if isinstance(unroller, SuspendedUnroller): # go on unrolling the stack block = self.unrollstack(unroller.kind) if block is None: w_result = unroller.nomoreblocks() self.pushvalue(w_result) raise Return else: next_instr = block.handle(self, unroller) return next_instr elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, ec) elif opcode == opcodedesc.BREAK_LOOP.index: next_instr = self.BREAK_LOOP(oparg, next_instr) elif opcode == opcodedesc.CONTINUE_LOOP.index: return self.CONTINUE_LOOP(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: next_instr = self.JUMP_IF_FALSE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_DEBUG.index: next_instr = self.JUMP_IF_NOT_DEBUG(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: next_instr = self.JUMP_IF_TRUE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: next_instr = self.POP_JUMP_IF_FALSE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: next_instr = self.POP_JUMP_IF_TRUE(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_DIVIDE.index: self.BINARY_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CLASS.index: self.BUILD_CLASS(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR.index: self.CALL_FUNCTION_VAR(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR_KW.index: self.CALL_FUNCTION_VAR_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: self.CALL_METHOD(oparg, next_instr) elif opcode == opcodedesc.COMPARE_OP.index: self.COMPARE_OP(oparg, next_instr) elif opcode == opcodedesc.DELETE_ATTR.index: self.DELETE_ATTR(oparg, next_instr) elif opcode == opcodedesc.DELETE_FAST.index: self.DELETE_FAST(oparg, next_instr) elif opcode == opcodedesc.DELETE_GLOBAL.index: self.DELETE_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.DELETE_NAME.index: self.DELETE_NAME(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_0.index: self.DELETE_SLICE_0(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_1.index: self.DELETE_SLICE_1(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_2.index: self.DELETE_SLICE_2(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_3.index: self.DELETE_SLICE_3(oparg, next_instr) elif opcode == opcodedesc.DELETE_SUBSCR.index: self.DELETE_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.DUP_TOP.index: self.DUP_TOP(oparg, next_instr) elif opcode == opcodedesc.DUP_TOPX.index: self.DUP_TOPX(oparg, next_instr) elif opcode == opcodedesc.EXEC_STMT.index: self.EXEC_STMT(oparg, next_instr) elif opcode == opcodedesc.GET_ITER.index: self.GET_ITER(oparg, next_instr) elif opcode == opcodedesc.IMPORT_FROM.index: self.IMPORT_FROM(oparg, next_instr) elif opcode == opcodedesc.IMPORT_NAME.index: self.IMPORT_NAME(oparg, next_instr) elif opcode == opcodedesc.IMPORT_STAR.index: self.IMPORT_STAR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_ADD.index: self.INPLACE_ADD(oparg, next_instr) elif opcode == opcodedesc.INPLACE_AND.index: self.INPLACE_AND(oparg, next_instr) elif opcode == opcodedesc.INPLACE_DIVIDE.index: self.INPLACE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_FLOOR_DIVIDE.index: self.INPLACE_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_LSHIFT.index: self.INPLACE_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MODULO.index: self.INPLACE_MODULO(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MULTIPLY.index: self.INPLACE_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.INPLACE_OR.index: self.INPLACE_OR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_POWER.index: self.INPLACE_POWER(oparg, next_instr) elif opcode == opcodedesc.INPLACE_RSHIFT.index: self.INPLACE_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_SUBTRACT.index: self.INPLACE_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_TRUE_DIVIDE.index: self.INPLACE_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_XOR.index: self.INPLACE_XOR(oparg, next_instr) elif opcode == opcodedesc.LIST_APPEND.index: self.LIST_APPEND(oparg, next_instr) elif opcode == opcodedesc.LOAD_ATTR.index: self.LOAD_ATTR(oparg, next_instr) elif opcode == opcodedesc.LOAD_CLOSURE.index: self.LOAD_CLOSURE(oparg, next_instr) elif opcode == opcodedesc.LOAD_CONST.index: self.LOAD_CONST(oparg, next_instr) elif opcode == opcodedesc.LOAD_DEREF.index: self.LOAD_DEREF(oparg, next_instr) elif opcode == opcodedesc.LOAD_FAST.index: self.LOAD_FAST(oparg, next_instr) elif opcode == opcodedesc.LOAD_GLOBAL.index: self.LOAD_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.LOAD_LOCALS.index: self.LOAD_LOCALS(oparg, next_instr) elif opcode == opcodedesc.LOAD_NAME.index: self.LOAD_NAME(oparg, next_instr) elif opcode == opcodedesc.LOOKUP_METHOD.index: > self.LOOKUP_METHOD(oparg, next_instr) interpreter/pyopcode.py:356: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = at line 7 nameindex = 5, ignored = (96L,) MutableCell = space = StdObjSpace w_obj = def LOOKUP_METHOD(f, nameindex, *ignored): from pypy.objspace.std.typeobject import MutableCell # stack before after # -------------- --fast-method----fallback-case------------ # # w_object None # w_object => w_function w_boundmethod_or_whatever # (more stuff) (more stuff) (more stuff) # space = f.space w_obj = f.popvalue() if not jit.we_are_jitted(): # mapdict has an extra-fast version of this function if LOOKUP_METHOD_mapdict(f, nameindex, w_obj): return w_name = f.getname_w(nameindex) w_value = None w_type = space.type(w_obj) if w_type.has_object_getattribute(): name = space.text_w(w_name) # bit of a mess to use these internal functions, but it allows the # mapdict caching below to work without an additional lookup version_tag = w_type.version_tag() if version_tag is None: _, w_descr = w_type._lookup_where(name) w_descr_cell = None else: _, w_descr_cell = w_type._pure_lookup_where_with_method_cache( name, version_tag) w_descr = w_descr_cell if isinstance(w_descr, MutableCell): w_descr = w_descr.unwrap_cell(space) if w_descr is None: # this handles directly the common case # module.function(args..) > w_value = w_obj.getdictvalue(space, name) objspace/std/callmethod.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def getdictvalue(self, space, name): w_value = space.finditem_str(self.w_dict, name) if self.lazy and w_value is None: > return self._load_lazily(space, name) interpreter/mixedmodule.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def _load_lazily(self, space, name): w_name = space.new_interned_str(name) try: loader = self.loaders[name] except KeyError: return None else: > w_value = loader(space) interpreter/mixedmodule.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace def ifileloader(space): d = {'space':space} # EVIL HACK (but it works, and this is not RPython :-) while 1: try: value = eval(spec, d) except NameError as ex: name = ex.args[0].split("'")[1] # super-Evil if name in d: raise # propagate the NameError try: > d[name] = __import__(pkgroot+'.'+name, None, None, [name]) interpreter/mixedmodule.py:182: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from pypy.interpreter.gateway import unwrap_spec from pypy.interpreter.error import oefmt from rpython.rlib import rgc > from pypy.module.gc.hook import W_GcCollectStepStats module/gc/interp_gc.py:4: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from rpython.memory.gc.hook import GcHooks > from rpython.memory.gc import incminimark module/gc/hook.py:2: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ # XXX Should find a way to bound the major collection threshold by the # XXX total addressable size. Maybe by keeping some minimarkpage arenas # XXX pre-reserved, enough for a few nursery collections? What about # XXX raw-malloced memory? # XXX try merging old_objects_pointing_to_pinned into # XXX old_objects_pointing_to_young (IRC 2014-10-22, fijal and gregor_w) import sys import os import time from rpython.rtyper.lltypesystem import lltype, llmemory, llarena, llgroup from rpython.rtyper.lltypesystem.lloperation import llop from rpython.rtyper.lltypesystem.llmemory import raw_malloc_usage from rpython.memory.gc.base import GCBase, MovingGCBase > from rpython.memory.gc import env E File "/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py", line 423 E SyntaxError: Non-ASCII character '\xe2' in file /build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py on line 423, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details ../rpython/memory/gc/incminimark.py:70: SyntaxError F pypy/module/_weakref/test/test_weakref.py::AppTestWeakref::()::test_generator_weakrefable self = func = at 0xf4ad5b8c>, 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, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 0xf7a8732c> hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf6a244cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf6a244cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf49a510c> 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 0xf49a510c> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf49a524c> 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 0xf49a524c> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def runtest(self): target = self.obj if self.config.option.runappdirect: return target() space = target.im_self.space filename = self._getdynfilename(target) func = app2interp_temp(target.im_func, filename=filename) w_instance = self.parent.w_instance > self.execute_appex(space, func, space, w_instance) tool/pytest/apptest.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , space = StdObjSpace target = args = (StdObjSpace, ) def execute_appex(self, space, target, *args): self.space = space try: > target(*args) tool/pytest/apptest.py:30: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace args_w = (,) w_func = args = def appcaller(space, *args_w): if not isinstance(space, ObjSpace): raise TypeError("first argument must be a space instance.") # the last argument can be an Arguments w_func = self.wget(space, name) if not args_w: return space.call_function(w_func) else: args = args_w[-1] assert args is not None if not isinstance(args, Arguments): > return space.call_function(w_func, *args_w) interpreter/gateway.py:1227: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = args_w = (,) nargs = 1, Function = Method = def call_function(self, w_func, *args_w): nargs = len(args_w) # used for pruning funccall versions if not self.config.objspace.disable_call_speedhacks and nargs < 5: # start of hack for performance from pypy.interpreter.function import Function, Method if isinstance(w_func, Method): w_inst = w_func.w_instance if w_inst is not None: if nargs < 4: func = w_func.w_function if isinstance(func, Function): return func.funccall(w_inst, *args_w) elif args_w and ( self.abstract_isinstance_w(args_w[0], w_func.w_class)): w_func = w_func.w_function if isinstance(w_func, Function): > return w_func.funccall(*args_w) interpreter/baseobjspace.py:1210: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = args_w = (,) gateway = PyCode = code = def funccall(self, *args_w): # speed hack from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit nargs = len(args_w) fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, args_w[0]) elif nargs == 2: assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, args_w[0], args_w[1]) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) return code.fastcall_3(self.space, self, args_w[0], args_w[1], args_w[2]) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) return code.fastcall_4(self.space, self, args_w[0], args_w[1], args_w[2], args_w[3]) elif (nargs | PyCode.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) if nargs < 5: new_frame = self.space.createframe(code, self.w_func_globals, self) for i in funccallunrolling: if i < nargs: new_frame.locals_cells_stack_w[i] = args_w[i] > return new_frame.run() interpreter/function.py:118: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 13 def run(self): """Start this frame's execution.""" if self.getcode().co_flags & pycode.CO_GENERATOR: from pypy.interpreter.generator import GeneratorIterator return GeneratorIterator(self) else: > return self.execute_frame() interpreter/pyframe.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 13 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:290: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 13 e = SyntaxError("Non-ASCII character '\\xe2' in file /build_dir/own-linux-x86-32/b..., ('/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py', 423, 0, None)) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:943: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 13 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:286: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 13 pycode = next_instr = 0L ec = def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 13 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x01\x00d\x01\x00d\x00\x00l\x01\x00}\x02\x00d\x02\x00\x84\x00\x00}\x03\x00|\x03\x00d\x03\...xc9\x05\x00\xca\x00\x00\x01\xcc\x15\x00|\x05\x00\x83\x00\x00d\x00\x00k\x08\x00s\x07\x01t\x04\x00\x82\x01\x00d\x00\x00S' next_instr = 0L ec = def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 13 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x01\x00d\x01\x00d\x00\x00l\x01\x00}\x02\x00d\x02\x00\x84\x00\x00}\x03\x00|\x03\x00d\x03\...xc9\x05\x00\xca\x00\x00\x01\xcc\x15\x00|\x05\x00\x83\x00\x00d\x00\x00k\x08\x00s\x07\x01t\x04\x00\x82\x01\x00d\x00\x00S' next_instr = 138L ec = @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: self.last_instr = intmask(next_instr) if jit.we_are_jitted(): if self.debugdata: ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: ec.bytecode_trace(self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) next_instr += 1 if opcode >= HAVE_ARGUMENT: lo = ord(co_code[next_instr]) hi = ord(co_code[next_instr+1]) next_instr += 2 oparg = (hi * 256) | lo else: oparg = 0 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into a switch(). while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption lo = ord(co_code[next_instr+1]) hi = ord(co_code[next_instr+2]) next_instr += 3 oparg = (oparg * 65536) | (hi * 256) | lo if opcode == opcodedesc.RETURN_VALUE.index: if not self.blockstack_non_empty(): self.frame_finished_execution = True # for generators raise Return w_returnvalue = self.popvalue() block = self.unrollstack(SReturnValue.kind) if block is None: self.pushvalue(w_returnvalue) raise Return else: unroller = SReturnValue(w_returnvalue) next_instr = block.handle(self, unroller) return next_instr # now inside a 'finally' block elif opcode == opcodedesc.END_FINALLY.index: unroller = self.end_finally() if isinstance(unroller, SuspendedUnroller): # go on unrolling the stack block = self.unrollstack(unroller.kind) if block is None: w_result = unroller.nomoreblocks() self.pushvalue(w_result) raise Return else: next_instr = block.handle(self, unroller) return next_instr elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, ec) elif opcode == opcodedesc.BREAK_LOOP.index: next_instr = self.BREAK_LOOP(oparg, next_instr) elif opcode == opcodedesc.CONTINUE_LOOP.index: return self.CONTINUE_LOOP(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: next_instr = self.JUMP_IF_FALSE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_DEBUG.index: next_instr = self.JUMP_IF_NOT_DEBUG(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: next_instr = self.JUMP_IF_TRUE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: next_instr = self.POP_JUMP_IF_FALSE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: next_instr = self.POP_JUMP_IF_TRUE(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_DIVIDE.index: self.BINARY_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CLASS.index: self.BUILD_CLASS(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR.index: self.CALL_FUNCTION_VAR(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR_KW.index: self.CALL_FUNCTION_VAR_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: self.CALL_METHOD(oparg, next_instr) elif opcode == opcodedesc.COMPARE_OP.index: self.COMPARE_OP(oparg, next_instr) elif opcode == opcodedesc.DELETE_ATTR.index: self.DELETE_ATTR(oparg, next_instr) elif opcode == opcodedesc.DELETE_FAST.index: self.DELETE_FAST(oparg, next_instr) elif opcode == opcodedesc.DELETE_GLOBAL.index: self.DELETE_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.DELETE_NAME.index: self.DELETE_NAME(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_0.index: self.DELETE_SLICE_0(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_1.index: self.DELETE_SLICE_1(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_2.index: self.DELETE_SLICE_2(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_3.index: self.DELETE_SLICE_3(oparg, next_instr) elif opcode == opcodedesc.DELETE_SUBSCR.index: self.DELETE_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.DUP_TOP.index: self.DUP_TOP(oparg, next_instr) elif opcode == opcodedesc.DUP_TOPX.index: self.DUP_TOPX(oparg, next_instr) elif opcode == opcodedesc.EXEC_STMT.index: self.EXEC_STMT(oparg, next_instr) elif opcode == opcodedesc.GET_ITER.index: self.GET_ITER(oparg, next_instr) elif opcode == opcodedesc.IMPORT_FROM.index: self.IMPORT_FROM(oparg, next_instr) elif opcode == opcodedesc.IMPORT_NAME.index: self.IMPORT_NAME(oparg, next_instr) elif opcode == opcodedesc.IMPORT_STAR.index: self.IMPORT_STAR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_ADD.index: self.INPLACE_ADD(oparg, next_instr) elif opcode == opcodedesc.INPLACE_AND.index: self.INPLACE_AND(oparg, next_instr) elif opcode == opcodedesc.INPLACE_DIVIDE.index: self.INPLACE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_FLOOR_DIVIDE.index: self.INPLACE_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_LSHIFT.index: self.INPLACE_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MODULO.index: self.INPLACE_MODULO(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MULTIPLY.index: self.INPLACE_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.INPLACE_OR.index: self.INPLACE_OR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_POWER.index: self.INPLACE_POWER(oparg, next_instr) elif opcode == opcodedesc.INPLACE_RSHIFT.index: self.INPLACE_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_SUBTRACT.index: self.INPLACE_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_TRUE_DIVIDE.index: self.INPLACE_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_XOR.index: self.INPLACE_XOR(oparg, next_instr) elif opcode == opcodedesc.LIST_APPEND.index: self.LIST_APPEND(oparg, next_instr) elif opcode == opcodedesc.LOAD_ATTR.index: self.LOAD_ATTR(oparg, next_instr) elif opcode == opcodedesc.LOAD_CLOSURE.index: self.LOAD_CLOSURE(oparg, next_instr) elif opcode == opcodedesc.LOAD_CONST.index: self.LOAD_CONST(oparg, next_instr) elif opcode == opcodedesc.LOAD_DEREF.index: self.LOAD_DEREF(oparg, next_instr) elif opcode == opcodedesc.LOAD_FAST.index: self.LOAD_FAST(oparg, next_instr) elif opcode == opcodedesc.LOAD_GLOBAL.index: self.LOAD_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.LOAD_LOCALS.index: self.LOAD_LOCALS(oparg, next_instr) elif opcode == opcodedesc.LOAD_NAME.index: self.LOAD_NAME(oparg, next_instr) elif opcode == opcodedesc.LOOKUP_METHOD.index: > self.LOOKUP_METHOD(oparg, next_instr) interpreter/pyopcode.py:356: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = at line 13 nameindex = 5, ignored = (138L,) MutableCell = space = StdObjSpace w_obj = def LOOKUP_METHOD(f, nameindex, *ignored): from pypy.objspace.std.typeobject import MutableCell # stack before after # -------------- --fast-method----fallback-case------------ # # w_object None # w_object => w_function w_boundmethod_or_whatever # (more stuff) (more stuff) (more stuff) # space = f.space w_obj = f.popvalue() if not jit.we_are_jitted(): # mapdict has an extra-fast version of this function if LOOKUP_METHOD_mapdict(f, nameindex, w_obj): return w_name = f.getname_w(nameindex) w_value = None w_type = space.type(w_obj) if w_type.has_object_getattribute(): name = space.text_w(w_name) # bit of a mess to use these internal functions, but it allows the # mapdict caching below to work without an additional lookup version_tag = w_type.version_tag() if version_tag is None: _, w_descr = w_type._lookup_where(name) w_descr_cell = None else: _, w_descr_cell = w_type._pure_lookup_where_with_method_cache( name, version_tag) w_descr = w_descr_cell if isinstance(w_descr, MutableCell): w_descr = w_descr.unwrap_cell(space) if w_descr is None: # this handles directly the common case # module.function(args..) > w_value = w_obj.getdictvalue(space, name) objspace/std/callmethod.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def getdictvalue(self, space, name): w_value = space.finditem_str(self.w_dict, name) if self.lazy and w_value is None: > return self._load_lazily(space, name) interpreter/mixedmodule.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def _load_lazily(self, space, name): w_name = space.new_interned_str(name) try: loader = self.loaders[name] except KeyError: return None else: > w_value = loader(space) interpreter/mixedmodule.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace def ifileloader(space): d = {'space':space} # EVIL HACK (but it works, and this is not RPython :-) while 1: try: value = eval(spec, d) except NameError as ex: name = ex.args[0].split("'")[1] # super-Evil if name in d: raise # propagate the NameError try: > d[name] = __import__(pkgroot+'.'+name, None, None, [name]) interpreter/mixedmodule.py:182: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from pypy.interpreter.gateway import unwrap_spec from pypy.interpreter.error import oefmt from rpython.rlib import rgc > from pypy.module.gc.hook import W_GcCollectStepStats module/gc/interp_gc.py:4: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from rpython.memory.gc.hook import GcHooks > from rpython.memory.gc import incminimark module/gc/hook.py:2: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ # XXX Should find a way to bound the major collection threshold by the # XXX total addressable size. Maybe by keeping some minimarkpage arenas # XXX pre-reserved, enough for a few nursery collections? What about # XXX raw-malloced memory? # XXX try merging old_objects_pointing_to_pinned into # XXX old_objects_pointing_to_young (IRC 2014-10-22, fijal and gregor_w) import sys import os import time from rpython.rtyper.lltypesystem import lltype, llmemory, llarena, llgroup from rpython.rtyper.lltypesystem.lloperation import llop from rpython.rtyper.lltypesystem.llmemory import raw_malloc_usage from rpython.memory.gc.base import GCBase, MovingGCBase > from rpython.memory.gc import env E File "/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py", line 423 E SyntaxError: Non-ASCII character '\xe2' in file /build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py on line 423, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details ../rpython/memory/gc/incminimark.py:70: SyntaxError F pypy/module/_weakref/test/test_weakref.py::AppTestWeakref::()::test_weakref_subclass_with_del self = func = at 0xf4f14764>, 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, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 0xf7a8732c> hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf6a244cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf6a244cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf48dea6c> 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 0xf48dea6c> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf48ded2c> 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 0xf48ded2c> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def runtest(self): target = self.obj if self.config.option.runappdirect: return target() space = target.im_self.space filename = self._getdynfilename(target) func = app2interp_temp(target.im_func, filename=filename) w_instance = self.parent.w_instance > self.execute_appex(space, func, space, w_instance) tool/pytest/apptest.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , space = StdObjSpace target = args = (StdObjSpace, ) def execute_appex(self, space, target, *args): self.space = space try: > target(*args) tool/pytest/apptest.py:30: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace args_w = (,) w_func = args = def appcaller(space, *args_w): if not isinstance(space, ObjSpace): raise TypeError("first argument must be a space instance.") # the last argument can be an Arguments w_func = self.wget(space, name) if not args_w: return space.call_function(w_func) else: args = args_w[-1] assert args is not None if not isinstance(args, Arguments): > return space.call_function(w_func, *args_w) interpreter/gateway.py:1227: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = args_w = (,) nargs = 1, Function = Method = def call_function(self, w_func, *args_w): nargs = len(args_w) # used for pruning funccall versions if not self.config.objspace.disable_call_speedhacks and nargs < 5: # start of hack for performance from pypy.interpreter.function import Function, Method if isinstance(w_func, Method): w_inst = w_func.w_instance if w_inst is not None: if nargs < 4: func = w_func.w_function if isinstance(func, Function): return func.funccall(w_inst, *args_w) elif args_w and ( self.abstract_isinstance_w(args_w[0], w_func.w_class)): w_func = w_func.w_function if isinstance(w_func, Function): > return w_func.funccall(*args_w) interpreter/baseobjspace.py:1210: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = args_w = (,) gateway = PyCode = code = def funccall(self, *args_w): # speed hack from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit nargs = len(args_w) fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, args_w[0]) elif nargs == 2: assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, args_w[0], args_w[1]) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) return code.fastcall_3(self.space, self, args_w[0], args_w[1], args_w[2]) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) return code.fastcall_4(self.space, self, args_w[0], args_w[1], args_w[2], args_w[3]) elif (nargs | PyCode.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) if nargs < 5: new_frame = self.space.createframe(code, self.w_func_globals, self) for i in funccallunrolling: if i < nargs: new_frame.locals_cells_stack_w[i] = args_w[i] > return new_frame.run() interpreter/function.py:118: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 13 def run(self): """Start this frame's execution.""" if self.getcode().co_flags & pycode.CO_GENERATOR: from pypy.interpreter.generator import GeneratorIterator return GeneratorIterator(self) else: > return self.execute_frame() interpreter/pyframe.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 13 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:290: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 13 e = SyntaxError("Non-ASCII character '\\xe2' in file /build_dir/own-linux-x86-32/b..., ('/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py', 423, 0, None)) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:943: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 13 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:286: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 13 pycode = next_instr = 0L ec = def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 13 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x01\x00d\x01\x00d\x00\x00l\x01\x00}\x02\x00d\x02\x00|\x01\x00j\x02\x00f\x01\x00\x87\x00\...8\x00|\x05\x00\xca\x01\x00d\x08\x00\x19\x83\x00\x00|\x05\x00k\x08\x00s\xd3\x00t\x06\x00\x82\x01\x00n\x00\x00d\x00\x00S' next_instr = 0L ec = def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 13 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x01\x00d\x01\x00d\x00\x00l\x01\x00}\x02\x00d\x02\x00|\x01\x00j\x02\x00f\x01\x00\x87\x00\...8\x00|\x05\x00\xca\x01\x00d\x08\x00\x19\x83\x00\x00|\x05\x00k\x08\x00s\xd3\x00t\x06\x00\x82\x01\x00n\x00\x00d\x00\x00S' next_instr = 125L ec = @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: self.last_instr = intmask(next_instr) if jit.we_are_jitted(): if self.debugdata: ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: ec.bytecode_trace(self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) next_instr += 1 if opcode >= HAVE_ARGUMENT: lo = ord(co_code[next_instr]) hi = ord(co_code[next_instr+1]) next_instr += 2 oparg = (hi * 256) | lo else: oparg = 0 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into a switch(). while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption lo = ord(co_code[next_instr+1]) hi = ord(co_code[next_instr+2]) next_instr += 3 oparg = (oparg * 65536) | (hi * 256) | lo if opcode == opcodedesc.RETURN_VALUE.index: if not self.blockstack_non_empty(): self.frame_finished_execution = True # for generators raise Return w_returnvalue = self.popvalue() block = self.unrollstack(SReturnValue.kind) if block is None: self.pushvalue(w_returnvalue) raise Return else: unroller = SReturnValue(w_returnvalue) next_instr = block.handle(self, unroller) return next_instr # now inside a 'finally' block elif opcode == opcodedesc.END_FINALLY.index: unroller = self.end_finally() if isinstance(unroller, SuspendedUnroller): # go on unrolling the stack block = self.unrollstack(unroller.kind) if block is None: w_result = unroller.nomoreblocks() self.pushvalue(w_result) raise Return else: next_instr = block.handle(self, unroller) return next_instr elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, ec) elif opcode == opcodedesc.BREAK_LOOP.index: next_instr = self.BREAK_LOOP(oparg, next_instr) elif opcode == opcodedesc.CONTINUE_LOOP.index: return self.CONTINUE_LOOP(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: next_instr = self.JUMP_IF_FALSE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_DEBUG.index: next_instr = self.JUMP_IF_NOT_DEBUG(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: next_instr = self.JUMP_IF_TRUE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: next_instr = self.POP_JUMP_IF_FALSE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: next_instr = self.POP_JUMP_IF_TRUE(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_DIVIDE.index: self.BINARY_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CLASS.index: self.BUILD_CLASS(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR.index: self.CALL_FUNCTION_VAR(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR_KW.index: self.CALL_FUNCTION_VAR_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: self.CALL_METHOD(oparg, next_instr) elif opcode == opcodedesc.COMPARE_OP.index: self.COMPARE_OP(oparg, next_instr) elif opcode == opcodedesc.DELETE_ATTR.index: self.DELETE_ATTR(oparg, next_instr) elif opcode == opcodedesc.DELETE_FAST.index: self.DELETE_FAST(oparg, next_instr) elif opcode == opcodedesc.DELETE_GLOBAL.index: self.DELETE_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.DELETE_NAME.index: self.DELETE_NAME(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_0.index: self.DELETE_SLICE_0(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_1.index: self.DELETE_SLICE_1(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_2.index: self.DELETE_SLICE_2(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_3.index: self.DELETE_SLICE_3(oparg, next_instr) elif opcode == opcodedesc.DELETE_SUBSCR.index: self.DELETE_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.DUP_TOP.index: self.DUP_TOP(oparg, next_instr) elif opcode == opcodedesc.DUP_TOPX.index: self.DUP_TOPX(oparg, next_instr) elif opcode == opcodedesc.EXEC_STMT.index: self.EXEC_STMT(oparg, next_instr) elif opcode == opcodedesc.GET_ITER.index: self.GET_ITER(oparg, next_instr) elif opcode == opcodedesc.IMPORT_FROM.index: self.IMPORT_FROM(oparg, next_instr) elif opcode == opcodedesc.IMPORT_NAME.index: self.IMPORT_NAME(oparg, next_instr) elif opcode == opcodedesc.IMPORT_STAR.index: self.IMPORT_STAR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_ADD.index: self.INPLACE_ADD(oparg, next_instr) elif opcode == opcodedesc.INPLACE_AND.index: self.INPLACE_AND(oparg, next_instr) elif opcode == opcodedesc.INPLACE_DIVIDE.index: self.INPLACE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_FLOOR_DIVIDE.index: self.INPLACE_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_LSHIFT.index: self.INPLACE_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MODULO.index: self.INPLACE_MODULO(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MULTIPLY.index: self.INPLACE_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.INPLACE_OR.index: self.INPLACE_OR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_POWER.index: self.INPLACE_POWER(oparg, next_instr) elif opcode == opcodedesc.INPLACE_RSHIFT.index: self.INPLACE_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_SUBTRACT.index: self.INPLACE_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_TRUE_DIVIDE.index: self.INPLACE_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_XOR.index: self.INPLACE_XOR(oparg, next_instr) elif opcode == opcodedesc.LIST_APPEND.index: self.LIST_APPEND(oparg, next_instr) elif opcode == opcodedesc.LOAD_ATTR.index: self.LOAD_ATTR(oparg, next_instr) elif opcode == opcodedesc.LOAD_CLOSURE.index: self.LOAD_CLOSURE(oparg, next_instr) elif opcode == opcodedesc.LOAD_CONST.index: self.LOAD_CONST(oparg, next_instr) elif opcode == opcodedesc.LOAD_DEREF.index: self.LOAD_DEREF(oparg, next_instr) elif opcode == opcodedesc.LOAD_FAST.index: self.LOAD_FAST(oparg, next_instr) elif opcode == opcodedesc.LOAD_GLOBAL.index: self.LOAD_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.LOAD_LOCALS.index: self.LOAD_LOCALS(oparg, next_instr) elif opcode == opcodedesc.LOAD_NAME.index: self.LOAD_NAME(oparg, next_instr) elif opcode == opcodedesc.LOOKUP_METHOD.index: > self.LOOKUP_METHOD(oparg, next_instr) interpreter/pyopcode.py:356: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = at line 13 nameindex = 5, ignored = (125L,) MutableCell = space = StdObjSpace w_obj = def LOOKUP_METHOD(f, nameindex, *ignored): from pypy.objspace.std.typeobject import MutableCell # stack before after # -------------- --fast-method----fallback-case------------ # # w_object None # w_object => w_function w_boundmethod_or_whatever # (more stuff) (more stuff) (more stuff) # space = f.space w_obj = f.popvalue() if not jit.we_are_jitted(): # mapdict has an extra-fast version of this function if LOOKUP_METHOD_mapdict(f, nameindex, w_obj): return w_name = f.getname_w(nameindex) w_value = None w_type = space.type(w_obj) if w_type.has_object_getattribute(): name = space.text_w(w_name) # bit of a mess to use these internal functions, but it allows the # mapdict caching below to work without an additional lookup version_tag = w_type.version_tag() if version_tag is None: _, w_descr = w_type._lookup_where(name) w_descr_cell = None else: _, w_descr_cell = w_type._pure_lookup_where_with_method_cache( name, version_tag) w_descr = w_descr_cell if isinstance(w_descr, MutableCell): w_descr = w_descr.unwrap_cell(space) if w_descr is None: # this handles directly the common case # module.function(args..) > w_value = w_obj.getdictvalue(space, name) objspace/std/callmethod.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def getdictvalue(self, space, name): w_value = space.finditem_str(self.w_dict, name) if self.lazy and w_value is None: > return self._load_lazily(space, name) interpreter/mixedmodule.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def _load_lazily(self, space, name): w_name = space.new_interned_str(name) try: loader = self.loaders[name] except KeyError: return None else: > w_value = loader(space) interpreter/mixedmodule.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace def ifileloader(space): d = {'space':space} # EVIL HACK (but it works, and this is not RPython :-) while 1: try: value = eval(spec, d) except NameError as ex: name = ex.args[0].split("'")[1] # super-Evil if name in d: raise # propagate the NameError try: > d[name] = __import__(pkgroot+'.'+name, None, None, [name]) interpreter/mixedmodule.py:182: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from pypy.interpreter.gateway import unwrap_spec from pypy.interpreter.error import oefmt from rpython.rlib import rgc > from pypy.module.gc.hook import W_GcCollectStepStats module/gc/interp_gc.py:4: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from rpython.memory.gc.hook import GcHooks > from rpython.memory.gc import incminimark module/gc/hook.py:2: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ # XXX Should find a way to bound the major collection threshold by the # XXX total addressable size. Maybe by keeping some minimarkpage arenas # XXX pre-reserved, enough for a few nursery collections? What about # XXX raw-malloced memory? # XXX try merging old_objects_pointing_to_pinned into # XXX old_objects_pointing_to_young (IRC 2014-10-22, fijal and gregor_w) import sys import os import time from rpython.rtyper.lltypesystem import lltype, llmemory, llarena, llgroup from rpython.rtyper.lltypesystem.lloperation import llop from rpython.rtyper.lltypesystem.llmemory import raw_malloc_usage from rpython.memory.gc.base import GCBase, MovingGCBase > from rpython.memory.gc import env E File "/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py", line 423 E SyntaxError: Non-ASCII character '\xe2' in file /build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py on line 423, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details ../rpython/memory/gc/incminimark.py:70: SyntaxError . pypy/module/_weakref/test/test_weakref.py::AppTestWeakref::()::test_buggy_case s pypy/module/_weakref/test/test_weakref.py::AppTestWeakref::()::test_del_and_callback_and_id Skipped: the id() doesn't work correctly in __del__ and callbacks before translation F pypy/module/_weakref/test/test_weakref.py::AppTestWeakref::()::test_type_weakrefable self = func = at 0xf4fb3d84>, 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, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 0xf7a8732c> hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf6a244cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf6a244cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf49c76ac> 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 0xf49c76ac> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf49c71ec> 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 0xf49c71ec> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def runtest(self): target = self.obj if self.config.option.runappdirect: return target() space = target.im_self.space filename = self._getdynfilename(target) func = app2interp_temp(target.im_func, filename=filename) w_instance = self.parent.w_instance > self.execute_appex(space, func, space, w_instance) tool/pytest/apptest.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , space = StdObjSpace target = args = (StdObjSpace, ) def execute_appex(self, space, target, *args): self.space = space try: > target(*args) tool/pytest/apptest.py:30: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace args_w = (,) w_func = args = def appcaller(space, *args_w): if not isinstance(space, ObjSpace): raise TypeError("first argument must be a space instance.") # the last argument can be an Arguments w_func = self.wget(space, name) if not args_w: return space.call_function(w_func) else: args = args_w[-1] assert args is not None if not isinstance(args, Arguments): > return space.call_function(w_func, *args_w) interpreter/gateway.py:1227: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = args_w = (,) nargs = 1, Function = Method = def call_function(self, w_func, *args_w): nargs = len(args_w) # used for pruning funccall versions if not self.config.objspace.disable_call_speedhacks and nargs < 5: # start of hack for performance from pypy.interpreter.function import Function, Method if isinstance(w_func, Method): w_inst = w_func.w_instance if w_inst is not None: if nargs < 4: func = w_func.w_function if isinstance(func, Function): return func.funccall(w_inst, *args_w) elif args_w and ( self.abstract_isinstance_w(args_w[0], w_func.w_class)): w_func = w_func.w_function if isinstance(w_func, Function): > return w_func.funccall(*args_w) interpreter/baseobjspace.py:1210: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = args_w = (,) gateway = PyCode = code = def funccall(self, *args_w): # speed hack from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit nargs = len(args_w) fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, args_w[0]) elif nargs == 2: assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, args_w[0], args_w[1]) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) return code.fastcall_3(self.space, self, args_w[0], args_w[1], args_w[2]) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) return code.fastcall_4(self.space, self, args_w[0], args_w[1], args_w[2], args_w[3]) elif (nargs | PyCode.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) if nargs < 5: new_frame = self.space.createframe(code, self.w_func_globals, self) for i in funccallunrolling: if i < nargs: new_frame.locals_cells_stack_w[i] = args_w[i] > return new_frame.run() interpreter/function.py:118: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 5 def run(self): """Start this frame's execution.""" if self.getcode().co_flags & pycode.CO_GENERATOR: from pypy.interpreter.generator import GeneratorIterator return GeneratorIterator(self) else: > return self.execute_frame() interpreter/pyframe.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 5 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:290: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 5 e = SyntaxError("Non-ASCII character '\\xe2' in file /build_dir/own-linux-x86-32/b..., ('/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py', 423, 0, None)) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:943: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 5 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:286: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 5 pycode = next_instr = 0L ec = def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 5 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x01\x00d\x01\x00d\x00\x00l\x01\x00}\x02\x00|\x01\x00\xc9\x02\x00t\x03\x00\xca\x01\x00}\x...3\x00\x00t\x03\x00k\x08\x00sa\x00t\x04\x00\x82\x01\x00d\x00\x00S\x03\x00k\x08\x00sa\x00t\x04\x00\x82\x01\x00d\x00\x00S' next_instr = 0L ec = def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 5 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x01\x00d\x01\x00d\x00\x00l\x01\x00}\x02\x00|\x01\x00\xc9\x02\x00t\x03\x00\xca\x01\x00}\x...3\x00\x00t\x03\x00k\x08\x00sa\x00t\x04\x00\x82\x01\x00d\x00\x00S\x03\x00k\x08\x00sa\x00t\x04\x00\x82\x01\x00d\x00\x00S' next_instr = 69L ec = @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: self.last_instr = intmask(next_instr) if jit.we_are_jitted(): if self.debugdata: ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: ec.bytecode_trace(self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) next_instr += 1 if opcode >= HAVE_ARGUMENT: lo = ord(co_code[next_instr]) hi = ord(co_code[next_instr+1]) next_instr += 2 oparg = (hi * 256) | lo else: oparg = 0 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into a switch(). while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption lo = ord(co_code[next_instr+1]) hi = ord(co_code[next_instr+2]) next_instr += 3 oparg = (oparg * 65536) | (hi * 256) | lo if opcode == opcodedesc.RETURN_VALUE.index: if not self.blockstack_non_empty(): self.frame_finished_execution = True # for generators raise Return w_returnvalue = self.popvalue() block = self.unrollstack(SReturnValue.kind) if block is None: self.pushvalue(w_returnvalue) raise Return else: unroller = SReturnValue(w_returnvalue) next_instr = block.handle(self, unroller) return next_instr # now inside a 'finally' block elif opcode == opcodedesc.END_FINALLY.index: unroller = self.end_finally() if isinstance(unroller, SuspendedUnroller): # go on unrolling the stack block = self.unrollstack(unroller.kind) if block is None: w_result = unroller.nomoreblocks() self.pushvalue(w_result) raise Return else: next_instr = block.handle(self, unroller) return next_instr elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, ec) elif opcode == opcodedesc.BREAK_LOOP.index: next_instr = self.BREAK_LOOP(oparg, next_instr) elif opcode == opcodedesc.CONTINUE_LOOP.index: return self.CONTINUE_LOOP(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: next_instr = self.JUMP_IF_FALSE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_DEBUG.index: next_instr = self.JUMP_IF_NOT_DEBUG(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: next_instr = self.JUMP_IF_TRUE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: next_instr = self.POP_JUMP_IF_FALSE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: next_instr = self.POP_JUMP_IF_TRUE(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_DIVIDE.index: self.BINARY_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CLASS.index: self.BUILD_CLASS(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR.index: self.CALL_FUNCTION_VAR(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR_KW.index: self.CALL_FUNCTION_VAR_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: self.CALL_METHOD(oparg, next_instr) elif opcode == opcodedesc.COMPARE_OP.index: self.COMPARE_OP(oparg, next_instr) elif opcode == opcodedesc.DELETE_ATTR.index: self.DELETE_ATTR(oparg, next_instr) elif opcode == opcodedesc.DELETE_FAST.index: self.DELETE_FAST(oparg, next_instr) elif opcode == opcodedesc.DELETE_GLOBAL.index: self.DELETE_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.DELETE_NAME.index: self.DELETE_NAME(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_0.index: self.DELETE_SLICE_0(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_1.index: self.DELETE_SLICE_1(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_2.index: self.DELETE_SLICE_2(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_3.index: self.DELETE_SLICE_3(oparg, next_instr) elif opcode == opcodedesc.DELETE_SUBSCR.index: self.DELETE_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.DUP_TOP.index: self.DUP_TOP(oparg, next_instr) elif opcode == opcodedesc.DUP_TOPX.index: self.DUP_TOPX(oparg, next_instr) elif opcode == opcodedesc.EXEC_STMT.index: self.EXEC_STMT(oparg, next_instr) elif opcode == opcodedesc.GET_ITER.index: self.GET_ITER(oparg, next_instr) elif opcode == opcodedesc.IMPORT_FROM.index: self.IMPORT_FROM(oparg, next_instr) elif opcode == opcodedesc.IMPORT_NAME.index: self.IMPORT_NAME(oparg, next_instr) elif opcode == opcodedesc.IMPORT_STAR.index: self.IMPORT_STAR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_ADD.index: self.INPLACE_ADD(oparg, next_instr) elif opcode == opcodedesc.INPLACE_AND.index: self.INPLACE_AND(oparg, next_instr) elif opcode == opcodedesc.INPLACE_DIVIDE.index: self.INPLACE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_FLOOR_DIVIDE.index: self.INPLACE_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_LSHIFT.index: self.INPLACE_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MODULO.index: self.INPLACE_MODULO(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MULTIPLY.index: self.INPLACE_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.INPLACE_OR.index: self.INPLACE_OR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_POWER.index: self.INPLACE_POWER(oparg, next_instr) elif opcode == opcodedesc.INPLACE_RSHIFT.index: self.INPLACE_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_SUBTRACT.index: self.INPLACE_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_TRUE_DIVIDE.index: self.INPLACE_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_XOR.index: self.INPLACE_XOR(oparg, next_instr) elif opcode == opcodedesc.LIST_APPEND.index: self.LIST_APPEND(oparg, next_instr) elif opcode == opcodedesc.LOAD_ATTR.index: self.LOAD_ATTR(oparg, next_instr) elif opcode == opcodedesc.LOAD_CLOSURE.index: self.LOAD_CLOSURE(oparg, next_instr) elif opcode == opcodedesc.LOAD_CONST.index: self.LOAD_CONST(oparg, next_instr) elif opcode == opcodedesc.LOAD_DEREF.index: self.LOAD_DEREF(oparg, next_instr) elif opcode == opcodedesc.LOAD_FAST.index: self.LOAD_FAST(oparg, next_instr) elif opcode == opcodedesc.LOAD_GLOBAL.index: self.LOAD_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.LOAD_LOCALS.index: self.LOAD_LOCALS(oparg, next_instr) elif opcode == opcodedesc.LOAD_NAME.index: self.LOAD_NAME(oparg, next_instr) elif opcode == opcodedesc.LOOKUP_METHOD.index: > self.LOOKUP_METHOD(oparg, next_instr) interpreter/pyopcode.py:356: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = at line 5 nameindex = 5, ignored = (69L,) MutableCell = space = StdObjSpace w_obj = def LOOKUP_METHOD(f, nameindex, *ignored): from pypy.objspace.std.typeobject import MutableCell # stack before after # -------------- --fast-method----fallback-case------------ # # w_object None # w_object => w_function w_boundmethod_or_whatever # (more stuff) (more stuff) (more stuff) # space = f.space w_obj = f.popvalue() if not jit.we_are_jitted(): # mapdict has an extra-fast version of this function if LOOKUP_METHOD_mapdict(f, nameindex, w_obj): return w_name = f.getname_w(nameindex) w_value = None w_type = space.type(w_obj) if w_type.has_object_getattribute(): name = space.text_w(w_name) # bit of a mess to use these internal functions, but it allows the # mapdict caching below to work without an additional lookup version_tag = w_type.version_tag() if version_tag is None: _, w_descr = w_type._lookup_where(name) w_descr_cell = None else: _, w_descr_cell = w_type._pure_lookup_where_with_method_cache( name, version_tag) w_descr = w_descr_cell if isinstance(w_descr, MutableCell): w_descr = w_descr.unwrap_cell(space) if w_descr is None: # this handles directly the common case # module.function(args..) > w_value = w_obj.getdictvalue(space, name) objspace/std/callmethod.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def getdictvalue(self, space, name): w_value = space.finditem_str(self.w_dict, name) if self.lazy and w_value is None: > return self._load_lazily(space, name) interpreter/mixedmodule.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def _load_lazily(self, space, name): w_name = space.new_interned_str(name) try: loader = self.loaders[name] except KeyError: return None else: > w_value = loader(space) interpreter/mixedmodule.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace def ifileloader(space): d = {'space':space} # EVIL HACK (but it works, and this is not RPython :-) while 1: try: value = eval(spec, d) except NameError as ex: name = ex.args[0].split("'")[1] # super-Evil if name in d: raise # propagate the NameError try: > d[name] = __import__(pkgroot+'.'+name, None, None, [name]) interpreter/mixedmodule.py:182: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from pypy.interpreter.gateway import unwrap_spec from pypy.interpreter.error import oefmt from rpython.rlib import rgc > from pypy.module.gc.hook import W_GcCollectStepStats module/gc/interp_gc.py:4: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from rpython.memory.gc.hook import GcHooks > from rpython.memory.gc import incminimark module/gc/hook.py:2: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ # XXX Should find a way to bound the major collection threshold by the # XXX total addressable size. Maybe by keeping some minimarkpage arenas # XXX pre-reserved, enough for a few nursery collections? What about # XXX raw-malloced memory? # XXX try merging old_objects_pointing_to_pinned into # XXX old_objects_pointing_to_young (IRC 2014-10-22, fijal and gregor_w) import sys import os import time from rpython.rtyper.lltypesystem import lltype, llmemory, llarena, llgroup from rpython.rtyper.lltypesystem.lloperation import llop from rpython.rtyper.lltypesystem.llmemory import raw_malloc_usage from rpython.memory.gc.base import GCBase, MovingGCBase > from rpython.memory.gc import env E File "/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py", line 423 E SyntaxError: Non-ASCII character '\xe2' in file /build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py on line 423, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details ../rpython/memory/gc/incminimark.py:70: SyntaxError . pypy/module/_weakref/test/test_weakref.py::AppTestProxy::()::test_simple . pypy/module/_weakref/test/test_weakref.py::AppTestProxy::()::test_caching . pypy/module/_weakref/test/test_weakref.py::AppTestProxy::()::test_callable_proxy . pypy/module/_weakref/test/test_weakref.py::AppTestProxy::()::test_callable_proxy_type . pypy/module/_weakref/test/test_weakref.py::AppTestProxy::()::test_dont_create_directly . pypy/module/_weakref/test/test_weakref.py::AppTestProxy::()::test_dont_hash . pypy/module/_weakref/test/test_weakref.py::AppTestProxy::()::test_subclassing_not_allowed F pypy/module/_weakref/test/test_weakref.py::AppTestProxy::()::test_proxy_to_dead_object self = func = at 0xf5047a04>, 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, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 0xf7a8732c> hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf6a244cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf6a244cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf4ded38c> 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 0xf4ded38c> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf4ded2ac> 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 0xf4ded2ac> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def runtest(self): target = self.obj if self.config.option.runappdirect: return target() space = target.im_self.space filename = self._getdynfilename(target) func = app2interp_temp(target.im_func, filename=filename) w_instance = self.parent.w_instance > self.execute_appex(space, func, space, w_instance) tool/pytest/apptest.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , space = StdObjSpace target = args = (StdObjSpace, ) def execute_appex(self, space, target, *args): self.space = space try: > target(*args) tool/pytest/apptest.py:30: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace args_w = (,) w_func = args = def appcaller(space, *args_w): if not isinstance(space, ObjSpace): raise TypeError("first argument must be a space instance.") # the last argument can be an Arguments w_func = self.wget(space, name) if not args_w: return space.call_function(w_func) else: args = args_w[-1] assert args is not None if not isinstance(args, Arguments): > return space.call_function(w_func, *args_w) interpreter/gateway.py:1227: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = args_w = (,) nargs = 1, Function = Method = def call_function(self, w_func, *args_w): nargs = len(args_w) # used for pruning funccall versions if not self.config.objspace.disable_call_speedhacks and nargs < 5: # start of hack for performance from pypy.interpreter.function import Function, Method if isinstance(w_func, Method): w_inst = w_func.w_instance if w_inst is not None: if nargs < 4: func = w_func.w_function if isinstance(func, Function): return func.funccall(w_inst, *args_w) elif args_w and ( self.abstract_isinstance_w(args_w[0], w_func.w_class)): w_func = w_func.w_function if isinstance(w_func, Function): > return w_func.funccall(*args_w) interpreter/baseobjspace.py:1210: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = args_w = (,) gateway = PyCode = code = def funccall(self, *args_w): # speed hack from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit nargs = len(args_w) fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, args_w[0]) elif nargs == 2: assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, args_w[0], args_w[1]) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) return code.fastcall_3(self.space, self, args_w[0], args_w[1], args_w[2]) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) return code.fastcall_4(self.space, self, args_w[0], args_w[1], args_w[2], args_w[3]) elif (nargs | PyCode.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) if nargs < 5: new_frame = self.space.createframe(code, self.w_func_globals, self) for i in funccallunrolling: if i < nargs: new_frame.locals_cells_stack_w[i] = args_w[i] > return new_frame.run() interpreter/function.py:118: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 6 def run(self): """Start this frame's execution.""" if self.getcode().co_flags & pycode.CO_GENERATOR: from pypy.interpreter.generator import GeneratorIterator return GeneratorIterator(self) else: > return self.execute_frame() interpreter/pyframe.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 6 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:290: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 6 e = SyntaxError("Non-ASCII character '\\xe2' in file /build_dir/own-linux-x86-32/b..., ('/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py', 423, 0, None)) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:943: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 6 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:286: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 6 pycode = next_instr = 0L ec = def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 6 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x01\x00d\x01\x00d\x00\x00l\x01\x00}\x02\x00d\x02\x00t\x02\x00f\x01\x00d\x03\x00\x84\x00\...83\x02\x00\x01d\x00\x00S\x00|\x02\x00\xc9\x04\x00\xca\x00\x00\x01t\x05\x00t\x06\x00d\x04\x00\x83\x02\x00\x01d\x00\x00S' next_instr = 0L ec = def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 6 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x01\x00d\x01\x00d\x00\x00l\x01\x00}\x02\x00d\x02\x00t\x02\x00f\x01\x00d\x03\x00\x84\x00\...83\x02\x00\x01d\x00\x00S\x00|\x02\x00\xc9\x04\x00\xca\x00\x00\x01t\x05\x00t\x06\x00d\x04\x00\x83\x02\x00\x01d\x00\x00S' next_instr = 70L ec = @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: self.last_instr = intmask(next_instr) if jit.we_are_jitted(): if self.debugdata: ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: ec.bytecode_trace(self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) next_instr += 1 if opcode >= HAVE_ARGUMENT: lo = ord(co_code[next_instr]) hi = ord(co_code[next_instr+1]) next_instr += 2 oparg = (hi * 256) | lo else: oparg = 0 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into a switch(). while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption lo = ord(co_code[next_instr+1]) hi = ord(co_code[next_instr+2]) next_instr += 3 oparg = (oparg * 65536) | (hi * 256) | lo if opcode == opcodedesc.RETURN_VALUE.index: if not self.blockstack_non_empty(): self.frame_finished_execution = True # for generators raise Return w_returnvalue = self.popvalue() block = self.unrollstack(SReturnValue.kind) if block is None: self.pushvalue(w_returnvalue) raise Return else: unroller = SReturnValue(w_returnvalue) next_instr = block.handle(self, unroller) return next_instr # now inside a 'finally' block elif opcode == opcodedesc.END_FINALLY.index: unroller = self.end_finally() if isinstance(unroller, SuspendedUnroller): # go on unrolling the stack block = self.unrollstack(unroller.kind) if block is None: w_result = unroller.nomoreblocks() self.pushvalue(w_result) raise Return else: next_instr = block.handle(self, unroller) return next_instr elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, ec) elif opcode == opcodedesc.BREAK_LOOP.index: next_instr = self.BREAK_LOOP(oparg, next_instr) elif opcode == opcodedesc.CONTINUE_LOOP.index: return self.CONTINUE_LOOP(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: next_instr = self.JUMP_IF_FALSE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_DEBUG.index: next_instr = self.JUMP_IF_NOT_DEBUG(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: next_instr = self.JUMP_IF_TRUE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: next_instr = self.POP_JUMP_IF_FALSE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: next_instr = self.POP_JUMP_IF_TRUE(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_DIVIDE.index: self.BINARY_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CLASS.index: self.BUILD_CLASS(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR.index: self.CALL_FUNCTION_VAR(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR_KW.index: self.CALL_FUNCTION_VAR_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: self.CALL_METHOD(oparg, next_instr) elif opcode == opcodedesc.COMPARE_OP.index: self.COMPARE_OP(oparg, next_instr) elif opcode == opcodedesc.DELETE_ATTR.index: self.DELETE_ATTR(oparg, next_instr) elif opcode == opcodedesc.DELETE_FAST.index: self.DELETE_FAST(oparg, next_instr) elif opcode == opcodedesc.DELETE_GLOBAL.index: self.DELETE_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.DELETE_NAME.index: self.DELETE_NAME(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_0.index: self.DELETE_SLICE_0(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_1.index: self.DELETE_SLICE_1(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_2.index: self.DELETE_SLICE_2(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_3.index: self.DELETE_SLICE_3(oparg, next_instr) elif opcode == opcodedesc.DELETE_SUBSCR.index: self.DELETE_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.DUP_TOP.index: self.DUP_TOP(oparg, next_instr) elif opcode == opcodedesc.DUP_TOPX.index: self.DUP_TOPX(oparg, next_instr) elif opcode == opcodedesc.EXEC_STMT.index: self.EXEC_STMT(oparg, next_instr) elif opcode == opcodedesc.GET_ITER.index: self.GET_ITER(oparg, next_instr) elif opcode == opcodedesc.IMPORT_FROM.index: self.IMPORT_FROM(oparg, next_instr) elif opcode == opcodedesc.IMPORT_NAME.index: self.IMPORT_NAME(oparg, next_instr) elif opcode == opcodedesc.IMPORT_STAR.index: self.IMPORT_STAR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_ADD.index: self.INPLACE_ADD(oparg, next_instr) elif opcode == opcodedesc.INPLACE_AND.index: self.INPLACE_AND(oparg, next_instr) elif opcode == opcodedesc.INPLACE_DIVIDE.index: self.INPLACE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_FLOOR_DIVIDE.index: self.INPLACE_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_LSHIFT.index: self.INPLACE_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MODULO.index: self.INPLACE_MODULO(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MULTIPLY.index: self.INPLACE_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.INPLACE_OR.index: self.INPLACE_OR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_POWER.index: self.INPLACE_POWER(oparg, next_instr) elif opcode == opcodedesc.INPLACE_RSHIFT.index: self.INPLACE_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_SUBTRACT.index: self.INPLACE_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_TRUE_DIVIDE.index: self.INPLACE_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_XOR.index: self.INPLACE_XOR(oparg, next_instr) elif opcode == opcodedesc.LIST_APPEND.index: self.LIST_APPEND(oparg, next_instr) elif opcode == opcodedesc.LOAD_ATTR.index: self.LOAD_ATTR(oparg, next_instr) elif opcode == opcodedesc.LOAD_CLOSURE.index: self.LOAD_CLOSURE(oparg, next_instr) elif opcode == opcodedesc.LOAD_CONST.index: self.LOAD_CONST(oparg, next_instr) elif opcode == opcodedesc.LOAD_DEREF.index: self.LOAD_DEREF(oparg, next_instr) elif opcode == opcodedesc.LOAD_FAST.index: self.LOAD_FAST(oparg, next_instr) elif opcode == opcodedesc.LOAD_GLOBAL.index: self.LOAD_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.LOAD_LOCALS.index: self.LOAD_LOCALS(oparg, next_instr) elif opcode == opcodedesc.LOAD_NAME.index: self.LOAD_NAME(oparg, next_instr) elif opcode == opcodedesc.LOOKUP_METHOD.index: > self.LOOKUP_METHOD(oparg, next_instr) interpreter/pyopcode.py:356: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = at line 6 nameindex = 4, ignored = (70L,) MutableCell = space = StdObjSpace w_obj = def LOOKUP_METHOD(f, nameindex, *ignored): from pypy.objspace.std.typeobject import MutableCell # stack before after # -------------- --fast-method----fallback-case------------ # # w_object None # w_object => w_function w_boundmethod_or_whatever # (more stuff) (more stuff) (more stuff) # space = f.space w_obj = f.popvalue() if not jit.we_are_jitted(): # mapdict has an extra-fast version of this function if LOOKUP_METHOD_mapdict(f, nameindex, w_obj): return w_name = f.getname_w(nameindex) w_value = None w_type = space.type(w_obj) if w_type.has_object_getattribute(): name = space.text_w(w_name) # bit of a mess to use these internal functions, but it allows the # mapdict caching below to work without an additional lookup version_tag = w_type.version_tag() if version_tag is None: _, w_descr = w_type._lookup_where(name) w_descr_cell = None else: _, w_descr_cell = w_type._pure_lookup_where_with_method_cache( name, version_tag) w_descr = w_descr_cell if isinstance(w_descr, MutableCell): w_descr = w_descr.unwrap_cell(space) if w_descr is None: # this handles directly the common case # module.function(args..) > w_value = w_obj.getdictvalue(space, name) objspace/std/callmethod.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def getdictvalue(self, space, name): w_value = space.finditem_str(self.w_dict, name) if self.lazy and w_value is None: > return self._load_lazily(space, name) interpreter/mixedmodule.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def _load_lazily(self, space, name): w_name = space.new_interned_str(name) try: loader = self.loaders[name] except KeyError: return None else: > w_value = loader(space) interpreter/mixedmodule.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace def ifileloader(space): d = {'space':space} # EVIL HACK (but it works, and this is not RPython :-) while 1: try: value = eval(spec, d) except NameError as ex: name = ex.args[0].split("'")[1] # super-Evil if name in d: raise # propagate the NameError try: > d[name] = __import__(pkgroot+'.'+name, None, None, [name]) interpreter/mixedmodule.py:182: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from pypy.interpreter.gateway import unwrap_spec from pypy.interpreter.error import oefmt from rpython.rlib import rgc > from pypy.module.gc.hook import W_GcCollectStepStats module/gc/interp_gc.py:4: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from rpython.memory.gc.hook import GcHooks > from rpython.memory.gc import incminimark module/gc/hook.py:2: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ # XXX Should find a way to bound the major collection threshold by the # XXX total addressable size. Maybe by keeping some minimarkpage arenas # XXX pre-reserved, enough for a few nursery collections? What about # XXX raw-malloced memory? # XXX try merging old_objects_pointing_to_pinned into # XXX old_objects_pointing_to_young (IRC 2014-10-22, fijal and gregor_w) import sys import os import time from rpython.rtyper.lltypesystem import lltype, llmemory, llarena, llgroup from rpython.rtyper.lltypesystem.lloperation import llop from rpython.rtyper.lltypesystem.llmemory import raw_malloc_usage from rpython.memory.gc.base import GCBase, MovingGCBase > from rpython.memory.gc import env E File "/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py", line 423 E SyntaxError: Non-ASCII character '\xe2' in file /build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py on line 423, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details ../rpython/memory/gc/incminimark.py:70: SyntaxError F pypy/module/_weakref/test/test_weakref.py::AppTestProxy::()::test_proxy_with_callback self = func = at 0xf4ec072c>, 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, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 0xf7a8732c> hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf6a244cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf6a244cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf4ffd28c> 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 0xf4ffd28c> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf4ffd14c> 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 0xf4ffd14c> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def runtest(self): target = self.obj if self.config.option.runappdirect: return target() space = target.im_self.space filename = self._getdynfilename(target) func = app2interp_temp(target.im_func, filename=filename) w_instance = self.parent.w_instance > self.execute_appex(space, func, space, w_instance) tool/pytest/apptest.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , space = StdObjSpace target = args = (StdObjSpace, ) def execute_appex(self, space, target, *args): self.space = space try: > target(*args) tool/pytest/apptest.py:30: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace args_w = (,) w_func = args = def appcaller(space, *args_w): if not isinstance(space, ObjSpace): raise TypeError("first argument must be a space instance.") # the last argument can be an Arguments w_func = self.wget(space, name) if not args_w: return space.call_function(w_func) else: args = args_w[-1] assert args is not None if not isinstance(args, Arguments): > return space.call_function(w_func, *args_w) interpreter/gateway.py:1227: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = args_w = (,) nargs = 1, Function = Method = def call_function(self, w_func, *args_w): nargs = len(args_w) # used for pruning funccall versions if not self.config.objspace.disable_call_speedhacks and nargs < 5: # start of hack for performance from pypy.interpreter.function import Function, Method if isinstance(w_func, Method): w_inst = w_func.w_instance if w_inst is not None: if nargs < 4: func = w_func.w_function if isinstance(func, Function): return func.funccall(w_inst, *args_w) elif args_w and ( self.abstract_isinstance_w(args_w[0], w_func.w_class)): w_func = w_func.w_function if isinstance(w_func, Function): > return w_func.funccall(*args_w) interpreter/baseobjspace.py:1210: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = args_w = (,) gateway = PyCode = code = def funccall(self, *args_w): # speed hack from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit nargs = len(args_w) fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, args_w[0]) elif nargs == 2: assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, args_w[0], args_w[1]) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) return code.fastcall_3(self.space, self, args_w[0], args_w[1], args_w[2]) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) return code.fastcall_4(self.space, self, args_w[0], args_w[1], args_w[2], args_w[3]) elif (nargs | PyCode.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) if nargs < 5: new_frame = self.space.createframe(code, self.w_func_globals, self) for i in funccallunrolling: if i < nargs: new_frame.locals_cells_stack_w[i] = args_w[i] > return new_frame.run() interpreter/function.py:118: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 9 def run(self): """Start this frame's execution.""" if self.getcode().co_flags & pycode.CO_GENERATOR: from pypy.interpreter.generator import GeneratorIterator return GeneratorIterator(self) else: > return self.execute_frame() interpreter/pyframe.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 9 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:290: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 9 e = SyntaxError("Non-ASCII character '\\xe2' in file /build_dir/own-linux-x86-32/b..., ('/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py', 423, 0, None)) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:943: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 9 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:286: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 9 pycode = next_instr = 0L ec = def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 9 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x01\x00d\x01\x00d\x00\x00l\x01\x00}\x02\x00d\x02\x00t\x02\x00f\x01\x00d\x03\x00\x84\x00\...00d\x05\x00\x83\x02\x00\x01\xcc\x15\x00\x88\x00\x00j\x07\x00|\x05\x00k\x08\x00s\x8a\x00t\x08\x00\x82\x01\x00d\x00\x00S' next_instr = 0L ec = def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 9 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x01\x00d\x01\x00d\x00\x00l\x01\x00}\x02\x00d\x02\x00t\x02\x00f\x01\x00d\x03\x00\x84\x00\...00d\x05\x00\x83\x02\x00\x01\xcc\x15\x00\x88\x00\x00j\x07\x00|\x05\x00k\x08\x00s\x8a\x00t\x08\x00\x82\x01\x00d\x00\x00S' next_instr = 97L ec = @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: self.last_instr = intmask(next_instr) if jit.we_are_jitted(): if self.debugdata: ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: ec.bytecode_trace(self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) next_instr += 1 if opcode >= HAVE_ARGUMENT: lo = ord(co_code[next_instr]) hi = ord(co_code[next_instr+1]) next_instr += 2 oparg = (hi * 256) | lo else: oparg = 0 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into a switch(). while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption lo = ord(co_code[next_instr+1]) hi = ord(co_code[next_instr+2]) next_instr += 3 oparg = (oparg * 65536) | (hi * 256) | lo if opcode == opcodedesc.RETURN_VALUE.index: if not self.blockstack_non_empty(): self.frame_finished_execution = True # for generators raise Return w_returnvalue = self.popvalue() block = self.unrollstack(SReturnValue.kind) if block is None: self.pushvalue(w_returnvalue) raise Return else: unroller = SReturnValue(w_returnvalue) next_instr = block.handle(self, unroller) return next_instr # now inside a 'finally' block elif opcode == opcodedesc.END_FINALLY.index: unroller = self.end_finally() if isinstance(unroller, SuspendedUnroller): # go on unrolling the stack block = self.unrollstack(unroller.kind) if block is None: w_result = unroller.nomoreblocks() self.pushvalue(w_result) raise Return else: next_instr = block.handle(self, unroller) return next_instr elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, ec) elif opcode == opcodedesc.BREAK_LOOP.index: next_instr = self.BREAK_LOOP(oparg, next_instr) elif opcode == opcodedesc.CONTINUE_LOOP.index: return self.CONTINUE_LOOP(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: next_instr = self.JUMP_IF_FALSE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_DEBUG.index: next_instr = self.JUMP_IF_NOT_DEBUG(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: next_instr = self.JUMP_IF_TRUE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: next_instr = self.POP_JUMP_IF_FALSE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: next_instr = self.POP_JUMP_IF_TRUE(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_DIVIDE.index: self.BINARY_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CLASS.index: self.BUILD_CLASS(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR.index: self.CALL_FUNCTION_VAR(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR_KW.index: self.CALL_FUNCTION_VAR_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: self.CALL_METHOD(oparg, next_instr) elif opcode == opcodedesc.COMPARE_OP.index: self.COMPARE_OP(oparg, next_instr) elif opcode == opcodedesc.DELETE_ATTR.index: self.DELETE_ATTR(oparg, next_instr) elif opcode == opcodedesc.DELETE_FAST.index: self.DELETE_FAST(oparg, next_instr) elif opcode == opcodedesc.DELETE_GLOBAL.index: self.DELETE_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.DELETE_NAME.index: self.DELETE_NAME(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_0.index: self.DELETE_SLICE_0(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_1.index: self.DELETE_SLICE_1(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_2.index: self.DELETE_SLICE_2(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_3.index: self.DELETE_SLICE_3(oparg, next_instr) elif opcode == opcodedesc.DELETE_SUBSCR.index: self.DELETE_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.DUP_TOP.index: self.DUP_TOP(oparg, next_instr) elif opcode == opcodedesc.DUP_TOPX.index: self.DUP_TOPX(oparg, next_instr) elif opcode == opcodedesc.EXEC_STMT.index: self.EXEC_STMT(oparg, next_instr) elif opcode == opcodedesc.GET_ITER.index: self.GET_ITER(oparg, next_instr) elif opcode == opcodedesc.IMPORT_FROM.index: self.IMPORT_FROM(oparg, next_instr) elif opcode == opcodedesc.IMPORT_NAME.index: self.IMPORT_NAME(oparg, next_instr) elif opcode == opcodedesc.IMPORT_STAR.index: self.IMPORT_STAR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_ADD.index: self.INPLACE_ADD(oparg, next_instr) elif opcode == opcodedesc.INPLACE_AND.index: self.INPLACE_AND(oparg, next_instr) elif opcode == opcodedesc.INPLACE_DIVIDE.index: self.INPLACE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_FLOOR_DIVIDE.index: self.INPLACE_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_LSHIFT.index: self.INPLACE_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MODULO.index: self.INPLACE_MODULO(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MULTIPLY.index: self.INPLACE_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.INPLACE_OR.index: self.INPLACE_OR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_POWER.index: self.INPLACE_POWER(oparg, next_instr) elif opcode == opcodedesc.INPLACE_RSHIFT.index: self.INPLACE_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_SUBTRACT.index: self.INPLACE_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_TRUE_DIVIDE.index: self.INPLACE_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_XOR.index: self.INPLACE_XOR(oparg, next_instr) elif opcode == opcodedesc.LIST_APPEND.index: self.LIST_APPEND(oparg, next_instr) elif opcode == opcodedesc.LOAD_ATTR.index: self.LOAD_ATTR(oparg, next_instr) elif opcode == opcodedesc.LOAD_CLOSURE.index: self.LOAD_CLOSURE(oparg, next_instr) elif opcode == opcodedesc.LOAD_CONST.index: self.LOAD_CONST(oparg, next_instr) elif opcode == opcodedesc.LOAD_DEREF.index: self.LOAD_DEREF(oparg, next_instr) elif opcode == opcodedesc.LOAD_FAST.index: self.LOAD_FAST(oparg, next_instr) elif opcode == opcodedesc.LOAD_GLOBAL.index: self.LOAD_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.LOAD_LOCALS.index: self.LOAD_LOCALS(oparg, next_instr) elif opcode == opcodedesc.LOAD_NAME.index: self.LOAD_NAME(oparg, next_instr) elif opcode == opcodedesc.LOOKUP_METHOD.index: > self.LOOKUP_METHOD(oparg, next_instr) interpreter/pyopcode.py:356: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = at line 9 nameindex = 4, ignored = (97L,) MutableCell = space = StdObjSpace w_obj = def LOOKUP_METHOD(f, nameindex, *ignored): from pypy.objspace.std.typeobject import MutableCell # stack before after # -------------- --fast-method----fallback-case------------ # # w_object None # w_object => w_function w_boundmethod_or_whatever # (more stuff) (more stuff) (more stuff) # space = f.space w_obj = f.popvalue() if not jit.we_are_jitted(): # mapdict has an extra-fast version of this function if LOOKUP_METHOD_mapdict(f, nameindex, w_obj): return w_name = f.getname_w(nameindex) w_value = None w_type = space.type(w_obj) if w_type.has_object_getattribute(): name = space.text_w(w_name) # bit of a mess to use these internal functions, but it allows the # mapdict caching below to work without an additional lookup version_tag = w_type.version_tag() if version_tag is None: _, w_descr = w_type._lookup_where(name) w_descr_cell = None else: _, w_descr_cell = w_type._pure_lookup_where_with_method_cache( name, version_tag) w_descr = w_descr_cell if isinstance(w_descr, MutableCell): w_descr = w_descr.unwrap_cell(space) if w_descr is None: # this handles directly the common case # module.function(args..) > w_value = w_obj.getdictvalue(space, name) objspace/std/callmethod.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def getdictvalue(self, space, name): w_value = space.finditem_str(self.w_dict, name) if self.lazy and w_value is None: > return self._load_lazily(space, name) interpreter/mixedmodule.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def _load_lazily(self, space, name): w_name = space.new_interned_str(name) try: loader = self.loaders[name] except KeyError: return None else: > w_value = loader(space) interpreter/mixedmodule.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace def ifileloader(space): d = {'space':space} # EVIL HACK (but it works, and this is not RPython :-) while 1: try: value = eval(spec, d) except NameError as ex: name = ex.args[0].split("'")[1] # super-Evil if name in d: raise # propagate the NameError try: > d[name] = __import__(pkgroot+'.'+name, None, None, [name]) interpreter/mixedmodule.py:182: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from pypy.interpreter.gateway import unwrap_spec from pypy.interpreter.error import oefmt from rpython.rlib import rgc > from pypy.module.gc.hook import W_GcCollectStepStats module/gc/interp_gc.py:4: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from rpython.memory.gc.hook import GcHooks > from rpython.memory.gc import incminimark module/gc/hook.py:2: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ # XXX Should find a way to bound the major collection threshold by the # XXX total addressable size. Maybe by keeping some minimarkpage arenas # XXX pre-reserved, enough for a few nursery collections? What about # XXX raw-malloced memory? # XXX try merging old_objects_pointing_to_pinned into # XXX old_objects_pointing_to_young (IRC 2014-10-22, fijal and gregor_w) import sys import os import time from rpython.rtyper.lltypesystem import lltype, llmemory, llarena, llgroup from rpython.rtyper.lltypesystem.lloperation import llop from rpython.rtyper.lltypesystem.llmemory import raw_malloc_usage from rpython.memory.gc.base import GCBase, MovingGCBase > from rpython.memory.gc import env E File "/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py", line 423 E SyntaxError: Non-ASCII character '\xe2' in file /build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py on line 423, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details ../rpython/memory/gc/incminimark.py:70: SyntaxError . pypy/module/_weakref/test/test_weakref.py::AppTestProxy::()::test_repr . pypy/module/_weakref/test/test_weakref.py::AppTestProxy::()::test_unicode . pypy/module/_weakref/test/test_weakref.py::AppTestProxy::()::test_eq F pypy/module/_weakref/test/test_weakref.py::AppTestProxy::()::test_callback_raises self = func = at 0xf5051f0c>, 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, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 0xf7a8732c> hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf6a244cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf6a244cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf4b7ebac> 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 0xf4b7ebac> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf4b7ebcc> 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 0xf4b7ebcc> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def runtest(self): target = self.obj if self.config.option.runappdirect: return target() space = target.im_self.space filename = self._getdynfilename(target) func = app2interp_temp(target.im_func, filename=filename) w_instance = self.parent.w_instance > self.execute_appex(space, func, space, w_instance) tool/pytest/apptest.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , space = StdObjSpace target = args = (StdObjSpace, ) def execute_appex(self, space, target, *args): self.space = space try: > target(*args) tool/pytest/apptest.py:30: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace args_w = (,) w_func = args = def appcaller(space, *args_w): if not isinstance(space, ObjSpace): raise TypeError("first argument must be a space instance.") # the last argument can be an Arguments w_func = self.wget(space, name) if not args_w: return space.call_function(w_func) else: args = args_w[-1] assert args is not None if not isinstance(args, Arguments): > return space.call_function(w_func, *args_w) interpreter/gateway.py:1227: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = args_w = (,) nargs = 1, Function = Method = def call_function(self, w_func, *args_w): nargs = len(args_w) # used for pruning funccall versions if not self.config.objspace.disable_call_speedhacks and nargs < 5: # start of hack for performance from pypy.interpreter.function import Function, Method if isinstance(w_func, Method): w_inst = w_func.w_instance if w_inst is not None: if nargs < 4: func = w_func.w_function if isinstance(func, Function): return func.funccall(w_inst, *args_w) elif args_w and ( self.abstract_isinstance_w(args_w[0], w_func.w_class)): w_func = w_func.w_function if isinstance(w_func, Function): > return w_func.funccall(*args_w) interpreter/baseobjspace.py:1210: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = args_w = (,) gateway = PyCode = code = def funccall(self, *args_w): # speed hack from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit nargs = len(args_w) fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, args_w[0]) elif nargs == 2: assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, args_w[0], args_w[1]) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) return code.fastcall_3(self.space, self, args_w[0], args_w[1], args_w[2]) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) return code.fastcall_4(self.space, self, args_w[0], args_w[1], args_w[2], args_w[3]) elif (nargs | PyCode.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) if nargs < 5: new_frame = self.space.createframe(code, self.w_func_globals, self) for i in funccallunrolling: if i < nargs: new_frame.locals_cells_stack_w[i] = args_w[i] > return new_frame.run() interpreter/function.py:118: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 10 def run(self): """Start this frame's execution.""" if self.getcode().co_flags & pycode.CO_GENERATOR: from pypy.interpreter.generator import GeneratorIterator return GeneratorIterator(self) else: > return self.execute_frame() interpreter/pyframe.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 10 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:290: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 10 e = SyntaxError("Non-ASCII character '\\xe2' in file /build_dir/own-linux-x86-32/b..., ('/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py', 423, 0, None)) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:943: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 10 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:286: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 10 pycode = next_instr = 0L ec = def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 10 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x01\x00d\x01\x00d\x00\x00l\x01\x00}\x02\x00d\x02\x00t\x02\x00f\x01\x00d\x03\x00\x84\x00\...00\xc9\x04\x00\xca\x00\x00\x01\xcc\x15\x00|\x06\x00\x83\x00\x00d\x00\x00k\x08\x00sw\x00t\x05\x00\x82\x01\x00d\x00\x00S' next_instr = 0L ec = def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 10 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x01\x00d\x01\x00d\x00\x00l\x01\x00}\x02\x00d\x02\x00t\x02\x00f\x01\x00d\x03\x00\x84\x00\...00\xc9\x04\x00\xca\x00\x00\x01\xcc\x15\x00|\x06\x00\x83\x00\x00d\x00\x00k\x08\x00sw\x00t\x05\x00\x82\x01\x00d\x00\x00S' next_instr = 91L ec = @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: self.last_instr = intmask(next_instr) if jit.we_are_jitted(): if self.debugdata: ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: ec.bytecode_trace(self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) next_instr += 1 if opcode >= HAVE_ARGUMENT: lo = ord(co_code[next_instr]) hi = ord(co_code[next_instr+1]) next_instr += 2 oparg = (hi * 256) | lo else: oparg = 0 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into a switch(). while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption lo = ord(co_code[next_instr+1]) hi = ord(co_code[next_instr+2]) next_instr += 3 oparg = (oparg * 65536) | (hi * 256) | lo if opcode == opcodedesc.RETURN_VALUE.index: if not self.blockstack_non_empty(): self.frame_finished_execution = True # for generators raise Return w_returnvalue = self.popvalue() block = self.unrollstack(SReturnValue.kind) if block is None: self.pushvalue(w_returnvalue) raise Return else: unroller = SReturnValue(w_returnvalue) next_instr = block.handle(self, unroller) return next_instr # now inside a 'finally' block elif opcode == opcodedesc.END_FINALLY.index: unroller = self.end_finally() if isinstance(unroller, SuspendedUnroller): # go on unrolling the stack block = self.unrollstack(unroller.kind) if block is None: w_result = unroller.nomoreblocks() self.pushvalue(w_result) raise Return else: next_instr = block.handle(self, unroller) return next_instr elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, ec) elif opcode == opcodedesc.BREAK_LOOP.index: next_instr = self.BREAK_LOOP(oparg, next_instr) elif opcode == opcodedesc.CONTINUE_LOOP.index: return self.CONTINUE_LOOP(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: next_instr = self.JUMP_IF_FALSE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_DEBUG.index: next_instr = self.JUMP_IF_NOT_DEBUG(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: next_instr = self.JUMP_IF_TRUE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: next_instr = self.POP_JUMP_IF_FALSE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: next_instr = self.POP_JUMP_IF_TRUE(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_DIVIDE.index: self.BINARY_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CLASS.index: self.BUILD_CLASS(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR.index: self.CALL_FUNCTION_VAR(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR_KW.index: self.CALL_FUNCTION_VAR_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: self.CALL_METHOD(oparg, next_instr) elif opcode == opcodedesc.COMPARE_OP.index: self.COMPARE_OP(oparg, next_instr) elif opcode == opcodedesc.DELETE_ATTR.index: self.DELETE_ATTR(oparg, next_instr) elif opcode == opcodedesc.DELETE_FAST.index: self.DELETE_FAST(oparg, next_instr) elif opcode == opcodedesc.DELETE_GLOBAL.index: self.DELETE_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.DELETE_NAME.index: self.DELETE_NAME(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_0.index: self.DELETE_SLICE_0(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_1.index: self.DELETE_SLICE_1(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_2.index: self.DELETE_SLICE_2(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_3.index: self.DELETE_SLICE_3(oparg, next_instr) elif opcode == opcodedesc.DELETE_SUBSCR.index: self.DELETE_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.DUP_TOP.index: self.DUP_TOP(oparg, next_instr) elif opcode == opcodedesc.DUP_TOPX.index: self.DUP_TOPX(oparg, next_instr) elif opcode == opcodedesc.EXEC_STMT.index: self.EXEC_STMT(oparg, next_instr) elif opcode == opcodedesc.GET_ITER.index: self.GET_ITER(oparg, next_instr) elif opcode == opcodedesc.IMPORT_FROM.index: self.IMPORT_FROM(oparg, next_instr) elif opcode == opcodedesc.IMPORT_NAME.index: self.IMPORT_NAME(oparg, next_instr) elif opcode == opcodedesc.IMPORT_STAR.index: self.IMPORT_STAR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_ADD.index: self.INPLACE_ADD(oparg, next_instr) elif opcode == opcodedesc.INPLACE_AND.index: self.INPLACE_AND(oparg, next_instr) elif opcode == opcodedesc.INPLACE_DIVIDE.index: self.INPLACE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_FLOOR_DIVIDE.index: self.INPLACE_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_LSHIFT.index: self.INPLACE_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MODULO.index: self.INPLACE_MODULO(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MULTIPLY.index: self.INPLACE_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.INPLACE_OR.index: self.INPLACE_OR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_POWER.index: self.INPLACE_POWER(oparg, next_instr) elif opcode == opcodedesc.INPLACE_RSHIFT.index: self.INPLACE_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_SUBTRACT.index: self.INPLACE_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_TRUE_DIVIDE.index: self.INPLACE_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_XOR.index: self.INPLACE_XOR(oparg, next_instr) elif opcode == opcodedesc.LIST_APPEND.index: self.LIST_APPEND(oparg, next_instr) elif opcode == opcodedesc.LOAD_ATTR.index: self.LOAD_ATTR(oparg, next_instr) elif opcode == opcodedesc.LOAD_CLOSURE.index: self.LOAD_CLOSURE(oparg, next_instr) elif opcode == opcodedesc.LOAD_CONST.index: self.LOAD_CONST(oparg, next_instr) elif opcode == opcodedesc.LOAD_DEREF.index: self.LOAD_DEREF(oparg, next_instr) elif opcode == opcodedesc.LOAD_FAST.index: self.LOAD_FAST(oparg, next_instr) elif opcode == opcodedesc.LOAD_GLOBAL.index: self.LOAD_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.LOAD_LOCALS.index: self.LOAD_LOCALS(oparg, next_instr) elif opcode == opcodedesc.LOAD_NAME.index: self.LOAD_NAME(oparg, next_instr) elif opcode == opcodedesc.LOOKUP_METHOD.index: > self.LOOKUP_METHOD(oparg, next_instr) interpreter/pyopcode.py:356: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = at line 10 nameindex = 4, ignored = (91L,) MutableCell = space = StdObjSpace w_obj = def LOOKUP_METHOD(f, nameindex, *ignored): from pypy.objspace.std.typeobject import MutableCell # stack before after # -------------- --fast-method----fallback-case------------ # # w_object None # w_object => w_function w_boundmethod_or_whatever # (more stuff) (more stuff) (more stuff) # space = f.space w_obj = f.popvalue() if not jit.we_are_jitted(): # mapdict has an extra-fast version of this function if LOOKUP_METHOD_mapdict(f, nameindex, w_obj): return w_name = f.getname_w(nameindex) w_value = None w_type = space.type(w_obj) if w_type.has_object_getattribute(): name = space.text_w(w_name) # bit of a mess to use these internal functions, but it allows the # mapdict caching below to work without an additional lookup version_tag = w_type.version_tag() if version_tag is None: _, w_descr = w_type._lookup_where(name) w_descr_cell = None else: _, w_descr_cell = w_type._pure_lookup_where_with_method_cache( name, version_tag) w_descr = w_descr_cell if isinstance(w_descr, MutableCell): w_descr = w_descr.unwrap_cell(space) if w_descr is None: # this handles directly the common case # module.function(args..) > w_value = w_obj.getdictvalue(space, name) objspace/std/callmethod.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def getdictvalue(self, space, name): w_value = space.finditem_str(self.w_dict, name) if self.lazy and w_value is None: > return self._load_lazily(space, name) interpreter/mixedmodule.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def _load_lazily(self, space, name): w_name = space.new_interned_str(name) try: loader = self.loaders[name] except KeyError: return None else: > w_value = loader(space) interpreter/mixedmodule.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace def ifileloader(space): d = {'space':space} # EVIL HACK (but it works, and this is not RPython :-) while 1: try: value = eval(spec, d) except NameError as ex: name = ex.args[0].split("'")[1] # super-Evil if name in d: raise # propagate the NameError try: > d[name] = __import__(pkgroot+'.'+name, None, None, [name]) interpreter/mixedmodule.py:182: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from pypy.interpreter.gateway import unwrap_spec from pypy.interpreter.error import oefmt from rpython.rlib import rgc > from pypy.module.gc.hook import W_GcCollectStepStats module/gc/interp_gc.py:4: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from rpython.memory.gc.hook import GcHooks > from rpython.memory.gc import incminimark module/gc/hook.py:2: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ # XXX Should find a way to bound the major collection threshold by the # XXX total addressable size. Maybe by keeping some minimarkpage arenas # XXX pre-reserved, enough for a few nursery collections? What about # XXX raw-malloced memory? # XXX try merging old_objects_pointing_to_pinned into # XXX old_objects_pointing_to_young (IRC 2014-10-22, fijal and gregor_w) import sys import os import time from rpython.rtyper.lltypesystem import lltype, llmemory, llarena, llgroup from rpython.rtyper.lltypesystem.lloperation import llop from rpython.rtyper.lltypesystem.llmemory import raw_malloc_usage from rpython.memory.gc.base import GCBase, MovingGCBase > from rpython.memory.gc import env E File "/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py", line 423 E SyntaxError: Non-ASCII character '\xe2' in file /build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py on line 423, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details ../rpython/memory/gc/incminimark.py:70: SyntaxError ---------- Captured stderr call ---------- Exception NameError: "global name 'explode' is not defined" in weakref callback ignored F pypy/module/_weakref/test/test_weakref.py::AppTestProxy::()::test_init self = func = at 0xf4f55454>, 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, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 0xf7a8732c> hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf6a244cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf6a244cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf4f8362c> 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 0xf4f8362c> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf4f83b4c> 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 0xf4f83b4c> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def runtest(self): target = self.obj if self.config.option.runappdirect: return target() space = target.im_self.space filename = self._getdynfilename(target) func = app2interp_temp(target.im_func, filename=filename) w_instance = self.parent.w_instance > self.execute_appex(space, func, space, w_instance) tool/pytest/apptest.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , space = StdObjSpace target = args = (StdObjSpace, ) def execute_appex(self, space, target, *args): self.space = space try: > target(*args) tool/pytest/apptest.py:30: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace args_w = (,) w_func = args = def appcaller(space, *args_w): if not isinstance(space, ObjSpace): raise TypeError("first argument must be a space instance.") # the last argument can be an Arguments w_func = self.wget(space, name) if not args_w: return space.call_function(w_func) else: args = args_w[-1] assert args is not None if not isinstance(args, Arguments): > return space.call_function(w_func, *args_w) interpreter/gateway.py:1227: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = args_w = (,) nargs = 1, Function = Method = def call_function(self, w_func, *args_w): nargs = len(args_w) # used for pruning funccall versions if not self.config.objspace.disable_call_speedhacks and nargs < 5: # start of hack for performance from pypy.interpreter.function import Function, Method if isinstance(w_func, Method): w_inst = w_func.w_instance if w_inst is not None: if nargs < 4: func = w_func.w_function if isinstance(func, Function): return func.funccall(w_inst, *args_w) elif args_w and ( self.abstract_isinstance_w(args_w[0], w_func.w_class)): w_func = w_func.w_function if isinstance(w_func, Function): > return w_func.funccall(*args_w) interpreter/baseobjspace.py:1210: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = args_w = (,) gateway = PyCode = code = def funccall(self, *args_w): # speed hack from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit nargs = len(args_w) fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, args_w[0]) elif nargs == 2: assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, args_w[0], args_w[1]) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) return code.fastcall_3(self.space, self, args_w[0], args_w[1], args_w[2]) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) return code.fastcall_4(self.space, self, args_w[0], args_w[1], args_w[2], args_w[3]) elif (nargs | PyCode.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) if nargs < 5: new_frame = self.space.createframe(code, self.w_func_globals, self) for i in funccallunrolling: if i < nargs: new_frame.locals_cells_stack_w[i] = args_w[i] > return new_frame.run() interpreter/function.py:118: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 8 def run(self): """Start this frame's execution.""" if self.getcode().co_flags & pycode.CO_GENERATOR: from pypy.interpreter.generator import GeneratorIterator return GeneratorIterator(self) else: > return self.execute_frame() interpreter/pyframe.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 8 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:290: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 8 e = SyntaxError("Non-ASCII character '\\xe2' in file /build_dir/own-linux-x86-32/b..., ('/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py', 423, 0, None)) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:943: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 8 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:286: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 8 pycode = next_instr = 0L ec = def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 8 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x01\x00d\x01\x00d\x00\x00l\x01\x00}\x02\x00|\x01\x00\xc9\x02\x00t\x03\x00\xca\x01\x00}\x...0S\x06\x00d\x02\x00d\x02\x00d\x02\x00d\x02\x00d\x02\x00\x83\x07\x00\x01|\x02\x00\xc9\x07\x00\xca\x00\x00\x01d\x00\x00S' next_instr = 0L ec = def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 8 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x01\x00d\x01\x00d\x00\x00l\x01\x00}\x02\x00|\x01\x00\xc9\x02\x00t\x03\x00\xca\x01\x00}\x...0S\x06\x00d\x02\x00d\x02\x00d\x02\x00d\x02\x00d\x02\x00\x83\x07\x00\x01|\x02\x00\xc9\x07\x00\xca\x00\x00\x01d\x00\x00S' next_instr = 76L ec = @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: self.last_instr = intmask(next_instr) if jit.we_are_jitted(): if self.debugdata: ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: ec.bytecode_trace(self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) next_instr += 1 if opcode >= HAVE_ARGUMENT: lo = ord(co_code[next_instr]) hi = ord(co_code[next_instr+1]) next_instr += 2 oparg = (hi * 256) | lo else: oparg = 0 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into a switch(). while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption lo = ord(co_code[next_instr+1]) hi = ord(co_code[next_instr+2]) next_instr += 3 oparg = (oparg * 65536) | (hi * 256) | lo if opcode == opcodedesc.RETURN_VALUE.index: if not self.blockstack_non_empty(): self.frame_finished_execution = True # for generators raise Return w_returnvalue = self.popvalue() block = self.unrollstack(SReturnValue.kind) if block is None: self.pushvalue(w_returnvalue) raise Return else: unroller = SReturnValue(w_returnvalue) next_instr = block.handle(self, unroller) return next_instr # now inside a 'finally' block elif opcode == opcodedesc.END_FINALLY.index: unroller = self.end_finally() if isinstance(unroller, SuspendedUnroller): # go on unrolling the stack block = self.unrollstack(unroller.kind) if block is None: w_result = unroller.nomoreblocks() self.pushvalue(w_result) raise Return else: next_instr = block.handle(self, unroller) return next_instr elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, ec) elif opcode == opcodedesc.BREAK_LOOP.index: next_instr = self.BREAK_LOOP(oparg, next_instr) elif opcode == opcodedesc.CONTINUE_LOOP.index: return self.CONTINUE_LOOP(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: next_instr = self.JUMP_IF_FALSE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_DEBUG.index: next_instr = self.JUMP_IF_NOT_DEBUG(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: next_instr = self.JUMP_IF_TRUE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: next_instr = self.POP_JUMP_IF_FALSE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: next_instr = self.POP_JUMP_IF_TRUE(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_DIVIDE.index: self.BINARY_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CLASS.index: self.BUILD_CLASS(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR.index: self.CALL_FUNCTION_VAR(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR_KW.index: self.CALL_FUNCTION_VAR_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: self.CALL_METHOD(oparg, next_instr) elif opcode == opcodedesc.COMPARE_OP.index: self.COMPARE_OP(oparg, next_instr) elif opcode == opcodedesc.DELETE_ATTR.index: self.DELETE_ATTR(oparg, next_instr) elif opcode == opcodedesc.DELETE_FAST.index: self.DELETE_FAST(oparg, next_instr) elif opcode == opcodedesc.DELETE_GLOBAL.index: self.DELETE_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.DELETE_NAME.index: self.DELETE_NAME(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_0.index: self.DELETE_SLICE_0(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_1.index: self.DELETE_SLICE_1(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_2.index: self.DELETE_SLICE_2(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_3.index: self.DELETE_SLICE_3(oparg, next_instr) elif opcode == opcodedesc.DELETE_SUBSCR.index: self.DELETE_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.DUP_TOP.index: self.DUP_TOP(oparg, next_instr) elif opcode == opcodedesc.DUP_TOPX.index: self.DUP_TOPX(oparg, next_instr) elif opcode == opcodedesc.EXEC_STMT.index: self.EXEC_STMT(oparg, next_instr) elif opcode == opcodedesc.GET_ITER.index: self.GET_ITER(oparg, next_instr) elif opcode == opcodedesc.IMPORT_FROM.index: self.IMPORT_FROM(oparg, next_instr) elif opcode == opcodedesc.IMPORT_NAME.index: self.IMPORT_NAME(oparg, next_instr) elif opcode == opcodedesc.IMPORT_STAR.index: self.IMPORT_STAR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_ADD.index: self.INPLACE_ADD(oparg, next_instr) elif opcode == opcodedesc.INPLACE_AND.index: self.INPLACE_AND(oparg, next_instr) elif opcode == opcodedesc.INPLACE_DIVIDE.index: self.INPLACE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_FLOOR_DIVIDE.index: self.INPLACE_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_LSHIFT.index: self.INPLACE_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MODULO.index: self.INPLACE_MODULO(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MULTIPLY.index: self.INPLACE_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.INPLACE_OR.index: self.INPLACE_OR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_POWER.index: self.INPLACE_POWER(oparg, next_instr) elif opcode == opcodedesc.INPLACE_RSHIFT.index: self.INPLACE_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_SUBTRACT.index: self.INPLACE_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_TRUE_DIVIDE.index: self.INPLACE_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_XOR.index: self.INPLACE_XOR(oparg, next_instr) elif opcode == opcodedesc.LIST_APPEND.index: self.LIST_APPEND(oparg, next_instr) elif opcode == opcodedesc.LOAD_ATTR.index: self.LOAD_ATTR(oparg, next_instr) elif opcode == opcodedesc.LOAD_CLOSURE.index: self.LOAD_CLOSURE(oparg, next_instr) elif opcode == opcodedesc.LOAD_CONST.index: self.LOAD_CONST(oparg, next_instr) elif opcode == opcodedesc.LOAD_DEREF.index: self.LOAD_DEREF(oparg, next_instr) elif opcode == opcodedesc.LOAD_FAST.index: self.LOAD_FAST(oparg, next_instr) elif opcode == opcodedesc.LOAD_GLOBAL.index: self.LOAD_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.LOAD_LOCALS.index: self.LOAD_LOCALS(oparg, next_instr) elif opcode == opcodedesc.LOAD_NAME.index: self.LOAD_NAME(oparg, next_instr) elif opcode == opcodedesc.LOOKUP_METHOD.index: > self.LOOKUP_METHOD(oparg, next_instr) interpreter/pyopcode.py:356: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = at line 8 nameindex = 7, ignored = (76L,) MutableCell = space = StdObjSpace w_obj = def LOOKUP_METHOD(f, nameindex, *ignored): from pypy.objspace.std.typeobject import MutableCell # stack before after # -------------- --fast-method----fallback-case------------ # # w_object None # w_object => w_function w_boundmethod_or_whatever # (more stuff) (more stuff) (more stuff) # space = f.space w_obj = f.popvalue() if not jit.we_are_jitted(): # mapdict has an extra-fast version of this function if LOOKUP_METHOD_mapdict(f, nameindex, w_obj): return w_name = f.getname_w(nameindex) w_value = None w_type = space.type(w_obj) if w_type.has_object_getattribute(): name = space.text_w(w_name) # bit of a mess to use these internal functions, but it allows the # mapdict caching below to work without an additional lookup version_tag = w_type.version_tag() if version_tag is None: _, w_descr = w_type._lookup_where(name) w_descr_cell = None else: _, w_descr_cell = w_type._pure_lookup_where_with_method_cache( name, version_tag) w_descr = w_descr_cell if isinstance(w_descr, MutableCell): w_descr = w_descr.unwrap_cell(space) if w_descr is None: # this handles directly the common case # module.function(args..) > w_value = w_obj.getdictvalue(space, name) objspace/std/callmethod.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def getdictvalue(self, space, name): w_value = space.finditem_str(self.w_dict, name) if self.lazy and w_value is None: > return self._load_lazily(space, name) interpreter/mixedmodule.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def _load_lazily(self, space, name): w_name = space.new_interned_str(name) try: loader = self.loaders[name] except KeyError: return None else: > w_value = loader(space) interpreter/mixedmodule.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace def ifileloader(space): d = {'space':space} # EVIL HACK (but it works, and this is not RPython :-) while 1: try: value = eval(spec, d) except NameError as ex: name = ex.args[0].split("'")[1] # super-Evil if name in d: raise # propagate the NameError try: > d[name] = __import__(pkgroot+'.'+name, None, None, [name]) interpreter/mixedmodule.py:182: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from pypy.interpreter.gateway import unwrap_spec from pypy.interpreter.error import oefmt from rpython.rlib import rgc > from pypy.module.gc.hook import W_GcCollectStepStats module/gc/interp_gc.py:4: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from rpython.memory.gc.hook import GcHooks > from rpython.memory.gc import incminimark module/gc/hook.py:2: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ # XXX Should find a way to bound the major collection threshold by the # XXX total addressable size. Maybe by keeping some minimarkpage arenas # XXX pre-reserved, enough for a few nursery collections? What about # XXX raw-malloced memory? # XXX try merging old_objects_pointing_to_pinned into # XXX old_objects_pointing_to_young (IRC 2014-10-22, fijal and gregor_w) import sys import os import time from rpython.rtyper.lltypesystem import lltype, llmemory, llarena, llgroup from rpython.rtyper.lltypesystem.lloperation import llop from rpython.rtyper.lltypesystem.llmemory import raw_malloc_usage from rpython.memory.gc.base import GCBase, MovingGCBase > from rpython.memory.gc import env E File "/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py", line 423 E SyntaxError: Non-ASCII character '\xe2' in file /build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py on line 423, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details ../rpython/memory/gc/incminimark.py:70: SyntaxError . pypy/module/_weakref/test/test_weakref.py::AppTestProxy::()::test_add . pypy/module/_weakref/test/test_weakref.py::AppTestProxy::()::test_inplace_add . pypy/module/_weakref/test/test_weakref.py::AppTestProxy::()::test_setattr . pypy/module/_weakref/test/test_weakref.py::AppTestProxy::()::test_error_message_wrong_self . pypy/module/_weakref/test/test_weakref.py::AppTestProxy::()::test_reverse_add . pypy/module/_weakref/test/test_weakref.py::AppTestProxy::()::test_gt_lt (somefailed=True in module/_weakref/test) . pypy/module/cmath/test/test_cmath.py::test_special_values . pypy/module/cmath/test/test_cmath.py::AppTestCMath::()::test_sign . pypy/module/cmath/test/test_cmath.py::AppTestCMath::()::test_sqrt . pypy/module/cmath/test/test_cmath.py::AppTestCMath::()::test_log . pypy/module/cmath/test/test_cmath.py::AppTestCMath::()::test_pi_e . pypy/module/cmath/test/test_cmath.py::AppTestCMath::()::test_rect . pypy/module/cmath/test/test_cmath.py::AppTestCMath::()::test_polar . pypy/module/cmath/test/test_cmath.py::AppTestCMath::()::test_phase . pypy/module/cmath/test/test_cmath.py::AppTestCMath::()::test_valueerror . pypy/module/cmath/test/test_cmath.py::AppTestCMath::()::test_stringarg . pypy/module/cmath/test/test_cmath.py::AppTestCMath::()::test_isinf . pypy/module/cmath/test/test_cmath.py::AppTestCMath::()::test_isnan . pypy/module/cmath/test/test_cmath.py::AppTestCMath::()::test_user_defined_complex . pypy/module/cmath/test/test_cmath.py::AppTestCMath::()::test_user_defined_float . pypy/module/cmath/test/test_cmath.py::test_specific_values . pypy/module/array/test/test_array.py::AppTestArray::()::test_ctor . pypy/module/array/test/test_array.py::AppTestArray::()::test_value_range . pypy/module/array/test/test_array.py::AppTestArray::()::test_float . pypy/module/array/test/test_array.py::AppTestArray::()::test_nan . pypy/module/array/test/test_array.py::AppTestArray::()::test_itemsize . pypy/module/array/test/test_array.py::AppTestArray::()::test_errormessage . pypy/module/array/test/test_array.py::AppTestArray::()::test_fromstring . pypy/module/array/test/test_array.py::AppTestArray::()::test_fromfile . pypy/module/array/test/test_array.py::AppTestArray::()::test_fromlist . pypy/module/array/test/test_array.py::AppTestArray::()::test_fromunicode . pypy/module/array/test/test_array.py::AppTestArray::()::test_setslice_to_extend . pypy/module/array/test/test_array.py::AppTestArray::()::test_sequence . pypy/module/array/test/test_array.py::AppTestArray::()::test_resizingslice . pypy/module/array/test/test_array.py::AppTestArray::()::test_reversingslice . pypy/module/array/test/test_array.py::AppTestArray::()::test_getslice_large_step . pypy/module/array/test/test_array.py::AppTestArray::()::test_setslice_large_step . pypy/module/array/test/test_array.py::AppTestArray::()::test_toxxx . pypy/module/array/test/test_array.py::AppTestArray::()::test_empty_tostring . pypy/module/array/test/test_array.py::AppTestArray::()::test_buffer . pypy/module/array/test/test_array.py::AppTestArray::()::test_buffer_write . pypy/module/array/test/test_array.py::AppTestArray::()::test_buffer_keepalive . pypy/module/array/test/test_array.py::AppTestArray::()::test_list_methods . pypy/module/array/test/test_array.py::AppTestArray::()::test_compare . pypy/module/array/test/test_array.py::AppTestArray::()::test_reduce . pypy/module/array/test/test_array.py::AppTestArray::()::test_copy_swap . pypy/module/array/test/test_array.py::AppTestArray::()::test_deepcopy . pypy/module/array/test/test_array.py::AppTestArray::()::test_addmul . pypy/module/array/test/test_array.py::AppTestArray::()::test_delitem . pypy/module/array/test/test_array.py::AppTestArray::()::test_iter . pypy/module/array/test/test_array.py::AppTestArray::()::test_lying_iterable . pypy/module/array/test/test_array.py::AppTestArray::()::test_type . pypy/module/array/test/test_array.py::AppTestArray::()::test_subclass . pypy/module/array/test/test_array.py::AppTestArray::()::test_subclass_new . pypy/module/array/test/test_array.py::AppTestArray::()::test_override_from . pypy/module/array/test/test_array.py::AppTestArray::()::test_override_to . pypy/module/array/test/test_array.py::AppTestArray::()::test_array_of_chars_equality s pypy/module/array/test/test_array.py::AppTestArray::()::test_unicode_outofrange Skipped: ll2ctypes cannot represent unichar(sys.maxunicode + 1) . pypy/module/array/test/test_array.py::AppTestArray::()::test_unicode_surrogate . pypy/module/array/test/test_array.py::AppTestArray::()::test_weakref F pypy/module/array/test/test_array.py::AppTestArray::()::test_subclass_del self = func = at 0xf425ed14>, 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, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 0xf79ec32c> hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf69894cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf69894cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf41fa88c> 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 0xf41fa88c> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf41fa92c> 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 0xf41fa92c> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def runtest(self): target = self.obj if self.config.option.runappdirect: return target() space = target.im_self.space filename = self._getdynfilename(target) func = app2interp_temp(target.im_func, filename=filename) w_instance = self.parent.w_instance > self.execute_appex(space, func, space, w_instance) tool/pytest/apptest.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , space = StdObjSpace target = args = (StdObjSpace, ) def execute_appex(self, space, target, *args): self.space = space try: > target(*args) tool/pytest/apptest.py:30: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace args_w = (,) w_func = args = def appcaller(space, *args_w): if not isinstance(space, ObjSpace): raise TypeError("first argument must be a space instance.") # the last argument can be an Arguments w_func = self.wget(space, name) if not args_w: return space.call_function(w_func) else: args = args_w[-1] assert args is not None if not isinstance(args, Arguments): > return space.call_function(w_func, *args_w) interpreter/gateway.py:1227: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = args_w = (,) nargs = 1, Function = Method = def call_function(self, w_func, *args_w): nargs = len(args_w) # used for pruning funccall versions if not self.config.objspace.disable_call_speedhacks and nargs < 5: # start of hack for performance from pypy.interpreter.function import Function, Method if isinstance(w_func, Method): w_inst = w_func.w_instance if w_inst is not None: if nargs < 4: func = w_func.w_function if isinstance(func, Function): return func.funccall(w_inst, *args_w) elif args_w and ( self.abstract_isinstance_w(args_w[0], w_func.w_class)): w_func = w_func.w_function if isinstance(w_func, Function): > return w_func.funccall(*args_w) interpreter/baseobjspace.py:1210: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = args_w = (,) gateway = PyCode = code = def funccall(self, *args_w): # speed hack from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit nargs = len(args_w) fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, args_w[0]) elif nargs == 2: assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, args_w[0], args_w[1]) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) return code.fastcall_3(self.space, self, args_w[0], args_w[1], args_w[2]) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) return code.fastcall_4(self.space, self, args_w[0], args_w[1], args_w[2], args_w[3]) elif (nargs | PyCode.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) if nargs < 5: new_frame = self.space.createframe(code, self.w_func_globals, self) for i in funccallunrolling: if i < nargs: new_frame.locals_cells_stack_w[i] = args_w[i] > return new_frame.run() interpreter/function.py:118: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 12 def run(self): """Start this frame's execution.""" if self.getcode().co_flags & pycode.CO_GENERATOR: from pypy.interpreter.generator import GeneratorIterator return GeneratorIterator(self) else: > return self.execute_frame() interpreter/pyframe.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 12 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:290: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 12 e = SyntaxError("Non-ASCII character '\\xe2' in file /build_dir/own-linux-x86-32/b..., ('/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py', 423, 0, None)) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:943: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 12 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:286: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 12 pycode = next_instr = 0L ec = def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 12 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x01\x00d\x01\x00d\x00\x00l\x01\x00}\x02\x00d\x01\x00d\x00\x00l\x02\x00}\x03\x00g\x00\x00...8\x00s\xcc\x00t\x07\x00\x88\x00\x00d\x07\x00\x19\x83\x01\x00d\x07\x00k\x02\x00s\xcc\x00t\x06\x00\x82\x01\x00d\x00\x00S' next_instr = 0L ec = def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 12 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x01\x00d\x01\x00d\x00\x00l\x01\x00}\x02\x00d\x01\x00d\x00\x00l\x02\x00}\x03\x00g\x00\x00...8\x00s\xcc\x00t\x07\x00\x88\x00\x00d\x07\x00\x19\x83\x01\x00d\x07\x00k\x02\x00s\xcc\x00t\x06\x00\x82\x01\x00d\x00\x00S' next_instr = 128L ec = @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: self.last_instr = intmask(next_instr) if jit.we_are_jitted(): if self.debugdata: ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: ec.bytecode_trace(self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) next_instr += 1 if opcode >= HAVE_ARGUMENT: lo = ord(co_code[next_instr]) hi = ord(co_code[next_instr+1]) next_instr += 2 oparg = (hi * 256) | lo else: oparg = 0 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into a switch(). while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption lo = ord(co_code[next_instr+1]) hi = ord(co_code[next_instr+2]) next_instr += 3 oparg = (oparg * 65536) | (hi * 256) | lo if opcode == opcodedesc.RETURN_VALUE.index: if not self.blockstack_non_empty(): self.frame_finished_execution = True # for generators raise Return w_returnvalue = self.popvalue() block = self.unrollstack(SReturnValue.kind) if block is None: self.pushvalue(w_returnvalue) raise Return else: unroller = SReturnValue(w_returnvalue) next_instr = block.handle(self, unroller) return next_instr # now inside a 'finally' block elif opcode == opcodedesc.END_FINALLY.index: unroller = self.end_finally() if isinstance(unroller, SuspendedUnroller): # go on unrolling the stack block = self.unrollstack(unroller.kind) if block is None: w_result = unroller.nomoreblocks() self.pushvalue(w_result) raise Return else: next_instr = block.handle(self, unroller) return next_instr elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, ec) elif opcode == opcodedesc.BREAK_LOOP.index: next_instr = self.BREAK_LOOP(oparg, next_instr) elif opcode == opcodedesc.CONTINUE_LOOP.index: return self.CONTINUE_LOOP(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: next_instr = self.JUMP_IF_FALSE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_DEBUG.index: next_instr = self.JUMP_IF_NOT_DEBUG(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: next_instr = self.JUMP_IF_TRUE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: next_instr = self.POP_JUMP_IF_FALSE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: next_instr = self.POP_JUMP_IF_TRUE(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_DIVIDE.index: self.BINARY_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CLASS.index: self.BUILD_CLASS(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR.index: self.CALL_FUNCTION_VAR(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR_KW.index: self.CALL_FUNCTION_VAR_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: self.CALL_METHOD(oparg, next_instr) elif opcode == opcodedesc.COMPARE_OP.index: self.COMPARE_OP(oparg, next_instr) elif opcode == opcodedesc.DELETE_ATTR.index: self.DELETE_ATTR(oparg, next_instr) elif opcode == opcodedesc.DELETE_FAST.index: self.DELETE_FAST(oparg, next_instr) elif opcode == opcodedesc.DELETE_GLOBAL.index: self.DELETE_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.DELETE_NAME.index: self.DELETE_NAME(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_0.index: self.DELETE_SLICE_0(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_1.index: self.DELETE_SLICE_1(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_2.index: self.DELETE_SLICE_2(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_3.index: self.DELETE_SLICE_3(oparg, next_instr) elif opcode == opcodedesc.DELETE_SUBSCR.index: self.DELETE_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.DUP_TOP.index: self.DUP_TOP(oparg, next_instr) elif opcode == opcodedesc.DUP_TOPX.index: self.DUP_TOPX(oparg, next_instr) elif opcode == opcodedesc.EXEC_STMT.index: self.EXEC_STMT(oparg, next_instr) elif opcode == opcodedesc.GET_ITER.index: self.GET_ITER(oparg, next_instr) elif opcode == opcodedesc.IMPORT_FROM.index: self.IMPORT_FROM(oparg, next_instr) elif opcode == opcodedesc.IMPORT_NAME.index: self.IMPORT_NAME(oparg, next_instr) elif opcode == opcodedesc.IMPORT_STAR.index: self.IMPORT_STAR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_ADD.index: self.INPLACE_ADD(oparg, next_instr) elif opcode == opcodedesc.INPLACE_AND.index: self.INPLACE_AND(oparg, next_instr) elif opcode == opcodedesc.INPLACE_DIVIDE.index: self.INPLACE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_FLOOR_DIVIDE.index: self.INPLACE_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_LSHIFT.index: self.INPLACE_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MODULO.index: self.INPLACE_MODULO(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MULTIPLY.index: self.INPLACE_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.INPLACE_OR.index: self.INPLACE_OR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_POWER.index: self.INPLACE_POWER(oparg, next_instr) elif opcode == opcodedesc.INPLACE_RSHIFT.index: self.INPLACE_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_SUBTRACT.index: self.INPLACE_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_TRUE_DIVIDE.index: self.INPLACE_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_XOR.index: self.INPLACE_XOR(oparg, next_instr) elif opcode == opcodedesc.LIST_APPEND.index: self.LIST_APPEND(oparg, next_instr) elif opcode == opcodedesc.LOAD_ATTR.index: self.LOAD_ATTR(oparg, next_instr) elif opcode == opcodedesc.LOAD_CLOSURE.index: self.LOAD_CLOSURE(oparg, next_instr) elif opcode == opcodedesc.LOAD_CONST.index: self.LOAD_CONST(oparg, next_instr) elif opcode == opcodedesc.LOAD_DEREF.index: self.LOAD_DEREF(oparg, next_instr) elif opcode == opcodedesc.LOAD_FAST.index: self.LOAD_FAST(oparg, next_instr) elif opcode == opcodedesc.LOAD_GLOBAL.index: self.LOAD_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.LOAD_LOCALS.index: self.LOAD_LOCALS(oparg, next_instr) elif opcode == opcodedesc.LOAD_NAME.index: self.LOAD_NAME(oparg, next_instr) elif opcode == opcodedesc.LOOKUP_METHOD.index: > self.LOOKUP_METHOD(oparg, next_instr) interpreter/pyopcode.py:356: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = at line 12 nameindex = 5, ignored = (128L,) MutableCell = space = StdObjSpace w_obj = def LOOKUP_METHOD(f, nameindex, *ignored): from pypy.objspace.std.typeobject import MutableCell # stack before after # -------------- --fast-method----fallback-case------------ # # w_object None # w_object => w_function w_boundmethod_or_whatever # (more stuff) (more stuff) (more stuff) # space = f.space w_obj = f.popvalue() if not jit.we_are_jitted(): # mapdict has an extra-fast version of this function if LOOKUP_METHOD_mapdict(f, nameindex, w_obj): return w_name = f.getname_w(nameindex) w_value = None w_type = space.type(w_obj) if w_type.has_object_getattribute(): name = space.text_w(w_name) # bit of a mess to use these internal functions, but it allows the # mapdict caching below to work without an additional lookup version_tag = w_type.version_tag() if version_tag is None: _, w_descr = w_type._lookup_where(name) w_descr_cell = None else: _, w_descr_cell = w_type._pure_lookup_where_with_method_cache( name, version_tag) w_descr = w_descr_cell if isinstance(w_descr, MutableCell): w_descr = w_descr.unwrap_cell(space) if w_descr is None: # this handles directly the common case # module.function(args..) > w_value = w_obj.getdictvalue(space, name) objspace/std/callmethod.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def getdictvalue(self, space, name): w_value = space.finditem_str(self.w_dict, name) if self.lazy and w_value is None: > return self._load_lazily(space, name) interpreter/mixedmodule.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def _load_lazily(self, space, name): w_name = space.new_interned_str(name) try: loader = self.loaders[name] except KeyError: return None else: > w_value = loader(space) interpreter/mixedmodule.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace def ifileloader(space): d = {'space':space} # EVIL HACK (but it works, and this is not RPython :-) while 1: try: value = eval(spec, d) except NameError as ex: name = ex.args[0].split("'")[1] # super-Evil if name in d: raise # propagate the NameError try: > d[name] = __import__(pkgroot+'.'+name, None, None, [name]) interpreter/mixedmodule.py:182: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from pypy.interpreter.gateway import unwrap_spec from pypy.interpreter.error import oefmt from rpython.rlib import rgc > from pypy.module.gc.hook import W_GcCollectStepStats module/gc/interp_gc.py:4: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from rpython.memory.gc.hook import GcHooks > from rpython.memory.gc import incminimark module/gc/hook.py:2: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ # XXX Should find a way to bound the major collection threshold by the # XXX total addressable size. Maybe by keeping some minimarkpage arenas # XXX pre-reserved, enough for a few nursery collections? What about # XXX raw-malloced memory? # XXX try merging old_objects_pointing_to_pinned into # XXX old_objects_pointing_to_young (IRC 2014-10-22, fijal and gregor_w) import sys import os import time from rpython.rtyper.lltypesystem import lltype, llmemory, llarena, llgroup from rpython.rtyper.lltypesystem.lloperation import llop from rpython.rtyper.lltypesystem.llmemory import raw_malloc_usage from rpython.memory.gc.base import GCBase, MovingGCBase > from rpython.memory.gc import env E File "/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py", line 423 E SyntaxError: Non-ASCII character '\xe2' in file /build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py on line 423, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details ../rpython/memory/gc/incminimark.py:70: SyntaxError . pypy/module/array/test/test_array.py::AppTestArray::()::test_assign_object_with_special_methods . pypy/module/array/test/test_array.py::AppTestArray::()::test_buffer_info . pypy/module/array/test/test_array.py::AppTestArray::()::test_array_reverse_slice_assign_self . pypy/module/array/test/test_array.py::AppTestArray::()::test_array_multiply . pypy/module/array/test/test_array.py::AppTestArray::()::test_getitem_only_ints . pypy/module/array/test/test_array.py::AppTestArray::()::test_index_special_method . pypy/module/array/test/test_array.py::AppTestArray::()::test_fresh_array_buffer_str . pypy/module/array/test/test_array.py::AppTestArray::()::test_mutate_while_slice . pypy/module/array/test/test_ztranslation.py::test_checkmodule (somefailed=True in module/array/test) . pypy/module/cpyext/test/test_api.py::TestConversion::()::test_conversions . pypy/module/cpyext/test/test_api.py::TestConversion::()::test_typedef . pypy/module/cpyext/test/test_api.py::test_copy_header_files . pypy/module/cpyext/test/test_api.py::test_write_func . pypy/module/cpyext/test/test_abstract.py::AppTestBufferProtocol::()::test_string . pypy/module/cpyext/test/test_abstract.py::AppTestBufferProtocol::()::test_buffer . pypy/module/cpyext/test/test_abstract.py::AppTestBufferProtocol::()::test_mmap . pypy/module/cpyext/test/test_abstract.py::AppTestBufferProtocol::()::test_array . pypy/module/cpyext/test/test_abstract.py::AppTestBufferProtocol::()::test_nonbuffer . pypy/module/cpyext/test/test_abstract.py::AppTestBufferProtocol::()::test_user_class . pypy/module/cpyext/test/test_abstract.py::AppTestBufferProtocol::()::test_user_bufferable . pypy/module/bz2/test/test_bz2_compdecomp.py::AppTestBZ2Compressor::()::test_creation . pypy/module/bz2/test/test_bz2_compdecomp.py::AppTestBZ2Compressor::()::test_compress s pypy/module/bz2/test/test_bz2_compdecomp.py::AppTestBZ2Compressor::()::test_compress_huge_data Skipped: skipping test requiring lots of memory . pypy/module/bz2/test/test_bz2_compdecomp.py::AppTestBZ2Compressor::()::test_compress_chunks_10 . pypy/module/bz2/test/test_bz2_compdecomp.py::AppTestBZ2Compressor::()::test_buffer . pypy/module/bz2/test/test_bz2_compdecomp.py::AppTestBZ2Decompressor::()::test_creation . pypy/module/bz2/test/test_bz2_compdecomp.py::AppTestBZ2Decompressor::()::test_attribute . pypy/module/bz2/test/test_bz2_compdecomp.py::AppTestBZ2Decompressor::()::test_decompress . pypy/module/bz2/test/test_bz2_compdecomp.py::AppTestBZ2Decompressor::()::test_decompress_chunks_10 . pypy/module/bz2/test/test_bz2_compdecomp.py::AppTestBZ2Decompressor::()::test_decompress_unused_data . pypy/module/bz2/test/test_bz2_compdecomp.py::AppTestBZ2Decompressor::()::test_EOF_error . pypy/module/bz2/test/test_bz2_compdecomp.py::AppTestBZ2Decompressor::()::test_buffer . pypy/module/bz2/test/test_bz2_compdecomp.py::AppTestBZ2Decompressor::()::test_subsequent_read . pypy/module/bz2/test/test_bz2_compdecomp.py::AppTestBZ2ModuleFunctions::()::test_compress_function s pypy/module/bz2/test/test_bz2_compdecomp.py::AppTestBZ2ModuleFunctions::()::test_compress_function_huge_data Skipped: skipping test requiring lots of memory . pypy/module/bz2/test/test_bz2_compdecomp.py::AppTestBZ2ModuleFunctions::()::test_decompress_function . pypy/module/bz2/test/test_bz2_compdecomp.py::AppTestBZ2ModuleFunctions::()::test_decompress_function_incomplete_data . pypy/module/bz2/test/test_bz2_compdecomp.py::AppTestBZ2ModuleFunctions::()::test_buffer . pypy/module/bz2/test/test_bz2_file.py::AppTestBZ2File::()::test_attributes . pypy/module/bz2/test/test_bz2_file.py::AppTestBZ2File::()::test_creation . pypy/module/bz2/test/test_bz2_file.py::AppTestBZ2File::()::test_close . pypy/module/bz2/test/test_bz2_file.py::AppTestBZ2File::()::test_tell . pypy/module/bz2/test/test_bz2_file.py::AppTestBZ2File::()::test_seek . pypy/module/bz2/test/test_bz2_file.py::AppTestBZ2File::()::test_open_close_del . pypy/module/bz2/test/test_bz2_file.py::AppTestBZ2File::()::test_open_non_existent . pypy/module/bz2/test/test_bz2_file.py::AppTestBZ2File::()::test_open_mode_U . pypy/module/bz2/test/test_bz2_file.py::AppTestBZ2File::()::test_seek_forward . pypy/module/bz2/test/test_bz2_file.py::AppTestBZ2File::()::test_seek_backwards . pypy/module/bz2/test/test_bz2_file.py::AppTestBZ2File::()::test_seek_backwards_from_end . pypy/module/bz2/test/test_bz2_file.py::AppTestBZ2File::()::test_seek_post_end . pypy/module/bz2/test/test_bz2_file.py::AppTestBZ2File::()::test_seek_post_end_twice . pypy/module/bz2/test/test_bz2_file.py::AppTestBZ2File::()::test_seek_pre_start . pypy/module/bz2/test/test_bz2_file.py::AppTestBZ2File::()::test_readline . pypy/module/bz2/test/test_bz2_file.py::AppTestBZ2File::()::test_read . pypy/module/bz2/test/test_bz2_file.py::AppTestBZ2File::()::test_silently_closes . pypy/module/bz2/test/test_bz2_file.py::AppTestBZ2File::()::test_read_broken_file . pypy/module/bz2/test/test_bz2_file.py::AppTestBZ2File::()::test_subsequent_read_broken_file . pypy/module/bz2/test/test_bz2_file.py::AppTestBZ2File::()::test_read_chunk9 . pypy/module/bz2/test/test_bz2_file.py::AppTestBZ2File::()::test_read_100_bytes . pypy/module/bz2/test/test_bz2_file.py::AppTestBZ2File::()::test_universal_newlines_lf . pypy/module/bz2/test/test_bz2_file.py::AppTestBZ2File::()::test_universal_newlines_crlf . pypy/module/bz2/test/test_bz2_file.py::AppTestBZ2File::()::test_readlines . pypy/module/bz2/test/test_bz2_file.py::AppTestBZ2File::()::test_iterator . pypy/module/bz2/test/test_bz2_file.py::AppTestBZ2File::()::test_xreadlines . pypy/module/bz2/test/test_bz2_file.py::AppTestBZ2File::()::test_readlines_bug_1191043 . pypy/module/bz2/test/test_bz2_file.py::AppTestBZ2File::()::test_write . pypy/module/bz2/test/test_bz2_file.py::AppTestBZ2File::()::test_write_chunks_10 . pypy/module/bz2/test/test_bz2_file.py::AppTestBZ2File::()::test_writelines . pypy/module/bz2/test/test_bz2_file.py::AppTestBZ2File::()::test_write_methods_on_readonly_file . pypy/module/bz2/test/test_bz2_file.py::AppTestBZ2File::()::test_write_bigger_file . pypy/module/bz2/test/test_bz2_file.py::AppTestBZ2File::()::test_context_manager s pypy/module/bz2/test/test_large.py::AppTestBZ2File::()::test_decompress Skipped: skipping this very slow test; try 'pypy-c -A' . pypy/module/cpyext/test/test_boolobject.py::TestBoolObject::()::test_fromlong . pypy/module/cpyext/test/test_boolobject.py::AppTestBoolMacros::()::test_macros . pypy/module/cpyext/test/test_boolobject.py::AppTestBoolMacros::()::test_toint . pypy/module/cpyext/test/test_boolobject.py::AppTestBoolMacros::()::test_check . pypy/module/cpyext/test/test_borrow.py::AppTestBorrow::()::test_tuple_borrowing . pypy/module/cpyext/test/test_borrow.py::AppTestBorrow::()::test_borrow_destroy . pypy/module/cpyext/test/test_borrow.py::AppTestBorrow::()::test_double_borrow . pypy/module/cpyext/test/test_bufferobject.py::AppTestBufferObject::()::test_FromMemory . pypy/module/cpyext/test/test_bufferobject.py::AppTestBufferObject::()::test_Buffer_New . pypy/module/cpyext/test/test_bufferobject.py::AppTestBufferObject::()::test_array_buffer . pypy/module/cpyext/test/test_bufferobject.py::AppTestBufferObject::()::test_issue2752 . pypy/module/cpyext/test/test_arraymodule.py::AppTestArrayModule::()::test_basic . pypy/module/cpyext/test/test_arraymodule.py::AppTestArrayModule::()::test_iter . pypy/module/cpyext/test/test_arraymodule.py::AppTestArrayModule::()::test_index . pypy/module/cpyext/test/test_arraymodule.py::AppTestArrayModule::()::test_slice_get . pypy/module/cpyext/test/test_arraymodule.py::AppTestArrayModule::()::test_slice_object . pypy/module/cpyext/test/test_arraymodule.py::AppTestArrayModule::()::test_buffer . pypy/module/cpyext/test/test_arraymodule.py::AppTestArrayModule::()::test_releasebuffer . pypy/module/cpyext/test/test_arraymodule.py::AppTestArrayModule::()::test_Py_buffer . pypy/module/cpyext/test/test_arraymodule.py::AppTestArrayModule::()::test_pickle . pypy/module/cpyext/test/test_arraymodule.py::AppTestArrayModule::()::test_binop_mul_impl x pypy/module/cpyext/test/test_arraymodule.py::AppTestArrayModule::()::test_subclass_dealloc self = def test_subclass_dealloc(self): module = self.import_module(name='array') class Sub(module.array): pass arr = Sub('i', [2]) module.readbuffer_as_string(arr) class A(object): pass > assert not module.same_dealloc(arr, module.array('i', [2])) E (application-level) AssertionError: assert not 1L E + where 1L = (array('i', [2]), array('i', [2])) E + where = E + where = .same_dealloc E + and array('i', [2]) = ('i', [2]) E + where = E + where = .array [/build_dir/own-linux-x86-32/build/pypy/module/cpyext/test/test_arraymodule.py:123]:10: AssertionError . pypy/module/cpyext/test/test_arraymodule.py::AppTestArrayModule::()::test_subclass . pypy/module/cpyext/test/test_arraymodule.py::AppTestArrayModule::()::test_unicode_readbuffer . pypy/module/cpyext/test/test_arraymodule.py::AppTestArrayModule::()::test_readinto . pypy/module/cpyext/test/test_arraymodule.py::AppTestArrayModule::()::test_iowrite . pypy/module/cpyext/test/test_arraymodule.py::AppTestArrayModule::()::test_getitem_via_PySequence_GetItem F pypy/module/cpyext/test/test_arraymodule.py::AppTestArrayModule::()::test_subclass_with_attribute self = func = at 0xf392eed4>, 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, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 0xf7a9032c> hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf4d9cbcc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf4d9cbcc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf362decc> 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 0xf362decc> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf362de8c> 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 0xf362de8c> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def runtest(self): target = self.obj if self.config.option.runappdirect: return target() space = target.im_self.space filename = self._getdynfilename(target) func = app2interp_temp(target.im_func, filename=filename) w_instance = self.parent.w_instance > self.execute_appex(space, func, space, w_instance) tool/pytest/apptest.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , space = StdObjSpace target = args = (StdObjSpace, ) def execute_appex(self, space, target, *args): self.space = space try: > target(*args) tool/pytest/apptest.py:30: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace args_w = (,) w_func = args = def appcaller(space, *args_w): if not isinstance(space, ObjSpace): raise TypeError("first argument must be a space instance.") # the last argument can be an Arguments w_func = self.wget(space, name) if not args_w: return space.call_function(w_func) else: args = args_w[-1] assert args is not None if not isinstance(args, Arguments): > return space.call_function(w_func, *args_w) interpreter/gateway.py:1227: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = args_w = (,) nargs = 1, Function = Method = def call_function(self, w_func, *args_w): nargs = len(args_w) # used for pruning funccall versions if not self.config.objspace.disable_call_speedhacks and nargs < 5: # start of hack for performance from pypy.interpreter.function import Function, Method if isinstance(w_func, Method): w_inst = w_func.w_instance if w_inst is not None: if nargs < 4: func = w_func.w_function if isinstance(func, Function): return func.funccall(w_inst, *args_w) elif args_w and ( self.abstract_isinstance_w(args_w[0], w_func.w_class)): w_func = w_func.w_function if isinstance(w_func, Function): > return w_func.funccall(*args_w) interpreter/baseobjspace.py:1210: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = args_w = (,) gateway = PyCode = code = def funccall(self, *args_w): # speed hack from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit nargs = len(args_w) fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, args_w[0]) elif nargs == 2: assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, args_w[0], args_w[1]) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) return code.fastcall_3(self.space, self, args_w[0], args_w[1], args_w[2]) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) return code.fastcall_4(self.space, self, args_w[0], args_w[1], args_w[2], args_w[3]) elif (nargs | PyCode.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) if nargs < 5: new_frame = self.space.createframe(code, self.w_func_globals, self) for i in funccallunrolling: if i < nargs: new_frame.locals_cells_stack_w[i] = args_w[i] > return new_frame.run() interpreter/function.py:118: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 8 def run(self): """Start this frame's execution.""" if self.getcode().co_flags & pycode.CO_GENERATOR: from pypy.interpreter.generator import GeneratorIterator return GeneratorIterator(self) else: > return self.execute_frame() interpreter/pyframe.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 8 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:290: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 8 e = SyntaxError("Non-ASCII character '\\xe2' in file /build_dir/own-linux-x86-32/b..., ('/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py', 423, 0, None)) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:943: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 8 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:286: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 8 pycode = next_instr = 0L ec = def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 8 co_code = '|\x00\x00\xc9\x00\x00d\x01\x00d\x02\x00\xca\x00\x01}\x01\x00d\x03\x00|\x01\x00j\x01\x00f\x01\x00d\x04\x00\x84\x00\x00...cc\x15\x00|\x02\x00j\x05\x00t\x06\x00k\x02\x00sh\x00t\x07\x00\x82\x01\x00d\x00\x00S\x00t\x07\x00\x82\x01\x00d\x00\x00S' next_instr = 0L ec = def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 8 co_code = '|\x00\x00\xc9\x00\x00d\x01\x00d\x02\x00\xca\x00\x01}\x01\x00d\x03\x00|\x01\x00j\x01\x00f\x01\x00d\x04\x00\x84\x00\x00...cc\x15\x00|\x02\x00j\x05\x00t\x06\x00k\x02\x00sh\x00t\x07\x00\x82\x01\x00d\x00\x00S\x00t\x07\x00\x82\x01\x00d\x00\x00S' next_instr = 76L ec = @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: self.last_instr = intmask(next_instr) if jit.we_are_jitted(): if self.debugdata: ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: ec.bytecode_trace(self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) next_instr += 1 if opcode >= HAVE_ARGUMENT: lo = ord(co_code[next_instr]) hi = ord(co_code[next_instr+1]) next_instr += 2 oparg = (hi * 256) | lo else: oparg = 0 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into a switch(). while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption lo = ord(co_code[next_instr+1]) hi = ord(co_code[next_instr+2]) next_instr += 3 oparg = (oparg * 65536) | (hi * 256) | lo if opcode == opcodedesc.RETURN_VALUE.index: if not self.blockstack_non_empty(): self.frame_finished_execution = True # for generators raise Return w_returnvalue = self.popvalue() block = self.unrollstack(SReturnValue.kind) if block is None: self.pushvalue(w_returnvalue) raise Return else: unroller = SReturnValue(w_returnvalue) next_instr = block.handle(self, unroller) return next_instr # now inside a 'finally' block elif opcode == opcodedesc.END_FINALLY.index: unroller = self.end_finally() if isinstance(unroller, SuspendedUnroller): # go on unrolling the stack block = self.unrollstack(unroller.kind) if block is None: w_result = unroller.nomoreblocks() self.pushvalue(w_result) raise Return else: next_instr = block.handle(self, unroller) return next_instr elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, ec) elif opcode == opcodedesc.BREAK_LOOP.index: next_instr = self.BREAK_LOOP(oparg, next_instr) elif opcode == opcodedesc.CONTINUE_LOOP.index: return self.CONTINUE_LOOP(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: next_instr = self.JUMP_IF_FALSE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_DEBUG.index: next_instr = self.JUMP_IF_NOT_DEBUG(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: next_instr = self.JUMP_IF_TRUE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: next_instr = self.POP_JUMP_IF_FALSE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: next_instr = self.POP_JUMP_IF_TRUE(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_DIVIDE.index: self.BINARY_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CLASS.index: self.BUILD_CLASS(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR.index: self.CALL_FUNCTION_VAR(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR_KW.index: self.CALL_FUNCTION_VAR_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: self.CALL_METHOD(oparg, next_instr) elif opcode == opcodedesc.COMPARE_OP.index: self.COMPARE_OP(oparg, next_instr) elif opcode == opcodedesc.DELETE_ATTR.index: self.DELETE_ATTR(oparg, next_instr) elif opcode == opcodedesc.DELETE_FAST.index: self.DELETE_FAST(oparg, next_instr) elif opcode == opcodedesc.DELETE_GLOBAL.index: self.DELETE_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.DELETE_NAME.index: self.DELETE_NAME(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_0.index: self.DELETE_SLICE_0(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_1.index: self.DELETE_SLICE_1(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_2.index: self.DELETE_SLICE_2(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_3.index: self.DELETE_SLICE_3(oparg, next_instr) elif opcode == opcodedesc.DELETE_SUBSCR.index: self.DELETE_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.DUP_TOP.index: self.DUP_TOP(oparg, next_instr) elif opcode == opcodedesc.DUP_TOPX.index: self.DUP_TOPX(oparg, next_instr) elif opcode == opcodedesc.EXEC_STMT.index: self.EXEC_STMT(oparg, next_instr) elif opcode == opcodedesc.GET_ITER.index: self.GET_ITER(oparg, next_instr) elif opcode == opcodedesc.IMPORT_FROM.index: self.IMPORT_FROM(oparg, next_instr) elif opcode == opcodedesc.IMPORT_NAME.index: self.IMPORT_NAME(oparg, next_instr) elif opcode == opcodedesc.IMPORT_STAR.index: self.IMPORT_STAR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_ADD.index: self.INPLACE_ADD(oparg, next_instr) elif opcode == opcodedesc.INPLACE_AND.index: self.INPLACE_AND(oparg, next_instr) elif opcode == opcodedesc.INPLACE_DIVIDE.index: self.INPLACE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_FLOOR_DIVIDE.index: self.INPLACE_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_LSHIFT.index: self.INPLACE_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MODULO.index: self.INPLACE_MODULO(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MULTIPLY.index: self.INPLACE_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.INPLACE_OR.index: self.INPLACE_OR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_POWER.index: self.INPLACE_POWER(oparg, next_instr) elif opcode == opcodedesc.INPLACE_RSHIFT.index: self.INPLACE_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_SUBTRACT.index: self.INPLACE_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_TRUE_DIVIDE.index: self.INPLACE_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_XOR.index: self.INPLACE_XOR(oparg, next_instr) elif opcode == opcodedesc.LIST_APPEND.index: self.LIST_APPEND(oparg, next_instr) elif opcode == opcodedesc.LOAD_ATTR.index: > self.LOAD_ATTR(oparg, next_instr) interpreter/pyopcode.py:340: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 8 nameindex = 4, next_instr = 76L @always_inline def LOAD_ATTR(self, nameindex, next_instr): "obj.attributename" w_obj = self.popvalue() if not jit.we_are_jitted(): from pypy.objspace.std.mapdict import LOAD_ATTR_caching > w_value = LOAD_ATTR_caching(self.getcode(), w_obj, nameindex) interpreter/pyopcode.py:977: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ pycode = w_obj = , nameindex = 4 @objectmodel.always_inline def LOAD_ATTR_caching(pycode, w_obj, nameindex): # this whole mess is to make the interpreter quite a bit faster; it's not # used if we_are_jitted(). entry = pycode._mapdict_caches[nameindex] map = w_obj._get_mapdict_map() if entry.is_valid_for_map(map) and entry.w_method is None: # everything matches, it's incredibly fast attr = entry.attr_wref() if attr is not None: return attr._direct_read(w_obj) > return LOAD_ATTR_slowpath(pycode, w_obj, nameindex, map) objspace/std/mapdict.py:1420: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ pycode = w_obj = , nameindex = 4 map = None @objectmodel.dont_inline def LOAD_ATTR_slowpath(pycode, w_obj, nameindex, map): space = pycode.space w_name = pycode.co_names_w[nameindex] if map is not None: w_type = map.terminator.w_cls w_descr = w_type.getattribute_if_not_from_object() if w_descr is not None: return space._handle_getattribute(w_descr, w_obj, w_name) version_tag = w_type.version_tag() if version_tag is not None: name = space.text_w(w_name) # We need to care for obscure cases in which the w_descr is # a MutableCell, which may change without changing the version_tag _, w_descr = w_type._pure_lookup_where_with_method_cache( name, version_tag) # attrname, attrkind = ("", INVALID) if w_descr is None: attrname, attrkind = (name, DICT) # common case: no such attr in the class elif isinstance(w_descr, MutableCell): pass # we have a MutableCell in the class: give up elif space.is_data_descr(w_descr): # we have a data descriptor, which means the dictionary value # (if any) has no relevance. from pypy.interpreter.typedef import Member if isinstance(w_descr, Member): # it is a slot -- easy case attrname, attrkind = ("slot", SLOTS_STARTING_FROM + w_descr.index) elif not space.type(w_descr).is_heaptype(): # There is a non-data descriptor in the class. This would mean # we use the dict entry, however, the class of w_descr could be # changed to add a __get__/__set__ without the cache noticing, # so we can only use the cache if w_descr is an instance of an # immutable type. see # test_load_attr_bug_class_name_turns_into_descriptor attrname = name attrkind = DICT # if attrkind != INVALID: attr = map.find_map_attr(attrname, attrkind) if attr is not None: # Note that if map.terminator is a DevolvedDictTerminator # or the class provides its own dict, not using mapdict, then: # map.find_map_attr will always return None if attrkind==DICT. _fill_cache(pycode, nameindex, map, version_tag, attr, valid_for_store=w_type.setattr_if_not_from_object() is None) return attr._direct_read(w_obj) if space.config.objspace.std.withmethodcachecounter: INVALID_CACHE_ENTRY.failure_counter += 1 > return space.getattr(w_obj, w_name) objspace/std/mapdict.py:1471: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace w_obj = w_name = W_BytesObject('collect') def getattr(self, w_obj, w_name): # an optional shortcut for performance w_type = self.type(w_obj) w_descr = w_type.getattribute_if_not_from_object() if w_descr is not None: return self._handle_getattribute(w_descr, w_obj, w_name) # fast path: XXX this is duplicating most of the logic # from the default __getattribute__ and the getattr() method... name = self.text_w(w_name) w_descr = w_type.lookup(name) e = None if w_descr is not None: w_get = None is_data = self.is_data_descr(w_descr) if is_data: w_get = self.lookup(w_descr, "__get__") if w_get is None: w_value = w_obj.getdictvalue(self, name) if w_value is not None: return w_value if not is_data: w_get = self.lookup(w_descr, "__get__") if w_get is not None: # __get__ is allowed to raise an AttributeError to trigger # use of __getattr__. try: return self.get_and_call_function(w_get, w_descr, w_obj, w_type) except OperationError as e: if not e.match(self, self.w_AttributeError): raise else: return w_descr else: > w_value = w_obj.getdictvalue(self, name) objspace/std/objspace.py:655: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def getdictvalue(self, space, name): w_value = space.finditem_str(self.w_dict, name) if self.lazy and w_value is None: > return self._load_lazily(space, name) interpreter/mixedmodule.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def _load_lazily(self, space, name): w_name = space.new_interned_str(name) try: loader = self.loaders[name] except KeyError: return None else: > w_value = loader(space) interpreter/mixedmodule.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace def ifileloader(space): d = {'space':space} # EVIL HACK (but it works, and this is not RPython :-) while 1: try: value = eval(spec, d) except NameError as ex: name = ex.args[0].split("'")[1] # super-Evil if name in d: raise # propagate the NameError try: > d[name] = __import__(pkgroot+'.'+name, None, None, [name]) interpreter/mixedmodule.py:182: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from pypy.interpreter.gateway import unwrap_spec from pypy.interpreter.error import oefmt from rpython.rlib import rgc > from pypy.module.gc.hook import W_GcCollectStepStats module/gc/interp_gc.py:4: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from rpython.memory.gc.hook import GcHooks > from rpython.memory.gc import incminimark module/gc/hook.py:2: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ # XXX Should find a way to bound the major collection threshold by the # XXX total addressable size. Maybe by keeping some minimarkpage arenas # XXX pre-reserved, enough for a few nursery collections? What about # XXX raw-malloced memory? # XXX try merging old_objects_pointing_to_pinned into # XXX old_objects_pointing_to_young (IRC 2014-10-22, fijal and gregor_w) import sys import os import time from rpython.rtyper.lltypesystem import lltype, llmemory, llarena, llgroup from rpython.rtyper.lltypesystem.lloperation import llop from rpython.rtyper.lltypesystem.llmemory import raw_malloc_usage from rpython.memory.gc.base import GCBase, MovingGCBase > from rpython.memory.gc import env E File "/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py", line 423 E SyntaxError: Non-ASCII character '\xe2' in file /build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py on line 423, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details ../rpython/memory/gc/incminimark.py:70: SyntaxError ---------- Captured stderr call ---------- DONE DONE DONE DONE DONE DONE DONE DONE DONE DONE DONE DONE (somefailed=True in module/cpyext/test/test_arraymodule.py) . pypy/module/cpyext/test/test_bytearrayobject.py::AppTestStringObject::()::test_basic . pypy/module/cpyext/test/test_bytearrayobject.py::AppTestStringObject::()::test_bytearray_buffer_init . pypy/module/cpyext/test/test_bytearrayobject.py::AppTestStringObject::()::test_bytearray_mutable . pypy/module/cpyext/test/test_bytearrayobject.py::AppTestStringObject::()::test_AsByteArray . pypy/module/cpyext/test/test_bytearrayobject.py::AppTestStringObject::()::test_manipulations . pypy/module/cpyext/test/test_bytearrayobject.py::AppTestStringObject::()::test_bytearray_resize F pypy/module/cpyext/test/test_capsule.py::AppTestCapsule::()::test_capsule_import self = func = at 0xf4cf03ac>, 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, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 0xf7a9332c> hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf4d9ed2c>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf4d9ed2c>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf4204d0c> 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 0xf4204d0c> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf4204d4c> 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 0xf4204d4c> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def runtest(self): target = self.obj if self.config.option.runappdirect: return target() space = target.im_self.space filename = self._getdynfilename(target) func = app2interp_temp(target.im_func, filename=filename) w_instance = self.parent.w_instance > self.execute_appex(space, func, space, w_instance) tool/pytest/apptest.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , space = StdObjSpace target = args = (StdObjSpace, ) def execute_appex(self, space, target, *args): self.space = space try: > target(*args) tool/pytest/apptest.py:30: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace args_w = (,) w_func = args = def appcaller(space, *args_w): if not isinstance(space, ObjSpace): raise TypeError("first argument must be a space instance.") # the last argument can be an Arguments w_func = self.wget(space, name) if not args_w: return space.call_function(w_func) else: args = args_w[-1] assert args is not None if not isinstance(args, Arguments): > return space.call_function(w_func, *args_w) interpreter/gateway.py:1227: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = args_w = (,) nargs = 1, Function = Method = def call_function(self, w_func, *args_w): nargs = len(args_w) # used for pruning funccall versions if not self.config.objspace.disable_call_speedhacks and nargs < 5: # start of hack for performance from pypy.interpreter.function import Function, Method if isinstance(w_func, Method): w_inst = w_func.w_instance if w_inst is not None: if nargs < 4: func = w_func.w_function if isinstance(func, Function): return func.funccall(w_inst, *args_w) elif args_w and ( self.abstract_isinstance_w(args_w[0], w_func.w_class)): w_func = w_func.w_function if isinstance(w_func, Function): > return w_func.funccall(*args_w) interpreter/baseobjspace.py:1210: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = args_w = (,) gateway = PyCode = code = def funccall(self, *args_w): # speed hack from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit nargs = len(args_w) fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, args_w[0]) elif nargs == 2: assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, args_w[0], args_w[1]) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) return code.fastcall_3(self.space, self, args_w[0], args_w[1], args_w[2]) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) return code.fastcall_4(self.space, self, args_w[0], args_w[1], args_w[2], args_w[3]) elif (nargs | PyCode.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) if nargs < 5: new_frame = self.space.createframe(code, self.w_func_globals, self) for i in funccallunrolling: if i < nargs: new_frame.locals_cells_stack_w[i] = args_w[i] > return new_frame.run() interpreter/function.py:118: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 24 def run(self): """Start this frame's execution.""" if self.getcode().co_flags & pycode.CO_GENERATOR: from pypy.interpreter.generator import GeneratorIterator return GeneratorIterator(self) else: > return self.execute_frame() interpreter/pyframe.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 24 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:290: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 24 e = SyntaxError("Non-ASCII character '\\xe2' in file /build_dir/own-linux-x86-32/b..., ('/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py', 423, 0, None)) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:943: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 24 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:286: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 24 pycode = next_instr = 0L ec = def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 24 co_code = '|\x00\x00\xc9\x00\x00d\x01\x00d\x02\x00d\x03\x00g\x02\x00\xca\x02\x00}\x01\x00|\x01\x00\xc9\x01\x00d\x04\x00\xca\x01\...\xcc\x18\x00|\x01\x00\xc9\x07\x00\xca\x00\x00d\x04\x00k\x02\x00st\x00t\x04\x00\x82\x01\x00|\x01\x00`\x03\x00d\x00\x00S' next_instr = 0L ec = def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 24 co_code = '|\x00\x00\xc9\x00\x00d\x01\x00d\x02\x00d\x03\x00g\x02\x00\xca\x02\x00}\x01\x00|\x01\x00\xc9\x01\x00d\x04\x00\xca\x01\...\xcc\x18\x00|\x01\x00\xc9\x07\x00\xca\x00\x00d\x04\x00k\x02\x00st\x00t\x04\x00\x82\x01\x00|\x01\x00`\x03\x00d\x00\x00S' next_instr = 85L ec = @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: self.last_instr = intmask(next_instr) if jit.we_are_jitted(): if self.debugdata: ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: ec.bytecode_trace(self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) next_instr += 1 if opcode >= HAVE_ARGUMENT: lo = ord(co_code[next_instr]) hi = ord(co_code[next_instr+1]) next_instr += 2 oparg = (hi * 256) | lo else: oparg = 0 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into a switch(). while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption lo = ord(co_code[next_instr+1]) hi = ord(co_code[next_instr+2]) next_instr += 3 oparg = (oparg * 65536) | (hi * 256) | lo if opcode == opcodedesc.RETURN_VALUE.index: if not self.blockstack_non_empty(): self.frame_finished_execution = True # for generators raise Return w_returnvalue = self.popvalue() block = self.unrollstack(SReturnValue.kind) if block is None: self.pushvalue(w_returnvalue) raise Return else: unroller = SReturnValue(w_returnvalue) next_instr = block.handle(self, unroller) return next_instr # now inside a 'finally' block elif opcode == opcodedesc.END_FINALLY.index: unroller = self.end_finally() if isinstance(unroller, SuspendedUnroller): # go on unrolling the stack block = self.unrollstack(unroller.kind) if block is None: w_result = unroller.nomoreblocks() self.pushvalue(w_result) raise Return else: next_instr = block.handle(self, unroller) return next_instr elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, ec) elif opcode == opcodedesc.BREAK_LOOP.index: next_instr = self.BREAK_LOOP(oparg, next_instr) elif opcode == opcodedesc.CONTINUE_LOOP.index: return self.CONTINUE_LOOP(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: next_instr = self.JUMP_IF_FALSE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_DEBUG.index: next_instr = self.JUMP_IF_NOT_DEBUG(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: next_instr = self.JUMP_IF_TRUE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: next_instr = self.POP_JUMP_IF_FALSE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: next_instr = self.POP_JUMP_IF_TRUE(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_DIVIDE.index: self.BINARY_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CLASS.index: self.BUILD_CLASS(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR.index: self.CALL_FUNCTION_VAR(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR_KW.index: self.CALL_FUNCTION_VAR_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: self.CALL_METHOD(oparg, next_instr) elif opcode == opcodedesc.COMPARE_OP.index: self.COMPARE_OP(oparg, next_instr) elif opcode == opcodedesc.DELETE_ATTR.index: self.DELETE_ATTR(oparg, next_instr) elif opcode == opcodedesc.DELETE_FAST.index: self.DELETE_FAST(oparg, next_instr) elif opcode == opcodedesc.DELETE_GLOBAL.index: self.DELETE_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.DELETE_NAME.index: self.DELETE_NAME(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_0.index: self.DELETE_SLICE_0(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_1.index: self.DELETE_SLICE_1(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_2.index: self.DELETE_SLICE_2(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_3.index: self.DELETE_SLICE_3(oparg, next_instr) elif opcode == opcodedesc.DELETE_SUBSCR.index: self.DELETE_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.DUP_TOP.index: self.DUP_TOP(oparg, next_instr) elif opcode == opcodedesc.DUP_TOPX.index: self.DUP_TOPX(oparg, next_instr) elif opcode == opcodedesc.EXEC_STMT.index: self.EXEC_STMT(oparg, next_instr) elif opcode == opcodedesc.GET_ITER.index: self.GET_ITER(oparg, next_instr) elif opcode == opcodedesc.IMPORT_FROM.index: self.IMPORT_FROM(oparg, next_instr) elif opcode == opcodedesc.IMPORT_NAME.index: self.IMPORT_NAME(oparg, next_instr) elif opcode == opcodedesc.IMPORT_STAR.index: self.IMPORT_STAR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_ADD.index: self.INPLACE_ADD(oparg, next_instr) elif opcode == opcodedesc.INPLACE_AND.index: self.INPLACE_AND(oparg, next_instr) elif opcode == opcodedesc.INPLACE_DIVIDE.index: self.INPLACE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_FLOOR_DIVIDE.index: self.INPLACE_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_LSHIFT.index: self.INPLACE_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MODULO.index: self.INPLACE_MODULO(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MULTIPLY.index: self.INPLACE_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.INPLACE_OR.index: self.INPLACE_OR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_POWER.index: self.INPLACE_POWER(oparg, next_instr) elif opcode == opcodedesc.INPLACE_RSHIFT.index: self.INPLACE_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_SUBTRACT.index: self.INPLACE_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_TRUE_DIVIDE.index: self.INPLACE_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_XOR.index: self.INPLACE_XOR(oparg, next_instr) elif opcode == opcodedesc.LIST_APPEND.index: self.LIST_APPEND(oparg, next_instr) elif opcode == opcodedesc.LOAD_ATTR.index: self.LOAD_ATTR(oparg, next_instr) elif opcode == opcodedesc.LOAD_CLOSURE.index: self.LOAD_CLOSURE(oparg, next_instr) elif opcode == opcodedesc.LOAD_CONST.index: self.LOAD_CONST(oparg, next_instr) elif opcode == opcodedesc.LOAD_DEREF.index: self.LOAD_DEREF(oparg, next_instr) elif opcode == opcodedesc.LOAD_FAST.index: self.LOAD_FAST(oparg, next_instr) elif opcode == opcodedesc.LOAD_GLOBAL.index: self.LOAD_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.LOAD_LOCALS.index: self.LOAD_LOCALS(oparg, next_instr) elif opcode == opcodedesc.LOAD_NAME.index: self.LOAD_NAME(oparg, next_instr) elif opcode == opcodedesc.LOOKUP_METHOD.index: > self.LOOKUP_METHOD(oparg, next_instr) interpreter/pyopcode.py:356: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = at line 24 nameindex = 6, ignored = (85L,) MutableCell = space = StdObjSpace w_obj = def LOOKUP_METHOD(f, nameindex, *ignored): from pypy.objspace.std.typeobject import MutableCell # stack before after # -------------- --fast-method----fallback-case------------ # # w_object None # w_object => w_function w_boundmethod_or_whatever # (more stuff) (more stuff) (more stuff) # space = f.space w_obj = f.popvalue() if not jit.we_are_jitted(): # mapdict has an extra-fast version of this function if LOOKUP_METHOD_mapdict(f, nameindex, w_obj): return w_name = f.getname_w(nameindex) w_value = None w_type = space.type(w_obj) if w_type.has_object_getattribute(): name = space.text_w(w_name) # bit of a mess to use these internal functions, but it allows the # mapdict caching below to work without an additional lookup version_tag = w_type.version_tag() if version_tag is None: _, w_descr = w_type._lookup_where(name) w_descr_cell = None else: _, w_descr_cell = w_type._pure_lookup_where_with_method_cache( name, version_tag) w_descr = w_descr_cell if isinstance(w_descr, MutableCell): w_descr = w_descr.unwrap_cell(space) if w_descr is None: # this handles directly the common case # module.function(args..) > w_value = w_obj.getdictvalue(space, name) objspace/std/callmethod.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def getdictvalue(self, space, name): w_value = space.finditem_str(self.w_dict, name) if self.lazy and w_value is None: > return self._load_lazily(space, name) interpreter/mixedmodule.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def _load_lazily(self, space, name): w_name = space.new_interned_str(name) try: loader = self.loaders[name] except KeyError: return None else: > w_value = loader(space) interpreter/mixedmodule.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace def ifileloader(space): d = {'space':space} # EVIL HACK (but it works, and this is not RPython :-) while 1: try: value = eval(spec, d) except NameError as ex: name = ex.args[0].split("'")[1] # super-Evil if name in d: raise # propagate the NameError try: > d[name] = __import__(pkgroot+'.'+name, None, None, [name]) interpreter/mixedmodule.py:182: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from pypy.interpreter.gateway import unwrap_spec from pypy.interpreter.error import oefmt from rpython.rlib import rgc > from pypy.module.gc.hook import W_GcCollectStepStats module/gc/interp_gc.py:4: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from rpython.memory.gc.hook import GcHooks > from rpython.memory.gc import incminimark module/gc/hook.py:2: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ # XXX Should find a way to bound the major collection threshold by the # XXX total addressable size. Maybe by keeping some minimarkpage arenas # XXX pre-reserved, enough for a few nursery collections? What about # XXX raw-malloced memory? # XXX try merging old_objects_pointing_to_pinned into # XXX old_objects_pointing_to_young (IRC 2014-10-22, fijal and gregor_w) import sys import os import time from rpython.rtyper.lltypesystem import lltype, llmemory, llarena, llgroup from rpython.rtyper.lltypesystem.lloperation import llop from rpython.rtyper.lltypesystem.llmemory import raw_malloc_usage from rpython.memory.gc.base import GCBase, MovingGCBase > from rpython.memory.gc import env E File "/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py", line 423 E SyntaxError: Non-ASCII character '\xe2' in file /build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py on line 423, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details ../rpython/memory/gc/incminimark.py:70: SyntaxError ---------- Captured stderr call ---------- DONE DONE DONE DONE DONE DONE DONE DONE DONE DONE DONE DONE DONE DONE (somefailed=True in module/cpyext/test/test_capsule.py) . pypy/module/cpyext/test/test_cell.py::AppTestCell::()::test_cell_type . pypy/module/cpyext/test/test_bytesobject.py::AppTestBytesObject::()::test_bytesobject . pypy/module/cpyext/test/test_bytesobject.py::AppTestBytesObject::()::test_bytes_buffer_init . pypy/module/cpyext/test/test_bytesobject.py::AppTestBytesObject::()::test_bytes_tp_alloc . pypy/module/cpyext/test/test_bytesobject.py::AppTestBytesObject::()::test_AsString . pypy/module/cpyext/test/test_bytesobject.py::AppTestBytesObject::()::test_manipulations . pypy/module/cpyext/test/test_bytesobject.py::AppTestBytesObject::()::test_py_bytes_as_string_None . pypy/module/cpyext/test/test_bytesobject.py::AppTestBytesObject::()::test_AsStringAndSize . pypy/module/cpyext/test/test_bytesobject.py::AppTestBytesObject::()::test_py_string_as_string_Unicode . pypy/module/cpyext/test/test_bytesobject.py::AppTestBytesObject::()::test_format_v . pypy/module/cpyext/test/test_bytesobject.py::AppTestBytesObject::()::test_format . pypy/module/cpyext/test/test_bytesobject.py::AppTestBytesObject::()::test_intern_inplace . pypy/module/cpyext/test/test_bytesobject.py::AppTestBytesObject::()::test_bytes_macros . pypy/module/cpyext/test/test_bytesobject.py::AppTestBytesObject::()::test_hash_and_state . pypy/module/cpyext/test/test_bytesobject.py::AppTestBytesObject::()::test_subclass . pypy/module/cpyext/test/test_bytesobject.py::TestBytes::()::test_bytes_resize . pypy/module/cpyext/test/test_bytesobject.py::TestBytes::()::test_string_buffer . pypy/module/cpyext/test/test_bytesobject.py::TestBytes::()::test_Concat . pypy/module/cpyext/test/test_bytesobject.py::TestBytes::()::test_ConcatAndDel . pypy/module/cpyext/test/test_bytesobject.py::TestBytes::()::test_format . pypy/module/cpyext/test/test_bytesobject.py::TestBytes::()::test_asbuffer . pypy/module/cpyext/test/test_bytesobject.py::TestBytes::()::test_intern . pypy/module/cpyext/test/test_bytesobject.py::TestBytes::()::test_AsEncodedObject . pypy/module/cpyext/test/test_bytesobject.py::TestBytes::()::test_AsDecodedObject . pypy/module/cpyext/test/test_bytesobject.py::TestBytes::()::test_eq . pypy/module/cpyext/test/test_bytesobject.py::TestBytes::()::test_join . pypy/module/cpyext/test/test_classobject.py::TestClassObject::()::test_newinstance . pypy/module/cpyext/test/test_classobject.py::TestClassObject::()::test_lookup . pypy/module/cpyext/test/test_classobject.py::TestClassObject::()::test_pyclass_new . pypy/module/cpyext/test/test_classobject.py::AppTestStringObject::()::test_class_type . pypy/module/cpyext/test/test_classobject.py::AppTestStringObject::()::test_pyclass_new_no_bases . pypy/module/cpyext/test/test_codecs.py::TestCodecs::()::test_incremental . pypy/module/cpyext/test/test_codecs.py::TestCodecs::()::test_encoder_decoder . pypy/module/cpyext/test/test_complexobject.py::TestComplexObject::()::test_complexobject . pypy/module/cpyext/test/test_complexobject.py::AppTestCComplex::()::test_AsCComplex . pypy/module/cpyext/test/test_complexobject.py::AppTestCComplex::()::test_FromCComplex . pypy/module/cpyext/test/test_complexobject.py::AppTestCComplex::()::test_PyComplex_to_WComplex . pypy/module/cpyext/test/test_complexobject.py::AppTestCComplex::()::test_WComplex_to_PyComplex . pypy/module/cpyext/test/test_datetime.py::TestDatetime::()::test_date . pypy/module/cpyext/test/test_datetime.py::TestDatetime::()::test_time . pypy/module/cpyext/test/test_datetime.py::TestDatetime::()::test_datetime . pypy/module/cpyext/test/test_datetime.py::TestDatetime::()::test_delta . pypy/module/cpyext/test/test_datetime.py::TestDatetime::()::test_fromtimestamp . pypy/module/cpyext/test/test_datetime.py::TestDatetime::()::test_basicsize[Time] . pypy/module/cpyext/test/test_datetime.py::TestDatetime::()::test_basicsize[DateTime] . pypy/module/cpyext/test/test_datetime.py::TestDatetime::()::test_basicsize[Date] . pypy/module/cpyext/test/test_datetime.py::TestDatetime::()::test_basicsize[Delta] . pypy/module/cpyext/test/test_datetime.py::AppTestDatetime::()::test_CAPI . pypy/module/cpyext/test/test_datetime.py::AppTestDatetime::()::test_constructors . pypy/module/cpyext/test/test_datetime.py::AppTestDatetime::()::test_macros . pypy/module/cpyext/test/test_datetime.py::AppTestDatetime::()::test_tzinfo . pypy/module/cpyext/test/test_datetime.py::AppTestDatetime::()::test_checks . pypy/module/cpyext/test/test_cpyext.py::TestApi::()::test_signature . pypy/module/cpyext/test/test_cpyext.py::AppTestApi::()::test_only_import . pypy/module/cpyext/test/test_cpyext.py::AppTestApi::()::test_load_error s pypy/module/cpyext/test/test_cpyext.py::AppTestApi::()::test_dllhandle Skipped: Windows Python >= 2.6 only . pypy/module/cpyext/test/test_cpyext.py::AppTestCpythonExtension::()::test_createmodule . pypy/module/cpyext/test/test_cpyext.py::AppTestCpythonExtension::()::test_export_function . pypy/module/cpyext/test/test_cpyext.py::AppTestCpythonExtension::()::test_export_docstring . pypy/module/cpyext/test/test_cpyext.py::AppTestCpythonExtension::()::test_InitModule4 . pypy/module/cpyext/test/test_cpyext.py::AppTestCpythonExtension::()::test_load_dynamic . pypy/module/cpyext/test/test_cpyext.py::AppTestCpythonExtension::()::test_InitModule4_dotted . pypy/module/cpyext/test/test_cpyext.py::AppTestCpythonExtension::()::test_InitModule4_in_package . pypy/module/cpyext/test/test_cpyext.py::AppTestCpythonExtension::()::test_recursive_package_import . pypy/module/cpyext/test/test_cpyext.py::AppTestCpythonExtension::()::test_modinit_func s pypy/module/cpyext/test/test_cpyext.py::AppTestCpythonExtension::()::test_export_function2 Skipped: Hmm, how to check for the exception? . pypy/module/cpyext/test/test_cpyext.py::AppTestCpythonExtension::()::test_argument . pypy/module/cpyext/test/test_cpyext.py::AppTestCpythonExtension::()::test_exception . pypy/module/cpyext/test/test_cpyext.py::AppTestCpythonExtension::()::test_refcount . pypy/module/cpyext/test/test_cpyext.py::AppTestCpythonExtension::()::test_init_exception . pypy/module/cpyext/test/test_cpyext.py::AppTestCpythonExtension::()::test_internal_exceptions . pypy/module/cpyext/test/test_cpyext.py::AppTestCpythonExtension::()::test_new_exception . pypy/module/cpyext/test/test_cpyext.py::AppTestCpythonExtension::()::test_hash_pointer . pypy/module/cpyext/test/test_cpyext.py::AppTestCpythonExtension::()::test_types . pypy/module/cpyext/test/test_cpyext.py::AppTestCpythonExtension::()::test_get_programname . pypy/module/cpyext/test/test_cpyext.py::AppTestCpythonExtension::()::test_get_version . pypy/module/cpyext/test/test_cpyext.py::AppTestCpythonExtension::()::test_no_double_imports . pypy/module/cpyext/test/test_cpyext.py::AppTestCpythonExtension::()::test_no_structmember . pypy/module/cpyext/test/test_cpyext.py::AppTestCpythonExtension::()::test_consistent_flags . pypy/module/cpyext/test/test_dictobject.py::TestDictObject::()::test_dict . pypy/module/cpyext/test/test_dictobject.py::TestDictObject::()::test_check . pypy/module/cpyext/test/test_dictobject.py::TestDictObject::()::test_keys . pypy/module/cpyext/test/test_dictobject.py::TestDictObject::()::test_merge . pypy/module/cpyext/test/test_dictobject.py::TestDictObject::()::test_update . pypy/module/cpyext/test/test_dictobject.py::TestDictObject::()::test_update_doesnt_accept_list_of_tuples . pypy/module/cpyext/test/test_dictobject.py::TestDictObject::()::test_dictproxy . pypy/module/cpyext/test/test_dictobject.py::TestDictObject::()::test_typedict1 . pypy/module/cpyext/test/test_dictobject.py::AppTestDictObject::()::test_dictproxytype . pypy/module/cpyext/test/test_dictobject.py::AppTestDictObject::()::test_getitemwitherror . pypy/module/cpyext/test/test_dictobject.py::AppTestDictObject::()::test_update . pypy/module/cpyext/test/test_dictobject.py::AppTestDictObject::()::test_iter . pypy/module/cpyext/test/test_dictobject.py::AppTestDictObject::()::test_iterkeys . pypy/module/cpyext/test/test_dictobject.py::AppTestDictObject::()::test_typedict2 . pypy/module/cpyext/test/test_dictobject.py::AppTestDictObject::()::test_advanced . pypy/module/cpyext/test/test_dictobject.py::AppTestDictObject::()::test_subclassing . pypy/module/cpyext/test/test_dictobject.py::AppTestDictObject::()::test_getitem_error . pypy/module/cpyext/test/test_dictobject.py::AppTestDictObject::()::test_contains . pypy/module/cpyext/test/test_eval.py::TestEval::()::test_eval . pypy/module/cpyext/test/test_eval.py::TestEval::()::test_call_object . pypy/module/cpyext/test/test_eval.py::TestEval::()::test_evalcode . pypy/module/cpyext/test/test_eval.py::TestEval::()::test_run_simple_string . pypy/module/cpyext/test/test_eval.py::TestEval::()::test_run_string . pypy/module/cpyext/test/test_eval.py::TestEval::()::test_run_string_flags . pypy/module/cpyext/test/test_eval.py::TestEval::()::test_run_file . pypy/module/cpyext/test/test_eval.py::TestEval::()::test_getbuiltins . pypy/module/cpyext/test/test_eval.py::TestEval::()::test_getglobals . pypy/module/cpyext/test/test_eval.py::TestEval::()::test_sliceindex . pypy/module/cpyext/test/test_eval.py::TestEval::()::test_atexit . pypy/module/cpyext/test/test_eval.py::AppTestCall::()::test_CallFunction . pypy/module/cpyext/test/test_eval.py::AppTestCall::()::test_CallFunction_PY_SSIZE_T_CLEAN . pypy/module/cpyext/test/test_eval.py::AppTestCall::()::test_CallFunctionObjArgs . pypy/module/cpyext/test/test_eval.py::AppTestCall::()::test_CompileString_and_Exec . pypy/module/cpyext/test/test_eval.py::AppTestCall::()::test_merge_compiler_flags . pypy/module/cpyext/test/test_eval.py::AppTestCall::()::test_recursive_function . pypy/module/cpyext/test/test_eval.py::AppTestCall::()::test_build_class . pypy/module/cpyext/test/test_eval.py::AppTestCall::()::test_getframe . pypy/module/cpyext/test/test_fileobject.py::AppTestFileObject::()::test_defaultencoding . pypy/module/cpyext/test/test_floatobject.py::TestFloatObject::()::test_floatobject . pypy/module/cpyext/test/test_floatobject.py::TestFloatObject::()::test_coerce . pypy/module/cpyext/test/test_floatobject.py::TestFloatObject::()::test_unpack . pypy/module/cpyext/test/test_floatobject.py::AppTestFloatObject::()::test_fromstring . pypy/module/cpyext/test/test_floatobject.py::AppTestFloatMacros::()::test_return_nan . pypy/module/cpyext/test/test_floatobject.py::AppTestFloatMacros::()::test_return_inf . pypy/module/cpyext/test/test_floatobject.py::AppTestFloatMacros::()::test_return_inf_negative . pypy/module/cpyext/test/test_floatobject.py::AppTestFloatMacros::()::test_macro_accepts_wrong_pointer_type . pypy/module/cpyext/test/test_floatobject.py::AppTestFloatMacros::()::test_PyFloat_Check . pypy/module/cpyext/test/test_floatobject.py::AppTestFloatMacros::()::test_pymath_consts . pypy/module/cpyext/test/test_floatobject.py::AppTestFloatMacros::()::test_Py_IS_NAN . pypy/module/cpyext/test/test_floatobject.py::AppTestFloatMacros::()::test_Py_IS_INFINITY . pypy/module/cpyext/test/test_floatobject.py::AppTestFloatMacros::()::test_Py_IS_FINITE . pypy/module/cpyext/test/test_floatobject.py::AppTestFloatMacros::()::test_Py_HUGE_VAL . pypy/module/cpyext/test/test_floatobject.py::AppTestFloatMacros::()::test_Py_NAN . pypy/module/cpyext/test/test_frameobject.py::AppTestFrameObject::()::test_forge_frame . pypy/module/cpyext/test/test_frameobject.py::AppTestFrameObject::()::test_traceback_check . pypy/module/cpyext/test/test_genobject.py::TestGenObject::()::test_genobject . pypy/module/cpyext/test/test_funcobject.py::TestFunctionObject::()::test_function . pypy/module/cpyext/test/test_funcobject.py::TestFunctionObject::()::test_method . pypy/module/cpyext/test/test_funcobject.py::TestFunctionObject::()::test_getcode . pypy/module/cpyext/test/test_funcobject.py::TestFunctionObject::()::test_co_flags . pypy/module/cpyext/test/test_funcobject.py::TestFunctionObject::()::test_newcode . pypy/module/cpyext/test/test_funcobject.py::TestFunctionObject::()::test_getnumfree . pypy/module/cpyext/test/test_funcobject.py::TestFunctionObject::()::test_classmethod . pypy/module/cpyext/test/test_import.py::TestImport::()::test_import . pypy/module/cpyext/test/test_import.py::TestImport::()::test_addmodule . pypy/module/cpyext/test/test_import.py::TestImport::()::test_getmoduledict . pypy/module/cpyext/test/test_import.py::TestImport::()::test_reload . pypy/module/cpyext/test/test_import.py::TestImport::()::test_lock . pypy/module/cpyext/test/test_import.py::AppTestImportLogic::()::test_import_logic . pypy/module/cpyext/test/test_getargs.py::AppTestGetargs::()::test_pyarg_parse_int . pypy/module/cpyext/test/test_getargs.py::AppTestGetargs::()::test_pyarg_parse_fromname . pypy/module/cpyext/test/test_getargs.py::AppTestGetargs::()::test_pyarg_parse_object . pypy/module/cpyext/test/test_getargs.py::AppTestGetargs::()::test_pyarg_parse_restricted_object_type . pypy/module/cpyext/test/test_getargs.py::AppTestGetargs::()::test_pyarg_parse_one_optional . pypy/module/cpyext/test/test_getargs.py::AppTestGetargs::()::test_pyarg_parse_string_py_buffer . pypy/module/cpyext/test/test_getargs.py::AppTestGetargs::()::test_pyarg_parse_string_old_buffer . pypy/module/cpyext/test/test_getargs.py::AppTestGetargs::()::test_pyarg_parse_string_fails . pypy/module/cpyext/test/test_getargs.py::AppTestGetargs::()::test_pyarg_parse_charbuf_and_length . pypy/module/cpyext/test/test_getargs.py::AppTestGetargs::()::test_pyarg_parse_without_py_ssize_t . pypy/module/cpyext/test/test_getargs.py::AppTestGetargs::()::test_pyarg_parse_with_py_ssize_t . pypy/module/cpyext/test/test_iterator.py::TestIterator::()::test_check_iter . pypy/module/cpyext/test/test_iterator.py::TestIterator::()::test_getIter . pypy/module/cpyext/test/test_iterator.py::TestIterator::()::test_iternext_error . pypy/module/cpyext/test/test_iterator.py::AppTestIterator::()::test_noniterable_object_with_mapping_interface . pypy/module/cpyext/test/test_iterator.py::AppTestIterator::()::test_iterable_nonmapping_object . pypy/module/cpyext/test/test_intobject.py::TestIntObject::()::test_intobject . pypy/module/cpyext/test/test_intobject.py::TestIntObject::()::test_freelist_direct . pypy/module/cpyext/test/test_intobject.py::TestIntObject::()::test_freelist_make_ref . pypy/module/cpyext/test/test_intobject.py::TestIntObject::()::test_freelist_int_subclass . pypy/module/cpyext/test/test_intobject.py::TestIntObject::()::test_coerce . pypy/module/cpyext/test/test_intobject.py::AppTestIntObject::()::test_fromstring . pypy/module/cpyext/test/test_intobject.py::AppTestIntObject::()::test_size_t . pypy/module/cpyext/test/test_intobject.py::AppTestIntObject::()::test_int_subtype . pypy/module/cpyext/test/test_intobject.py::AppTestIntObject::()::test_int_cast . pypy/module/cpyext/test/test_intobject.py::AppTestIntObject::()::test_int_macros . pypy/module/cpyext/test/test_listobject.py::TestListObject::()::test_list . pypy/module/cpyext/test/test_listobject.py::TestListObject::()::test_get_size . pypy/module/cpyext/test/test_listobject.py::TestListObject::()::test_size . pypy/module/cpyext/test/test_listobject.py::TestListObject::()::test_insert . pypy/module/cpyext/test/test_listobject.py::TestListObject::()::test_sort . pypy/module/cpyext/test/test_listobject.py::TestListObject::()::test_reverse . pypy/module/cpyext/test/test_listobject.py::TestListObject::()::test_list_tuple . pypy/module/cpyext/test/test_listobject.py::TestListObject::()::test_list_getslice . pypy/module/cpyext/test/test_listobject.py::AppTestListObject::()::test_basic_listobject . pypy/module/cpyext/test/test_listobject.py::AppTestListObject::()::test_list_macros . pypy/module/cpyext/test/test_listobject.py::AppTestListObject::()::test_get_item_macro . pypy/module/cpyext/test/test_listobject.py::AppTestListObject::()::test_item_refcounts . pypy/module/cpyext/test/test_mapping.py::TestMapping::()::test_check . pypy/module/cpyext/test/test_mapping.py::TestMapping::()::test_size . pypy/module/cpyext/test/test_mapping.py::TestMapping::()::test_keys . pypy/module/cpyext/test/test_mapping.py::TestMapping::()::test_setitemstring . pypy/module/cpyext/test/test_mapping.py::TestMapping::()::test_haskey . pypy/module/cpyext/test/test_mapping.py::AppTestMapping::()::test_getitemstring_returns_new_but_borrowed_ref . pypy/module/cpyext/test/test_marshal.py::AppTestMarshal::()::test_PyMarshal_ReadObjectFromString . pypy/module/cpyext/test/test_marshal.py::AppTestMarshal::()::test_PyMarshal_WriteObjectToString . pypy/module/cpyext/test/test_longobject.py::TestLongObject::()::test_FromLong . pypy/module/cpyext/test/test_longobject.py::TestLongObject::()::test_aslong . pypy/module/cpyext/test/test_longobject.py::TestLongObject::()::test_as_ssize_t . pypy/module/cpyext/test/test_longobject.py::TestLongObject::()::test_fromdouble . pypy/module/cpyext/test/test_longobject.py::TestLongObject::()::test_type_check . pypy/module/cpyext/test/test_longobject.py::TestLongObject::()::test_as_longlong . pypy/module/cpyext/test/test_longobject.py::TestLongObject::()::test_as_long_and_overflow . pypy/module/cpyext/test/test_longobject.py::TestLongObject::()::test_as_longlong_and_overflow . pypy/module/cpyext/test/test_longobject.py::TestLongObject::()::test_as_voidptr . pypy/module/cpyext/test/test_longobject.py::TestLongObject::()::test_sign_and_bits . pypy/module/cpyext/test/test_longobject.py::AppTestLongObject::()::test_fromunsignedlong . pypy/module/cpyext/test/test_longobject.py::AppTestLongObject::()::test_fromlonglong . pypy/module/cpyext/test/test_longobject.py::AppTestLongObject::()::test_from_size_t . pypy/module/cpyext/test/test_longobject.py::AppTestLongObject::()::test_fromstring . pypy/module/cpyext/test/test_longobject.py::AppTestLongObject::()::test_frombytearray . pypy/module/cpyext/test/test_longobject.py::AppTestLongObject::()::test_frombytearray_2 . pypy/module/cpyext/test/test_longobject.py::AppTestLongObject::()::test_asbytearray . pypy/module/cpyext/test/test_longobject.py::AppTestLongObject::()::test_fromunicode . pypy/module/cpyext/test/test_longobject.py::AppTestLongObject::()::test_strtol . pypy/module/cpyext/test/test_longobject.py::AppTestLongObject::()::test_slots . pypy/module/cpyext/test/test_module.py::TestModuleObject::()::test_module_new . pypy/module/cpyext/test/test_module.py::TestModuleObject::()::test_module_getname . pypy/module/cpyext/test/test_misc.py::AppTestMisc::()::test_pyos_inputhook . pypy/module/cpyext/test/test_memoryobject.py::TestMemoryViewObject::()::test_frombuffer . pypy/module/cpyext/test/test_memoryobject.py::TestMemoryViewObject::()::test_class_with___buffer__ . pypy/module/cpyext/test/test_memoryobject.py::AppTestPyBuffer_FillInfo::()::test_fillWithObject . pypy/module/cpyext/test/test_memoryobject.py::AppTestBufferProtocol::()::test_fromobject . pypy/module/cpyext/test/test_memoryobject.py::AppTestBufferProtocol::()::test_buffer_protocol_app s pypy/module/cpyext/test/test_memoryobject.py::AppTestBufferProtocol::()::test_buffer_protocol_capi Skipped: not implemented yet . pypy/module/cpyext/test/test_memoryobject.py::AppTestBufferProtocol::()::test_releasebuffer . pypy/module/cpyext/test/test_memoryobject.py::AppTestBufferInfo::()::test_buffer_info . pypy/module/cpyext/test/test_methodobject.py::AppTestMethodObject::()::test_call_METH_NOARGS . pypy/module/cpyext/test/test_methodobject.py::AppTestMethodObject::()::test_call_METH_O . pypy/module/cpyext/test/test_methodobject.py::AppTestMethodObject::()::test_call_METH_VARARGS . pypy/module/cpyext/test/test_methodobject.py::AppTestMethodObject::()::test_call_METH_OLDARGS . pypy/module/cpyext/test/test_methodobject.py::AppTestMethodObject::()::test_call_METH_KEYWORDS . pypy/module/cpyext/test/test_methodobject.py::AppTestMethodObject::()::test_func_attributes . pypy/module/cpyext/test/test_methodobject.py::AppTestMethodObject::()::test_function_as_method . pypy/module/cpyext/test/test_methodobject.py::AppTestMethodObject::()::test_check . pypy/module/cpyext/test/test_methodobject.py::AppTestMethodObject::()::test_module_attribute . pypy/module/cpyext/test/test_methodobject.py::AppTestMethodObject::()::test_callfunc . pypy/module/cpyext/test/test_methodobject.py::AppTestMethodObject::()::test_wrapper F pypy/module/cpyext/test/test_pycobject.py::AppTestStringObject::()::test_pycobject_import self = func = at 0xf765d144>, 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, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 0xf7a6d32c> hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf4d79bac>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf4d79bac>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf41dfe0c> 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 0xf41dfe0c> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf41dfe4c> 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 0xf41dfe4c> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def runtest(self): target = self.obj if self.config.option.runappdirect: return target() space = target.im_self.space filename = self._getdynfilename(target) func = app2interp_temp(target.im_func, filename=filename) w_instance = self.parent.w_instance > self.execute_appex(space, func, space, w_instance) tool/pytest/apptest.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , space = StdObjSpace target = args = (StdObjSpace, ) def execute_appex(self, space, target, *args): self.space = space try: > target(*args) tool/pytest/apptest.py:30: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace args_w = (,) w_func = args = def appcaller(space, *args_w): if not isinstance(space, ObjSpace): raise TypeError("first argument must be a space instance.") # the last argument can be an Arguments w_func = self.wget(space, name) if not args_w: return space.call_function(w_func) else: args = args_w[-1] assert args is not None if not isinstance(args, Arguments): > return space.call_function(w_func, *args_w) interpreter/gateway.py:1227: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = args_w = (,) nargs = 1, Function = Method = def call_function(self, w_func, *args_w): nargs = len(args_w) # used for pruning funccall versions if not self.config.objspace.disable_call_speedhacks and nargs < 5: # start of hack for performance from pypy.interpreter.function import Function, Method if isinstance(w_func, Method): w_inst = w_func.w_instance if w_inst is not None: if nargs < 4: func = w_func.w_function if isinstance(func, Function): return func.funccall(w_inst, *args_w) elif args_w and ( self.abstract_isinstance_w(args_w[0], w_func.w_class)): w_func = w_func.w_function if isinstance(w_func, Function): > return w_func.funccall(*args_w) interpreter/baseobjspace.py:1210: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = args_w = (,) gateway = PyCode = code = def funccall(self, *args_w): # speed hack from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit nargs = len(args_w) fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, args_w[0]) elif nargs == 2: assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, args_w[0], args_w[1]) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) return code.fastcall_3(self.space, self, args_w[0], args_w[1], args_w[2]) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) return code.fastcall_4(self.space, self, args_w[0], args_w[1], args_w[2], args_w[3]) elif (nargs | PyCode.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) if nargs < 5: new_frame = self.space.createframe(code, self.w_func_globals, self) for i in funccallunrolling: if i < nargs: new_frame.locals_cells_stack_w[i] = args_w[i] > return new_frame.run() interpreter/function.py:118: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 24 def run(self): """Start this frame's execution.""" if self.getcode().co_flags & pycode.CO_GENERATOR: from pypy.interpreter.generator import GeneratorIterator return GeneratorIterator(self) else: > return self.execute_frame() interpreter/pyframe.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 24 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:290: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 24 e = SyntaxError("Non-ASCII character '\\xe2' in file /build_dir/own-linux-x86-32/b..., ('/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py', 423, 0, None)) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:943: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 24 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:286: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 24 pycode = next_instr = 0L ec = def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 24 co_code = '|\x00\x00\xc9\x00\x00d\x01\x00d\x02\x00d\x03\x00g\x02\x00\xca\x02\x00}\x01\x00|\x01\x00\xc9\x01\x00d\x04\x00\xca\x01\...\xcc\x18\x00|\x01\x00\xc9\x07\x00\xca\x00\x00d\x04\x00k\x02\x00st\x00t\x04\x00\x82\x01\x00|\x01\x00`\x03\x00d\x00\x00S' next_instr = 0L ec = def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 24 co_code = '|\x00\x00\xc9\x00\x00d\x01\x00d\x02\x00d\x03\x00g\x02\x00\xca\x02\x00}\x01\x00|\x01\x00\xc9\x01\x00d\x04\x00\xca\x01\...\xcc\x18\x00|\x01\x00\xc9\x07\x00\xca\x00\x00d\x04\x00k\x02\x00st\x00t\x04\x00\x82\x01\x00|\x01\x00`\x03\x00d\x00\x00S' next_instr = 85L ec = @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: self.last_instr = intmask(next_instr) if jit.we_are_jitted(): if self.debugdata: ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: ec.bytecode_trace(self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) next_instr += 1 if opcode >= HAVE_ARGUMENT: lo = ord(co_code[next_instr]) hi = ord(co_code[next_instr+1]) next_instr += 2 oparg = (hi * 256) | lo else: oparg = 0 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into a switch(). while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption lo = ord(co_code[next_instr+1]) hi = ord(co_code[next_instr+2]) next_instr += 3 oparg = (oparg * 65536) | (hi * 256) | lo if opcode == opcodedesc.RETURN_VALUE.index: if not self.blockstack_non_empty(): self.frame_finished_execution = True # for generators raise Return w_returnvalue = self.popvalue() block = self.unrollstack(SReturnValue.kind) if block is None: self.pushvalue(w_returnvalue) raise Return else: unroller = SReturnValue(w_returnvalue) next_instr = block.handle(self, unroller) return next_instr # now inside a 'finally' block elif opcode == opcodedesc.END_FINALLY.index: unroller = self.end_finally() if isinstance(unroller, SuspendedUnroller): # go on unrolling the stack block = self.unrollstack(unroller.kind) if block is None: w_result = unroller.nomoreblocks() self.pushvalue(w_result) raise Return else: next_instr = block.handle(self, unroller) return next_instr elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, ec) elif opcode == opcodedesc.BREAK_LOOP.index: next_instr = self.BREAK_LOOP(oparg, next_instr) elif opcode == opcodedesc.CONTINUE_LOOP.index: return self.CONTINUE_LOOP(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: next_instr = self.JUMP_IF_FALSE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_DEBUG.index: next_instr = self.JUMP_IF_NOT_DEBUG(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: next_instr = self.JUMP_IF_TRUE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: next_instr = self.POP_JUMP_IF_FALSE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: next_instr = self.POP_JUMP_IF_TRUE(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_DIVIDE.index: self.BINARY_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CLASS.index: self.BUILD_CLASS(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR.index: self.CALL_FUNCTION_VAR(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR_KW.index: self.CALL_FUNCTION_VAR_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: self.CALL_METHOD(oparg, next_instr) elif opcode == opcodedesc.COMPARE_OP.index: self.COMPARE_OP(oparg, next_instr) elif opcode == opcodedesc.DELETE_ATTR.index: self.DELETE_ATTR(oparg, next_instr) elif opcode == opcodedesc.DELETE_FAST.index: self.DELETE_FAST(oparg, next_instr) elif opcode == opcodedesc.DELETE_GLOBAL.index: self.DELETE_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.DELETE_NAME.index: self.DELETE_NAME(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_0.index: self.DELETE_SLICE_0(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_1.index: self.DELETE_SLICE_1(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_2.index: self.DELETE_SLICE_2(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_3.index: self.DELETE_SLICE_3(oparg, next_instr) elif opcode == opcodedesc.DELETE_SUBSCR.index: self.DELETE_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.DUP_TOP.index: self.DUP_TOP(oparg, next_instr) elif opcode == opcodedesc.DUP_TOPX.index: self.DUP_TOPX(oparg, next_instr) elif opcode == opcodedesc.EXEC_STMT.index: self.EXEC_STMT(oparg, next_instr) elif opcode == opcodedesc.GET_ITER.index: self.GET_ITER(oparg, next_instr) elif opcode == opcodedesc.IMPORT_FROM.index: self.IMPORT_FROM(oparg, next_instr) elif opcode == opcodedesc.IMPORT_NAME.index: self.IMPORT_NAME(oparg, next_instr) elif opcode == opcodedesc.IMPORT_STAR.index: self.IMPORT_STAR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_ADD.index: self.INPLACE_ADD(oparg, next_instr) elif opcode == opcodedesc.INPLACE_AND.index: self.INPLACE_AND(oparg, next_instr) elif opcode == opcodedesc.INPLACE_DIVIDE.index: self.INPLACE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_FLOOR_DIVIDE.index: self.INPLACE_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_LSHIFT.index: self.INPLACE_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MODULO.index: self.INPLACE_MODULO(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MULTIPLY.index: self.INPLACE_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.INPLACE_OR.index: self.INPLACE_OR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_POWER.index: self.INPLACE_POWER(oparg, next_instr) elif opcode == opcodedesc.INPLACE_RSHIFT.index: self.INPLACE_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_SUBTRACT.index: self.INPLACE_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_TRUE_DIVIDE.index: self.INPLACE_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_XOR.index: self.INPLACE_XOR(oparg, next_instr) elif opcode == opcodedesc.LIST_APPEND.index: self.LIST_APPEND(oparg, next_instr) elif opcode == opcodedesc.LOAD_ATTR.index: self.LOAD_ATTR(oparg, next_instr) elif opcode == opcodedesc.LOAD_CLOSURE.index: self.LOAD_CLOSURE(oparg, next_instr) elif opcode == opcodedesc.LOAD_CONST.index: self.LOAD_CONST(oparg, next_instr) elif opcode == opcodedesc.LOAD_DEREF.index: self.LOAD_DEREF(oparg, next_instr) elif opcode == opcodedesc.LOAD_FAST.index: self.LOAD_FAST(oparg, next_instr) elif opcode == opcodedesc.LOAD_GLOBAL.index: self.LOAD_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.LOAD_LOCALS.index: self.LOAD_LOCALS(oparg, next_instr) elif opcode == opcodedesc.LOAD_NAME.index: self.LOAD_NAME(oparg, next_instr) elif opcode == opcodedesc.LOOKUP_METHOD.index: > self.LOOKUP_METHOD(oparg, next_instr) interpreter/pyopcode.py:356: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = at line 24 nameindex = 6, ignored = (85L,) MutableCell = space = StdObjSpace w_obj = def LOOKUP_METHOD(f, nameindex, *ignored): from pypy.objspace.std.typeobject import MutableCell # stack before after # -------------- --fast-method----fallback-case------------ # # w_object None # w_object => w_function w_boundmethod_or_whatever # (more stuff) (more stuff) (more stuff) # space = f.space w_obj = f.popvalue() if not jit.we_are_jitted(): # mapdict has an extra-fast version of this function if LOOKUP_METHOD_mapdict(f, nameindex, w_obj): return w_name = f.getname_w(nameindex) w_value = None w_type = space.type(w_obj) if w_type.has_object_getattribute(): name = space.text_w(w_name) # bit of a mess to use these internal functions, but it allows the # mapdict caching below to work without an additional lookup version_tag = w_type.version_tag() if version_tag is None: _, w_descr = w_type._lookup_where(name) w_descr_cell = None else: _, w_descr_cell = w_type._pure_lookup_where_with_method_cache( name, version_tag) w_descr = w_descr_cell if isinstance(w_descr, MutableCell): w_descr = w_descr.unwrap_cell(space) if w_descr is None: # this handles directly the common case # module.function(args..) > w_value = w_obj.getdictvalue(space, name) objspace/std/callmethod.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def getdictvalue(self, space, name): w_value = space.finditem_str(self.w_dict, name) if self.lazy and w_value is None: > return self._load_lazily(space, name) interpreter/mixedmodule.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def _load_lazily(self, space, name): w_name = space.new_interned_str(name) try: loader = self.loaders[name] except KeyError: return None else: > w_value = loader(space) interpreter/mixedmodule.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace def ifileloader(space): d = {'space':space} # EVIL HACK (but it works, and this is not RPython :-) while 1: try: value = eval(spec, d) except NameError as ex: name = ex.args[0].split("'")[1] # super-Evil if name in d: raise # propagate the NameError try: > d[name] = __import__(pkgroot+'.'+name, None, None, [name]) interpreter/mixedmodule.py:182: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from pypy.interpreter.gateway import unwrap_spec from pypy.interpreter.error import oefmt from rpython.rlib import rgc > from pypy.module.gc.hook import W_GcCollectStepStats module/gc/interp_gc.py:4: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from rpython.memory.gc.hook import GcHooks > from rpython.memory.gc import incminimark module/gc/hook.py:2: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ # XXX Should find a way to bound the major collection threshold by the # XXX total addressable size. Maybe by keeping some minimarkpage arenas # XXX pre-reserved, enough for a few nursery collections? What about # XXX raw-malloced memory? # XXX try merging old_objects_pointing_to_pinned into # XXX old_objects_pointing_to_young (IRC 2014-10-22, fijal and gregor_w) import sys import os import time from rpython.rtyper.lltypesystem import lltype, llmemory, llarena, llgroup from rpython.rtyper.lltypesystem.lloperation import llop from rpython.rtyper.lltypesystem.llmemory import raw_malloc_usage from rpython.memory.gc.base import GCBase, MovingGCBase > from rpython.memory.gc import env E File "/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py", line 423 E SyntaxError: Non-ASCII character '\xe2' in file /build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py on line 423, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details ../rpython/memory/gc/incminimark.py:70: SyntaxError ---------- Captured stderr call ---------- DONE DONE DONE DONE DONE DONE DONE DONE DONE (somefailed=True in module/cpyext/test/test_pycobject.py) . pypy/module/cpyext/test/test_ndarrayobject.py::TestNDArrayObject::()::test_Check . pypy/module/cpyext/test/test_ndarrayobject.py::TestNDArrayObject::()::test_FLAGS . pypy/module/cpyext/test/test_ndarrayobject.py::TestNDArrayObject::()::test_NDIM . pypy/module/cpyext/test/test_ndarrayobject.py::TestNDArrayObject::()::test_DIM . pypy/module/cpyext/test/test_ndarrayobject.py::TestNDArrayObject::()::test_STRIDE . pypy/module/cpyext/test/test_ndarrayobject.py::TestNDArrayObject::()::test_SIZE . pypy/module/cpyext/test/test_ndarrayobject.py::TestNDArrayObject::()::test_ITEMSIZE . pypy/module/cpyext/test/test_ndarrayobject.py::TestNDArrayObject::()::test_NBYTES . pypy/module/cpyext/test/test_ndarrayobject.py::TestNDArrayObject::()::test_TYPE . pypy/module/cpyext/test/test_ndarrayobject.py::TestNDArrayObject::()::test_DATA . pypy/module/cpyext/test/test_ndarrayobject.py::TestNDArrayObject::()::test_FromAny_scalar . pypy/module/cpyext/test/test_ndarrayobject.py::TestNDArrayObject::()::test_FromAny . pypy/module/cpyext/test/test_ndarrayobject.py::TestNDArrayObject::()::test_FromObject . pypy/module/cpyext/test/test_ndarrayobject.py::TestNDArrayObject::()::test_list_from_fixedptr . pypy/module/cpyext/test/test_ndarrayobject.py::TestNDArrayObject::()::test_list_from_openptr . pypy/module/cpyext/test/test_ndarrayobject.py::TestNDArrayObject::()::test_SimpleNew_scalar . pypy/module/cpyext/test/test_ndarrayobject.py::TestNDArrayObject::()::test_SimpleNewFromData_scalar . pypy/module/cpyext/test/test_ndarrayobject.py::TestNDArrayObject::()::test_SimpleNew . pypy/module/cpyext/test/test_ndarrayobject.py::TestNDArrayObject::()::test_SimpleNewFromData . pypy/module/cpyext/test/test_ndarrayobject.py::TestNDArrayObject::()::test_SimpleNewFromData_complex . pypy/module/cpyext/test/test_ndarrayobject.py::TestNDArrayObject::()::test_ndarray_ref . pypy/module/cpyext/test/test_ndarrayobject.py::AppTestNDArray::()::test_ndarray_object_c . pypy/module/cpyext/test/test_ndarrayobject.py::AppTestNDArray::()::test_pass_ndarray_object_to_c . pypy/module/cpyext/test/test_ndarrayobject.py::AppTestNDArray::()::test_ufunc . pypy/module/cpyext/test/test_number.py::TestIterator::()::test_check . pypy/module/cpyext/test/test_number.py::TestIterator::()::test_number_long . pypy/module/cpyext/test/test_number.py::TestIterator::()::test_number_int . pypy/module/cpyext/test/test_number.py::TestIterator::()::test_number_index . pypy/module/cpyext/test/test_number.py::TestIterator::()::test_coerce . pypy/module/cpyext/test/test_number.py::TestIterator::()::test_number_coerce_ex . pypy/module/cpyext/test/test_number.py::TestIterator::()::test_numbermethods . pypy/module/cpyext/test/test_number.py::AppTestCNumber::()::test_app_coerce . pypy/module/cpyext/test/test_number.py::AppTestCNumber::()::test_PyNumber_Check . pypy/module/cpyext/test/test_number.py::AppTestCNumber::()::test_number_tobase . pypy/module/cpyext/test/test_number.py::AppTestCNumber::()::test_number_to_ssize_t . pypy/module/cpyext/test/test_object.py::TestObject::()::test_IsTrue . pypy/module/cpyext/test/test_object.py::TestObject::()::test_Not . pypy/module/cpyext/test/test_object.py::TestObject::()::test_exception . pypy/module/cpyext/test/test_object.py::TestObject::()::test_HasAttr . pypy/module/cpyext/test/test_object.py::TestObject::()::test_SetAttr . pypy/module/cpyext/test/test_object.py::TestObject::()::test_getattr . pypy/module/cpyext/test/test_object.py::TestObject::()::test_getitem . pypy/module/cpyext/test/test_object.py::TestObject::()::test_size . pypy/module/cpyext/test/test_object.py::TestObject::()::test_str . pypy/module/cpyext/test/test_object.py::TestObject::()::test_repr . pypy/module/cpyext/test/test_object.py::TestObject::()::test_RichCompare . pypy/module/cpyext/test/test_object.py::TestObject::()::test_RichCompareNanlike . pypy/module/cpyext/test/test_object.py::TestObject::()::test_IsInstance . pypy/module/cpyext/test/test_object.py::TestObject::()::test_IsSubclass . pypy/module/cpyext/test/test_object.py::TestObject::()::test_fileno . pypy/module/cpyext/test/test_object.py::TestObject::()::test_hash . pypy/module/cpyext/test/test_object.py::TestObject::()::test_hash_double . pypy/module/cpyext/test/test_object.py::TestObject::()::test_type . pypy/module/cpyext/test/test_object.py::TestObject::()::test_compare . pypy/module/cpyext/test/test_object.py::TestObject::()::test_cmp . pypy/module/cpyext/test/test_object.py::TestObject::()::test_unicode . pypy/module/cpyext/test/test_object.py::TestObject::()::test_dir . pypy/module/cpyext/test/test_object.py::TestObject::()::test_format . pypy/module/cpyext/test/test_object.py::AppTestObject::()::test_object_malloc s pypy/module/cpyext/test/test_object.py::AppTestObject::()::test_object_realloc Skipped: no untranslated support for realloc . pypy/module/cpyext/test/test_object.py::AppTestObject::()::test_TypeCheck . pypy/module/cpyext/test/test_object.py::AppTestObject::()::test_print . pypy/module/cpyext/test/test_object.py::AppTestObject::()::test_issue1970 . pypy/module/cpyext/test/test_object.py::AppTestObject::()::test_format_returns_unicode . pypy/module/cpyext/test/test_object.py::AppTestObject::()::test_add_memory_pressure . pypy/module/cpyext/test/test_object.py::AppTestObject::()::test_repr_enter_leave . pypy/module/cpyext/test/test_object.py::AppTestPyBuffer_FillInfo::()::test_fillWithoutObject . pypy/module/cpyext/test/test_object.py::AppTestPyBuffer_FillInfo::()::test_fillWithObject . pypy/module/cpyext/test/test_object.py::AppTestPyBuffer_FillInfo::()::test_fillReadonly . pypy/module/cpyext/test/test_object.py::AppTestPyBuffer_Release::()::test_richcomp_nan . pypy/module/cpyext/test/test_pyfile.py::TestFile::()::test_file_fromstring . pypy/module/cpyext/test/test_pyfile.py::TestFile::()::test_file_getline . pypy/module/cpyext/test/test_pyfile.py::TestFile::()::test_file_name . pypy/module/cpyext/test/test_pyfile.py::TestFile::()::test_file_fromfile x pypy/module/cpyext/test/test_pyfile.py::TestFile::()::test_file_setbufsize self = space = StdObjSpace, api = @pytest.mark.xfail def test_file_setbufsize(self, space, api): > api.PyFile_SetBufSize() module/cpyext/test/test_pyfile.py:79: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = , args = () is_pyobj = from_ref = as_pyobj = @specialize.ll() def unwrapper(space, *args): from pypy.module.cpyext.pyobject import is_pyobj from pypy.module.cpyext.pyobject import from_ref, as_pyobj newargs = () keepalives = () > assert len(args) == len(self.argtypes) E assert 0 == 2 E + where 0 = len(()) E + and 2 = len([<* Struct _object { c_ob_refcnt, c_ob_pypy_link, c_ob_type }>, ]) E + where [<* Struct _object { c_ob_refcnt, c_ob_pypy_link, c_ob_type }>, ] = [<* Struct _object { c_ob_refcnt, c_ob_pypy_link, c_ob_type }>, ] E + where [<* Struct _object { c_ob_refcnt, c_ob_pypy_link, c_ob_type }>, ] = .argtypes module/cpyext/api.py:400: AssertionError . pypy/module/cpyext/test/test_pyfile.py::TestFile::()::test_file_writestring . pypy/module/cpyext/test/test_pyfile.py::TestFile::()::test_file_writeobject . pypy/module/cpyext/test/test_pyfile.py::TestFile::()::test_file_softspace . pypy/module/cpyext/test/test_pyfile.py::AppTestPyFile::()::test_file_tell . pypy/module/cpyext/test/test_pysignals.py::AppTestBufferObject::()::test_signals . pypy/module/cpyext/test/test_pyerrors.py::TestExceptions::()::test_GivenExceptionMatches . pypy/module/cpyext/test/test_pyerrors.py::TestExceptions::()::test_ExceptionMatches . pypy/module/cpyext/test/test_pyerrors.py::TestExceptions::()::test_Occurred . pypy/module/cpyext/test/test_pyerrors.py::TestExceptions::()::test_SetObject . pypy/module/cpyext/test/test_pyerrors.py::TestExceptions::()::test_SetNone . pypy/module/cpyext/test/test_pyerrors.py::TestExceptions::()::test_Warning . pypy/module/cpyext/test/test_pyerrors.py::TestExceptions::()::test_print_err . pypy/module/cpyext/test/test_pyerrors.py::TestExceptions::()::test_WriteUnraisable . pypy/module/cpyext/test/test_pyerrors.py::TestExceptions::()::test_ExceptionInstance_Class s pypy/module/cpyext/test/test_pyerrors.py::TestExceptions::()::test_interrupt_occurred Skipped: not implemented yet . pypy/module/cpyext/test/test_pyerrors.py::TestExceptions::()::test_restore_traceback . pypy/module/cpyext/test/test_pyerrors.py::AppTestFetch::()::test_occurred . pypy/module/cpyext/test/test_pyerrors.py::AppTestFetch::()::test_fetch_and_restore . pypy/module/cpyext/test/test_pyerrors.py::AppTestFetch::()::test_normalize . pypy/module/cpyext/test/test_pyerrors.py::AppTestFetch::()::test_normalize_no_exception s pypy/module/cpyext/test/test_pyerrors.py::AppTestFetch::()::test_SetFromErrno Skipped: callbacks through ll2ctypes modify errno . pypy/module/cpyext/test/test_pyerrors.py::AppTestFetch::()::test_SetFromErrnoWithFilename . pypy/module/cpyext/test/test_pyerrors.py::AppTestFetch::()::test_SetFromErrnoWithFilename_NULL . pypy/module/cpyext/test/test_pyerrors.py::AppTestFetch::()::test_SetFromErrnoWithFilenameObject__PyString . pypy/module/cpyext/test/test_pyerrors.py::AppTestFetch::()::test_SetFromErrnoWithFilenameObject__PyInt . pypy/module/cpyext/test/test_pyerrors.py::AppTestFetch::()::test_SetFromErrnoWithFilenameObject__PyList . pypy/module/cpyext/test/test_pyerrors.py::AppTestFetch::()::test_SetFromErrnoWithFilenameObject__PyTuple . pypy/module/cpyext/test/test_pyerrors.py::AppTestFetch::()::test_SetFromErrnoWithFilenameObject__Py_None . pypy/module/cpyext/test/test_pyerrors.py::AppTestFetch::()::test_PyErr_Display s pypy/module/cpyext/test/test_pyerrors.py::AppTestFetch::()::test_GetSetExcInfo Skipped: XXX seems to pass, but doesn't: 'py.test -s' shows errors in PyObject_Free . pypy/module/cpyext/test/test_pyerrors.py::AppTestFetch::()::test_PyErr_BadInternalCall . pypy/module/cpyext/test/test_pyerrors.py::AppTestFetch::()::test_error_thread_race . pypy/module/cpyext/test/test_pystate.py::AppTestThreads::()::test_allow_threads . pypy/module/cpyext/test/test_pystate.py::AppTestThreads::()::test_gilstate . pypy/module/cpyext/test/test_pystate.py::AppTestThreads::()::test_thread_state_get . pypy/module/cpyext/test/test_pystate.py::AppTestThreads::()::test_basic_threadstate_dance . pypy/module/cpyext/test/test_pystate.py::AppTestThreads::()::test_threadstate_dict . pypy/module/cpyext/test/test_pystate.py::AppTestThreads::()::test_savethread . pypy/module/cpyext/test/test_pystate.py::AppTestThreads::()::test_thread_and_gil . pypy/module/cpyext/test/test_pystate.py::AppTestThreads::()::test_nested_pygilstate_ensure . pypy/module/cpyext/test/test_pystate.py::AppTestThreads::()::test_threadsinitialized . pypy/module/cpyext/test/test_pystate.py::AppTestThreads::()::test_thread_interrupt . pypy/module/cpyext/test/test_pystate.py::AppTestState::()::test_frame_tstate_tracing . pypy/module/cpyext/test/test_pystate.py::TestInterpreterState::()::test_interpreter_head . pypy/module/cpyext/test/test_pystate.py::TestInterpreterState::()::test_interpreter_next . pypy/module/cpyext/test/test_pystrtod.py::TestPyOS_string_to_double::()::test_simple_float . pypy/module/cpyext/test/test_pystrtod.py::TestPyOS_string_to_double::()::test_empty_string . pypy/module/cpyext/test/test_pystrtod.py::TestPyOS_string_to_double::()::test_bad_string . pypy/module/cpyext/test/test_pystrtod.py::TestPyOS_string_to_double::()::test_overflow_pos . pypy/module/cpyext/test/test_pystrtod.py::TestPyOS_string_to_double::()::test_overflow_neg . pypy/module/cpyext/test/test_pystrtod.py::TestPyOS_string_to_double::()::test_overflow_exc . pypy/module/cpyext/test/test_pystrtod.py::TestPyOS_string_to_double::()::test_endptr_number . pypy/module/cpyext/test/test_pystrtod.py::TestPyOS_string_to_double::()::test_endptr_tail . pypy/module/cpyext/test/test_pystrtod.py::TestPyOS_string_to_double::()::test_endptr_no_conversion . pypy/module/cpyext/test/test_pystrtod.py::TestPyOS_string_to_double::()::test_endptr_inf . pypy/module/cpyext/test/test_pystrtod.py::TestPyOS_double_to_string::()::test_format_code . pypy/module/cpyext/test/test_pystrtod.py::TestPyOS_double_to_string::()::test_precision . pypy/module/cpyext/test/test_pystrtod.py::TestPyOS_double_to_string::()::test_flags_sign . pypy/module/cpyext/test/test_pystrtod.py::TestPyOS_double_to_string::()::test_flags_add_dot_0 . pypy/module/cpyext/test/test_pystrtod.py::TestPyOS_double_to_string::()::test_flags_alt . pypy/module/cpyext/test/test_pystrtod.py::TestPyOS_double_to_string::()::test_ptype_nan . pypy/module/cpyext/test/test_pystrtod.py::TestPyOS_double_to_string::()::test_ptype_infinity . pypy/module/cpyext/test/test_pystrtod.py::TestPyOS_double_to_string::()::test_ptype_null . pypy/module/cpyext/test/test_sequence.py::TestSequence::()::test_check . pypy/module/cpyext/test/test_sequence.py::TestSequence::()::test_sequence_api . pypy/module/cpyext/test/test_sequence.py::TestSequence::()::test_repeat . pypy/module/cpyext/test/test_sequence.py::TestSequence::()::test_concat . pypy/module/cpyext/test/test_sequence.py::TestSequence::()::test_inplace_concat . pypy/module/cpyext/test/test_sequence.py::TestSequence::()::test_inplace_repeat . pypy/module/cpyext/test/test_sequence.py::TestSequence::()::test_exception . pypy/module/cpyext/test/test_sequence.py::TestSequence::()::test_get_slice . pypy/module/cpyext/test/test_sequence.py::TestSequence::()::test_get_slice_fast . pypy/module/cpyext/test/test_sequence.py::TestSequence::()::test_iter . pypy/module/cpyext/test/test_sequence.py::TestSequence::()::test_contains . pypy/module/cpyext/test/test_sequence.py::TestSequence::()::test_setitem . pypy/module/cpyext/test/test_sequence.py::TestSequence::()::test_delitem . pypy/module/cpyext/test/test_sequence.py::TestSequence::()::test_getitem . pypy/module/cpyext/test/test_sequence.py::TestSequence::()::test_index . pypy/module/cpyext/test/test_sequence.py::TestSequence::()::test_sequence_getitem . pypy/module/cpyext/test/test_sequence.py::AppTestSetObject::()::test_sequence_macro_cast . pypy/module/cpyext/test/test_sequence.py::TestCPyListStrategy::()::test_getitem_setitem . pypy/module/cpyext/test/test_sequence.py::TestCPyListStrategy::()::test_manipulations . pypy/module/cpyext/test/test_sequence.py::TestCPyListStrategy::()::test_getstorage_copy . pypy/module/cpyext/test/test_sequence.py::AppTestSequenceObject::()::test_fast . pypy/module/cpyext/test/test_sequence.py::AppTestSequenceObject::()::test_fast_keyerror . pypy/module/cpyext/test/test_sequence.py::AppTestSequenceObject::()::test_getitem . pypy/module/cpyext/test/test_setobject.py::TestTupleObject::()::test_setobj . pypy/module/cpyext/test/test_setobject.py::TestTupleObject::()::test_set_add_discard . pypy/module/cpyext/test/test_setobject.py::TestTupleObject::()::test_frozenset_add . pypy/module/cpyext/test/test_setobject.py::TestTupleObject::()::test_set_contains . pypy/module/cpyext/test/test_setobject.py::TestTupleObject::()::test_set_pop_clear . pypy/module/cpyext/test/test_setobject.py::TestTupleObject::()::test_anyset_check . pypy/module/cpyext/test/test_setobject.py::TestTupleObject::()::test_pyset_next . pypy/module/cpyext/test/test_setobject.py::TestTupleObject::()::test_pyset_nextentry . pypy/module/cpyext/test/test_setobject.py::AppTestSetObject::()::test_set_macro_cast . pypy/module/cpyext/test/test_structseq.py::AppTestStructSeq::()::test_StructSeq . pypy/module/cpyext/test/test_sliceobject.py::TestSliceObject::()::test_GetIndicesEx . pypy/module/cpyext/test/test_sliceobject.py::TestSliceObject::()::test_GetIndices . pypy/module/cpyext/test/test_sliceobject.py::AppTestSliceMembers::()::test_members . pypy/module/cpyext/test/test_sliceobject.py::AppTestSliceMembers::()::test_nulls . pypy/module/cpyext/test/test_sliceobject.py::AppTestSliceMembers::()::test_ellipsis . pypy/module/cpyext/test/test_sliceobject.py::AppTestSliceMembers::()::test_typecheck . pypy/module/cpyext/test/test_sysmodule.py::AppTestSysModule::()::test_sysmodule . pypy/module/cpyext/test/test_sysmodule.py::AppTestSysModule::()::test_writestdout . pypy/module/cpyext/test/test_sysmodule.py::TestSysModule::()::test_sysmodule . pypy/module/cpyext/test/test_translate.py::test_llhelper . pypy/module/cpyext/test/test_thread.py::AppTestThread::()::test_get_thread_ident . pypy/module/cpyext/test/test_thread.py::AppTestThread::()::test_acquire_lock . pypy/module/cpyext/test/test_thread.py::AppTestThread::()::test_release_lock . pypy/module/cpyext/test/test_thread.py::AppTestThread::()::test_tls . pypy/module/cpyext/test/test_traceback.py::TestPyTracebackObject::()::test_traceback . pypy/module/cpyext/test/test_tupleobject.py::TestTupleObject::()::test_tupleobject_base . pypy/module/cpyext/test/test_tupleobject.py::TestTupleObject::()::test_tuple_realize_refuses_nulls . pypy/module/cpyext/test/test_tupleobject.py::TestTupleObject::()::test_tuple_resize . pypy/module/cpyext/test/test_tupleobject.py::TestTupleObject::()::test_setitem . pypy/module/cpyext/test/test_tupleobject.py::TestTupleObject::()::test_getslice . pypy/module/cpyext/test/test_tupleobject.py::AppTestTuple::()::test_refcounts . pypy/module/cpyext/test/test_tupleobject.py::AppTestTuple::()::test_refcounts_more . pypy/module/cpyext/test/test_tupleobject.py::AppTestTuple::()::test_tuple_subclass . pypy/module/cpyext/test/test_tupleobject.py::AppTestTuple::()::test_setitem . pypy/module/cpyext/test/test_tupleobject.py::AppTestTuple::()::test_mp_length . pypy/module/cpyext/test/test_userslots.py::TestAppLevelObject::()::test_nb_add_from_python . pypy/module/cpyext/test/test_userslots.py::TestAppLevelObject::()::test_tp_new_from_python . pypy/module/cpyext/test/test_userslots.py::TestAppLevelObject::()::test_descr_slots . pypy/module/cpyext/test/test_userslots.py::AppTestUserSlots::()::test_tp_hash_from_python . pypy/module/cpyext/test/test_userslots.py::AppTestUserSlots::()::test_tp_str . pypy/module/cpyext/test/test_userslots.py::AppTestUserSlots::()::test_tp_deallocate . pypy/module/cpyext/test/test_unicodeobject.py::AppTestUnicodeObject::()::test_unicodeobject . pypy/module/cpyext/test/test_unicodeobject.py::AppTestUnicodeObject::()::test_unicode_buffer_init . pypy/module/cpyext/test/test_unicodeobject.py::AppTestUnicodeObject::()::test_hash . pypy/module/cpyext/test/test_unicodeobject.py::AppTestUnicodeObject::()::test_default_encoded_string . pypy/module/cpyext/test/test_unicodeobject.py::AppTestUnicodeObject::()::test_unicode_macros . pypy/module/cpyext/test/test_unicodeobject.py::AppTestUnicodeObject::()::test_format . pypy/module/cpyext/test/test_unicodeobject.py::AppTestUnicodeObject::()::test_AsUTFNString . pypy/module/cpyext/test/test_unicodeobject.py::AppTestUnicodeObject::()::test_lower_cython . pypy/module/cpyext/test/test_unicodeobject.py::AppTestUnicodeObject::()::test_contains . pypy/module/cpyext/test/test_unicodeobject.py::TestUnicode::()::test_unicodeobject . pypy/module/cpyext/test/test_unicodeobject.py::TestUnicode::()::test_AS . pypy/module/cpyext/test/test_unicodeobject.py::TestUnicode::()::test_fromstring . pypy/module/cpyext/test/test_unicodeobject.py::TestUnicode::()::test_unicode_resize . pypy/module/cpyext/test/test_unicodeobject.py::TestUnicode::()::test_AsUTF8String . pypy/module/cpyext/test/test_unicodeobject.py::TestUnicode::()::test_AsUTF16String . pypy/module/cpyext/test/test_unicodeobject.py::TestUnicode::()::test_AsUTF32String . pypy/module/cpyext/test/test_unicodeobject.py::TestUnicode::()::test_decode_utf8 . pypy/module/cpyext/test/test_unicodeobject.py::TestUnicode::()::test_encode_utf8 . pypy/module/cpyext/test/test_unicodeobject.py::TestUnicode::()::test_encode_decimal . pypy/module/cpyext/test/test_unicodeobject.py::TestUnicode::()::test_IS . pypy/module/cpyext/test/test_unicodeobject.py::TestUnicode::()::test_TOLOWER . pypy/module/cpyext/test/test_unicodeobject.py::TestUnicode::()::test_TOUPPER . pypy/module/cpyext/test/test_unicodeobject.py::TestUnicode::()::test_TOTITLE . pypy/module/cpyext/test/test_unicodeobject.py::TestUnicode::()::test_TODECIMAL . pypy/module/cpyext/test/test_unicodeobject.py::TestUnicode::()::test_TODIGIT . pypy/module/cpyext/test/test_unicodeobject.py::TestUnicode::()::test_TONUMERIC . pypy/module/cpyext/test/test_unicodeobject.py::TestUnicode::()::test_fromobject . pypy/module/cpyext/test/test_unicodeobject.py::TestUnicode::()::test_decode . pypy/module/cpyext/test/test_unicodeobject.py::TestUnicode::()::test_decode_null_encoding s pypy/module/cpyext/test/test_unicodeobject.py::TestUnicode::()::test_mbcs Skipped: mbcs encoding only exists on Windows . pypy/module/cpyext/test/test_unicodeobject.py::TestUnicode::()::test_escape . pypy/module/cpyext/test/test_unicodeobject.py::TestUnicode::()::test_ascii . pypy/module/cpyext/test/test_unicodeobject.py::TestUnicode::()::test_decode_utf16 . pypy/module/cpyext/test/test_unicodeobject.py::TestUnicode::()::test_decode_utf32 . pypy/module/cpyext/test/test_unicodeobject.py::TestUnicode::()::test_compare . pypy/module/cpyext/test/test_unicodeobject.py::TestUnicode::()::test_concat . pypy/module/cpyext/test/test_unicodeobject.py::TestUnicode::()::test_copy . pypy/module/cpyext/test/test_unicodeobject.py::TestUnicode::()::test_ascii_codec . pypy/module/cpyext/test/test_unicodeobject.py::TestUnicode::()::test_latin1 . pypy/module/cpyext/test/test_unicodeobject.py::TestUnicode::()::test_format . pypy/module/cpyext/test/test_unicodeobject.py::TestUnicode::()::test_join . pypy/module/cpyext/test/test_unicodeobject.py::TestUnicode::()::test_fromordinal . pypy/module/cpyext/test/test_unicodeobject.py::TestUnicode::()::test_replace . pypy/module/cpyext/test/test_unicodeobject.py::TestUnicode::()::test_tailmatch . pypy/module/cpyext/test/test_unicodeobject.py::TestUnicode::()::test_count . pypy/module/cpyext/test/test_unicodeobject.py::TestUnicode::()::test_find . pypy/module/cpyext/test/test_unicodeobject.py::TestUnicode::()::test_split . pypy/module/crypt/test/test_crypt.py::AppTestCrypt::()::test_crypt . pypy/module/cpyext/test/test_version.py::test_pragma_version . pypy/module/cpyext/test/test_version.py::AppTestVersion::()::test_versions . pypy/module/cpyext/test/test_version.py::AppTestVersion::()::test_pypy_versions . pypy/module/errno/test/test_errno.py::AppTestErrno::()::test_posix . pypy/module/errno/test/test_errno.py::AppTestErrno::()::test_constants . pypy/module/errno/test/test_errno.py::AppTestErrno::()::test_errorcode . pypy/module/faulthandler/test/test_faulthander.py::AppTestFaultHandler::()::test_enable . pypy/module/faulthandler/test/test_faulthander.py::AppTestFaultHandler::()::test_dump_traceback . pypy/module/faulthandler/test/test_ztranslation.py::test_faulthandler_translates . pypy/module/exceptions/test/test_exc.py::AppTestExc::()::test_import . pypy/module/exceptions/test/test_exc.py::AppTestExc::()::test_baseexc . pypy/module/exceptions/test/test_exc.py::AppTestExc::()::test_unicode_message . pypy/module/exceptions/test/test_exc.py::AppTestExc::()::test_kwargs . pypy/module/exceptions/test/test_exc.py::AppTestExc::()::test_catch_with_unpack . pypy/module/exceptions/test/test_exc.py::AppTestExc::()::test_exc . pypy/module/exceptions/test/test_exc.py::AppTestExc::()::test_custom_class . pypy/module/exceptions/test/test_exc.py::AppTestExc::()::test_unicode_translate_error . pypy/module/exceptions/test/test_exc.py::AppTestExc::()::test_key_error . pypy/module/exceptions/test/test_exc.py::AppTestExc::()::test_environment_error s pypy/module/exceptions/test/test_exc.py::AppTestExc::()::test_windows_error Skipped: WindowsError not present . pypy/module/exceptions/test/test_exc.py::AppTestExc::()::test_syntax_error . pypy/module/exceptions/test/test_exc.py::AppTestExc::()::test_system_exit . pypy/module/exceptions/test/test_exc.py::AppTestExc::()::test_str_unicode . pypy/module/exceptions/test/test_exc.py::AppTestExc::()::test_unicode_decode_error . pypy/module/exceptions/test/test_exc.py::AppTestExc::()::test_unicode_encode_error . pypy/module/exceptions/test/test_exc.py::AppTestExc::()::test_multiple_inheritance . pypy/module/exceptions/test/test_exc.py::AppTestExc::()::test_doc_and_module . pypy/module/exceptions/test/test_exc.py::AppTestExc::()::test_reduce . pypy/module/exceptions/test/test_exc.py::AppTestExc::()::test_setstate . pypy/module/exceptions/test/test_exc.py::AppTestExc::()::test_unicode_error_uninitialized_str . pypy/module/exceptions/test/test_exc.py::AppTestExc::()::test_multiple_inheritance_bug . pypy/module/exceptions/test/test_exc.py::AppTestExc::()::test_multiple_inheritance_bug2 . pypy/module/exceptions/test/test_exc.py::AppTestExc::()::test_keyerror_subclass F pypy/module/gc/test/test_gc.py ../_pytest/python.py:611: in _importtestmodule mod = self.fspath.pyimport(ensuresyspath=importmode) ../py/_path/local.py:650: in pyimport __import__(modname) module/gc/test/test_gc.py:6: in from pypy.module.gc.interp_gc import StepCollector, W_GcCollectStepStats module/gc/interp_gc.py:4: in from pypy.module.gc.hook import W_GcCollectStepStats module/gc/hook.py:2: in from rpython.memory.gc import incminimark ../rpython/memory/gc/incminimark.py:70: in from rpython.memory.gc import env E File "/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py", line 423 E SyntaxError: Non-ASCII character '\xe2' in file /build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py on line 423, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details F pypy/module/gc/test/test_hook.py ../_pytest/python.py:611: in _importtestmodule mod = self.fspath.pyimport(ensuresyspath=importmode) ../py/_path/local.py:650: in pyimport __import__(modname) module/gc/test/test_hook.py:3: in from pypy.module.gc.hook import LowLevelGcHooks module/gc/hook.py:2: in from rpython.memory.gc import incminimark ../rpython/memory/gc/incminimark.py:70: in from rpython.memory.gc import env E File "/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py", line 423 E SyntaxError: Non-ASCII character '\xe2' in file /build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py on line 423, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details . pypy/module/gc/test/test_app_referents.py::test_interface_to_dump_rpy_heap_str . pypy/module/gc/test/test_app_referents.py::test_interface_to_dump_rpy_heap_file . pypy/module/gc/test/test_app_referents.py::test_interface_to_dump_rpy_heap_fd . pypy/module/gc/test/test_app_referents.py::test_dump_rpy_heap_bad_fd . pypy/module/gc/test/test_referents.py::AppTestReferents::()::test_get_objects . pypy/module/gc/test/test_referents.py::AppTestReferents::()::test_get_rpy_roots . pypy/module/gc/test/test_referents.py::AppTestReferents::()::test_get_rpy_referents . pypy/module/gc/test/test_referents.py::AppTestReferents::()::test_get_rpy_memory_usage . pypy/module/gc/test/test_referents.py::AppTestReferents::()::test_get_rpy_type_index . pypy/module/gc/test/test_referents.py::AppTestReferents::()::test_get_referents . pypy/module/gc/test/test_referents.py::AppTestReferents::()::test_get_referrers . pypy/module/gc/test/test_referents.py::AppTestReferentsMore::()::test_get_referrers F pypy/module/gc/test/test_ztranslation.py::test_checkmodule def test_checkmodule(): # we need to ignore GcCollectStepStats, else checkmodule fails. I think # this happens because W_GcCollectStepStats.__init__ is only called from # GcCollectStepHookAction.perform() and the fake objspace doesn't know # about those: so, perform() is never annotated and the annotator thinks # W_GcCollectStepStats has no attributes > checkmodule('gc', ignore=['GcCollectStepStats']) module/gc/test/test_ztranslation.py:9: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ objspace/fake/checkmodule.py:23: in checkmodule seeobj_w.append(module._load_lazily(space, name)) interpreter/mixedmodule.py:103: in _load_lazily w_value = loader(space) interpreter/mixedmodule.py:182: in ifileloader d[name] = __import__(pkgroot+'.'+name, None, None, [name]) module/gc/interp_gc.py:4: in from pypy.module.gc.hook import W_GcCollectStepStats module/gc/hook.py:2: in from rpython.memory.gc import incminimark _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ # XXX Should find a way to bound the major collection threshold by the # XXX total addressable size. Maybe by keeping some minimarkpage arenas # XXX pre-reserved, enough for a few nursery collections? What about # XXX raw-malloced memory? # XXX try merging old_objects_pointing_to_pinned into # XXX old_objects_pointing_to_young (IRC 2014-10-22, fijal and gregor_w) import sys import os import time from rpython.rtyper.lltypesystem import lltype, llmemory, llarena, llgroup from rpython.rtyper.lltypesystem.lloperation import llop from rpython.rtyper.lltypesystem.llmemory import raw_malloc_usage from rpython.memory.gc.base import GCBase, MovingGCBase > from rpython.memory.gc import env E File "/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py", line 423 E SyntaxError: Non-ASCII character '\xe2' in file /build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py on line 423, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details ../rpython/memory/gc/incminimark.py:70: SyntaxError (somefailed=True in module/gc/test) . pypy/module/fcntl/test/test_fcntl.py::AppTestFcntl::()::test_fcntl . pypy/module/fcntl/test/test_fcntl.py::AppTestFcntl::()::test_flock . pypy/module/fcntl/test/test_fcntl.py::AppTestFcntl::()::test_lockf . pypy/module/fcntl/test/test_fcntl.py::AppTestFcntl::()::test_ioctl . pypy/module/fcntl/test/test_fcntl.py::AppTestFcntl::()::test_ioctl_int . pypy/module/fcntl/test/test_fcntl.py::AppTestFcntl::()::test_ioctl_signed_unsigned_code_param . pypy/module/fcntl/test/test_fcntl.py::AppTestFcntl::()::test_ioctl_use_mask_on_op . pypy/module/fcntl/test/test_fcntl.py::AppTestFcntl::()::test_large_flag . pypy/module/cpyext/test/test_weakref.py::TestWeakReference::()::test_weakref . pypy/module/cpyext/test/test_weakref.py::TestWeakReference::()::test_proxy . pypy/module/cpyext/test/test_weakref.py::TestWeakReference::()::test_weakref_lockobject . pypy/module/cpyext/test/test_weakref.py::AppTestWeakReference::()::test_weakref_macro . pypy/module/cpyext/test/test_weakref.py::AppTestWeakReference::()::test_weakref_check . pypy/module/marshal/test/test_marshal.py::AppTestMarshal::()::test_None . pypy/module/marshal/test/test_marshal.py::AppTestMarshal::()::test_False . pypy/module/marshal/test/test_marshal.py::AppTestMarshal::()::test_True . pypy/module/marshal/test/test_marshal.py::AppTestMarshal::()::test_StopIteration . pypy/module/marshal/test/test_marshal.py::AppTestMarshal::()::test_Ellipsis . pypy/module/marshal/test/test_marshal.py::AppTestMarshal::()::test_42 . pypy/module/marshal/test/test_marshal.py::AppTestMarshal::()::test__minus_17 . pypy/module/marshal/test/test_marshal.py::AppTestMarshal::()::test_sys_dot_maxint . pypy/module/marshal/test/test_marshal.py::AppTestMarshal::()::test__minus_1_dot_25 . pypy/module/marshal/test/test_marshal.py::AppTestMarshal::()::test__minus_1_dot_25__2 . pypy/module/marshal/test/test_marshal.py::AppTestMarshal::()::test_2_plus_5j . pypy/module/marshal/test/test_marshal.py::AppTestMarshal::()::test_2_plus_5j__2 . pypy/module/marshal/test/test_marshal.py::AppTestMarshal::()::test_long . pypy/module/marshal/test/test_marshal.py::AppTestMarshal::()::test_hello_____not_interned . pypy/module/marshal/test/test_marshal.py::AppTestMarshal::()::test__Quote_hello_Quote_ . pypy/module/marshal/test/test_marshal.py::AppTestMarshal::()::test__brace__ecarb_ . pypy/module/marshal/test/test_marshal.py::AppTestMarshal::()::test__brace_1_comma__2_ecarb_ . pypy/module/marshal/test/test_marshal.py::AppTestMarshal::()::test__list__tsil_ . pypy/module/marshal/test/test_marshal.py::AppTestMarshal::()::test__list_3_comma__4_tsil_ . pypy/module/marshal/test/test_marshal.py::AppTestMarshal::()::test__dict__tcid_ . pypy/module/marshal/test/test_marshal.py::AppTestMarshal::()::test__dict_5_colon__6_comma__7_colon__8_tcid_ . pypy/module/marshal/test/test_marshal.py::AppTestMarshal::()::test_func_dot_func_code . pypy/module/marshal/test/test_marshal.py::AppTestMarshal::()::test_scopefunc_dot_func_code . pypy/module/marshal/test/test_marshal.py::AppTestMarshal::()::test_u_quote_hello_quote_ . pypy/module/marshal/test/test_marshal.py::AppTestMarshal::()::test_set_brace__ecarb_ . pypy/module/marshal/test/test_marshal.py::AppTestMarshal::()::test_set_brace__list_1_comma__2_tsil__ecarb_ . pypy/module/marshal/test/test_marshal.py::AppTestMarshal::()::test_frozenset_brace__ecarb_ . pypy/module/marshal/test/test_marshal.py::AppTestMarshal::()::test_frozenset_brace__list_3_comma__4_tsil__ecarb_ . pypy/module/marshal/test/test_marshal.py::AppTestMarshal::()::test_stream_reader_writer . pypy/module/marshal/test/test_marshal.py::AppTestMarshal::()::test_unicode . pypy/module/marshal/test/test_marshal.py::AppTestMarshal::()::test_reject_subtypes . pypy/module/marshal/test/test_marshal.py::AppTestMarshal::()::test_valid_subtypes . pypy/module/marshal/test/test_marshal.py::AppTestMarshal::()::test_bad_typecode . pypy/module/marshal/test/test_marshal.py::AppTestSmallLong::()::test_None . pypy/module/marshal/test/test_marshal.py::AppTestSmallLong::()::test_False . pypy/module/marshal/test/test_marshal.py::AppTestSmallLong::()::test_True . pypy/module/marshal/test/test_marshal.py::AppTestSmallLong::()::test_StopIteration . pypy/module/marshal/test/test_marshal.py::AppTestSmallLong::()::test_Ellipsis . pypy/module/marshal/test/test_marshal.py::AppTestSmallLong::()::test_42 . pypy/module/marshal/test/test_marshal.py::AppTestSmallLong::()::test__minus_17 . pypy/module/marshal/test/test_marshal.py::AppTestSmallLong::()::test_sys_dot_maxint . pypy/module/marshal/test/test_marshal.py::AppTestSmallLong::()::test__minus_1_dot_25 . pypy/module/marshal/test/test_marshal.py::AppTestSmallLong::()::test__minus_1_dot_25__2 . pypy/module/marshal/test/test_marshal.py::AppTestSmallLong::()::test_2_plus_5j . pypy/module/marshal/test/test_marshal.py::AppTestSmallLong::()::test_2_plus_5j__2 . pypy/module/marshal/test/test_marshal.py::AppTestSmallLong::()::test_long . pypy/module/marshal/test/test_marshal.py::AppTestSmallLong::()::test_hello_____not_interned . pypy/module/marshal/test/test_marshal.py::AppTestSmallLong::()::test__Quote_hello_Quote_ . pypy/module/marshal/test/test_marshal.py::AppTestSmallLong::()::test__brace__ecarb_ . pypy/module/marshal/test/test_marshal.py::AppTestSmallLong::()::test__brace_1_comma__2_ecarb_ . pypy/module/marshal/test/test_marshal.py::AppTestSmallLong::()::test__list__tsil_ . pypy/module/marshal/test/test_marshal.py::AppTestSmallLong::()::test__list_3_comma__4_tsil_ . pypy/module/marshal/test/test_marshal.py::AppTestSmallLong::()::test__dict__tcid_ . pypy/module/marshal/test/test_marshal.py::AppTestSmallLong::()::test__dict_5_colon__6_comma__7_colon__8_tcid_ . pypy/module/marshal/test/test_marshal.py::AppTestSmallLong::()::test_func_dot_func_code . pypy/module/marshal/test/test_marshal.py::AppTestSmallLong::()::test_scopefunc_dot_func_code . pypy/module/marshal/test/test_marshal.py::AppTestSmallLong::()::test_u_quote_hello_quote_ . pypy/module/marshal/test/test_marshal.py::AppTestSmallLong::()::test_set_brace__ecarb_ . pypy/module/marshal/test/test_marshal.py::AppTestSmallLong::()::test_set_brace__list_1_comma__2_tsil__ecarb_ . pypy/module/marshal/test/test_marshal.py::AppTestSmallLong::()::test_frozenset_brace__ecarb_ . pypy/module/marshal/test/test_marshal.py::AppTestSmallLong::()::test_frozenset_brace__list_3_comma__4_tsil__ecarb_ . pypy/module/marshal/test/test_marshal.py::AppTestSmallLong::()::test_stream_reader_writer . pypy/module/marshal/test/test_marshal.py::AppTestSmallLong::()::test_unicode . pypy/module/marshal/test/test_marshal.py::AppTestSmallLong::()::test_reject_subtypes . pypy/module/marshal/test/test_marshal.py::AppTestSmallLong::()::test_valid_subtypes . pypy/module/marshal/test/test_marshal.py::AppTestSmallLong::()::test_bad_typecode . pypy/module/marshal/test/test_marshal.py::AppTestSmallLong::()::test_smalllong . pypy/module/marshal/test/test_marshalimpl.py::AppTestMarshalMore::()::test_long_0 . pypy/module/marshal/test/test_marshalimpl.py::AppTestMarshalMore::()::test_unmarshal_int64 . pypy/module/marshal/test/test_marshalimpl.py::AppTestMarshalMore::()::test_buffer . pypy/module/marshal/test/test_marshalimpl.py::AppTestMarshalMore::()::test_marshal_buffer_object . pypy/module/marshal/test/test_marshalimpl.py::AppTestMarshalMore::()::test_marshal_bufferlike_object . pypy/module/marshal/test/test_marshalimpl.py::AppTestMarshalMore::()::test_unmarshal_evil_long . pypy/module/marshal/test/test_marshalimpl.py::AppTestMarshalSmallLong::()::test_long_0 . pypy/module/marshal/test/test_marshalimpl.py::AppTestMarshalSmallLong::()::test_unmarshal_int64 . pypy/module/marshal/test/test_marshalimpl.py::AppTestMarshalSmallLong::()::test_buffer . pypy/module/marshal/test/test_marshalimpl.py::AppTestMarshalSmallLong::()::test_marshal_buffer_object . pypy/module/marshal/test/test_marshalimpl.py::AppTestMarshalSmallLong::()::test_marshal_bufferlike_object . pypy/module/marshal/test/test_marshalimpl.py::AppTestMarshalSmallLong::()::test_unmarshal_evil_long . pypy/module/marshal/test/test_marshalimpl.py::test_long_more . pypy/module/math/test/test_direct.py::TestDirect::()::test_cosh_3 . pypy/module/math/test/test_direct.py::TestDirect::()::test_pow_28 . pypy/module/math/test/test_direct.py::TestDirect::()::test_ldexp_5 . pypy/module/math/test/test_direct.py::TestDirect::()::test_ldexp_4 . pypy/module/math/test/test_direct.py::TestDirect::()::test_ldexp_6 . pypy/module/math/test/test_direct.py::TestDirect::()::test_ldexp_1 . pypy/module/math/test/test_direct.py::TestDirect::()::test_ldexp_3 . pypy/module/math/test/test_direct.py::TestDirect::()::test_ldexp_2 . pypy/module/math/test/test_direct.py::TestDirect::()::test_pow_30 . pypy/module/math/test/test_direct.py::TestDirect::()::test_log1p_1 . pypy/module/math/test/test_direct.py::TestDirect::()::test_log1p_3 . pypy/module/math/test/test_direct.py::TestDirect::()::test_log1p_2 . pypy/module/math/test/test_direct.py::TestDirect::()::test_fmod_3 . pypy/module/math/test/test_direct.py::TestDirect::()::test_fabs_4 . pypy/module/math/test/test_direct.py::TestDirect::()::test_fabs_3 . pypy/module/math/test/test_direct.py::TestDirect::()::test_fabs_2 . pypy/module/math/test/test_direct.py::TestDirect::()::test_fabs_1 . pypy/module/math/test/test_direct.py::TestDirect::()::test_atanh_4 . pypy/module/math/test/test_direct.py::TestDirect::()::test_modf_3 . pypy/module/math/test/test_direct.py::TestDirect::()::test_sinh_3 . pypy/module/math/test/test_direct.py::TestDirect::()::test_fmod_2 . pypy/module/math/test/test_direct.py::TestDirect::()::test_atanh_3 . pypy/module/math/test/test_direct.py::TestDirect::()::test_floor_4 . pypy/module/math/test/test_direct.py::TestDirect::()::test_floor_2 . pypy/module/math/test/test_direct.py::TestDirect::()::test_floor_3 . pypy/module/math/test/test_direct.py::TestDirect::()::test_floor_1 . pypy/module/math/test/test_direct.py::TestDirect::()::test_copysign_5 . pypy/module/math/test/test_direct.py::TestDirect::()::test_copysign_4 . pypy/module/math/test/test_direct.py::TestDirect::()::test_copysign_6 . pypy/module/math/test/test_direct.py::TestDirect::()::test_copysign_1 . pypy/module/math/test/test_direct.py::TestDirect::()::test_copysign_3 . pypy/module/math/test/test_direct.py::TestDirect::()::test_copysign_2 . pypy/module/math/test/test_direct.py::TestDirect::()::test_exp_3 . pypy/module/math/test/test_direct.py::TestDirect::()::test_exp_2 . pypy/module/math/test/test_direct.py::TestDirect::()::test_exp_1 . pypy/module/math/test/test_direct.py::TestDirect::()::test_sqrt_4 . pypy/module/math/test/test_direct.py::TestDirect::()::test_sqrt_3 . pypy/module/math/test/test_direct.py::TestDirect::()::test_sqrt_2 . pypy/module/math/test/test_direct.py::TestDirect::()::test_sqrt_1 . pypy/module/math/test/test_direct.py::TestDirect::()::test_exp_4 . pypy/module/math/test/test_direct.py::TestDirect::()::test_tanh_2 . pypy/module/math/test/test_direct.py::TestDirect::()::test_tanh_3 . pypy/module/math/test/test_direct.py::TestDirect::()::test_tanh_1 . pypy/module/math/test/test_direct.py::TestDirect::()::test_tanh_4 . pypy/module/math/test/test_direct.py::TestDirect::()::test_atan2_12 . pypy/module/math/test/test_direct.py::TestDirect::()::test_atan2_13 . pypy/module/math/test/test_direct.py::TestDirect::()::test_atan2_10 . pypy/module/math/test/test_direct.py::TestDirect::()::test_atan2_11 . pypy/module/math/test/test_direct.py::TestDirect::()::test_atan2_14 . pypy/module/math/test/test_direct.py::TestDirect::()::test_atan2_15 . pypy/module/math/test/test_direct.py::TestDirect::()::test_pow_12 . pypy/module/math/test/test_direct.py::TestDirect::()::test_pow_13 . pypy/module/math/test/test_direct.py::TestDirect::()::test_pow_10 . pypy/module/math/test/test_direct.py::TestDirect::()::test_pow_11 . pypy/module/math/test/test_direct.py::TestDirect::()::test_pow_16 . pypy/module/math/test/test_direct.py::TestDirect::()::test_pow_17 . pypy/module/math/test/test_direct.py::TestDirect::()::test_pow_14 . pypy/module/math/test/test_direct.py::TestDirect::()::test_pow_15 . pypy/module/math/test/test_direct.py::TestDirect::()::test_pow_18 . pypy/module/math/test/test_direct.py::TestDirect::()::test_pow_19 . pypy/module/math/test/test_direct.py::TestDirect::()::test_modf_5 . pypy/module/math/test/test_direct.py::TestDirect::()::test_cosh_5 . pypy/module/math/test/test_direct.py::TestDirect::()::test_atan2_9 . pypy/module/math/test/test_direct.py::TestDirect::()::test_log_4 . pypy/module/math/test/test_direct.py::TestDirect::()::test_log_5 . pypy/module/math/test/test_direct.py::TestDirect::()::test_log_6 . pypy/module/math/test/test_direct.py::TestDirect::()::test_log_1 . pypy/module/math/test/test_direct.py::TestDirect::()::test_log_2 . pypy/module/math/test/test_direct.py::TestDirect::()::test_log_3 . pypy/module/math/test/test_direct.py::TestDirect::()::test_ceil_2 . pypy/module/math/test/test_direct.py::TestDirect::()::test_ceil_3 . pypy/module/math/test/test_direct.py::TestDirect::()::test_ceil_1 . pypy/module/math/test/test_direct.py::TestDirect::()::test_ceil_4 . pypy/module/math/test/test_direct.py::TestDirect::()::test_tan_3 . pypy/module/math/test/test_direct.py::TestDirect::()::test_tan_2 . pypy/module/math/test/test_direct.py::TestDirect::()::test_tan_1 . pypy/module/math/test/test_direct.py::TestDirect::()::test_tan_4 . pypy/module/math/test/test_direct.py::TestDirect::()::test_frexp_1 . pypy/module/math/test/test_direct.py::TestDirect::()::test_frexp_3 . pypy/module/math/test/test_direct.py::TestDirect::()::test_frexp_2 . pypy/module/math/test/test_direct.py::TestDirect::()::test_log10_5 . pypy/module/math/test/test_direct.py::TestDirect::()::test_log10_4 . pypy/module/math/test/test_direct.py::TestDirect::()::test_log10_1 . pypy/module/math/test/test_direct.py::TestDirect::()::test_log10_3 . pypy/module/math/test/test_direct.py::TestDirect::()::test_log10_2 . pypy/module/math/test/test_direct.py::TestDirect::()::test_hypot_5 . pypy/module/math/test/test_direct.py::TestDirect::()::test_hypot_2 . pypy/module/math/test/test_direct.py::TestDirect::()::test_acos_4 . pypy/module/math/test/test_direct.py::TestDirect::()::test_acos_3 . pypy/module/math/test/test_direct.py::TestDirect::()::test_acos_2 . pypy/module/math/test/test_direct.py::TestDirect::()::test_acos_1 . pypy/module/math/test/test_direct.py::TestDirect::()::test_hypot_8 . pypy/module/math/test/test_direct.py::TestDirect::()::test_hypot_9 . pypy/module/math/test/test_direct.py::TestDirect::()::test_hypot_6 . pypy/module/math/test/test_direct.py::TestDirect::()::test_hypot_7 . pypy/module/math/test/test_direct.py::TestDirect::()::test_hypot_4 . pypy/module/math/test/test_direct.py::TestDirect::()::test_cos_4 . pypy/module/math/test/test_direct.py::TestDirect::()::test_cos_3 . pypy/module/math/test/test_direct.py::TestDirect::()::test_cos_2 . pypy/module/math/test/test_direct.py::TestDirect::()::test_cos_1 . pypy/module/math/test/test_direct.py::TestDirect::()::test_hypot_1 . pypy/module/math/test/test_direct.py::TestDirect::()::test_atan_4 . pypy/module/math/test/test_direct.py::TestDirect::()::test_exp_5 . pypy/module/math/test/test_direct.py::TestDirect::()::test_cosh_4 . pypy/module/math/test/test_direct.py::TestDirect::()::test_modf_4 . pypy/module/math/test/test_direct.py::TestDirect::()::test_cosh_2 . pypy/module/math/test/test_direct.py::TestDirect::()::test_modf_2 . pypy/module/math/test/test_direct.py::TestDirect::()::test_modf_1 . pypy/module/math/test/test_direct.py::TestDirect::()::test_cosh_1 . pypy/module/math/test/test_direct.py::TestDirect::()::test_fmod_9 . pypy/module/math/test/test_direct.py::TestDirect::()::test_expm1_2 . pypy/module/math/test/test_direct.py::TestDirect::()::test_expm1_1 . pypy/module/math/test/test_direct.py::TestDirect::()::test_asin_4 . pypy/module/math/test/test_direct.py::TestDirect::()::test_acosh_2 . pypy/module/math/test/test_direct.py::TestDirect::()::test_asinh_2 . pypy/module/math/test/test_direct.py::TestDirect::()::test_asinh_1 . pypy/module/math/test/test_direct.py::TestDirect::()::test_acosh_1 . pypy/module/math/test/test_direct.py::TestDirect::()::test_fmod_1 . pypy/module/math/test/test_direct.py::TestDirect::()::test_fmod_8 . pypy/module/math/test/test_direct.py::TestDirect::()::test_sinh_5 . pypy/module/math/test/test_direct.py::TestDirect::()::test_sinh_4 . pypy/module/math/test/test_direct.py::TestDirect::()::test_atanh_2 . pypy/module/math/test/test_direct.py::TestDirect::()::test_sinh_2 . pypy/module/math/test/test_direct.py::TestDirect::()::test_sinh_1 . pypy/module/math/test/test_direct.py::TestDirect::()::test_atanh_1 . pypy/module/math/test/test_direct.py::TestDirect::()::test_atan2_1 . pypy/module/math/test/test_direct.py::TestDirect::()::test_atan2_2 . pypy/module/math/test/test_direct.py::TestDirect::()::test_atan2_3 . pypy/module/math/test/test_direct.py::TestDirect::()::test_atan2_4 . pypy/module/math/test/test_direct.py::TestDirect::()::test_atan2_5 . pypy/module/math/test/test_direct.py::TestDirect::()::test_atan2_6 . pypy/module/math/test/test_direct.py::TestDirect::()::test_atan2_7 . pypy/module/math/test/test_direct.py::TestDirect::()::test_atan2_8 . pypy/module/math/test/test_direct.py::TestDirect::()::test_sin_1 . pypy/module/math/test/test_direct.py::TestDirect::()::test_sin_2 . pypy/module/math/test/test_direct.py::TestDirect::()::test_sin_3 . pypy/module/math/test/test_direct.py::TestDirect::()::test_sin_4 . pypy/module/math/test/test_direct.py::TestDirect::()::test_hypot_3 . pypy/module/math/test/test_direct.py::TestDirect::()::test_fmod_6 . pypy/module/math/test/test_direct.py::TestDirect::()::test_fmod_5 . pypy/module/math/test/test_direct.py::TestDirect::()::test_pow_29 . pypy/module/math/test/test_direct.py::TestDirect::()::test_fmod_4 . pypy/module/math/test/test_direct.py::TestDirect::()::test_atan_3 . pypy/module/math/test/test_direct.py::TestDirect::()::test_atan_2 . pypy/module/math/test/test_direct.py::TestDirect::()::test_atan_1 . pypy/module/math/test/test_direct.py::TestDirect::()::test_pow_23 . pypy/module/math/test/test_direct.py::TestDirect::()::test_pow_22 . pypy/module/math/test/test_direct.py::TestDirect::()::test_pow_21 . pypy/module/math/test/test_direct.py::TestDirect::()::test_pow_20 . pypy/module/math/test/test_direct.py::TestDirect::()::test_pow_27 . pypy/module/math/test/test_direct.py::TestDirect::()::test_pow_26 . pypy/module/math/test/test_direct.py::TestDirect::()::test_pow_25 . pypy/module/math/test/test_direct.py::TestDirect::()::test_pow_24 . pypy/module/math/test/test_direct.py::TestDirect::()::test_pow_8 . pypy/module/math/test/test_direct.py::TestDirect::()::test_pow_9 . pypy/module/math/test/test_direct.py::TestDirect::()::test_asin_1 . pypy/module/math/test/test_direct.py::TestDirect::()::test_asin_2 . pypy/module/math/test/test_direct.py::TestDirect::()::test_asin_3 . pypy/module/math/test/test_direct.py::TestDirect::()::test_fmod_7 . pypy/module/math/test/test_direct.py::TestDirect::()::test_pow_1 . pypy/module/math/test/test_direct.py::TestDirect::()::test_pow_2 . pypy/module/math/test/test_direct.py::TestDirect::()::test_pow_3 . pypy/module/math/test/test_direct.py::TestDirect::()::test_pow_4 . pypy/module/math/test/test_direct.py::TestDirect::()::test_pow_5 . pypy/module/math/test/test_direct.py::TestDirect::()::test_pow_6 . pypy/module/math/test/test_direct.py::TestDirect::()::test_pow_7 . pypy/module/math/test/test_factorial.py::test_factorial_extra s pypy/module/math/test/test_factorial.py::test_timing Skipped: for manual running only . pypy/module/math/test/test_math.py::AppTestMath::()::test_all_cases . pypy/module/math/test/test_math.py::AppTestMath::()::test_ldexp s pypy/module/math/test/test_math.py::AppTestMath::()::test_fsum Skipped: fsum is not exact on machines with double rounding . pypy/module/math/test/test_math.py::AppTestMath::()::test_factorial . pypy/module/math/test/test_math.py::AppTestMath::()::test_log1p . pypy/module/math/test/test_math.py::AppTestMath::()::test_acosh . pypy/module/math/test/test_math.py::AppTestMath::()::test_asinh . pypy/module/math/test/test_math.py::AppTestMath::()::test_atanh . pypy/module/math/test/test_math.py::AppTestMath::()::test_trunc s pypy/module/math/test/test_math.py::AppTestMath::()::test_copysign_nan Skipped: sign of nan is undefined . pypy/module/math/test/test_math.py::AppTestMath::()::test_erf . pypy/module/math/test/test_math.py::AppTestMath::()::test_erfc . pypy/module/math/test/test_math.py::AppTestMath::()::test_gamma . pypy/module/math/test/test_math.py::AppTestMath::()::test_lgamma . pypy/module/itertools/test/test_itertools.py::AppTestItertools::()::test_count . pypy/module/itertools/test/test_itertools.py::AppTestItertools::()::test_count_firstval . pypy/module/itertools/test/test_itertools.py::AppTestItertools::()::test_count_repr . pypy/module/itertools/test/test_itertools.py::AppTestItertools::()::test_count_invalid . pypy/module/itertools/test/test_itertools.py::AppTestItertools::()::test_repeat . pypy/module/itertools/test/test_itertools.py::AppTestItertools::()::test_repeat_times . pypy/module/itertools/test/test_itertools.py::AppTestItertools::()::test_repeat_overflow . pypy/module/itertools/test/test_itertools.py::AppTestItertools::()::test_repeat_repr . pypy/module/itertools/test/test_itertools.py::AppTestItertools::()::test_repeat_len . pypy/module/itertools/test/test_itertools.py::AppTestItertools::()::test_takewhile . pypy/module/itertools/test/test_itertools.py::AppTestItertools::()::test_takewhile_wrongargs . pypy/module/itertools/test/test_itertools.py::AppTestItertools::()::test_dropwhile . pypy/module/itertools/test/test_itertools.py::AppTestItertools::()::test_dropwhile_wrongargs . pypy/module/itertools/test/test_itertools.py::AppTestItertools::()::test_ifilter . pypy/module/itertools/test/test_itertools.py::AppTestItertools::()::test_ifilter_wrongargs . pypy/module/itertools/test/test_itertools.py::AppTestItertools::()::test_ifilterfalse . pypy/module/itertools/test/test_itertools.py::AppTestItertools::()::test_ifilterfalse_wrongargs F pypy/module/itertools/test/test_itertools.py::AppTestItertools::()::test_islice self = func = at 0xf4f77f0c>, 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, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 0xf7a6432c> hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf6a014cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf6a014cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf4f8480c> 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 0xf4f8480c> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf4f84fac> 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 0xf4f84fac> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def runtest(self): target = self.obj if self.config.option.runappdirect: return target() space = target.im_self.space filename = self._getdynfilename(target) func = app2interp_temp(target.im_func, filename=filename) w_instance = self.parent.w_instance > self.execute_appex(space, func, space, w_instance) tool/pytest/apptest.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , space = StdObjSpace target = args = (StdObjSpace, ) def execute_appex(self, space, target, *args): self.space = space try: > target(*args) tool/pytest/apptest.py:30: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace args_w = (,) w_func = args = def appcaller(space, *args_w): if not isinstance(space, ObjSpace): raise TypeError("first argument must be a space instance.") # the last argument can be an Arguments w_func = self.wget(space, name) if not args_w: return space.call_function(w_func) else: args = args_w[-1] assert args is not None if not isinstance(args, Arguments): > return space.call_function(w_func, *args_w) interpreter/gateway.py:1227: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = args_w = (,) nargs = 1, Function = Method = def call_function(self, w_func, *args_w): nargs = len(args_w) # used for pruning funccall versions if not self.config.objspace.disable_call_speedhacks and nargs < 5: # start of hack for performance from pypy.interpreter.function import Function, Method if isinstance(w_func, Method): w_inst = w_func.w_instance if w_inst is not None: if nargs < 4: func = w_func.w_function if isinstance(func, Function): return func.funccall(w_inst, *args_w) elif args_w and ( self.abstract_isinstance_w(args_w[0], w_func.w_class)): w_func = w_func.w_function if isinstance(w_func, Function): > return w_func.funccall(*args_w) interpreter/baseobjspace.py:1210: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = args_w = (,) gateway = PyCode = code = def funccall(self, *args_w): # speed hack from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit nargs = len(args_w) fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, args_w[0]) elif nargs == 2: assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, args_w[0], args_w[1]) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) return code.fastcall_3(self.space, self, args_w[0], args_w[1], args_w[2]) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) return code.fastcall_4(self.space, self, args_w[0], args_w[1], args_w[2], args_w[3]) elif (nargs | PyCode.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) if nargs < 5: new_frame = self.space.createframe(code, self.w_func_globals, self) for i in funccallunrolling: if i < nargs: new_frame.locals_cells_stack_w[i] = args_w[i] > return new_frame.run() interpreter/function.py:118: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 52 def run(self): """Start this frame's execution.""" if self.getcode().co_flags & pycode.CO_GENERATOR: from pypy.interpreter.generator import GeneratorIterator return GeneratorIterator(self) else: > return self.execute_frame() interpreter/pyframe.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 52 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:290: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 52 e = SyntaxError("Non-ASCII character '\\xe2' in file /build_dir/own-linux-x86-32/b..., ('/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py', 423, 0, None)) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:943: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 52 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:286: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 52 pycode = next_instr = 549 ec = def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 52 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x01\x00|\x01\x00\xc9\x01\x00g\x00\x00d\x02\x00\xca\x02\x00}\x02\x00t\x02\x00t\x03\x00|\x...0d\x00\x00k\x08\x00s\xcf\x03t\x05\x00\x82\x01\x00t\x02\x00t\x03\x00t\x04\x00|\x02\x00\x83\x03\x00\x01qH\x03Wd\x00\x00S' next_instr = 549 ec = def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 52 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x01\x00|\x01\x00\xc9\x01\x00g\x00\x00d\x02\x00\xca\x02\x00}\x02\x00t\x02\x00t\x03\x00|\x...0d\x00\x00k\x08\x00s\xcf\x03t\x05\x00\x82\x01\x00t\x02\x00t\x03\x00t\x04\x00|\x02\x00\x83\x03\x00\x01qH\x03Wd\x00\x00S' next_instr = 947L ec = @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: self.last_instr = intmask(next_instr) if jit.we_are_jitted(): if self.debugdata: ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: ec.bytecode_trace(self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) next_instr += 1 if opcode >= HAVE_ARGUMENT: lo = ord(co_code[next_instr]) hi = ord(co_code[next_instr+1]) next_instr += 2 oparg = (hi * 256) | lo else: oparg = 0 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into a switch(). while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption lo = ord(co_code[next_instr+1]) hi = ord(co_code[next_instr+2]) next_instr += 3 oparg = (oparg * 65536) | (hi * 256) | lo if opcode == opcodedesc.RETURN_VALUE.index: if not self.blockstack_non_empty(): self.frame_finished_execution = True # for generators raise Return w_returnvalue = self.popvalue() block = self.unrollstack(SReturnValue.kind) if block is None: self.pushvalue(w_returnvalue) raise Return else: unroller = SReturnValue(w_returnvalue) next_instr = block.handle(self, unroller) return next_instr # now inside a 'finally' block elif opcode == opcodedesc.END_FINALLY.index: unroller = self.end_finally() if isinstance(unroller, SuspendedUnroller): # go on unrolling the stack block = self.unrollstack(unroller.kind) if block is None: w_result = unroller.nomoreblocks() self.pushvalue(w_result) raise Return else: next_instr = block.handle(self, unroller) return next_instr elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, ec) elif opcode == opcodedesc.BREAK_LOOP.index: next_instr = self.BREAK_LOOP(oparg, next_instr) elif opcode == opcodedesc.CONTINUE_LOOP.index: return self.CONTINUE_LOOP(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: next_instr = self.JUMP_IF_FALSE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_DEBUG.index: next_instr = self.JUMP_IF_NOT_DEBUG(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: next_instr = self.JUMP_IF_TRUE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: next_instr = self.POP_JUMP_IF_FALSE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: next_instr = self.POP_JUMP_IF_TRUE(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_DIVIDE.index: self.BINARY_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CLASS.index: self.BUILD_CLASS(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR.index: self.CALL_FUNCTION_VAR(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR_KW.index: self.CALL_FUNCTION_VAR_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: self.CALL_METHOD(oparg, next_instr) elif opcode == opcodedesc.COMPARE_OP.index: self.COMPARE_OP(oparg, next_instr) elif opcode == opcodedesc.DELETE_ATTR.index: self.DELETE_ATTR(oparg, next_instr) elif opcode == opcodedesc.DELETE_FAST.index: self.DELETE_FAST(oparg, next_instr) elif opcode == opcodedesc.DELETE_GLOBAL.index: self.DELETE_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.DELETE_NAME.index: self.DELETE_NAME(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_0.index: self.DELETE_SLICE_0(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_1.index: self.DELETE_SLICE_1(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_2.index: self.DELETE_SLICE_2(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_3.index: self.DELETE_SLICE_3(oparg, next_instr) elif opcode == opcodedesc.DELETE_SUBSCR.index: self.DELETE_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.DUP_TOP.index: self.DUP_TOP(oparg, next_instr) elif opcode == opcodedesc.DUP_TOPX.index: self.DUP_TOPX(oparg, next_instr) elif opcode == opcodedesc.EXEC_STMT.index: self.EXEC_STMT(oparg, next_instr) elif opcode == opcodedesc.GET_ITER.index: self.GET_ITER(oparg, next_instr) elif opcode == opcodedesc.IMPORT_FROM.index: self.IMPORT_FROM(oparg, next_instr) elif opcode == opcodedesc.IMPORT_NAME.index: self.IMPORT_NAME(oparg, next_instr) elif opcode == opcodedesc.IMPORT_STAR.index: self.IMPORT_STAR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_ADD.index: self.INPLACE_ADD(oparg, next_instr) elif opcode == opcodedesc.INPLACE_AND.index: self.INPLACE_AND(oparg, next_instr) elif opcode == opcodedesc.INPLACE_DIVIDE.index: self.INPLACE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_FLOOR_DIVIDE.index: self.INPLACE_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_LSHIFT.index: self.INPLACE_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MODULO.index: self.INPLACE_MODULO(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MULTIPLY.index: self.INPLACE_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.INPLACE_OR.index: self.INPLACE_OR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_POWER.index: self.INPLACE_POWER(oparg, next_instr) elif opcode == opcodedesc.INPLACE_RSHIFT.index: self.INPLACE_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_SUBTRACT.index: self.INPLACE_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_TRUE_DIVIDE.index: self.INPLACE_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_XOR.index: self.INPLACE_XOR(oparg, next_instr) elif opcode == opcodedesc.LIST_APPEND.index: self.LIST_APPEND(oparg, next_instr) elif opcode == opcodedesc.LOAD_ATTR.index: self.LOAD_ATTR(oparg, next_instr) elif opcode == opcodedesc.LOAD_CLOSURE.index: self.LOAD_CLOSURE(oparg, next_instr) elif opcode == opcodedesc.LOAD_CONST.index: self.LOAD_CONST(oparg, next_instr) elif opcode == opcodedesc.LOAD_DEREF.index: self.LOAD_DEREF(oparg, next_instr) elif opcode == opcodedesc.LOAD_FAST.index: self.LOAD_FAST(oparg, next_instr) elif opcode == opcodedesc.LOAD_GLOBAL.index: self.LOAD_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.LOAD_LOCALS.index: self.LOAD_LOCALS(oparg, next_instr) elif opcode == opcodedesc.LOAD_NAME.index: self.LOAD_NAME(oparg, next_instr) elif opcode == opcodedesc.LOOKUP_METHOD.index: > self.LOOKUP_METHOD(oparg, next_instr) interpreter/pyopcode.py:356: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = at line 52 nameindex = 12, ignored = (947L,) MutableCell = space = StdObjSpace w_obj = def LOOKUP_METHOD(f, nameindex, *ignored): from pypy.objspace.std.typeobject import MutableCell # stack before after # -------------- --fast-method----fallback-case------------ # # w_object None # w_object => w_function w_boundmethod_or_whatever # (more stuff) (more stuff) (more stuff) # space = f.space w_obj = f.popvalue() if not jit.we_are_jitted(): # mapdict has an extra-fast version of this function if LOOKUP_METHOD_mapdict(f, nameindex, w_obj): return w_name = f.getname_w(nameindex) w_value = None w_type = space.type(w_obj) if w_type.has_object_getattribute(): name = space.text_w(w_name) # bit of a mess to use these internal functions, but it allows the # mapdict caching below to work without an additional lookup version_tag = w_type.version_tag() if version_tag is None: _, w_descr = w_type._lookup_where(name) w_descr_cell = None else: _, w_descr_cell = w_type._pure_lookup_where_with_method_cache( name, version_tag) w_descr = w_descr_cell if isinstance(w_descr, MutableCell): w_descr = w_descr.unwrap_cell(space) if w_descr is None: # this handles directly the common case # module.function(args..) > w_value = w_obj.getdictvalue(space, name) objspace/std/callmethod.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def getdictvalue(self, space, name): w_value = space.finditem_str(self.w_dict, name) if self.lazy and w_value is None: > return self._load_lazily(space, name) interpreter/mixedmodule.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def _load_lazily(self, space, name): w_name = space.new_interned_str(name) try: loader = self.loaders[name] except KeyError: return None else: > w_value = loader(space) interpreter/mixedmodule.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace def ifileloader(space): d = {'space':space} # EVIL HACK (but it works, and this is not RPython :-) while 1: try: value = eval(spec, d) except NameError as ex: name = ex.args[0].split("'")[1] # super-Evil if name in d: raise # propagate the NameError try: > d[name] = __import__(pkgroot+'.'+name, None, None, [name]) interpreter/mixedmodule.py:182: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from pypy.interpreter.gateway import unwrap_spec from pypy.interpreter.error import oefmt from rpython.rlib import rgc > from pypy.module.gc.hook import W_GcCollectStepStats module/gc/interp_gc.py:4: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from rpython.memory.gc.hook import GcHooks > from rpython.memory.gc import incminimark module/gc/hook.py:2: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ # XXX Should find a way to bound the major collection threshold by the # XXX total addressable size. Maybe by keeping some minimarkpage arenas # XXX pre-reserved, enough for a few nursery collections? What about # XXX raw-malloced memory? # XXX try merging old_objects_pointing_to_pinned into # XXX old_objects_pointing_to_young (IRC 2014-10-22, fijal and gregor_w) import sys import os import time from rpython.rtyper.lltypesystem import lltype, llmemory, llarena, llgroup from rpython.rtyper.lltypesystem.lloperation import llop from rpython.rtyper.lltypesystem.llmemory import raw_malloc_usage from rpython.memory.gc.base import GCBase, MovingGCBase > from rpython.memory.gc import env E File "/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py", line 423 E SyntaxError: Non-ASCII character '\xe2' in file /build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py on line 423, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details ../rpython/memory/gc/incminimark.py:70: SyntaxError . pypy/module/itertools/test/test_itertools.py::AppTestItertools::()::test_islice_dropitems_exact . pypy/module/itertools/test/test_itertools.py::AppTestItertools::()::test_islice_overflow . pypy/module/itertools/test/test_itertools.py::AppTestItertools::()::test_islice_wrongargs . pypy/module/itertools/test/test_itertools.py::AppTestItertools::()::test_chain . pypy/module/itertools/test/test_itertools.py::AppTestItertools::()::test_imap . pypy/module/itertools/test/test_itertools.py::AppTestItertools::()::test_imap_wrongargs . pypy/module/itertools/test/test_itertools.py::AppTestItertools::()::test_izip . pypy/module/itertools/test/test_itertools.py::AppTestItertools::()::test_izip_wrongargs . pypy/module/itertools/test/test_itertools.py::AppTestItertools::()::test_cycle . pypy/module/itertools/test/test_itertools.py::AppTestItertools::()::test_starmap . pypy/module/itertools/test/test_itertools.py::AppTestItertools::()::test_starmap_wrongargs . pypy/module/itertools/test/test_itertools.py::AppTestItertools::()::test_tee . pypy/module/itertools/test/test_itertools.py::AppTestItertools::()::test_tee_wrongargs . pypy/module/itertools/test/test_itertools.py::AppTestItertools::()::test_tee_optimization . pypy/module/itertools/test/test_itertools.py::AppTestItertools::()::test_tee_instantiate . pypy/module/itertools/test/test_itertools.py::AppTestItertools::()::test_groupby . pypy/module/itertools/test/test_itertools.py::AppTestItertools::()::test_groupby_wrongargs . pypy/module/itertools/test/test_itertools.py::AppTestItertools::()::test_groupby_question_43905804 . pypy/module/itertools/test/test_itertools.py::AppTestItertools::()::test_groupby_crash . pypy/module/itertools/test/test_itertools.py::AppTestItertools::()::test_iterables . pypy/module/itertools/test/test_itertools.py::AppTestItertools::()::test_docstrings . pypy/module/itertools/test/test_itertools.py::AppTestItertools::()::test_tee_weakrefable . pypy/module/itertools/test/test_itertools.py::AppTestItertools::()::test_tee_bug1 . pypy/module/itertools/test/test_itertools.py::AppTestItertools::()::test_tee_defines_copy . pypy/module/itertools/test/test_itertools.py::AppTestItertools::()::test_tee_function_uses_copy . pypy/module/itertools/test/test_itertools.py::AppTestItertools::()::test_tee_function_empty . pypy/module/itertools/test/test_itertools.py::AppTestItertools26::()::test_count_overflow . pypy/module/itertools/test/test_itertools.py::AppTestItertools26::()::test_chain_fromiterable . pypy/module/itertools/test/test_itertools.py::AppTestItertools26::()::test_combinations . pypy/module/itertools/test/test_itertools.py::AppTestItertools26::()::test_iziplongest . pypy/module/itertools/test/test_itertools.py::AppTestItertools26::()::test_izip_longest2 . pypy/module/itertools/test/test_itertools.py::AppTestItertools26::()::test_product . pypy/module/itertools/test/test_itertools.py::AppTestItertools26::()::test_product_repeat . pypy/module/itertools/test/test_itertools.py::AppTestItertools26::()::test_product_diff_sizes . pypy/module/itertools/test/test_itertools.py::AppTestItertools26::()::test_product_toomany_args . pypy/module/itertools/test/test_itertools.py::AppTestItertools26::()::test_product_empty . pypy/module/itertools/test/test_itertools.py::AppTestItertools26::()::test_product_powers_of_two . pypy/module/itertools/test/test_itertools.py::AppTestItertools26::()::test_product_empty_item . pypy/module/itertools/test/test_itertools.py::AppTestItertools26::()::test_permutations . pypy/module/itertools/test/test_itertools.py::AppTestItertools26::()::test_permutations_r . pypy/module/itertools/test/test_itertools.py::AppTestItertools26::()::test_permutations_r_gt_n . pypy/module/itertools/test/test_itertools.py::AppTestItertools26::()::test_permutations_neg_r . pypy/module/itertools/test/test_itertools.py::AppTestItertools27::()::test_compress . pypy/module/itertools/test/test_itertools.py::AppTestItertools27::()::test_compress_diff_len . pypy/module/itertools/test/test_itertools.py::AppTestItertools27::()::test_count_kwargs . pypy/module/itertools/test/test_itertools.py::AppTestItertools27::()::test_repeat_kwargs . pypy/module/itertools/test/test_itertools.py::AppTestItertools27::()::test_combinations_overflow . pypy/module/itertools/test/test_itertools.py::AppTestItertools27::()::test_combinations_with_replacement . pypy/module/itertools/test/test_itertools.py::AppTestItertools27::()::test_combinations_with_replacement_shortcases . pypy/module/itertools/test/test_itertools.py::AppTestItertools27::()::test_izip_longest3 . pypy/module/itertools/test/test_itertools.py::AppTestItertools27::()::test_subclassing . pypy/module/itertools/test/test_itertools.py::AppTestItertools27::()::test_copy_pickle . pypy/module/itertools/test/test_itertools.py::AppTestItertools27::()::test_islice_attack . pypy/module/itertools/test/test_itertools.py::AppTestItertools28::()::test_tee_concurrent . pypy/module/itertools/test/test_ztranslation.py::test_checkmodule (somefailed=True in module/itertools/test) . pypy/module/mmap/test/test_mmap.py::AppTestMMap::()::test_page_size . pypy/module/mmap/test/test_mmap.py::AppTestMMap::()::test_attributes . pypy/module/mmap/test/test_mmap.py::AppTestMMap::()::test_args . pypy/module/mmap/test/test_mmap.py::AppTestMMap::()::test_subclass . pypy/module/mmap/test/test_mmap.py::AppTestMMap::()::test_file_size . pypy/module/mmap/test/test_mmap.py::AppTestMMap::()::test_create . pypy/module/mmap/test/test_mmap.py::AppTestMMap::()::test_close . pypy/module/mmap/test/test_mmap.py::AppTestMMap::()::test_read_byte . pypy/module/mmap/test/test_mmap.py::AppTestMMap::()::test_readline . pypy/module/mmap/test/test_mmap.py::AppTestMMap::()::test_read . pypy/module/mmap/test/test_mmap.py::AppTestMMap::()::test_find . pypy/module/mmap/test/test_mmap.py::AppTestMMap::()::test_rfind . pypy/module/mmap/test/test_mmap.py::AppTestMMap::()::test_is_modifiable . pypy/module/mmap/test/test_mmap.py::AppTestMMap::()::test_seek . pypy/module/mmap/test/test_mmap.py::AppTestMMap::()::test_write . pypy/module/mmap/test/test_mmap.py::AppTestMMap::()::test_write_byte . pypy/module/mmap/test/test_mmap.py::AppTestMMap::()::test_size . pypy/module/mmap/test/test_mmap.py::AppTestMMap::()::test_tell . pypy/module/mmap/test/test_mmap.py::AppTestMMap::()::test_flush . pypy/module/mmap/test/test_mmap.py::AppTestMMap::()::test_length_0_large_offset . pypy/module/mmap/test/test_mmap.py::AppTestMMap::()::test_move . pypy/module/mmap/test/test_mmap.py::AppTestMMap::()::test_resize s pypy/module/mmap/test/test_mmap.py::AppTestMMap::()::test_resize_bsd Skipped: resize works under not OSX or FreeBSD . pypy/module/mmap/test/test_mmap.py::AppTestMMap::()::test_len . pypy/module/mmap/test/test_mmap.py::AppTestMMap::()::test_get_item . pypy/module/mmap/test/test_mmap.py::AppTestMMap::()::test_get_crash . pypy/module/mmap/test/test_mmap.py::AppTestMMap::()::test_set_item . pypy/module/mmap/test/test_mmap.py::AppTestMMap::()::test_del_item . pypy/module/mmap/test/test_mmap.py::AppTestMMap::()::test_concatenation . pypy/module/mmap/test/test_mmap.py::AppTestMMap::()::test_repeatition . pypy/module/mmap/test/test_mmap.py::AppTestMMap::()::test_slicing . pypy/module/mmap/test/test_mmap.py::AppTestMMap::()::test_sequence_type . pypy/module/mmap/test/test_mmap.py::AppTestMMap::()::test_buffer . pypy/module/mmap/test/test_mmap.py::AppTestMMap::()::test_buffer_write . pypy/module/mmap/test/test_mmap.py::AppTestMMap::()::test_memoryview . pypy/module/mmap/test/test_mmap.py::AppTestMMap::()::test_offset . pypy/module/mmap/test/test_mmap.py::AppTestMMap::()::test_offset_more s pypy/module/mmap/test/test_mmap.py::AppTestMMap::()::test_large_offset Skipped: emulation of files can't use larger-than-long offsets s pypy/module/mmap/test/test_mmap.py::AppTestMMap::()::test_large_filesize Skipped: emulation of files can't use larger-than-long offsets . pypy/module/mmap/test/test_mmap.py::AppTestMMap::()::test_all . pypy/module/mmap/test/test_mmap.py::AppTestMMap::()::test_empty_file . pypy/module/mmap/test/test_mmap.py::AppTestMMap::()::test_resize_past_pos . pypy/module/mmap/test/test_mmap.py::AppTestMMap::()::test_close_while_indexing . pypy/module/operator/test/test_operator.py::AppTestOperator::()::test_equality . pypy/module/operator/test/test_operator.py::AppTestOperator::()::test_getters_are_not_regular_functions . pypy/module/operator/test/test_operator.py::AppTestOperator::()::test_getter_multiple_gest . pypy/module/operator/test/test_operator.py::AppTestOperator::()::test_dotted_attrgetter . pypy/module/operator/test/test_operator.py::AppTestOperator::()::test_attrgetter_type . pypy/module/operator/test/test_operator.py::AppTestOperator::()::test_concat . pypy/module/operator/test/test_operator.py::AppTestOperator::()::test_repeat . pypy/module/operator/test/test_operator.py::AppTestOperator::()::test_isMappingType . pypy/module/operator/test/test_operator.py::AppTestOperator::()::test_isSequenceType . pypy/module/operator/test/test_operator.py::AppTestOperator::()::test_isXxxType_more . pypy/module/operator/test/test_operator.py::AppTestOperator::()::test_inplace . pypy/module/operator/test/test_operator.py::AppTestOperator::()::test_irepeat . pypy/module/operator/test/test_operator.py::AppTestOperator::()::test_methodcaller . pypy/module/operator/test/test_operator.py::AppTestOperator::()::test_methodcaller_self . pypy/module/operator/test/test_operator.py::AppTestOperator::()::test_index . pypy/module/operator/test/test_operator.py::AppTestOperator::()::test_index_int_subclass . pypy/module/operator/test/test_operator.py::AppTestOperator::()::test_compare_digest . pypy/module/operator/test/test_operator.py::AppTestOperator::()::test_compare_digest_unicode . pypy/module/operator/test/test_tscmp.py::TestTimingSafeCompare::()::test_tscmp_neq . pypy/module/operator/test/test_tscmp.py::TestTimingSafeCompare::()::test_tscmp_eq . pypy/module/operator/test/test_tscmp.py::TestTimingSafeCompare::()::test_tscmp_len . pypy/module/operator/test/test_tscmp.py::TestTimingSafeCompare::()::test_tscmp_nlen . pypy/module/operator/test/test_tscmp.py::TestTimingSafeCompareWide::()::test_tscmp_neq . pypy/module/operator/test/test_tscmp.py::TestTimingSafeCompareWide::()::test_tscmp_eq . pypy/module/operator/test/test_tscmp.py::TestTimingSafeCompareWide::()::test_tscmp_len . pypy/module/operator/test/test_tscmp.py::TestTimingSafeCompareWide::()::test_tscmp_nlen . pypy/module/operator/test/test_tscmp.py::TestTimingSafeCompareWide::()::test_tscmp_wide_nonascii . pypy/module/parser/test/test_parser.py::AppTestParser::()::test_suite . pypy/module/parser/test/test_parser.py::AppTestParser::()::test_expr . pypy/module/parser/test/test_parser.py::AppTestParser::()::test_totuple_and_tolist . pypy/module/parser/test/test_parser.py::AppTestParser::()::test_compile . pypy/module/parser/test/test_parser.py::AppTestParser::()::test_error . pypy/module/parser/test/test_parser.py::AppTestParser::()::test_roundtrip . pypy/module/parser/test/test_parser.py::AppTestParser::()::test_bad_tree . pypy/module/imp/test/test_app.py::AppTestImpModule::()::test_find_module . pypy/module/imp/test/test_app.py::AppTestImpModule::()::test_load_dynamic . pypy/module/imp/test/test_app.py::AppTestImpModule::()::test_suffixes . pypy/module/imp/test/test_app.py::AppTestImpModule::()::test_obscure_functions . pypy/module/imp/test/test_app.py::AppTestImpModule::()::test_load_module_py . pypy/module/imp/test/test_app.py::AppTestImpModule::()::test_load_module_pyc_1 . pypy/module/imp/test/test_app.py::AppTestImpModule::()::test_load_source . pypy/module/imp/test/test_app.py::AppTestImpModule::()::test_load_module_pyc_2 . pypy/module/imp/test/test_app.py::AppTestImpModule::()::test_load_broken_pyc . pypy/module/imp/test/test_app.py::AppTestImpModule::()::test_load_module_in_sys_modules . pypy/module/imp/test/test_app.py::AppTestImpModule::()::test_nullimporter . pypy/module/imp/test/test_app.py::AppTestImpModule::()::test_path_importer_cache . pypy/module/imp/test/test_app.py::AppTestImpModule::()::test_rewrite_pyc_check_code_name . pypy/module/imp/test/test_app.py::AppTestImpModule::()::test_builtin_reimport . pypy/module/imp/test/test_app.py::AppTestImpModule::()::test_builtin_reimport_mess . pypy/module/imp/test/test_app.py::AppTestImpModule::()::test_unicode_in_sys_path . pypy/module/imp/test/test_import.py::AppTestImport::()::test_set_sys_modules_during_import . pypy/module/imp/test/test_import.py::AppTestImport::()::test_import_bare_dir_fails . pypy/module/imp/test/test_import.py::AppTestImport::()::test_import_bare_dir_warns . pypy/module/imp/test/test_import.py::AppTestImport::()::test_import_sys . pypy/module/imp/test/test_import.py::AppTestImport::()::test_import_a . pypy/module/imp/test/test_import.py::AppTestImport::()::test_import_a_cache . pypy/module/imp/test/test_import.py::AppTestImport::()::test_trailing_slash . pypy/module/imp/test/test_import.py::AppTestImport::()::test_import_pkg . pypy/module/imp/test/test_import.py::AppTestImport::()::test_import_dotted . pypy/module/imp/test/test_import.py::AppTestImport::()::test_import_keywords . pypy/module/imp/test/test_import.py::AppTestImport::()::test_import_by_filename . pypy/module/imp/test/test_import.py::AppTestImport::()::test_import_badcase . pypy/module/imp/test/test_import.py::AppTestImport::()::test_import_dotted_cache . pypy/module/imp/test/test_import.py::AppTestImport::()::test_import_dotted2 . pypy/module/imp/test/test_import.py::AppTestImport::()::test_import_ambig . pypy/module/imp/test/test_import.py::AppTestImport::()::test_trailing_dot . pypy/module/imp/test/test_import.py::AppTestImport::()::test_from_a . pypy/module/imp/test/test_import.py::AppTestImport::()::test_from_dotted . pypy/module/imp/test/test_import.py::AppTestImport::()::test_from_pkg_import_module . pypy/module/imp/test/test_import.py::AppTestImport::()::test_import_relative . pypy/module/imp/test/test_import.py::AppTestImport::()::test_import_relative_back_to_absolute . pypy/module/imp/test/test_import.py::AppTestImport::()::test_import_pkg_relative . pypy/module/imp/test/test_import.py::AppTestImport::()::test_import_relative_partial_success . pypy/module/imp/test/test_import.py::AppTestImport::()::test_import_builtin_inpackage . pypy/module/imp/test/test_import.py::AppTestImport::()::test_import_Globals_Are_None . pypy/module/imp/test/test_import.py::AppTestImport::()::test_import_fromlist_must_not_contain_unicodes . pypy/module/imp/test/test_import.py::AppTestImport::()::test_import_relative_back_to_absolute2 . pypy/module/imp/test/test_import.py::AppTestImport::()::test_substituting_import . pypy/module/imp/test/test_import.py::AppTestImport::()::test_proper_failure_on_killed__path__ . pypy/module/imp/test/test_import.py::AppTestImport::()::test_pyc s pypy/module/imp/test/test_import.py::AppTestImport::()::test_pyw Skipped: condition: sys.platform != 'win32' . pypy/module/imp/test/test_import.py::AppTestImport::()::test_cannot_write_pyc . pypy/module/imp/test/test_import.py::AppTestImport::()::test__import__empty_string . pypy/module/imp/test/test_import.py::AppTestImport::()::test_py_directory . pypy/module/imp/test/test_import.py::AppTestImport::()::test_invalid__name__ . pypy/module/imp/test/test_import.py::AppTestImport::()::test_future_absolute_import . pypy/module/imp/test/test_import.py::AppTestImport::()::test_future_relative_import_without_from_name . pypy/module/imp/test/test_import.py::AppTestImport::()::test_no_relative_import . pypy/module/imp/test/test_import.py::AppTestImport::()::test_no_relative_import_bug . pypy/module/imp/test/test_import.py::AppTestImport::()::test_future_relative_import_level_1 . pypy/module/imp/test/test_import.py::AppTestImport::()::test_future_relative_import_level_2 . pypy/module/imp/test/test_import.py::AppTestImport::()::test_future_relative_import_level_2_without_from_name . pypy/module/imp/test/test_import.py::AppTestImport::()::test_future_relative_import_level_3 . pypy/module/imp/test/test_import.py::AppTestImport::()::test_future_relative_import_error_when_in_non_package . pypy/module/imp/test/test_import.py::AppTestImport::()::test_future_relative_import_error_when_in_non_package2 . pypy/module/imp/test/test_import.py::AppTestImport::()::test_relative_import_with___name__ . pypy/module/imp/test/test_import.py::AppTestImport::()::test_relative_import_with___name__and___path__ . pypy/module/imp/test/test_import.py::AppTestImport::()::test_relative_import_pkg . pypy/module/imp/test/test_import.py::AppTestImport::()::test__package__ . pypy/module/imp/test/test_import.py::AppTestImport::()::test_universal_newlines . pypy/module/imp/test/test_import.py::AppTestImport::()::test_reload . pypy/module/imp/test/test_import.py::AppTestImport::()::test_reload_failing . pypy/module/imp/test/test_import.py::AppTestImport::()::test_reload_submodule . pypy/module/imp/test/test_import.py::AppTestImport::()::test_reload_builtin . pypy/module/imp/test/test_import.py::AppTestImport::()::test_reload_builtin_doesnt_clear . pypy/module/imp/test/test_import.py::AppTestImport::()::test_reimport_builtin_simple_case_1 . pypy/module/imp/test/test_import.py::AppTestImport::()::test_reimport_builtin_simple_case_2 . pypy/module/imp/test/test_import.py::AppTestImport::()::test_reimport_builtin . pypy/module/imp/test/test_import.py::AppTestImport::()::test_reload_infinite . pypy/module/imp/test/test_import.py::AppTestImport::()::test_reload_module_subclass . pypy/module/imp/test/test_import.py::AppTestImport::()::test_explicitly_missing . pypy/module/imp/test/test_import.py::AppTestImport::()::test_del_from_sys_modules . pypy/module/imp/test/test_import.py::AppTestImport::()::test_shadow_builtin . pypy/module/imp/test/test_import.py::AppTestImport::()::test_shadow_extension_1 . pypy/module/imp/test/test_import.py::AppTestImport::()::test_shadow_extension_2 . pypy/module/imp/test/test_import.py::AppTestImport::()::test_invalid_pathname . pypy/module/imp/test/test_import.py::AppTestImport::()::test_crash_load_module . pypy/module/imp/test/test_import.py::AppTestImport::()::test_import_star_finds_submodules_with___all__ . pypy/module/imp/test/test_import.py::AppTestImport::()::test_import_star_does_not_find_submodules_without___all__ . pypy/module/imp/test/test_import.py::AppTestImport::()::test_import_star_empty_string . pypy/module/imp/test/test_import.py::AppTestImport::()::test_import_star_with_bogus___all__ . pypy/module/imp/test/test_import.py::AppTestImport::()::test_verbose_flag_1 . pypy/module/imp/test/test_import.py::AppTestImport::()::test_verbose_flag_2 . pypy/module/imp/test/test_import.py::AppTestImport::()::test_verbose_flag_0 . pypy/module/imp/test/test_import.py::AppTestImport::()::test_dir_with_only_pyw . pypy/module/imp/test/test_import.py::AppTestImport::()::test_dev_null_init_file . pypy/module/imp/test/test_import.py::TestAbi::()::test_abi_tag . pypy/module/imp/test/test_import.py::TestPycStuff::()::test_check_compiled_module . pypy/module/imp/test/test_import.py::TestPycStuff::()::test_read_compiled_module . pypy/module/imp/test/test_import.py::TestPycStuff::()::test_load_compiled_module . pypy/module/imp/test/test_import.py::TestPycStuff::()::test_parse_source_module . pypy/module/imp/test/test_import.py::TestPycStuff::()::test_long_writes . pypy/module/imp/test/test_import.py::TestPycStuff::()::test_load_source_module . pypy/module/imp/test/test_import.py::TestPycStuff::()::test_load_source_module_nowrite . pypy/module/imp/test/test_import.py::TestPycStuff::()::test_load_source_module_dont_write_bytecode . pypy/module/imp/test/test_import.py::TestPycStuff::()::test_load_source_module_syntaxerror . pypy/module/imp/test/test_import.py::TestPycStuff::()::test_load_source_module_importerror . pypy/module/imp/test/test_import.py::TestPycStuff::()::test_write_compiled_module s pypy/module/imp/test/test_import.py::TestPycStuff::()::test_pyc_magic_changes Skipped: For now, PyPy generates only one kind of .pyc files . pypy/module/imp/test/test_import.py::test_PYTHONPATH_takes_precedence . pypy/module/imp/test/test_import.py::AppTestImportHooks::()::test_meta_path . pypy/module/imp/test/test_import.py::AppTestImportHooks::()::test_meta_path_block . pypy/module/imp/test/test_import.py::AppTestImportHooks::()::test_path_hooks_leaking . pypy/module/imp/test/test_import.py::AppTestImportHooks::()::test_imp_wrapper . pypy/module/imp/test/test_import.py::AppTestImportHooks::()::test_path_hooks_module . pypy/module/imp/test/test_import.py::AppTestImportHooks::()::test_meta_path_import_error_1 . pypy/module/imp/test/test_import.py::AppTestImportHooks::()::test_meta_path_import_star_2 . pypy/module/imp/test/test_import.py::AppTestPyPyExtension::()::test_run_compiled_module . pypy/module/imp/test/test_import.py::AppTestPyPyExtension::()::test_getimporter . pypy/module/imp/test/test_import.py::AppTestWriteBytecode::()::test_default . pypy/module/imp/test/test_import.py::AppTestWriteBytecode::()::test_write_bytecode . pypy/module/imp/test/test_import.py::AppTestWriteBytecode::()::test_dont_write_bytecode . pypy/module/imp/test/test_import.py::AppTestWriteBytecodeSandbox::()::test_default . pypy/module/imp/test/test_import.py::AppTestWriteBytecodeSandbox::()::test_write_bytecode . pypy/module/imp/test/test_import.py::AppTestWriteBytecodeSandbox::()::test_dont_write_bytecode . pypy/module/imp/test/test_import.py::AppTestNoLonePycFile::()::test_import_possibly_from_pyc . pypy/module/imp/test/test_import.py::AppTestLonePycFile::()::test_import_possibly_from_pyc . pypy/module/imp/test/test_import.py::AppTestMultithreadedImp::()::test_multithreaded_import . pypy/module/pwd/test/test_pwd.py::AppTestPwd::()::test_getpwuid . pypy/module/pwd/test/test_pwd.py::AppTestPwd::()::test_getpwnam . pypy/module/pwd/test/test_pwd.py::AppTestPwd::()::test_getpwall . pypy/module/pwd/test/test_ztranslation.py::test_checkmodule . pypy/module/pyexpat/test/test_build.py::test_build . pypy/module/pyexpat/test/test_parser.py::AppTestPyexpat::()::test_simple . pypy/module/pyexpat/test/test_parser.py::AppTestPyexpat::()::test_attributes . pypy/module/pyexpat/test/test_parser.py::AppTestPyexpat::()::test_version . pypy/module/pyexpat/test/test_parser.py::AppTestPyexpat::()::test_malformed_xml . pypy/module/pyexpat/test/test_parser.py::AppTestPyexpat::()::test_encoding_argument . pypy/module/pyexpat/test/test_parser.py::AppTestPyexpat::()::test_get_handler . pypy/module/pyexpat/test/test_parser.py::AppTestPyexpat::()::test_intern . pypy/module/pyexpat/test/test_parser.py::AppTestPyexpat::()::test_set_buffersize . pypy/module/pyexpat/test/test_parser.py::AppTestPyexpat::()::test_encoding_xml . pypy/module/pyexpat/test/test_parser.py::AppTestPyexpat::()::test_explicit_encoding . pypy/module/pyexpat/test/test_parser.py::AppTestPyexpat::()::test_python_encoding . pypy/module/pyexpat/test/test_parser.py::AppTestPyexpat::()::test_mbcs . pypy/module/pyexpat/test/test_parser.py::AppTestPyexpat::()::test_invalid_error . pypy/module/pyexpat/test/test_parser.py::AppTestPyexpat::()::test_external_entity . pypy/module/pyexpat/test/test_parser.py::AppTestPyexpat::()::test_errors . pypy/module/pyexpat/test/test_parser.py::AppTestPyexpat::()::test_model . pypy/module/pyexpat/test/test_parser.py::AppTestPyexpat::()::test_read_chunks . pypy/module/pyexpat/test/test_parser.py::AppTestPyexpat::()::test_entities . pypy/module/pyexpat/test/test_parser.py::AppTestPyexpat2::()::test_django_bug . pypy/module/pyexpat/test/test_parser.py::AppTestPyexpat2::()::test_ErrorString_crash . pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_posix_is_pypy_s . pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_some_posix_basic_operation . pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_stat_float_times . pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_stat_result . pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_stat_lstat . pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_stat_exception . pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_statvfs . pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_pickle . pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_open_exception . pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_filename_exception . pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_open_handles_NUL_chars . pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_chmod_exception . pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_chown_exception . pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_utime_exception . pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_functions_raise_error . pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_fdopen . pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_fdopen_hackedbuiltins . pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_fdopen_directory . pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_fdopen_keeps_fd_open_on_errors . pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_getcwd . pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_listdir . pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_listdir_unicode . pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_access . pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_unlink . pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_times . pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_strerror . pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_fork . pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_openpty . pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_forkpty F pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_popen self = func = at 0xf4be4ca4>, 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, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 0xf79de32c> hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf697b4cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf697b4cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf4a000ec> 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 0xf4a000ec> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf4a00b2c> 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 0xf4a00b2c> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def runtest(self): target = self.obj if self.config.option.runappdirect: return target() space = target.im_self.space filename = self._getdynfilename(target) func = app2interp_temp(target.im_func, filename=filename) w_instance = self.parent.w_instance > self.execute_appex(space, func, space, w_instance) tool/pytest/apptest.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , space = StdObjSpace target = args = (StdObjSpace, ) def execute_appex(self, space, target, *args): self.space = space try: > target(*args) tool/pytest/apptest.py:30: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace args_w = (,) w_func = args = def appcaller(space, *args_w): if not isinstance(space, ObjSpace): raise TypeError("first argument must be a space instance.") # the last argument can be an Arguments w_func = self.wget(space, name) if not args_w: return space.call_function(w_func) else: args = args_w[-1] assert args is not None if not isinstance(args, Arguments): > return space.call_function(w_func, *args_w) interpreter/gateway.py:1227: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = args_w = (,) nargs = 1, Function = Method = def call_function(self, w_func, *args_w): nargs = len(args_w) # used for pruning funccall versions if not self.config.objspace.disable_call_speedhacks and nargs < 5: # start of hack for performance from pypy.interpreter.function import Function, Method if isinstance(w_func, Method): w_inst = w_func.w_instance if w_inst is not None: if nargs < 4: func = w_func.w_function if isinstance(func, Function): return func.funccall(w_inst, *args_w) elif args_w and ( self.abstract_isinstance_w(args_w[0], w_func.w_class)): w_func = w_func.w_function if isinstance(w_func, Function): > return w_func.funccall(*args_w) interpreter/baseobjspace.py:1210: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = args_w = (,) gateway = PyCode = code = def funccall(self, *args_w): # speed hack from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit nargs = len(args_w) fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, args_w[0]) elif nargs == 2: assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, args_w[0], args_w[1]) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) return code.fastcall_3(self.space, self, args_w[0], args_w[1], args_w[2]) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) return code.fastcall_4(self.space, self, args_w[0], args_w[1], args_w[2], args_w[3]) elif (nargs | PyCode.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) if nargs < 5: new_frame = self.space.createframe(code, self.w_func_globals, self) for i in funccallunrolling: if i < nargs: new_frame.locals_cells_stack_w[i] = args_w[i] > return new_frame.run() interpreter/function.py:118: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 4 def run(self): """Start this frame's execution.""" if self.getcode().co_flags & pycode.CO_GENERATOR: from pypy.interpreter.generator import GeneratorIterator return GeneratorIterator(self) else: > return self.execute_frame() interpreter/pyframe.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 4 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:290: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 4 e = SyntaxError("Non-ASCII character '\\xe2' in file /build_dir/own-linux-x86-32/b..., ('/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py', 423, 0, None)) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:943: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 4 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:286: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 4 pycode = next_instr = 0L ec = def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 4 co_code = '|\x00\x00j\x00\x00}\x01\x00x_\x00t\x01\x00d\x01\x00\x83\x01\x00D]Q\x00}\x02\x00|\x01\x00\xc9\x02\x00d\x02\x00\xca\x01...|\x03\x00\xc9\x05\x00\xca\x00\x00d\x00\x00k\x08\x00sg\x00t\x04\x00\x82\x01\x00q\x16\x00Wd\x00\x00Sq\x16\x00Wd\x00\x00S' next_instr = 0L ec = def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 4 co_code = '|\x00\x00j\x00\x00}\x01\x00x_\x00t\x01\x00d\x01\x00\x83\x01\x00D]Q\x00}\x02\x00|\x01\x00\xc9\x02\x00d\x02\x00\xca\x01...|\x03\x00\xc9\x05\x00\xca\x00\x00d\x00\x00k\x08\x00sg\x00t\x04\x00\x82\x01\x00q\x16\x00Wd\x00\x00Sq\x16\x00Wd\x00\x00S' next_instr = 40L ec = @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: self.last_instr = intmask(next_instr) if jit.we_are_jitted(): if self.debugdata: ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: ec.bytecode_trace(self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) next_instr += 1 if opcode >= HAVE_ARGUMENT: lo = ord(co_code[next_instr]) hi = ord(co_code[next_instr+1]) next_instr += 2 oparg = (hi * 256) | lo else: oparg = 0 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into a switch(). while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption lo = ord(co_code[next_instr+1]) hi = ord(co_code[next_instr+2]) next_instr += 3 oparg = (oparg * 65536) | (hi * 256) | lo if opcode == opcodedesc.RETURN_VALUE.index: if not self.blockstack_non_empty(): self.frame_finished_execution = True # for generators raise Return w_returnvalue = self.popvalue() block = self.unrollstack(SReturnValue.kind) if block is None: self.pushvalue(w_returnvalue) raise Return else: unroller = SReturnValue(w_returnvalue) next_instr = block.handle(self, unroller) return next_instr # now inside a 'finally' block elif opcode == opcodedesc.END_FINALLY.index: unroller = self.end_finally() if isinstance(unroller, SuspendedUnroller): # go on unrolling the stack block = self.unrollstack(unroller.kind) if block is None: w_result = unroller.nomoreblocks() self.pushvalue(w_result) raise Return else: next_instr = block.handle(self, unroller) return next_instr elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, ec) elif opcode == opcodedesc.BREAK_LOOP.index: next_instr = self.BREAK_LOOP(oparg, next_instr) elif opcode == opcodedesc.CONTINUE_LOOP.index: return self.CONTINUE_LOOP(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: next_instr = self.JUMP_IF_FALSE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_DEBUG.index: next_instr = self.JUMP_IF_NOT_DEBUG(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: next_instr = self.JUMP_IF_TRUE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: next_instr = self.POP_JUMP_IF_FALSE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: next_instr = self.POP_JUMP_IF_TRUE(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_DIVIDE.index: self.BINARY_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CLASS.index: self.BUILD_CLASS(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR.index: self.CALL_FUNCTION_VAR(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR_KW.index: self.CALL_FUNCTION_VAR_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: > self.CALL_METHOD(oparg, next_instr) interpreter/pyopcode.py:276: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = at line 4 oparg = 1, ignored = (40L,), n_args = 1, n_kwargs = 0, w_self = None @jit.unroll_safe def CALL_METHOD(f, oparg, *ignored): # opargs contains the arg, and kwarg count, excluding the implicit 'self' n_args = oparg & 0xff n_kwargs = (oparg >> 8) & 0xff w_self = f.peekvalue_maybe_none(n_args + (2 * n_kwargs)) n = n_args + (w_self is not None) if not n_kwargs: w_callable = f.peekvalue(n_args + (2 * n_kwargs) + 1) w_result = f.space.call_valuestack( > w_callable, n, f, methodcall=w_self is not None, dropvalues=n_args + 2) objspace/std/callmethod.py:96: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = , nargs = 1 frame = at line 4 dropvalues = 3, methodcall = False def call_valuestack(self, w_func, nargs, frame, dropvalues, methodcall=False): # methodcall is only used for better error messages in argument.py from pypy.interpreter.function import Function, Method, is_builtin_code if frame.get_is_being_profiled() and is_builtin_code(w_func): # XXX: this code is copied&pasted :-( from the slow path below # call_valuestack(). args = frame.make_arguments(nargs) frame.dropvalues(dropvalues) return self.call_args_and_c_profile(frame, w_func, args) if not self.config.objspace.disable_call_speedhacks: # start of hack for performance if isinstance(w_func, Method): w_inst = w_func.w_instance if w_inst is not None: w_func = w_func.w_function # reuse callable stack place for w_inst frame.settopvalue(w_inst, nargs) nargs += 1 methodcall = True elif nargs > 0 and ( self.abstract_isinstance_w(frame.peekvalue(nargs-1), # :-( w_func.w_class)): w_func = w_func.w_function if isinstance(w_func, Function): return w_func.funccall_valuestack( > nargs, frame, methodcall=methodcall, dropvalues=dropvalues) interpreter/baseobjspace.py:1243: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , nargs = 1 frame = at line 4 dropvalues = 3, methodcall = False def funccall_valuestack(self, nargs, frame, dropvalues, methodcall=False): # speed hack # methodcall is only for better error messages from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit # if (jit.we_are_jitted() and code is self.space._code_of_sys_exc_info and nargs == 0): frame.dropvalues(dropvalues) from pypy.module.sys.vm import exc_info_direct return exc_info_direct(self.space, frame) # fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: f_0 = frame.peekvalue(0) frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, f_0) elif nargs == 2: f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, f_1, f_0) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) f_2 = frame.peekvalue(2) frame.dropvalues(dropvalues) return code.fastcall_3(self.space, self, f_2, f_1, f_0) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) f_2 = frame.peekvalue(2) f_3 = frame.peekvalue(3) frame.dropvalues(dropvalues) return code.fastcall_4(self.space, self, f_3, f_2, f_1, f_0) elif (nargs | Code.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) return self._flat_pycall(code, nargs, frame, dropvalues) elif fast_natural_arity & Code.FLATPYCALL: natural_arity = fast_natural_arity & 0xff if natural_arity > nargs >= natural_arity - len(self.defs_w): assert isinstance(code, PyCode) return self._flat_pycall_defaults(code, nargs, frame, > natural_arity - nargs, dropvalues) interpreter/function.py:180: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = code = nargs = 1 frame = at line 4 defs_to_load = 2, dropvalues = 3 @jit.unroll_safe def _flat_pycall_defaults(self, code, nargs, frame, defs_to_load, dropvalues): # code is a PyCode new_frame = self.space.createframe(code, self.w_func_globals, self) for i in xrange(nargs): new_frame.locals_cells_stack_w[i] = frame.peekvalue(nargs-1-i) ndefs = len(self.defs_w) start = ndefs - defs_to_load i = nargs for j in xrange(start, ndefs): new_frame.locals_cells_stack_w[i] = self.defs_w[j] i += 1 frame.dropvalues(dropvalues) > return new_frame.run() interpreter/function.py:218: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 173 def run(self): """Start this frame's execution.""" if self.getcode().co_flags & pycode.CO_GENERATOR: from pypy.interpreter.generator import GeneratorIterator return GeneratorIterator(self) else: > return self.execute_frame() interpreter/pyframe.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 173 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:290: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 173 e = SyntaxError("Non-ASCII character '\\xe2' in file /build_dir/own-linux-x86-32/b..., ('/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py', 423, 0, None)) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:943: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 173 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:286: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 173 pycode = next_instr = 0L ec = def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 173 co_code = 'd\x01\x00d\x02\x00l\x00\x00\x89\x00\x00d\x01\x00d\x02\x00l\x01\x00}\x03\x00\x87\x00\x00f\x01\x00d\x03\x00\x86\x00\x00...1\x01}\x0b\x00\x01|\x04\x00|\x06\x00\x83\x01\x00\x01|\x04\x00|\x05\x00\x83\x01\x00\x01|\x0b\x00\x82\x01\x00Xd\x02\x00S' next_instr = 0L ec = def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 173 co_code = 'd\x01\x00d\x02\x00l\x00\x00\x89\x00\x00d\x01\x00d\x02\x00l\x01\x00}\x03\x00\x87\x00\x00f\x01\x00d\x03\x00\x86\x00\x00...1\x01}\x0b\x00\x01|\x04\x00|\x06\x00\x83\x01\x00\x01|\x04\x00|\x05\x00\x83\x01\x00\x01|\x0b\x00\x82\x01\x00Xd\x02\x00S' next_instr = 115L ec = @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: self.last_instr = intmask(next_instr) if jit.we_are_jitted(): if self.debugdata: ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: ec.bytecode_trace(self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) next_instr += 1 if opcode >= HAVE_ARGUMENT: lo = ord(co_code[next_instr]) hi = ord(co_code[next_instr+1]) next_instr += 2 oparg = (hi * 256) | lo else: oparg = 0 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into a switch(). while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption lo = ord(co_code[next_instr+1]) hi = ord(co_code[next_instr+2]) next_instr += 3 oparg = (oparg * 65536) | (hi * 256) | lo if opcode == opcodedesc.RETURN_VALUE.index: if not self.blockstack_non_empty(): self.frame_finished_execution = True # for generators raise Return w_returnvalue = self.popvalue() block = self.unrollstack(SReturnValue.kind) if block is None: self.pushvalue(w_returnvalue) raise Return else: unroller = SReturnValue(w_returnvalue) next_instr = block.handle(self, unroller) return next_instr # now inside a 'finally' block elif opcode == opcodedesc.END_FINALLY.index: unroller = self.end_finally() if isinstance(unroller, SuspendedUnroller): # go on unrolling the stack block = self.unrollstack(unroller.kind) if block is None: w_result = unroller.nomoreblocks() self.pushvalue(w_result) raise Return else: next_instr = block.handle(self, unroller) return next_instr elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, ec) elif opcode == opcodedesc.BREAK_LOOP.index: next_instr = self.BREAK_LOOP(oparg, next_instr) elif opcode == opcodedesc.CONTINUE_LOOP.index: return self.CONTINUE_LOOP(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: next_instr = self.JUMP_IF_FALSE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_DEBUG.index: next_instr = self.JUMP_IF_NOT_DEBUG(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: next_instr = self.JUMP_IF_TRUE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: next_instr = self.POP_JUMP_IF_FALSE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: next_instr = self.POP_JUMP_IF_TRUE(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_DIVIDE.index: self.BINARY_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CLASS.index: self.BUILD_CLASS(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR.index: self.CALL_FUNCTION_VAR(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR_KW.index: self.CALL_FUNCTION_VAR_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: self.CALL_METHOD(oparg, next_instr) elif opcode == opcodedesc.COMPARE_OP.index: self.COMPARE_OP(oparg, next_instr) elif opcode == opcodedesc.DELETE_ATTR.index: self.DELETE_ATTR(oparg, next_instr) elif opcode == opcodedesc.DELETE_FAST.index: self.DELETE_FAST(oparg, next_instr) elif opcode == opcodedesc.DELETE_GLOBAL.index: self.DELETE_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.DELETE_NAME.index: self.DELETE_NAME(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_0.index: self.DELETE_SLICE_0(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_1.index: self.DELETE_SLICE_1(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_2.index: self.DELETE_SLICE_2(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_3.index: self.DELETE_SLICE_3(oparg, next_instr) elif opcode == opcodedesc.DELETE_SUBSCR.index: self.DELETE_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.DUP_TOP.index: self.DUP_TOP(oparg, next_instr) elif opcode == opcodedesc.DUP_TOPX.index: self.DUP_TOPX(oparg, next_instr) elif opcode == opcodedesc.EXEC_STMT.index: self.EXEC_STMT(oparg, next_instr) elif opcode == opcodedesc.GET_ITER.index: self.GET_ITER(oparg, next_instr) elif opcode == opcodedesc.IMPORT_FROM.index: self.IMPORT_FROM(oparg, next_instr) elif opcode == opcodedesc.IMPORT_NAME.index: self.IMPORT_NAME(oparg, next_instr) elif opcode == opcodedesc.IMPORT_STAR.index: self.IMPORT_STAR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_ADD.index: self.INPLACE_ADD(oparg, next_instr) elif opcode == opcodedesc.INPLACE_AND.index: self.INPLACE_AND(oparg, next_instr) elif opcode == opcodedesc.INPLACE_DIVIDE.index: self.INPLACE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_FLOOR_DIVIDE.index: self.INPLACE_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_LSHIFT.index: self.INPLACE_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MODULO.index: self.INPLACE_MODULO(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MULTIPLY.index: self.INPLACE_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.INPLACE_OR.index: self.INPLACE_OR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_POWER.index: self.INPLACE_POWER(oparg, next_instr) elif opcode == opcodedesc.INPLACE_RSHIFT.index: self.INPLACE_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_SUBTRACT.index: self.INPLACE_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_TRUE_DIVIDE.index: self.INPLACE_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_XOR.index: self.INPLACE_XOR(oparg, next_instr) elif opcode == opcodedesc.LIST_APPEND.index: self.LIST_APPEND(oparg, next_instr) elif opcode == opcodedesc.LOAD_ATTR.index: self.LOAD_ATTR(oparg, next_instr) elif opcode == opcodedesc.LOAD_CLOSURE.index: self.LOAD_CLOSURE(oparg, next_instr) elif opcode == opcodedesc.LOAD_CONST.index: self.LOAD_CONST(oparg, next_instr) elif opcode == opcodedesc.LOAD_DEREF.index: self.LOAD_DEREF(oparg, next_instr) elif opcode == opcodedesc.LOAD_FAST.index: self.LOAD_FAST(oparg, next_instr) elif opcode == opcodedesc.LOAD_GLOBAL.index: self.LOAD_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.LOAD_LOCALS.index: self.LOAD_LOCALS(oparg, next_instr) elif opcode == opcodedesc.LOAD_NAME.index: self.LOAD_NAME(oparg, next_instr) elif opcode == opcodedesc.LOOKUP_METHOD.index: > self.LOOKUP_METHOD(oparg, next_instr) interpreter/pyopcode.py:356: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = at line 173 nameindex = 5, ignored = (115L,) MutableCell = space = StdObjSpace w_obj = def LOOKUP_METHOD(f, nameindex, *ignored): from pypy.objspace.std.typeobject import MutableCell # stack before after # -------------- --fast-method----fallback-case------------ # # w_object None # w_object => w_function w_boundmethod_or_whatever # (more stuff) (more stuff) (more stuff) # space = f.space w_obj = f.popvalue() if not jit.we_are_jitted(): # mapdict has an extra-fast version of this function if LOOKUP_METHOD_mapdict(f, nameindex, w_obj): return w_name = f.getname_w(nameindex) w_value = None w_type = space.type(w_obj) if w_type.has_object_getattribute(): name = space.text_w(w_name) # bit of a mess to use these internal functions, but it allows the # mapdict caching below to work without an additional lookup version_tag = w_type.version_tag() if version_tag is None: _, w_descr = w_type._lookup_where(name) w_descr_cell = None else: _, w_descr_cell = w_type._pure_lookup_where_with_method_cache( name, version_tag) w_descr = w_descr_cell if isinstance(w_descr, MutableCell): w_descr = w_descr.unwrap_cell(space) if w_descr is None: # this handles directly the common case # module.function(args..) > w_value = w_obj.getdictvalue(space, name) objspace/std/callmethod.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'disable_finalizers' def getdictvalue(self, space, name): w_value = space.finditem_str(self.w_dict, name) if self.lazy and w_value is None: > return self._load_lazily(space, name) interpreter/mixedmodule.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'disable_finalizers' def _load_lazily(self, space, name): w_name = space.new_interned_str(name) try: loader = self.loaders[name] except KeyError: return None else: > w_value = loader(space) interpreter/mixedmodule.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace def ifileloader(space): d = {'space':space} # EVIL HACK (but it works, and this is not RPython :-) while 1: try: value = eval(spec, d) except NameError as ex: name = ex.args[0].split("'")[1] # super-Evil if name in d: raise # propagate the NameError try: > d[name] = __import__(pkgroot+'.'+name, None, None, [name]) interpreter/mixedmodule.py:182: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from pypy.interpreter.gateway import unwrap_spec from pypy.interpreter.error import oefmt from rpython.rlib import rgc > from pypy.module.gc.hook import W_GcCollectStepStats module/gc/interp_gc.py:4: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from rpython.memory.gc.hook import GcHooks > from rpython.memory.gc import incminimark module/gc/hook.py:2: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ # XXX Should find a way to bound the major collection threshold by the # XXX total addressable size. Maybe by keeping some minimarkpage arenas # XXX pre-reserved, enough for a few nursery collections? What about # XXX raw-malloced memory? # XXX try merging old_objects_pointing_to_pinned into # XXX old_objects_pointing_to_young (IRC 2014-10-22, fijal and gregor_w) import sys import os import time from rpython.rtyper.lltypesystem import lltype, llmemory, llarena, llgroup from rpython.rtyper.lltypesystem.lloperation import llop from rpython.rtyper.lltypesystem.llmemory import raw_malloc_usage from rpython.memory.gc.base import GCBase, MovingGCBase > from rpython.memory.gc import env E File "/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py", line 423 E SyntaxError: Non-ASCII character '\xe2' in file /build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py on line 423, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details ../rpython/memory/gc/incminimark.py:70: SyntaxError F pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_popen_with self = func = at 0xf4956a74>, 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, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 0xf79de32c> hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf697b4cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf697b4cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf440f88c> 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 0xf440f88c> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf440f7ec> 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 0xf440f7ec> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def runtest(self): target = self.obj if self.config.option.runappdirect: return target() space = target.im_self.space filename = self._getdynfilename(target) func = app2interp_temp(target.im_func, filename=filename) w_instance = self.parent.w_instance > self.execute_appex(space, func, space, w_instance) tool/pytest/apptest.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , space = StdObjSpace target = args = (StdObjSpace, ) def execute_appex(self, space, target, *args): self.space = space try: > target(*args) tool/pytest/apptest.py:30: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace args_w = (,) w_func = args = def appcaller(space, *args_w): if not isinstance(space, ObjSpace): raise TypeError("first argument must be a space instance.") # the last argument can be an Arguments w_func = self.wget(space, name) if not args_w: return space.call_function(w_func) else: args = args_w[-1] assert args is not None if not isinstance(args, Arguments): > return space.call_function(w_func, *args_w) interpreter/gateway.py:1227: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = args_w = (,) nargs = 1, Function = Method = def call_function(self, w_func, *args_w): nargs = len(args_w) # used for pruning funccall versions if not self.config.objspace.disable_call_speedhacks and nargs < 5: # start of hack for performance from pypy.interpreter.function import Function, Method if isinstance(w_func, Method): w_inst = w_func.w_instance if w_inst is not None: if nargs < 4: func = w_func.w_function if isinstance(func, Function): return func.funccall(w_inst, *args_w) elif args_w and ( self.abstract_isinstance_w(args_w[0], w_func.w_class)): w_func = w_func.w_function if isinstance(w_func, Function): > return w_func.funccall(*args_w) interpreter/baseobjspace.py:1210: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = args_w = (,) gateway = PyCode = code = def funccall(self, *args_w): # speed hack from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit nargs = len(args_w) fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, args_w[0]) elif nargs == 2: assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, args_w[0], args_w[1]) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) return code.fastcall_3(self.space, self, args_w[0], args_w[1], args_w[2]) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) return code.fastcall_4(self.space, self, args_w[0], args_w[1], args_w[2], args_w[3]) elif (nargs | PyCode.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) if nargs < 5: new_frame = self.space.createframe(code, self.w_func_globals, self) for i in funccallunrolling: if i < nargs: new_frame.locals_cells_stack_w[i] = args_w[i] > return new_frame.run() interpreter/function.py:118: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 3 def run(self): """Start this frame's execution.""" if self.getcode().co_flags & pycode.CO_GENERATOR: from pypy.interpreter.generator import GeneratorIterator return GeneratorIterator(self) else: > return self.execute_frame() interpreter/pyframe.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 3 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:290: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 3 e = SyntaxError("Non-ASCII character '\\xe2' in file /build_dir/own-linux-x86-32/b..., ('/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py', 423, 0, None)) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:943: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 3 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:286: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 3 pycode = next_instr = 0L ec = def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 3 co_code = '|\x00\x00j\x00\x00}\x01\x00|\x01\x00\xc9\x01\x00d\x01\x00\xca\x01\x00}\x02\x00|\x02\x00\x8f(\x00}\x03\x00|\x03\x00\xc9\x02\x00\xca\x00\x00}\x04\x00\xcc\x12\x00|\x04\x00d\x02\x00k\x02\x00sB\x00t\x03\x00\x82\x01\x00Wd\x00\x00QXd\x00\x00S' next_instr = 0L ec = def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 3 co_code = '|\x00\x00j\x00\x00}\x01\x00|\x01\x00\xc9\x01\x00d\x01\x00\xca\x01\x00}\x02\x00|\x02\x00\x8f(\x00}\x03\x00|\x03\x00\xc9\x02\x00\xca\x00\x00}\x04\x00\xcc\x12\x00|\x04\x00d\x02\x00k\x02\x00sB\x00t\x03\x00\x82\x01\x00Wd\x00\x00QXd\x00\x00S' next_instr = 21L ec = @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: self.last_instr = intmask(next_instr) if jit.we_are_jitted(): if self.debugdata: ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: ec.bytecode_trace(self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) next_instr += 1 if opcode >= HAVE_ARGUMENT: lo = ord(co_code[next_instr]) hi = ord(co_code[next_instr+1]) next_instr += 2 oparg = (hi * 256) | lo else: oparg = 0 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into a switch(). while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption lo = ord(co_code[next_instr+1]) hi = ord(co_code[next_instr+2]) next_instr += 3 oparg = (oparg * 65536) | (hi * 256) | lo if opcode == opcodedesc.RETURN_VALUE.index: if not self.blockstack_non_empty(): self.frame_finished_execution = True # for generators raise Return w_returnvalue = self.popvalue() block = self.unrollstack(SReturnValue.kind) if block is None: self.pushvalue(w_returnvalue) raise Return else: unroller = SReturnValue(w_returnvalue) next_instr = block.handle(self, unroller) return next_instr # now inside a 'finally' block elif opcode == opcodedesc.END_FINALLY.index: unroller = self.end_finally() if isinstance(unroller, SuspendedUnroller): # go on unrolling the stack block = self.unrollstack(unroller.kind) if block is None: w_result = unroller.nomoreblocks() self.pushvalue(w_result) raise Return else: next_instr = block.handle(self, unroller) return next_instr elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, ec) elif opcode == opcodedesc.BREAK_LOOP.index: next_instr = self.BREAK_LOOP(oparg, next_instr) elif opcode == opcodedesc.CONTINUE_LOOP.index: return self.CONTINUE_LOOP(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: next_instr = self.JUMP_IF_FALSE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_DEBUG.index: next_instr = self.JUMP_IF_NOT_DEBUG(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: next_instr = self.JUMP_IF_TRUE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: next_instr = self.POP_JUMP_IF_FALSE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: next_instr = self.POP_JUMP_IF_TRUE(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_DIVIDE.index: self.BINARY_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CLASS.index: self.BUILD_CLASS(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR.index: self.CALL_FUNCTION_VAR(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR_KW.index: self.CALL_FUNCTION_VAR_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: > self.CALL_METHOD(oparg, next_instr) interpreter/pyopcode.py:276: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = at line 3 oparg = 1, ignored = (21L,), n_args = 1, n_kwargs = 0, w_self = None @jit.unroll_safe def CALL_METHOD(f, oparg, *ignored): # opargs contains the arg, and kwarg count, excluding the implicit 'self' n_args = oparg & 0xff n_kwargs = (oparg >> 8) & 0xff w_self = f.peekvalue_maybe_none(n_args + (2 * n_kwargs)) n = n_args + (w_self is not None) if not n_kwargs: w_callable = f.peekvalue(n_args + (2 * n_kwargs) + 1) w_result = f.space.call_valuestack( > w_callable, n, f, methodcall=w_self is not None, dropvalues=n_args + 2) objspace/std/callmethod.py:96: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = , nargs = 1 frame = at line 3 dropvalues = 3, methodcall = False def call_valuestack(self, w_func, nargs, frame, dropvalues, methodcall=False): # methodcall is only used for better error messages in argument.py from pypy.interpreter.function import Function, Method, is_builtin_code if frame.get_is_being_profiled() and is_builtin_code(w_func): # XXX: this code is copied&pasted :-( from the slow path below # call_valuestack(). args = frame.make_arguments(nargs) frame.dropvalues(dropvalues) return self.call_args_and_c_profile(frame, w_func, args) if not self.config.objspace.disable_call_speedhacks: # start of hack for performance if isinstance(w_func, Method): w_inst = w_func.w_instance if w_inst is not None: w_func = w_func.w_function # reuse callable stack place for w_inst frame.settopvalue(w_inst, nargs) nargs += 1 methodcall = True elif nargs > 0 and ( self.abstract_isinstance_w(frame.peekvalue(nargs-1), # :-( w_func.w_class)): w_func = w_func.w_function if isinstance(w_func, Function): return w_func.funccall_valuestack( > nargs, frame, methodcall=methodcall, dropvalues=dropvalues) interpreter/baseobjspace.py:1243: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , nargs = 1 frame = at line 3 dropvalues = 3, methodcall = False def funccall_valuestack(self, nargs, frame, dropvalues, methodcall=False): # speed hack # methodcall is only for better error messages from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit # if (jit.we_are_jitted() and code is self.space._code_of_sys_exc_info and nargs == 0): frame.dropvalues(dropvalues) from pypy.module.sys.vm import exc_info_direct return exc_info_direct(self.space, frame) # fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: f_0 = frame.peekvalue(0) frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, f_0) elif nargs == 2: f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, f_1, f_0) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) f_2 = frame.peekvalue(2) frame.dropvalues(dropvalues) return code.fastcall_3(self.space, self, f_2, f_1, f_0) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) f_2 = frame.peekvalue(2) f_3 = frame.peekvalue(3) frame.dropvalues(dropvalues) return code.fastcall_4(self.space, self, f_3, f_2, f_1, f_0) elif (nargs | Code.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) return self._flat_pycall(code, nargs, frame, dropvalues) elif fast_natural_arity & Code.FLATPYCALL: natural_arity = fast_natural_arity & 0xff if natural_arity > nargs >= natural_arity - len(self.defs_w): assert isinstance(code, PyCode) return self._flat_pycall_defaults(code, nargs, frame, > natural_arity - nargs, dropvalues) interpreter/function.py:180: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = code = nargs = 1 frame = at line 3 defs_to_load = 2, dropvalues = 3 @jit.unroll_safe def _flat_pycall_defaults(self, code, nargs, frame, defs_to_load, dropvalues): # code is a PyCode new_frame = self.space.createframe(code, self.w_func_globals, self) for i in xrange(nargs): new_frame.locals_cells_stack_w[i] = frame.peekvalue(nargs-1-i) ndefs = len(self.defs_w) start = ndefs - defs_to_load i = nargs for j in xrange(start, ndefs): new_frame.locals_cells_stack_w[i] = self.defs_w[j] i += 1 frame.dropvalues(dropvalues) > return new_frame.run() interpreter/function.py:218: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 173 def run(self): """Start this frame's execution.""" if self.getcode().co_flags & pycode.CO_GENERATOR: from pypy.interpreter.generator import GeneratorIterator return GeneratorIterator(self) else: > return self.execute_frame() interpreter/pyframe.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 173 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:290: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 173 e = SyntaxError("Non-ASCII character '\\xe2' in file /build_dir/own-linux-x86-32/b..., ('/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py', 423, 0, None)) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:943: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 173 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:286: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 173 pycode = next_instr = 0L ec = def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 173 co_code = 'd\x01\x00d\x02\x00l\x00\x00\x89\x00\x00d\x01\x00d\x02\x00l\x01\x00}\x03\x00\x87\x00\x00f\x01\x00d\x03\x00\x86\x00\x00...1\x01}\x0b\x00\x01|\x04\x00|\x06\x00\x83\x01\x00\x01|\x04\x00|\x05\x00\x83\x01\x00\x01|\x0b\x00\x82\x01\x00Xd\x02\x00S' next_instr = 0L ec = def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 173 co_code = 'd\x01\x00d\x02\x00l\x00\x00\x89\x00\x00d\x01\x00d\x02\x00l\x01\x00}\x03\x00\x87\x00\x00f\x01\x00d\x03\x00\x86\x00\x00...1\x01}\x0b\x00\x01|\x04\x00|\x06\x00\x83\x01\x00\x01|\x04\x00|\x05\x00\x83\x01\x00\x01|\x0b\x00\x82\x01\x00Xd\x02\x00S' next_instr = 115L ec = @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: self.last_instr = intmask(next_instr) if jit.we_are_jitted(): if self.debugdata: ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: ec.bytecode_trace(self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) next_instr += 1 if opcode >= HAVE_ARGUMENT: lo = ord(co_code[next_instr]) hi = ord(co_code[next_instr+1]) next_instr += 2 oparg = (hi * 256) | lo else: oparg = 0 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into a switch(). while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption lo = ord(co_code[next_instr+1]) hi = ord(co_code[next_instr+2]) next_instr += 3 oparg = (oparg * 65536) | (hi * 256) | lo if opcode == opcodedesc.RETURN_VALUE.index: if not self.blockstack_non_empty(): self.frame_finished_execution = True # for generators raise Return w_returnvalue = self.popvalue() block = self.unrollstack(SReturnValue.kind) if block is None: self.pushvalue(w_returnvalue) raise Return else: unroller = SReturnValue(w_returnvalue) next_instr = block.handle(self, unroller) return next_instr # now inside a 'finally' block elif opcode == opcodedesc.END_FINALLY.index: unroller = self.end_finally() if isinstance(unroller, SuspendedUnroller): # go on unrolling the stack block = self.unrollstack(unroller.kind) if block is None: w_result = unroller.nomoreblocks() self.pushvalue(w_result) raise Return else: next_instr = block.handle(self, unroller) return next_instr elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, ec) elif opcode == opcodedesc.BREAK_LOOP.index: next_instr = self.BREAK_LOOP(oparg, next_instr) elif opcode == opcodedesc.CONTINUE_LOOP.index: return self.CONTINUE_LOOP(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: next_instr = self.JUMP_IF_FALSE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_DEBUG.index: next_instr = self.JUMP_IF_NOT_DEBUG(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: next_instr = self.JUMP_IF_TRUE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: next_instr = self.POP_JUMP_IF_FALSE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: next_instr = self.POP_JUMP_IF_TRUE(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_DIVIDE.index: self.BINARY_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CLASS.index: self.BUILD_CLASS(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR.index: self.CALL_FUNCTION_VAR(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR_KW.index: self.CALL_FUNCTION_VAR_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: self.CALL_METHOD(oparg, next_instr) elif opcode == opcodedesc.COMPARE_OP.index: self.COMPARE_OP(oparg, next_instr) elif opcode == opcodedesc.DELETE_ATTR.index: self.DELETE_ATTR(oparg, next_instr) elif opcode == opcodedesc.DELETE_FAST.index: self.DELETE_FAST(oparg, next_instr) elif opcode == opcodedesc.DELETE_GLOBAL.index: self.DELETE_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.DELETE_NAME.index: self.DELETE_NAME(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_0.index: self.DELETE_SLICE_0(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_1.index: self.DELETE_SLICE_1(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_2.index: self.DELETE_SLICE_2(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_3.index: self.DELETE_SLICE_3(oparg, next_instr) elif opcode == opcodedesc.DELETE_SUBSCR.index: self.DELETE_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.DUP_TOP.index: self.DUP_TOP(oparg, next_instr) elif opcode == opcodedesc.DUP_TOPX.index: self.DUP_TOPX(oparg, next_instr) elif opcode == opcodedesc.EXEC_STMT.index: self.EXEC_STMT(oparg, next_instr) elif opcode == opcodedesc.GET_ITER.index: self.GET_ITER(oparg, next_instr) elif opcode == opcodedesc.IMPORT_FROM.index: self.IMPORT_FROM(oparg, next_instr) elif opcode == opcodedesc.IMPORT_NAME.index: self.IMPORT_NAME(oparg, next_instr) elif opcode == opcodedesc.IMPORT_STAR.index: self.IMPORT_STAR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_ADD.index: self.INPLACE_ADD(oparg, next_instr) elif opcode == opcodedesc.INPLACE_AND.index: self.INPLACE_AND(oparg, next_instr) elif opcode == opcodedesc.INPLACE_DIVIDE.index: self.INPLACE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_FLOOR_DIVIDE.index: self.INPLACE_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_LSHIFT.index: self.INPLACE_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MODULO.index: self.INPLACE_MODULO(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MULTIPLY.index: self.INPLACE_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.INPLACE_OR.index: self.INPLACE_OR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_POWER.index: self.INPLACE_POWER(oparg, next_instr) elif opcode == opcodedesc.INPLACE_RSHIFT.index: self.INPLACE_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_SUBTRACT.index: self.INPLACE_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_TRUE_DIVIDE.index: self.INPLACE_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_XOR.index: self.INPLACE_XOR(oparg, next_instr) elif opcode == opcodedesc.LIST_APPEND.index: self.LIST_APPEND(oparg, next_instr) elif opcode == opcodedesc.LOAD_ATTR.index: self.LOAD_ATTR(oparg, next_instr) elif opcode == opcodedesc.LOAD_CLOSURE.index: self.LOAD_CLOSURE(oparg, next_instr) elif opcode == opcodedesc.LOAD_CONST.index: self.LOAD_CONST(oparg, next_instr) elif opcode == opcodedesc.LOAD_DEREF.index: self.LOAD_DEREF(oparg, next_instr) elif opcode == opcodedesc.LOAD_FAST.index: self.LOAD_FAST(oparg, next_instr) elif opcode == opcodedesc.LOAD_GLOBAL.index: self.LOAD_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.LOAD_LOCALS.index: self.LOAD_LOCALS(oparg, next_instr) elif opcode == opcodedesc.LOAD_NAME.index: self.LOAD_NAME(oparg, next_instr) elif opcode == opcodedesc.LOOKUP_METHOD.index: > self.LOOKUP_METHOD(oparg, next_instr) interpreter/pyopcode.py:356: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = at line 173 nameindex = 5, ignored = (115L,) MutableCell = space = StdObjSpace w_obj = def LOOKUP_METHOD(f, nameindex, *ignored): from pypy.objspace.std.typeobject import MutableCell # stack before after # -------------- --fast-method----fallback-case------------ # # w_object None # w_object => w_function w_boundmethod_or_whatever # (more stuff) (more stuff) (more stuff) # space = f.space w_obj = f.popvalue() if not jit.we_are_jitted(): # mapdict has an extra-fast version of this function if LOOKUP_METHOD_mapdict(f, nameindex, w_obj): return w_name = f.getname_w(nameindex) w_value = None w_type = space.type(w_obj) if w_type.has_object_getattribute(): name = space.text_w(w_name) # bit of a mess to use these internal functions, but it allows the # mapdict caching below to work without an additional lookup version_tag = w_type.version_tag() if version_tag is None: _, w_descr = w_type._lookup_where(name) w_descr_cell = None else: _, w_descr_cell = w_type._pure_lookup_where_with_method_cache( name, version_tag) w_descr = w_descr_cell if isinstance(w_descr, MutableCell): w_descr = w_descr.unwrap_cell(space) if w_descr is None: # this handles directly the common case # module.function(args..) > w_value = w_obj.getdictvalue(space, name) objspace/std/callmethod.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'disable_finalizers' def getdictvalue(self, space, name): w_value = space.finditem_str(self.w_dict, name) if self.lazy and w_value is None: > return self._load_lazily(space, name) interpreter/mixedmodule.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'disable_finalizers' def _load_lazily(self, space, name): w_name = space.new_interned_str(name) try: loader = self.loaders[name] except KeyError: return None else: > w_value = loader(space) interpreter/mixedmodule.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace def ifileloader(space): d = {'space':space} # EVIL HACK (but it works, and this is not RPython :-) while 1: try: value = eval(spec, d) except NameError as ex: name = ex.args[0].split("'")[1] # super-Evil if name in d: raise # propagate the NameError try: > d[name] = __import__(pkgroot+'.'+name, None, None, [name]) interpreter/mixedmodule.py:182: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from pypy.interpreter.gateway import unwrap_spec from pypy.interpreter.error import oefmt from rpython.rlib import rgc > from pypy.module.gc.hook import W_GcCollectStepStats module/gc/interp_gc.py:4: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from rpython.memory.gc.hook import GcHooks > from rpython.memory.gc import incminimark module/gc/hook.py:2: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ # XXX Should find a way to bound the major collection threshold by the # XXX total addressable size. Maybe by keeping some minimarkpage arenas # XXX pre-reserved, enough for a few nursery collections? What about # XXX raw-malloced memory? # XXX try merging old_objects_pointing_to_pinned into # XXX old_objects_pointing_to_young (IRC 2014-10-22, fijal and gregor_w) import sys import os import time from rpython.rtyper.lltypesystem import lltype, llmemory, llarena, llgroup from rpython.rtyper.lltypesystem.lloperation import llop from rpython.rtyper.lltypesystem.llmemory import raw_malloc_usage from rpython.memory.gc.base import GCBase, MovingGCBase > from rpython.memory.gc import env E File "/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py", line 423 E SyntaxError: Non-ASCII character '\xe2' in file /build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py on line 423, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details ../rpython/memory/gc/incminimark.py:70: SyntaxError F pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_popen_child_fds self = func = at 0xf489bf7c>, 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, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 0xf79de32c> hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf697b4cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf697b4cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf4399d2c> 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 0xf4399d2c> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf4399aec> 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 0xf4399aec> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def runtest(self): target = self.obj if self.config.option.runappdirect: return target() space = target.im_self.space filename = self._getdynfilename(target) func = app2interp_temp(target.im_func, filename=filename) w_instance = self.parent.w_instance > self.execute_appex(space, func, space, w_instance) tool/pytest/apptest.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , space = StdObjSpace target = args = (StdObjSpace, ) def execute_appex(self, space, target, *args): self.space = space try: > target(*args) tool/pytest/apptest.py:30: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace args_w = (,) w_func = args = def appcaller(space, *args_w): if not isinstance(space, ObjSpace): raise TypeError("first argument must be a space instance.") # the last argument can be an Arguments w_func = self.wget(space, name) if not args_w: return space.call_function(w_func) else: args = args_w[-1] assert args is not None if not isinstance(args, Arguments): > return space.call_function(w_func, *args_w) interpreter/gateway.py:1227: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = args_w = (,) nargs = 1, Function = Method = def call_function(self, w_func, *args_w): nargs = len(args_w) # used for pruning funccall versions if not self.config.objspace.disable_call_speedhacks and nargs < 5: # start of hack for performance from pypy.interpreter.function import Function, Method if isinstance(w_func, Method): w_inst = w_func.w_instance if w_inst is not None: if nargs < 4: func = w_func.w_function if isinstance(func, Function): return func.funccall(w_inst, *args_w) elif args_w and ( self.abstract_isinstance_w(args_w[0], w_func.w_class)): w_func = w_func.w_function if isinstance(w_func, Function): > return w_func.funccall(*args_w) interpreter/baseobjspace.py:1210: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = args_w = (,) gateway = PyCode = code = def funccall(self, *args_w): # speed hack from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit nargs = len(args_w) fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, args_w[0]) elif nargs == 2: assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, args_w[0], args_w[1]) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) return code.fastcall_3(self.space, self, args_w[0], args_w[1], args_w[2]) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) return code.fastcall_4(self.space, self, args_w[0], args_w[1], args_w[2], args_w[3]) elif (nargs | PyCode.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) if nargs < 5: new_frame = self.space.createframe(code, self.w_func_globals, self) for i in funccallunrolling: if i < nargs: new_frame.locals_cells_stack_w[i] = args_w[i] > return new_frame.run() interpreter/function.py:118: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 4 def run(self): """Start this frame's execution.""" if self.getcode().co_flags & pycode.CO_GENERATOR: from pypy.interpreter.generator import GeneratorIterator return GeneratorIterator(self) else: > return self.execute_frame() interpreter/pyframe.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 4 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:290: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 4 e = SyntaxError("Non-ASCII character '\\xe2' in file /build_dir/own-linux-x86-32/b..., ('/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py', 423, 0, None)) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:943: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 4 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:286: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 4 pycode = next_instr = 0L ec = def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 4 co_code = '|\x00\x00j\x00\x00}\x01\x00t\x01\x00d\x01\x00\xc9\x02\x00|\x00\x00j\x03\x00d\x02\x00g\x02\x00\xca\x01\x00d\x03\x00\x8...\x01\x00n\x15\x00\xcc\x12\x00|\x04\x00d\x07\x00k\x02\x00s\x9d\x00t\t\x00\x82\x01\x00Wd\x00\x00QXWd\x00\x00QXd\x00\x00S' next_instr = 0L ec = def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 4 co_code = '|\x00\x00j\x00\x00}\x01\x00t\x01\x00d\x01\x00\xc9\x02\x00|\x00\x00j\x03\x00d\x02\x00g\x02\x00\xca\x01\x00d\x03\x00\x8...\x01\x00n\x15\x00\xcc\x12\x00|\x04\x00d\x07\x00k\x02\x00s\x9d\x00t\t\x00\x82\x01\x00Wd\x00\x00QXWd\x00\x00QXd\x00\x00S' next_instr = 79L ec = @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: self.last_instr = intmask(next_instr) if jit.we_are_jitted(): if self.debugdata: ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: ec.bytecode_trace(self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) next_instr += 1 if opcode >= HAVE_ARGUMENT: lo = ord(co_code[next_instr]) hi = ord(co_code[next_instr+1]) next_instr += 2 oparg = (hi * 256) | lo else: oparg = 0 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into a switch(). while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption lo = ord(co_code[next_instr+1]) hi = ord(co_code[next_instr+2]) next_instr += 3 oparg = (oparg * 65536) | (hi * 256) | lo if opcode == opcodedesc.RETURN_VALUE.index: if not self.blockstack_non_empty(): self.frame_finished_execution = True # for generators raise Return w_returnvalue = self.popvalue() block = self.unrollstack(SReturnValue.kind) if block is None: self.pushvalue(w_returnvalue) raise Return else: unroller = SReturnValue(w_returnvalue) next_instr = block.handle(self, unroller) return next_instr # now inside a 'finally' block elif opcode == opcodedesc.END_FINALLY.index: unroller = self.end_finally() if isinstance(unroller, SuspendedUnroller): # go on unrolling the stack block = self.unrollstack(unroller.kind) if block is None: w_result = unroller.nomoreblocks() self.pushvalue(w_result) raise Return else: next_instr = block.handle(self, unroller) return next_instr elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, ec) elif opcode == opcodedesc.BREAK_LOOP.index: next_instr = self.BREAK_LOOP(oparg, next_instr) elif opcode == opcodedesc.CONTINUE_LOOP.index: return self.CONTINUE_LOOP(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: next_instr = self.JUMP_IF_FALSE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_DEBUG.index: next_instr = self.JUMP_IF_NOT_DEBUG(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: next_instr = self.JUMP_IF_TRUE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: next_instr = self.POP_JUMP_IF_FALSE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: next_instr = self.POP_JUMP_IF_TRUE(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_DIVIDE.index: self.BINARY_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CLASS.index: self.BUILD_CLASS(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR.index: self.CALL_FUNCTION_VAR(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR_KW.index: self.CALL_FUNCTION_VAR_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: > self.CALL_METHOD(oparg, next_instr) interpreter/pyopcode.py:276: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = at line 4 oparg = 1, ignored = (79L,), n_args = 1, n_kwargs = 0, w_self = None @jit.unroll_safe def CALL_METHOD(f, oparg, *ignored): # opargs contains the arg, and kwarg count, excluding the implicit 'self' n_args = oparg & 0xff n_kwargs = (oparg >> 8) & 0xff w_self = f.peekvalue_maybe_none(n_args + (2 * n_kwargs)) n = n_args + (w_self is not None) if not n_kwargs: w_callable = f.peekvalue(n_args + (2 * n_kwargs) + 1) w_result = f.space.call_valuestack( > w_callable, n, f, methodcall=w_self is not None, dropvalues=n_args + 2) objspace/std/callmethod.py:96: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = , nargs = 1 frame = at line 4 dropvalues = 3, methodcall = False def call_valuestack(self, w_func, nargs, frame, dropvalues, methodcall=False): # methodcall is only used for better error messages in argument.py from pypy.interpreter.function import Function, Method, is_builtin_code if frame.get_is_being_profiled() and is_builtin_code(w_func): # XXX: this code is copied&pasted :-( from the slow path below # call_valuestack(). args = frame.make_arguments(nargs) frame.dropvalues(dropvalues) return self.call_args_and_c_profile(frame, w_func, args) if not self.config.objspace.disable_call_speedhacks: # start of hack for performance if isinstance(w_func, Method): w_inst = w_func.w_instance if w_inst is not None: w_func = w_func.w_function # reuse callable stack place for w_inst frame.settopvalue(w_inst, nargs) nargs += 1 methodcall = True elif nargs > 0 and ( self.abstract_isinstance_w(frame.peekvalue(nargs-1), # :-( w_func.w_class)): w_func = w_func.w_function if isinstance(w_func, Function): return w_func.funccall_valuestack( > nargs, frame, methodcall=methodcall, dropvalues=dropvalues) interpreter/baseobjspace.py:1243: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , nargs = 1 frame = at line 4 dropvalues = 3, methodcall = False def funccall_valuestack(self, nargs, frame, dropvalues, methodcall=False): # speed hack # methodcall is only for better error messages from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit # if (jit.we_are_jitted() and code is self.space._code_of_sys_exc_info and nargs == 0): frame.dropvalues(dropvalues) from pypy.module.sys.vm import exc_info_direct return exc_info_direct(self.space, frame) # fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: f_0 = frame.peekvalue(0) frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, f_0) elif nargs == 2: f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, f_1, f_0) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) f_2 = frame.peekvalue(2) frame.dropvalues(dropvalues) return code.fastcall_3(self.space, self, f_2, f_1, f_0) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) f_2 = frame.peekvalue(2) f_3 = frame.peekvalue(3) frame.dropvalues(dropvalues) return code.fastcall_4(self.space, self, f_3, f_2, f_1, f_0) elif (nargs | Code.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) return self._flat_pycall(code, nargs, frame, dropvalues) elif fast_natural_arity & Code.FLATPYCALL: natural_arity = fast_natural_arity & 0xff if natural_arity > nargs >= natural_arity - len(self.defs_w): assert isinstance(code, PyCode) return self._flat_pycall_defaults(code, nargs, frame, > natural_arity - nargs, dropvalues) interpreter/function.py:180: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = code = nargs = 1 frame = at line 4 defs_to_load = 2, dropvalues = 3 @jit.unroll_safe def _flat_pycall_defaults(self, code, nargs, frame, defs_to_load, dropvalues): # code is a PyCode new_frame = self.space.createframe(code, self.w_func_globals, self) for i in xrange(nargs): new_frame.locals_cells_stack_w[i] = frame.peekvalue(nargs-1-i) ndefs = len(self.defs_w) start = ndefs - defs_to_load i = nargs for j in xrange(start, ndefs): new_frame.locals_cells_stack_w[i] = self.defs_w[j] i += 1 frame.dropvalues(dropvalues) > return new_frame.run() interpreter/function.py:218: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 173 def run(self): """Start this frame's execution.""" if self.getcode().co_flags & pycode.CO_GENERATOR: from pypy.interpreter.generator import GeneratorIterator return GeneratorIterator(self) else: > return self.execute_frame() interpreter/pyframe.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 173 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:290: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 173 e = SyntaxError("Non-ASCII character '\\xe2' in file /build_dir/own-linux-x86-32/b..., ('/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py', 423, 0, None)) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:943: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 173 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:286: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 173 pycode = next_instr = 0L ec = def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 173 co_code = 'd\x01\x00d\x02\x00l\x00\x00\x89\x00\x00d\x01\x00d\x02\x00l\x01\x00}\x03\x00\x87\x00\x00f\x01\x00d\x03\x00\x86\x00\x00...1\x01}\x0b\x00\x01|\x04\x00|\x06\x00\x83\x01\x00\x01|\x04\x00|\x05\x00\x83\x01\x00\x01|\x0b\x00\x82\x01\x00Xd\x02\x00S' next_instr = 0L ec = def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 173 co_code = 'd\x01\x00d\x02\x00l\x00\x00\x89\x00\x00d\x01\x00d\x02\x00l\x01\x00}\x03\x00\x87\x00\x00f\x01\x00d\x03\x00\x86\x00\x00...1\x01}\x0b\x00\x01|\x04\x00|\x06\x00\x83\x01\x00\x01|\x04\x00|\x05\x00\x83\x01\x00\x01|\x0b\x00\x82\x01\x00Xd\x02\x00S' next_instr = 115L ec = @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: self.last_instr = intmask(next_instr) if jit.we_are_jitted(): if self.debugdata: ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: ec.bytecode_trace(self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) next_instr += 1 if opcode >= HAVE_ARGUMENT: lo = ord(co_code[next_instr]) hi = ord(co_code[next_instr+1]) next_instr += 2 oparg = (hi * 256) | lo else: oparg = 0 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into a switch(). while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption lo = ord(co_code[next_instr+1]) hi = ord(co_code[next_instr+2]) next_instr += 3 oparg = (oparg * 65536) | (hi * 256) | lo if opcode == opcodedesc.RETURN_VALUE.index: if not self.blockstack_non_empty(): self.frame_finished_execution = True # for generators raise Return w_returnvalue = self.popvalue() block = self.unrollstack(SReturnValue.kind) if block is None: self.pushvalue(w_returnvalue) raise Return else: unroller = SReturnValue(w_returnvalue) next_instr = block.handle(self, unroller) return next_instr # now inside a 'finally' block elif opcode == opcodedesc.END_FINALLY.index: unroller = self.end_finally() if isinstance(unroller, SuspendedUnroller): # go on unrolling the stack block = self.unrollstack(unroller.kind) if block is None: w_result = unroller.nomoreblocks() self.pushvalue(w_result) raise Return else: next_instr = block.handle(self, unroller) return next_instr elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, ec) elif opcode == opcodedesc.BREAK_LOOP.index: next_instr = self.BREAK_LOOP(oparg, next_instr) elif opcode == opcodedesc.CONTINUE_LOOP.index: return self.CONTINUE_LOOP(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: next_instr = self.JUMP_IF_FALSE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_DEBUG.index: next_instr = self.JUMP_IF_NOT_DEBUG(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: next_instr = self.JUMP_IF_TRUE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: next_instr = self.POP_JUMP_IF_FALSE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: next_instr = self.POP_JUMP_IF_TRUE(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_DIVIDE.index: self.BINARY_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CLASS.index: self.BUILD_CLASS(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR.index: self.CALL_FUNCTION_VAR(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR_KW.index: self.CALL_FUNCTION_VAR_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: self.CALL_METHOD(oparg, next_instr) elif opcode == opcodedesc.COMPARE_OP.index: self.COMPARE_OP(oparg, next_instr) elif opcode == opcodedesc.DELETE_ATTR.index: self.DELETE_ATTR(oparg, next_instr) elif opcode == opcodedesc.DELETE_FAST.index: self.DELETE_FAST(oparg, next_instr) elif opcode == opcodedesc.DELETE_GLOBAL.index: self.DELETE_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.DELETE_NAME.index: self.DELETE_NAME(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_0.index: self.DELETE_SLICE_0(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_1.index: self.DELETE_SLICE_1(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_2.index: self.DELETE_SLICE_2(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_3.index: self.DELETE_SLICE_3(oparg, next_instr) elif opcode == opcodedesc.DELETE_SUBSCR.index: self.DELETE_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.DUP_TOP.index: self.DUP_TOP(oparg, next_instr) elif opcode == opcodedesc.DUP_TOPX.index: self.DUP_TOPX(oparg, next_instr) elif opcode == opcodedesc.EXEC_STMT.index: self.EXEC_STMT(oparg, next_instr) elif opcode == opcodedesc.GET_ITER.index: self.GET_ITER(oparg, next_instr) elif opcode == opcodedesc.IMPORT_FROM.index: self.IMPORT_FROM(oparg, next_instr) elif opcode == opcodedesc.IMPORT_NAME.index: self.IMPORT_NAME(oparg, next_instr) elif opcode == opcodedesc.IMPORT_STAR.index: self.IMPORT_STAR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_ADD.index: self.INPLACE_ADD(oparg, next_instr) elif opcode == opcodedesc.INPLACE_AND.index: self.INPLACE_AND(oparg, next_instr) elif opcode == opcodedesc.INPLACE_DIVIDE.index: self.INPLACE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_FLOOR_DIVIDE.index: self.INPLACE_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_LSHIFT.index: self.INPLACE_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MODULO.index: self.INPLACE_MODULO(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MULTIPLY.index: self.INPLACE_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.INPLACE_OR.index: self.INPLACE_OR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_POWER.index: self.INPLACE_POWER(oparg, next_instr) elif opcode == opcodedesc.INPLACE_RSHIFT.index: self.INPLACE_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_SUBTRACT.index: self.INPLACE_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_TRUE_DIVIDE.index: self.INPLACE_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_XOR.index: self.INPLACE_XOR(oparg, next_instr) elif opcode == opcodedesc.LIST_APPEND.index: self.LIST_APPEND(oparg, next_instr) elif opcode == opcodedesc.LOAD_ATTR.index: self.LOAD_ATTR(oparg, next_instr) elif opcode == opcodedesc.LOAD_CLOSURE.index: self.LOAD_CLOSURE(oparg, next_instr) elif opcode == opcodedesc.LOAD_CONST.index: self.LOAD_CONST(oparg, next_instr) elif opcode == opcodedesc.LOAD_DEREF.index: self.LOAD_DEREF(oparg, next_instr) elif opcode == opcodedesc.LOAD_FAST.index: self.LOAD_FAST(oparg, next_instr) elif opcode == opcodedesc.LOAD_GLOBAL.index: self.LOAD_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.LOAD_LOCALS.index: self.LOAD_LOCALS(oparg, next_instr) elif opcode == opcodedesc.LOAD_NAME.index: self.LOAD_NAME(oparg, next_instr) elif opcode == opcodedesc.LOOKUP_METHOD.index: > self.LOOKUP_METHOD(oparg, next_instr) interpreter/pyopcode.py:356: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = at line 173 nameindex = 5, ignored = (115L,) MutableCell = space = StdObjSpace w_obj = def LOOKUP_METHOD(f, nameindex, *ignored): from pypy.objspace.std.typeobject import MutableCell # stack before after # -------------- --fast-method----fallback-case------------ # # w_object None # w_object => w_function w_boundmethod_or_whatever # (more stuff) (more stuff) (more stuff) # space = f.space w_obj = f.popvalue() if not jit.we_are_jitted(): # mapdict has an extra-fast version of this function if LOOKUP_METHOD_mapdict(f, nameindex, w_obj): return w_name = f.getname_w(nameindex) w_value = None w_type = space.type(w_obj) if w_type.has_object_getattribute(): name = space.text_w(w_name) # bit of a mess to use these internal functions, but it allows the # mapdict caching below to work without an additional lookup version_tag = w_type.version_tag() if version_tag is None: _, w_descr = w_type._lookup_where(name) w_descr_cell = None else: _, w_descr_cell = w_type._pure_lookup_where_with_method_cache( name, version_tag) w_descr = w_descr_cell if isinstance(w_descr, MutableCell): w_descr = w_descr.unwrap_cell(space) if w_descr is None: # this handles directly the common case # module.function(args..) > w_value = w_obj.getdictvalue(space, name) objspace/std/callmethod.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'disable_finalizers' def getdictvalue(self, space, name): w_value = space.finditem_str(self.w_dict, name) if self.lazy and w_value is None: > return self._load_lazily(space, name) interpreter/mixedmodule.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'disable_finalizers' def _load_lazily(self, space, name): w_name = space.new_interned_str(name) try: loader = self.loaders[name] except KeyError: return None else: > w_value = loader(space) interpreter/mixedmodule.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace def ifileloader(space): d = {'space':space} # EVIL HACK (but it works, and this is not RPython :-) while 1: try: value = eval(spec, d) except NameError as ex: name = ex.args[0].split("'")[1] # super-Evil if name in d: raise # propagate the NameError try: > d[name] = __import__(pkgroot+'.'+name, None, None, [name]) interpreter/mixedmodule.py:182: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from pypy.interpreter.gateway import unwrap_spec from pypy.interpreter.error import oefmt from rpython.rlib import rgc > from pypy.module.gc.hook import W_GcCollectStepStats module/gc/interp_gc.py:4: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from rpython.memory.gc.hook import GcHooks > from rpython.memory.gc import incminimark module/gc/hook.py:2: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ # XXX Should find a way to bound the major collection threshold by the # XXX total addressable size. Maybe by keeping some minimarkpage arenas # XXX pre-reserved, enough for a few nursery collections? What about # XXX raw-malloced memory? # XXX try merging old_objects_pointing_to_pinned into # XXX old_objects_pointing_to_young (IRC 2014-10-22, fijal and gregor_w) import sys import os import time from rpython.rtyper.lltypesystem import lltype, llmemory, llarena, llgroup from rpython.rtyper.lltypesystem.lloperation import llop from rpython.rtyper.lltypesystem.llmemory import raw_malloc_usage from rpython.memory.gc.base import GCBase, MovingGCBase > from rpython.memory.gc import env E File "/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py", line 423 E SyntaxError: Non-ASCII character '\xe2' in file /build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py on line 423, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details ../rpython/memory/gc/incminimark.py:70: SyntaxError . pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_utime . pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_utime_raises . pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_wifsignaled . pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_os_uname . pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_os_getuid . pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_os_setuid_error . pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_os_getgid . pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_os_getgroups . pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_os_setgroups . pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_os_initgroups . pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_os_tcgetpgrp . pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_os_tcsetpgrp . pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_os_getpgid . pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_os_setgid_error . pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_os_getsid . pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_os_getresuid . pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_os_getresgid . pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_os_setresuid . pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_os_setresgid . pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_os_sysconf . pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_os_sysconf_error . pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_os_fpathconf . pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_os_pathconf . pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_os_confstr . pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_os_confstr_error . pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_os_wait . pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_os_getloadavg . pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_major_minor . pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_fsync . pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_fdatasync . pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_fchdir s pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_largefile Skipped: emulation of files can't use larger-than-long offsets . pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_write_buffer . pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_write_unicode . pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_abort . pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_closerange . pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_chown . pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_lchown . pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_fchown . pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_chmod . pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_fchmod . pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_mkfifo . pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_mknod s pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_mknod_with_ifchr Skipped: os.mknod() with S_IFCHR: got OSError(1, 'Operation not permitted') . pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_nice . pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_symlink . pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_tmpfile . pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_tmpnam . pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_tempnam . pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_tmpnam_warning . pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_has_kill . pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_pipe_flush . pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_urandom s pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_rename Skipped: condition: sys.platform != 'win32' . pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_WCOREDUMP . pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_WIFSTOPPED . pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_WIFSIGNALED . pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_WIFEXITED . pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_WEXITSTATUS . pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_WSTOPSIG . pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_WTERMSIG . pypy/module/posix/test/test_posix2.py::AppTestPosix::()::test_WIFCONTINUED . pypy/module/posix/test/test_posix2.py::AppTestEnvironment::()::test_environ . pypy/module/posix/test/test_posix2.py::AppTestEnvironment::()::test_environ_nonascii . pypy/module/posix/test/test_posix2.py::AppTestEnvironment::()::test_unsetenv_nonexisting . pypy/module/posix/test/test_posix2.py::AppTestEnvironment::()::test_putenv_invalid_name . pypy/module/posix/test/test_posix2.py::AppTestPosixUnicode::()::test_stat_unicode . pypy/module/posix/test/test_posix2.py::AppTestPosixUnicode::()::test_open_unicode . pypy/module/posix/test/test_posix2.py::AppTestPosixUnicode::()::test_remove_unicode . pypy/module/posix/test/test_posix2.py::AppTestUnicodeFilename::()::test_open s pypy/module/posix/test/test_posix2.py::TestPexpect::()::test_ttyname Skipped: pexpect not found . pypy/module/posix/test/test_posix_libfile.py::AppTestPosix::()::test_posix_is_pypy_s . pypy/module/posix/test/test_posix_libfile.py::AppTestPosix::()::test_fdopen F pypy/module/posix/test/test_posix_libfile.py::AppTestPosix::()::test_popen self = func = at 0xf41a5764>, 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, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 0xf79de32c> hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf697b4cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf697b4cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf482ed6c> 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 0xf482ed6c> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf478b9ac> 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 0xf478b9ac> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def runtest(self): target = self.obj if self.config.option.runappdirect: return target() space = target.im_self.space filename = self._getdynfilename(target) func = app2interp_temp(target.im_func, filename=filename) w_instance = self.parent.w_instance > self.execute_appex(space, func, space, w_instance) tool/pytest/apptest.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , space = StdObjSpace target = args = (StdObjSpace, ) def execute_appex(self, space, target, *args): self.space = space try: > target(*args) tool/pytest/apptest.py:30: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace args_w = (,) w_func = args = def appcaller(space, *args_w): if not isinstance(space, ObjSpace): raise TypeError("first argument must be a space instance.") # the last argument can be an Arguments w_func = self.wget(space, name) if not args_w: return space.call_function(w_func) else: args = args_w[-1] assert args is not None if not isinstance(args, Arguments): > return space.call_function(w_func, *args_w) interpreter/gateway.py:1227: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = args_w = (,) nargs = 1, Function = Method = def call_function(self, w_func, *args_w): nargs = len(args_w) # used for pruning funccall versions if not self.config.objspace.disable_call_speedhacks and nargs < 5: # start of hack for performance from pypy.interpreter.function import Function, Method if isinstance(w_func, Method): w_inst = w_func.w_instance if w_inst is not None: if nargs < 4: func = w_func.w_function if isinstance(func, Function): return func.funccall(w_inst, *args_w) elif args_w and ( self.abstract_isinstance_w(args_w[0], w_func.w_class)): w_func = w_func.w_function if isinstance(w_func, Function): > return w_func.funccall(*args_w) interpreter/baseobjspace.py:1210: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = args_w = (,) gateway = PyCode = code = def funccall(self, *args_w): # speed hack from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit nargs = len(args_w) fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, args_w[0]) elif nargs == 2: assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, args_w[0], args_w[1]) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) return code.fastcall_3(self.space, self, args_w[0], args_w[1], args_w[2]) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) return code.fastcall_4(self.space, self, args_w[0], args_w[1], args_w[2], args_w[3]) elif (nargs | PyCode.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) if nargs < 5: new_frame = self.space.createframe(code, self.w_func_globals, self) for i in funccallunrolling: if i < nargs: new_frame.locals_cells_stack_w[i] = args_w[i] > return new_frame.run() interpreter/function.py:118: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 8 def run(self): """Start this frame's execution.""" if self.getcode().co_flags & pycode.CO_GENERATOR: from pypy.interpreter.generator import GeneratorIterator return GeneratorIterator(self) else: > return self.execute_frame() interpreter/pyframe.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 8 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:290: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 8 e = SyntaxError("Non-ASCII character '\\xe2' in file /build_dir/own-linux-x86-32/b..., ('/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py', 423, 0, None)) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:943: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 8 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:286: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 8 pycode = next_instr = 0L ec = def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 8 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x01\x00|\x01\x00j\x01\x00\xc9\x02\x00d\x02\x00\xca\x01\x00r+\x00t\x03\x00d\x03\x00\x83\x...c9\x0c\x00\xca\x00\x00}\x08\x00\xcc\x16\x00|\x08\x00|\x07\x00\x18d\x0c\x00k\x05\x00s;\x01t\t\x00\x82\x01\x00d\x00\x00S' next_instr = 0L ec = def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 8 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x01\x00|\x01\x00j\x01\x00\xc9\x02\x00d\x02\x00\xca\x01\x00r+\x00t\x03\x00d\x03\x00\x83\x...c9\x0c\x00\xca\x00\x00}\x08\x00\xcc\x16\x00|\x08\x00|\x07\x00\x18d\x0c\x00k\x05\x00s;\x01t\t\x00\x82\x01\x00d\x00\x00S' next_instr = 77L ec = @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: self.last_instr = intmask(next_instr) if jit.we_are_jitted(): if self.debugdata: ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: ec.bytecode_trace(self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) next_instr += 1 if opcode >= HAVE_ARGUMENT: lo = ord(co_code[next_instr]) hi = ord(co_code[next_instr+1]) next_instr += 2 oparg = (hi * 256) | lo else: oparg = 0 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into a switch(). while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption lo = ord(co_code[next_instr+1]) hi = ord(co_code[next_instr+2]) next_instr += 3 oparg = (oparg * 65536) | (hi * 256) | lo if opcode == opcodedesc.RETURN_VALUE.index: if not self.blockstack_non_empty(): self.frame_finished_execution = True # for generators raise Return w_returnvalue = self.popvalue() block = self.unrollstack(SReturnValue.kind) if block is None: self.pushvalue(w_returnvalue) raise Return else: unroller = SReturnValue(w_returnvalue) next_instr = block.handle(self, unroller) return next_instr # now inside a 'finally' block elif opcode == opcodedesc.END_FINALLY.index: unroller = self.end_finally() if isinstance(unroller, SuspendedUnroller): # go on unrolling the stack block = self.unrollstack(unroller.kind) if block is None: w_result = unroller.nomoreblocks() self.pushvalue(w_result) raise Return else: next_instr = block.handle(self, unroller) return next_instr elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, ec) elif opcode == opcodedesc.BREAK_LOOP.index: next_instr = self.BREAK_LOOP(oparg, next_instr) elif opcode == opcodedesc.CONTINUE_LOOP.index: return self.CONTINUE_LOOP(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: next_instr = self.JUMP_IF_FALSE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_DEBUG.index: next_instr = self.JUMP_IF_NOT_DEBUG(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: next_instr = self.JUMP_IF_TRUE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: next_instr = self.POP_JUMP_IF_FALSE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: next_instr = self.POP_JUMP_IF_TRUE(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_DIVIDE.index: self.BINARY_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CLASS.index: self.BUILD_CLASS(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR.index: self.CALL_FUNCTION_VAR(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR_KW.index: self.CALL_FUNCTION_VAR_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: > self.CALL_METHOD(oparg, next_instr) interpreter/pyopcode.py:276: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = at line 8 oparg = 1, ignored = (77L,), n_args = 1, n_kwargs = 0, w_self = None @jit.unroll_safe def CALL_METHOD(f, oparg, *ignored): # opargs contains the arg, and kwarg count, excluding the implicit 'self' n_args = oparg & 0xff n_kwargs = (oparg >> 8) & 0xff w_self = f.peekvalue_maybe_none(n_args + (2 * n_kwargs)) n = n_args + (w_self is not None) if not n_kwargs: w_callable = f.peekvalue(n_args + (2 * n_kwargs) + 1) w_result = f.space.call_valuestack( > w_callable, n, f, methodcall=w_self is not None, dropvalues=n_args + 2) objspace/std/callmethod.py:96: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = , nargs = 1 frame = at line 8 dropvalues = 3, methodcall = False def call_valuestack(self, w_func, nargs, frame, dropvalues, methodcall=False): # methodcall is only used for better error messages in argument.py from pypy.interpreter.function import Function, Method, is_builtin_code if frame.get_is_being_profiled() and is_builtin_code(w_func): # XXX: this code is copied&pasted :-( from the slow path below # call_valuestack(). args = frame.make_arguments(nargs) frame.dropvalues(dropvalues) return self.call_args_and_c_profile(frame, w_func, args) if not self.config.objspace.disable_call_speedhacks: # start of hack for performance if isinstance(w_func, Method): w_inst = w_func.w_instance if w_inst is not None: w_func = w_func.w_function # reuse callable stack place for w_inst frame.settopvalue(w_inst, nargs) nargs += 1 methodcall = True elif nargs > 0 and ( self.abstract_isinstance_w(frame.peekvalue(nargs-1), # :-( w_func.w_class)): w_func = w_func.w_function if isinstance(w_func, Function): return w_func.funccall_valuestack( > nargs, frame, methodcall=methodcall, dropvalues=dropvalues) interpreter/baseobjspace.py:1243: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , nargs = 1 frame = at line 8 dropvalues = 3, methodcall = False def funccall_valuestack(self, nargs, frame, dropvalues, methodcall=False): # speed hack # methodcall is only for better error messages from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit # if (jit.we_are_jitted() and code is self.space._code_of_sys_exc_info and nargs == 0): frame.dropvalues(dropvalues) from pypy.module.sys.vm import exc_info_direct return exc_info_direct(self.space, frame) # fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: f_0 = frame.peekvalue(0) frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, f_0) elif nargs == 2: f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, f_1, f_0) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) f_2 = frame.peekvalue(2) frame.dropvalues(dropvalues) return code.fastcall_3(self.space, self, f_2, f_1, f_0) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) f_2 = frame.peekvalue(2) f_3 = frame.peekvalue(3) frame.dropvalues(dropvalues) return code.fastcall_4(self.space, self, f_3, f_2, f_1, f_0) elif (nargs | Code.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) return self._flat_pycall(code, nargs, frame, dropvalues) elif fast_natural_arity & Code.FLATPYCALL: natural_arity = fast_natural_arity & 0xff if natural_arity > nargs >= natural_arity - len(self.defs_w): assert isinstance(code, PyCode) return self._flat_pycall_defaults(code, nargs, frame, > natural_arity - nargs, dropvalues) interpreter/function.py:180: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = code = nargs = 1 frame = at line 8 defs_to_load = 2, dropvalues = 3 @jit.unroll_safe def _flat_pycall_defaults(self, code, nargs, frame, defs_to_load, dropvalues): # code is a PyCode new_frame = self.space.createframe(code, self.w_func_globals, self) for i in xrange(nargs): new_frame.locals_cells_stack_w[i] = frame.peekvalue(nargs-1-i) ndefs = len(self.defs_w) start = ndefs - defs_to_load i = nargs for j in xrange(start, ndefs): new_frame.locals_cells_stack_w[i] = self.defs_w[j] i += 1 frame.dropvalues(dropvalues) > return new_frame.run() interpreter/function.py:218: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 173 def run(self): """Start this frame's execution.""" if self.getcode().co_flags & pycode.CO_GENERATOR: from pypy.interpreter.generator import GeneratorIterator return GeneratorIterator(self) else: > return self.execute_frame() interpreter/pyframe.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 173 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:290: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 173 e = SyntaxError("Non-ASCII character '\\xe2' in file /build_dir/own-linux-x86-32/b..., ('/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py', 423, 0, None)) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:943: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 173 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:286: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 173 pycode = next_instr = 0L ec = def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 173 co_code = 'd\x01\x00d\x02\x00l\x00\x00\x89\x00\x00d\x01\x00d\x02\x00l\x01\x00}\x03\x00\x87\x00\x00f\x01\x00d\x03\x00\x86\x00\x00...1\x01}\x0b\x00\x01|\x04\x00|\x06\x00\x83\x01\x00\x01|\x04\x00|\x05\x00\x83\x01\x00\x01|\x0b\x00\x82\x01\x00Xd\x02\x00S' next_instr = 0L ec = def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 173 co_code = 'd\x01\x00d\x02\x00l\x00\x00\x89\x00\x00d\x01\x00d\x02\x00l\x01\x00}\x03\x00\x87\x00\x00f\x01\x00d\x03\x00\x86\x00\x00...1\x01}\x0b\x00\x01|\x04\x00|\x06\x00\x83\x01\x00\x01|\x04\x00|\x05\x00\x83\x01\x00\x01|\x0b\x00\x82\x01\x00Xd\x02\x00S' next_instr = 115L ec = @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: self.last_instr = intmask(next_instr) if jit.we_are_jitted(): if self.debugdata: ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: ec.bytecode_trace(self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) next_instr += 1 if opcode >= HAVE_ARGUMENT: lo = ord(co_code[next_instr]) hi = ord(co_code[next_instr+1]) next_instr += 2 oparg = (hi * 256) | lo else: oparg = 0 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into a switch(). while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption lo = ord(co_code[next_instr+1]) hi = ord(co_code[next_instr+2]) next_instr += 3 oparg = (oparg * 65536) | (hi * 256) | lo if opcode == opcodedesc.RETURN_VALUE.index: if not self.blockstack_non_empty(): self.frame_finished_execution = True # for generators raise Return w_returnvalue = self.popvalue() block = self.unrollstack(SReturnValue.kind) if block is None: self.pushvalue(w_returnvalue) raise Return else: unroller = SReturnValue(w_returnvalue) next_instr = block.handle(self, unroller) return next_instr # now inside a 'finally' block elif opcode == opcodedesc.END_FINALLY.index: unroller = self.end_finally() if isinstance(unroller, SuspendedUnroller): # go on unrolling the stack block = self.unrollstack(unroller.kind) if block is None: w_result = unroller.nomoreblocks() self.pushvalue(w_result) raise Return else: next_instr = block.handle(self, unroller) return next_instr elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, ec) elif opcode == opcodedesc.BREAK_LOOP.index: next_instr = self.BREAK_LOOP(oparg, next_instr) elif opcode == opcodedesc.CONTINUE_LOOP.index: return self.CONTINUE_LOOP(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: next_instr = self.JUMP_IF_FALSE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_DEBUG.index: next_instr = self.JUMP_IF_NOT_DEBUG(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: next_instr = self.JUMP_IF_TRUE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: next_instr = self.POP_JUMP_IF_FALSE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: next_instr = self.POP_JUMP_IF_TRUE(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_DIVIDE.index: self.BINARY_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CLASS.index: self.BUILD_CLASS(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR.index: self.CALL_FUNCTION_VAR(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR_KW.index: self.CALL_FUNCTION_VAR_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: self.CALL_METHOD(oparg, next_instr) elif opcode == opcodedesc.COMPARE_OP.index: self.COMPARE_OP(oparg, next_instr) elif opcode == opcodedesc.DELETE_ATTR.index: self.DELETE_ATTR(oparg, next_instr) elif opcode == opcodedesc.DELETE_FAST.index: self.DELETE_FAST(oparg, next_instr) elif opcode == opcodedesc.DELETE_GLOBAL.index: self.DELETE_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.DELETE_NAME.index: self.DELETE_NAME(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_0.index: self.DELETE_SLICE_0(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_1.index: self.DELETE_SLICE_1(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_2.index: self.DELETE_SLICE_2(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_3.index: self.DELETE_SLICE_3(oparg, next_instr) elif opcode == opcodedesc.DELETE_SUBSCR.index: self.DELETE_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.DUP_TOP.index: self.DUP_TOP(oparg, next_instr) elif opcode == opcodedesc.DUP_TOPX.index: self.DUP_TOPX(oparg, next_instr) elif opcode == opcodedesc.EXEC_STMT.index: self.EXEC_STMT(oparg, next_instr) elif opcode == opcodedesc.GET_ITER.index: self.GET_ITER(oparg, next_instr) elif opcode == opcodedesc.IMPORT_FROM.index: self.IMPORT_FROM(oparg, next_instr) elif opcode == opcodedesc.IMPORT_NAME.index: self.IMPORT_NAME(oparg, next_instr) elif opcode == opcodedesc.IMPORT_STAR.index: self.IMPORT_STAR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_ADD.index: self.INPLACE_ADD(oparg, next_instr) elif opcode == opcodedesc.INPLACE_AND.index: self.INPLACE_AND(oparg, next_instr) elif opcode == opcodedesc.INPLACE_DIVIDE.index: self.INPLACE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_FLOOR_DIVIDE.index: self.INPLACE_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_LSHIFT.index: self.INPLACE_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MODULO.index: self.INPLACE_MODULO(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MULTIPLY.index: self.INPLACE_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.INPLACE_OR.index: self.INPLACE_OR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_POWER.index: self.INPLACE_POWER(oparg, next_instr) elif opcode == opcodedesc.INPLACE_RSHIFT.index: self.INPLACE_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_SUBTRACT.index: self.INPLACE_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_TRUE_DIVIDE.index: self.INPLACE_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_XOR.index: self.INPLACE_XOR(oparg, next_instr) elif opcode == opcodedesc.LIST_APPEND.index: self.LIST_APPEND(oparg, next_instr) elif opcode == opcodedesc.LOAD_ATTR.index: self.LOAD_ATTR(oparg, next_instr) elif opcode == opcodedesc.LOAD_CLOSURE.index: self.LOAD_CLOSURE(oparg, next_instr) elif opcode == opcodedesc.LOAD_CONST.index: self.LOAD_CONST(oparg, next_instr) elif opcode == opcodedesc.LOAD_DEREF.index: self.LOAD_DEREF(oparg, next_instr) elif opcode == opcodedesc.LOAD_FAST.index: self.LOAD_FAST(oparg, next_instr) elif opcode == opcodedesc.LOAD_GLOBAL.index: self.LOAD_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.LOAD_LOCALS.index: self.LOAD_LOCALS(oparg, next_instr) elif opcode == opcodedesc.LOAD_NAME.index: self.LOAD_NAME(oparg, next_instr) elif opcode == opcodedesc.LOOKUP_METHOD.index: > self.LOOKUP_METHOD(oparg, next_instr) interpreter/pyopcode.py:356: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = at line 173 nameindex = 5, ignored = (115L,) MutableCell = space = StdObjSpace w_obj = def LOOKUP_METHOD(f, nameindex, *ignored): from pypy.objspace.std.typeobject import MutableCell # stack before after # -------------- --fast-method----fallback-case------------ # # w_object None # w_object => w_function w_boundmethod_or_whatever # (more stuff) (more stuff) (more stuff) # space = f.space w_obj = f.popvalue() if not jit.we_are_jitted(): # mapdict has an extra-fast version of this function if LOOKUP_METHOD_mapdict(f, nameindex, w_obj): return w_name = f.getname_w(nameindex) w_value = None w_type = space.type(w_obj) if w_type.has_object_getattribute(): name = space.text_w(w_name) # bit of a mess to use these internal functions, but it allows the # mapdict caching below to work without an additional lookup version_tag = w_type.version_tag() if version_tag is None: _, w_descr = w_type._lookup_where(name) w_descr_cell = None else: _, w_descr_cell = w_type._pure_lookup_where_with_method_cache( name, version_tag) w_descr = w_descr_cell if isinstance(w_descr, MutableCell): w_descr = w_descr.unwrap_cell(space) if w_descr is None: # this handles directly the common case # module.function(args..) > w_value = w_obj.getdictvalue(space, name) objspace/std/callmethod.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'disable_finalizers' def getdictvalue(self, space, name): w_value = space.finditem_str(self.w_dict, name) if self.lazy and w_value is None: > return self._load_lazily(space, name) interpreter/mixedmodule.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'disable_finalizers' def _load_lazily(self, space, name): w_name = space.new_interned_str(name) try: loader = self.loaders[name] except KeyError: return None else: > w_value = loader(space) interpreter/mixedmodule.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace def ifileloader(space): d = {'space':space} # EVIL HACK (but it works, and this is not RPython :-) while 1: try: value = eval(spec, d) except NameError as ex: name = ex.args[0].split("'")[1] # super-Evil if name in d: raise # propagate the NameError try: > d[name] = __import__(pkgroot+'.'+name, None, None, [name]) interpreter/mixedmodule.py:182: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from pypy.interpreter.gateway import unwrap_spec from pypy.interpreter.error import oefmt from rpython.rlib import rgc > from pypy.module.gc.hook import W_GcCollectStepStats module/gc/interp_gc.py:4: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from rpython.memory.gc.hook import GcHooks > from rpython.memory.gc import incminimark module/gc/hook.py:2: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ # XXX Should find a way to bound the major collection threshold by the # XXX total addressable size. Maybe by keeping some minimarkpage arenas # XXX pre-reserved, enough for a few nursery collections? What about # XXX raw-malloced memory? # XXX try merging old_objects_pointing_to_pinned into # XXX old_objects_pointing_to_young (IRC 2014-10-22, fijal and gregor_w) import sys import os import time from rpython.rtyper.lltypesystem import lltype, llmemory, llarena, llgroup from rpython.rtyper.lltypesystem.lloperation import llop from rpython.rtyper.lltypesystem.llmemory import raw_malloc_usage from rpython.memory.gc.base import GCBase, MovingGCBase > from rpython.memory.gc import env E File "/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py", line 423 E SyntaxError: Non-ASCII character '\xe2' in file /build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py on line 423, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details ../rpython/memory/gc/incminimark.py:70: SyntaxError F pypy/module/posix/test/test_posix_libfile.py::AppTestPosix::()::test_popen_and_rebind_file_in___builtin__ self = func = at 0xf41a1c6c>, 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, 1 meths, kwargs={'item': }>, 'item': } 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 0xf79de32c> hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf697b4cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': }>, 'item': } 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 = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf697b4cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': }>, 'item': } self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf452340c> 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 0xf452340c> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf452350c> 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 0xf452350c> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def runtest(self): target = self.obj if self.config.option.runappdirect: return target() space = target.im_self.space filename = self._getdynfilename(target) func = app2interp_temp(target.im_func, filename=filename) w_instance = self.parent.w_instance > self.execute_appex(space, func, space, w_instance) tool/pytest/apptest.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace target = args = (StdObjSpace, ) def execute_appex(self, space, target, *args): self.space = space try: > target(*args) tool/pytest/apptest.py:30: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace args_w = (,) w_func = args = def appcaller(space, *args_w): if not isinstance(space, ObjSpace): raise TypeError("first argument must be a space instance.") # the last argument can be an Arguments w_func = self.wget(space, name) if not args_w: return space.call_function(w_func) else: args = args_w[-1] assert args is not None if not isinstance(args, Arguments): > return space.call_function(w_func, *args_w) interpreter/gateway.py:1227: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace w_func = args_w = (,) nargs = 1, Function = Method = def call_function(self, w_func, *args_w): nargs = len(args_w) # used for pruning funccall versions if not self.config.objspace.disable_call_speedhacks and nargs < 5: # start of hack for performance from pypy.interpreter.function import Function, Method if isinstance(w_func, Method): w_inst = w_func.w_instance if w_inst is not None: if nargs < 4: func = w_func.w_function if isinstance(func, Function): return func.funccall(w_inst, *args_w) elif args_w and ( self.abstract_isinstance_w(args_w[0], w_func.w_class)): w_func = w_func.w_function if isinstance(w_func, Function): > return w_func.funccall(*args_w) interpreter/baseobjspace.py:1210: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = args_w = (,) gateway = PyCode = code = def funccall(self, *args_w): # speed hack from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit nargs = len(args_w) fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, args_w[0]) elif nargs == 2: assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, args_w[0], args_w[1]) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) return code.fastcall_3(self.space, self, args_w[0], args_w[1], args_w[2]) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) return code.fastcall_4(self.space, self, args_w[0], args_w[1], args_w[2], args_w[3]) elif (nargs | PyCode.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) if nargs < 5: new_frame = self.space.createframe(code, self.w_func_globals, self) for i in funccallunrolling: if i < nargs: new_frame.locals_cells_stack_w[i] = args_w[i] > return new_frame.run() interpreter/function.py:118: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 10 def run(self): """Start this frame's execution.""" if self.getcode().co_flags & pycode.CO_GENERATOR: from pypy.interpreter.generator import GeneratorIterator return GeneratorIterator(self) else: > return self.execute_frame() interpreter/pyframe.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 10 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:290: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 10 e = SyntaxError("Non-ASCII character '\\xe2' in file /build_dir/own-linux-x86-32/b..., ('/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py', 423, 0, None)) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:943: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 10 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:286: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 10 pycode = next_instr = 0L ec = def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 10 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x01\x00|\x01\x00j\x01\x00\xc9\x02\x00d\x02\x00\xca\x01\x00r+\x00t\x03\x00d\x03\x00\x83\x...x00\x84\x00\x00|\x02\x00_\x06\x00|\x05\x00\xc9\x08\x00\xca\x00\x00\x01Wd\x00\x00|\x04\x00|\x02\x00_\x06\x00Xd\x00\x00S' next_instr = 0L ec = def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 10 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x01\x00|\x01\x00j\x01\x00\xc9\x02\x00d\x02\x00\xca\x01\x00r+\x00t\x03\x00d\x03\x00\x83\x...x00\x84\x00\x00|\x02\x00_\x06\x00|\x05\x00\xc9\x08\x00\xca\x00\x00\x01Wd\x00\x00|\x04\x00|\x02\x00_\x06\x00Xd\x00\x00S' next_instr = 85L ec = @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: self.last_instr = intmask(next_instr) if jit.we_are_jitted(): if self.debugdata: ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: ec.bytecode_trace(self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) next_instr += 1 if opcode >= HAVE_ARGUMENT: lo = ord(co_code[next_instr]) hi = ord(co_code[next_instr+1]) next_instr += 2 oparg = (hi * 256) | lo else: oparg = 0 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into a switch(). while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption lo = ord(co_code[next_instr+1]) hi = ord(co_code[next_instr+2]) next_instr += 3 oparg = (oparg * 65536) | (hi * 256) | lo if opcode == opcodedesc.RETURN_VALUE.index: if not self.blockstack_non_empty(): self.frame_finished_execution = True # for generators raise Return w_returnvalue = self.popvalue() block = self.unrollstack(SReturnValue.kind) if block is None: self.pushvalue(w_returnvalue) raise Return else: unroller = SReturnValue(w_returnvalue) next_instr = block.handle(self, unroller) return next_instr # now inside a 'finally' block elif opcode == opcodedesc.END_FINALLY.index: unroller = self.end_finally() if isinstance(unroller, SuspendedUnroller): # go on unrolling the stack block = self.unrollstack(unroller.kind) if block is None: w_result = unroller.nomoreblocks() self.pushvalue(w_result) raise Return else: next_instr = block.handle(self, unroller) return next_instr elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, ec) elif opcode == opcodedesc.BREAK_LOOP.index: next_instr = self.BREAK_LOOP(oparg, next_instr) elif opcode == opcodedesc.CONTINUE_LOOP.index: return self.CONTINUE_LOOP(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: next_instr = self.JUMP_IF_FALSE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_DEBUG.index: next_instr = self.JUMP_IF_NOT_DEBUG(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: next_instr = self.JUMP_IF_TRUE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: next_instr = self.POP_JUMP_IF_FALSE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: next_instr = self.POP_JUMP_IF_TRUE(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_DIVIDE.index: self.BINARY_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CLASS.index: self.BUILD_CLASS(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR.index: self.CALL_FUNCTION_VAR(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR_KW.index: self.CALL_FUNCTION_VAR_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: > self.CALL_METHOD(oparg, next_instr) interpreter/pyopcode.py:276: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = at line 10 oparg = 1, ignored = (85L,), n_args = 1, n_kwargs = 0, w_self = None @jit.unroll_safe def CALL_METHOD(f, oparg, *ignored): # opargs contains the arg, and kwarg count, excluding the implicit 'self' n_args = oparg & 0xff n_kwargs = (oparg >> 8) & 0xff w_self = f.peekvalue_maybe_none(n_args + (2 * n_kwargs)) n = n_args + (w_self is not None) if not n_kwargs: w_callable = f.peekvalue(n_args + (2 * n_kwargs) + 1) w_result = f.space.call_valuestack( > w_callable, n, f, methodcall=w_self is not None, dropvalues=n_args + 2) objspace/std/callmethod.py:96: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = , nargs = 1 frame = at line 10 dropvalues = 3, methodcall = False def call_valuestack(self, w_func, nargs, frame, dropvalues, methodcall=False): # methodcall is only used for better error messages in argument.py from pypy.interpreter.function import Function, Method, is_builtin_code if frame.get_is_being_profiled() and is_builtin_code(w_func): # XXX: this code is copied&pasted :-( from the slow path below # call_valuestack(). args = frame.make_arguments(nargs) frame.dropvalues(dropvalues) return self.call_args_and_c_profile(frame, w_func, args) if not self.config.objspace.disable_call_speedhacks: # start of hack for performance if isinstance(w_func, Method): w_inst = w_func.w_instance if w_inst is not None: w_func = w_func.w_function # reuse callable stack place for w_inst frame.settopvalue(w_inst, nargs) nargs += 1 methodcall = True elif nargs > 0 and ( self.abstract_isinstance_w(frame.peekvalue(nargs-1), # :-( w_func.w_class)): w_func = w_func.w_function if isinstance(w_func, Function): return w_func.funccall_valuestack( > nargs, frame, methodcall=methodcall, dropvalues=dropvalues) interpreter/baseobjspace.py:1243: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , nargs = 1 frame = at line 10 dropvalues = 3, methodcall = False def funccall_valuestack(self, nargs, frame, dropvalues, methodcall=False): # speed hack # methodcall is only for better error messages from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit # if (jit.we_are_jitted() and code is self.space._code_of_sys_exc_info and nargs == 0): frame.dropvalues(dropvalues) from pypy.module.sys.vm import exc_info_direct return exc_info_direct(self.space, frame) # fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: f_0 = frame.peekvalue(0) frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, f_0) elif nargs == 2: f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, f_1, f_0) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) f_2 = frame.peekvalue(2) frame.dropvalues(dropvalues) return code.fastcall_3(self.space, self, f_2, f_1, f_0) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) f_2 = frame.peekvalue(2) f_3 = frame.peekvalue(3) frame.dropvalues(dropvalues) return code.fastcall_4(self.space, self, f_3, f_2, f_1, f_0) elif (nargs | Code.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) return self._flat_pycall(code, nargs, frame, dropvalues) elif fast_natural_arity & Code.FLATPYCALL: natural_arity = fast_natural_arity & 0xff if natural_arity > nargs >= natural_arity - len(self.defs_w): assert isinstance(code, PyCode) return self._flat_pycall_defaults(code, nargs, frame, > natural_arity - nargs, dropvalues) interpreter/function.py:180: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = code = nargs = 1 frame = at line 10 defs_to_load = 2, dropvalues = 3 @jit.unroll_safe def _flat_pycall_defaults(self, code, nargs, frame, defs_to_load, dropvalues): # code is a PyCode new_frame = self.space.createframe(code, self.w_func_globals, self) for i in xrange(nargs): new_frame.locals_cells_stack_w[i] = frame.peekvalue(nargs-1-i) ndefs = len(self.defs_w) start = ndefs - defs_to_load i = nargs for j in xrange(start, ndefs): new_frame.locals_cells_stack_w[i] = self.defs_w[j] i += 1 frame.dropvalues(dropvalues) > return new_frame.run() interpreter/function.py:218: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 173 def run(self): """Start this frame's execution.""" if self.getcode().co_flags & pycode.CO_GENERATOR: from pypy.interpreter.generator import GeneratorIterator return GeneratorIterator(self) else: > return self.execute_frame() interpreter/pyframe.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 173 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:290: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 173 e = SyntaxError("Non-ASCII character '\\xe2' in file /build_dir/own-linux-x86-32/b..., ('/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py', 423, 0, None)) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:943: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 173 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:286: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 173 pycode = next_instr = 0L ec = def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 173 co_code = 'd\x01\x00d\x02\x00l\x00\x00\x89\x00\x00d\x01\x00d\x02\x00l\x01\x00}\x03\x00\x87\x00\x00f\x01\x00d\x03\x00\x86\x00\x00...1\x01}\x0b\x00\x01|\x04\x00|\x06\x00\x83\x01\x00\x01|\x04\x00|\x05\x00\x83\x01\x00\x01|\x0b\x00\x82\x01\x00Xd\x02\x00S' next_instr = 0L ec = def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 173 co_code = 'd\x01\x00d\x02\x00l\x00\x00\x89\x00\x00d\x01\x00d\x02\x00l\x01\x00}\x03\x00\x87\x00\x00f\x01\x00d\x03\x00\x86\x00\x00...1\x01}\x0b\x00\x01|\x04\x00|\x06\x00\x83\x01\x00\x01|\x04\x00|\x05\x00\x83\x01\x00\x01|\x0b\x00\x82\x01\x00Xd\x02\x00S' next_instr = 115L ec = @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: self.last_instr = intmask(next_instr) if jit.we_are_jitted(): if self.debugdata: ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: ec.bytecode_trace(self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) next_instr += 1 if opcode >= HAVE_ARGUMENT: lo = ord(co_code[next_instr]) hi = ord(co_code[next_instr+1]) next_instr += 2 oparg = (hi * 256) | lo else: oparg = 0 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into a switch(). while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption lo = ord(co_code[next_instr+1]) hi = ord(co_code[next_instr+2]) next_instr += 3 oparg = (oparg * 65536) | (hi * 256) | lo if opcode == opcodedesc.RETURN_VALUE.index: if not self.blockstack_non_empty(): self.frame_finished_execution = True # for generators raise Return w_returnvalue = self.popvalue() block = self.unrollstack(SReturnValue.kind) if block is None: self.pushvalue(w_returnvalue) raise Return else: unroller = SReturnValue(w_returnvalue) next_instr = block.handle(self, unroller) return next_instr # now inside a 'finally' block elif opcode == opcodedesc.END_FINALLY.index: unroller = self.end_finally() if isinstance(unroller, SuspendedUnroller): # go on unrolling the stack block = self.unrollstack(unroller.kind) if block is None: w_result = unroller.nomoreblocks() self.pushvalue(w_result) raise Return else: next_instr = block.handle(self, unroller) return next_instr elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, ec) elif opcode == opcodedesc.BREAK_LOOP.index: next_instr = self.BREAK_LOOP(oparg, next_instr) elif opcode == opcodedesc.CONTINUE_LOOP.index: return self.CONTINUE_LOOP(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: next_instr = self.JUMP_IF_FALSE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_DEBUG.index: next_instr = self.JUMP_IF_NOT_DEBUG(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: next_instr = self.JUMP_IF_TRUE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: next_instr = self.POP_JUMP_IF_FALSE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: next_instr = self.POP_JUMP_IF_TRUE(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_DIVIDE.index: self.BINARY_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CLASS.index: self.BUILD_CLASS(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR.index: self.CALL_FUNCTION_VAR(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR_KW.index: self.CALL_FUNCTION_VAR_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: self.CALL_METHOD(oparg, next_instr) elif opcode == opcodedesc.COMPARE_OP.index: self.COMPARE_OP(oparg, next_instr) elif opcode == opcodedesc.DELETE_ATTR.index: self.DELETE_ATTR(oparg, next_instr) elif opcode == opcodedesc.DELETE_FAST.index: self.DELETE_FAST(oparg, next_instr) elif opcode == opcodedesc.DELETE_GLOBAL.index: self.DELETE_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.DELETE_NAME.index: self.DELETE_NAME(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_0.index: self.DELETE_SLICE_0(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_1.index: self.DELETE_SLICE_1(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_2.index: self.DELETE_SLICE_2(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_3.index: self.DELETE_SLICE_3(oparg, next_instr) elif opcode == opcodedesc.DELETE_SUBSCR.index: self.DELETE_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.DUP_TOP.index: self.DUP_TOP(oparg, next_instr) elif opcode == opcodedesc.DUP_TOPX.index: self.DUP_TOPX(oparg, next_instr) elif opcode == opcodedesc.EXEC_STMT.index: self.EXEC_STMT(oparg, next_instr) elif opcode == opcodedesc.GET_ITER.index: self.GET_ITER(oparg, next_instr) elif opcode == opcodedesc.IMPORT_FROM.index: self.IMPORT_FROM(oparg, next_instr) elif opcode == opcodedesc.IMPORT_NAME.index: self.IMPORT_NAME(oparg, next_instr) elif opcode == opcodedesc.IMPORT_STAR.index: self.IMPORT_STAR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_ADD.index: self.INPLACE_ADD(oparg, next_instr) elif opcode == opcodedesc.INPLACE_AND.index: self.INPLACE_AND(oparg, next_instr) elif opcode == opcodedesc.INPLACE_DIVIDE.index: self.INPLACE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_FLOOR_DIVIDE.index: self.INPLACE_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_LSHIFT.index: self.INPLACE_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MODULO.index: self.INPLACE_MODULO(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MULTIPLY.index: self.INPLACE_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.INPLACE_OR.index: self.INPLACE_OR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_POWER.index: self.INPLACE_POWER(oparg, next_instr) elif opcode == opcodedesc.INPLACE_RSHIFT.index: self.INPLACE_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_SUBTRACT.index: self.INPLACE_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_TRUE_DIVIDE.index: self.INPLACE_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_XOR.index: self.INPLACE_XOR(oparg, next_instr) elif opcode == opcodedesc.LIST_APPEND.index: self.LIST_APPEND(oparg, next_instr) elif opcode == opcodedesc.LOAD_ATTR.index: self.LOAD_ATTR(oparg, next_instr) elif opcode == opcodedesc.LOAD_CLOSURE.index: self.LOAD_CLOSURE(oparg, next_instr) elif opcode == opcodedesc.LOAD_CONST.index: self.LOAD_CONST(oparg, next_instr) elif opcode == opcodedesc.LOAD_DEREF.index: self.LOAD_DEREF(oparg, next_instr) elif opcode == opcodedesc.LOAD_FAST.index: self.LOAD_FAST(oparg, next_instr) elif opcode == opcodedesc.LOAD_GLOBAL.index: self.LOAD_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.LOAD_LOCALS.index: self.LOAD_LOCALS(oparg, next_instr) elif opcode == opcodedesc.LOAD_NAME.index: self.LOAD_NAME(oparg, next_instr) elif opcode == opcodedesc.LOOKUP_METHOD.index: > self.LOOKUP_METHOD(oparg, next_instr) interpreter/pyopcode.py:356: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = at line 173 nameindex = 5, ignored = (115L,) MutableCell = space = StdObjSpace w_obj = def LOOKUP_METHOD(f, nameindex, *ignored): from pypy.objspace.std.typeobject import MutableCell # stack before after # -------------- --fast-method----fallback-case------------ # # w_object None # w_object => w_function w_boundmethod_or_whatever # (more stuff) (more stuff) (more stuff) # space = f.space w_obj = f.popvalue() if not jit.we_are_jitted(): # mapdict has an extra-fast version of this function if LOOKUP_METHOD_mapdict(f, nameindex, w_obj): return w_name = f.getname_w(nameindex) w_value = None w_type = space.type(w_obj) if w_type.has_object_getattribute(): name = space.text_w(w_name) # bit of a mess to use these internal functions, but it allows the # mapdict caching below to work without an additional lookup version_tag = w_type.version_tag() if version_tag is None: _, w_descr = w_type._lookup_where(name) w_descr_cell = None else: _, w_descr_cell = w_type._pure_lookup_where_with_method_cache( name, version_tag) w_descr = w_descr_cell if isinstance(w_descr, MutableCell): w_descr = w_descr.unwrap_cell(space) if w_descr is None: # this handles directly the common case # module.function(args..) > w_value = w_obj.getdictvalue(space, name) objspace/std/callmethod.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'disable_finalizers' def getdictvalue(self, space, name): w_value = space.finditem_str(self.w_dict, name) if self.lazy and w_value is None: > return self._load_lazily(space, name) interpreter/mixedmodule.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'disable_finalizers' def _load_lazily(self, space, name): w_name = space.new_interned_str(name) try: loader = self.loaders[name] except KeyError: return None else: > w_value = loader(space) interpreter/mixedmodule.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace def ifileloader(space): d = {'space':space} # EVIL HACK (but it works, and this is not RPython :-) while 1: try: value = eval(spec, d) except NameError as ex: name = ex.args[0].split("'")[1] # super-Evil if name in d: raise # propagate the NameError try: > d[name] = __import__(pkgroot+'.'+name, None, None, [name]) interpreter/mixedmodule.py:182: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from pypy.interpreter.gateway import unwrap_spec from pypy.interpreter.error import oefmt from rpython.rlib import rgc > from pypy.module.gc.hook import W_GcCollectStepStats module/gc/interp_gc.py:4: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from rpython.memory.gc.hook import GcHooks > from rpython.memory.gc import incminimark module/gc/hook.py:2: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ # XXX Should find a way to bound the major collection threshold by the # XXX total addressable size. Maybe by keeping some minimarkpage arenas # XXX pre-reserved, enough for a few nursery collections? What about # XXX raw-malloced memory? # XXX try merging old_objects_pointing_to_pinned into # XXX old_objects_pointing_to_young (IRC 2014-10-22, fijal and gregor_w) import sys import os import time from rpython.rtyper.lltypesystem import lltype, llmemory, llarena, llgroup from rpython.rtyper.lltypesystem.lloperation import llop from rpython.rtyper.lltypesystem.llmemory import raw_malloc_usage from rpython.memory.gc.base import GCBase, MovingGCBase > from rpython.memory.gc import env E File "/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py", line 423 E SyntaxError: Non-ASCII character '\xe2' in file /build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py on line 423, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details ../rpython/memory/gc/incminimark.py:70: SyntaxError . pypy/module/posix/test/test_ztranslation.py::test_posix_translates (somefailed=True in module/posix/test) . pypy/module/pypyjit/test/test_jit_hook.py::AppTestJitHook::()::test_on_compile . pypy/module/pypyjit/test/test_jit_hook.py::AppTestJitHook::()::test_on_compile_exception . pypy/module/pypyjit/test/test_jit_hook.py::AppTestJitHook::()::test_on_compile_crashes . pypy/module/pypyjit/test/test_jit_hook.py::AppTestJitHook::()::test_non_reentrant . pypy/module/pypyjit/test/test_jit_hook.py::AppTestJitHook::()::test_on_compile_types . pypy/module/pypyjit/test/test_jit_hook.py::AppTestJitHook::()::test_on_abort . pypy/module/pypyjit/test/test_jit_hook.py::AppTestJitHook::()::test_creation . pypy/module/pypyjit/test/test_jit_hook.py::AppTestJitHook::()::test_creation_dmp s pypy/module/pypyjit/test/test_jit_hook.py::AppTestJitHook::()::test_get_stats_snapshot Skipped: a bit no idea how to test it . pypy/module/pypyjit/test/test_jit_not_in_trace.py::AppTestJitNotInTrace::()::test_not_from_assembler . pypy/module/pypyjit/test/test_jit_not_in_trace.py::AppTestJitNotInTrace::()::test_not_from_assembler_exception . pypy/module/pypyjit/test/test_jit_setup.py::AppTestPyPyJIT::()::test_setup . pypy/module/pypyjit/test/test_jit_setup.py::AppTestPyPyJIT::()::test_no_jit . pypy/module/pypyjit/test/test_jit_setup.py::AppTestPyPyJIT::()::test_doc . pypy/module/pypyjit/test/test_jit_setup.py::AppTestPyPyJIT::()::test_interface_residual_call . pypy/module/pypyjit/test/test_policy.py::test_id_any . pypy/module/pypyjit/test/test_policy.py::test_rlocale . pypy/module/pypyjit/test/test_policy.py::test_astcompiler . pypy/module/pypyjit/test/test_policy.py::test_pyparser . pypy/module/pypyjit/test/test_policy.py::test_property . pypy/module/pypyjit/test/test_policy.py::test_thread_local . pypy/module/pypyjit/test/test_policy.py::test_time . pypy/module/pypyjit/test/test_policy.py::test_io . pypy/module/pypyjit/test/test_policy.py::test_thread . pypy/module/pypyjit/test/test_policy.py::test_select . pypy/module/pypyjit/test/test_policy.py::test_pypy_module . pypy/module/pypyjit/test/test_policy.py::test_see_jit_module . pypy/module/pypyjit/test/test_pyframe.py::TestJitTraceInteraction::()::test_trace_while_blackholing . pypy/module/pypyjit/test/test_ztranslation.py::test_pypyjit_translates . pypy/module/cpyext/test/test_typeobject.py::AppTestTypeObject::()::test_typeobject . pypy/module/cpyext/test/test_typeobject.py::AppTestTypeObject::()::test_typeobject_method_descriptor . pypy/module/cpyext/test/test_typeobject.py::AppTestTypeObject::()::test_typeobject_data_member . pypy/module/cpyext/test/test_typeobject.py::AppTestTypeObject::()::test_typeobject_object_member . pypy/module/cpyext/test/test_typeobject.py::AppTestTypeObject::()::test_typeobject_string_member . pypy/module/cpyext/test/test_typeobject.py::AppTestTypeObject::()::test_staticmethod . pypy/module/cpyext/test/test_typeobject.py::AppTestTypeObject::()::test_classmethod . pypy/module/cpyext/test/test_typeobject.py::AppTestTypeObject::()::test_methoddescr . pypy/module/cpyext/test/test_typeobject.py::AppTestTypeObject::()::test_cython_fake_classmethod . pypy/module/cpyext/test/test_typeobject.py::AppTestTypeObject::()::test_new . pypy/module/cpyext/test/test_typeobject.py::AppTestTypeObject::()::test_shortcut . pypy/module/cpyext/test/test_typeobject.py::AppTestTypeObject::()::test_multiple_inheritance1 . pypy/module/cpyext/test/test_typeobject.py::AppTestTypeObject::()::test_init . pypy/module/cpyext/test/test_typeobject.py::AppTestTypeObject::()::test_metatype . pypy/module/cpyext/test/test_typeobject.py::AppTestTypeObject::()::test_metaclass_compatible s pypy/module/cpyext/test/test_typeobject.py::AppTestTypeObject::()::test_metaclass_compatible2 Skipped: fails even with -A, fooType has BASETYPE flag . pypy/module/cpyext/test/test_typeobject.py::AppTestTypeObject::()::test_sre . pypy/module/cpyext/test/test_typeobject.py::AppTestTypeObject::()::test_init_error . pypy/module/cpyext/test/test_typeobject.py::AppTestTypeObject::()::test_cmps . pypy/module/cpyext/test/test_typeobject.py::AppTestTypeObject::()::test_richcompare . pypy/module/cpyext/test/test_typeobject.py::AppTestTypeObject::()::test_tpcompare . pypy/module/cpyext/test/test_typeobject.py::AppTestTypeObject::()::test_unhashable_when_tpcompare . pypy/module/cpyext/test/test_typeobject.py::AppTestTypeObject::()::test_hash . pypy/module/cpyext/test/test_typeobject.py::AppTestTypeObject::()::test_descriptor . pypy/module/cpyext/test/test_typeobject.py::AppTestTypeObject::()::test_tp_dict . pypy/module/cpyext/test/test_typeobject.py::AppTestTypeObject::()::test_custom_allocation . pypy/module/cpyext/test/test_typeobject.py::AppTestTypeObject::()::test_heaptype . pypy/module/cpyext/test/test_typeobject.py::AppTestTypeObject::()::test_type_dict . pypy/module/cpyext/test/test_typeobject.py::AppTestTypeObject::()::test_tp_dict_ready . pypy/module/cpyext/test/test_typeobject.py::AppTestTypeObject::()::test_tp_descr_get . pypy/module/cpyext/test/test_typeobject.py::AppTestTypeObject::()::test_tp_descr_set . pypy/module/cpyext/test/test_typeobject.py::TestTypes::()::test_type_attributes . pypy/module/cpyext/test/test_typeobject.py::TestTypes::()::test_type_dict . pypy/module/cpyext/test/test_typeobject.py::TestTypes::()::test_multiple_inheritance2 . pypy/module/cpyext/test/test_typeobject.py::TestTypes::()::test_lookup . pypy/module/cpyext/test/test_typeobject.py::TestTypes::()::test_subclass_not_PyCTypeObject . pypy/module/cpyext/test/test_typeobject.py::AppTestSlots::()::test_some_slots . pypy/module/cpyext/test/test_typeobject.py::AppTestSlots::()::test_tp_getattro . pypy/module/cpyext/test/test_typeobject.py::AppTestSlots::()::test_issue_2760_getattr . pypy/module/cpyext/test/test_typeobject.py::AppTestSlots::()::test_nb_int . pypy/module/cpyext/test/test_typeobject.py::AppTestSlots::()::test_nb_float . pypy/module/cpyext/test/test_typeobject.py::AppTestSlots::()::test_tp_call . pypy/module/cpyext/test/test_typeobject.py::AppTestSlots::()::test_tp_init . pypy/module/cpyext/test/test_typeobject.py::AppTestSlots::()::test_mp_subscript . pypy/module/cpyext/test/test_typeobject.py::AppTestSlots::()::test_mp_ass_subscript . pypy/module/cpyext/test/test_typeobject.py::AppTestSlots::()::test_sq_contains . pypy/module/cpyext/test/test_typeobject.py::AppTestSlots::()::test_sq_ass_slice . pypy/module/cpyext/test/test_typeobject.py::AppTestSlots::()::test_sq_ass_item . pypy/module/cpyext/test/test_typeobject.py::AppTestSlots::()::test_tp_iter . pypy/module/cpyext/test/test_typeobject.py::AppTestSlots::()::test_intlike . pypy/module/cpyext/test/test_typeobject.py::AppTestSlots::()::test_mathfunc . pypy/module/cpyext/test/test_typeobject.py::AppTestSlots::()::test_tp_new_in_subclass . pypy/module/cpyext/test/test_typeobject.py::AppTestSlots::()::test_app_subclass_of_c_type . pypy/module/cpyext/test/test_typeobject.py::AppTestSlots::()::test_app_cant_subclass_two_types . pypy/module/cpyext/test/test_typeobject.py::AppTestSlots::()::test_call_tp_dealloc . pypy/module/cpyext/test/test_typeobject.py::AppTestSlots::()::test_tp_call_reverse . pypy/module/cpyext/test/test_typeobject.py::AppTestSlots::()::test_custom_metaclass . pypy/module/cpyext/test/test_typeobject.py::AppTestSlots::()::test_multiple_inheritance3 . pypy/module/cpyext/test/test_typeobject.py::AppTestSlots::()::test_multiple_inheritance_fetch_tp_bases . pypy/module/cpyext/test/test_typeobject.py::AppTestSlots::()::test_multiple_inheritance_old_style_base . pypy/module/cpyext/test/test_typeobject.py::AppTestSlots::()::test_getattr_getattro . pypy/module/cpyext/test/test_typeobject.py::AppTestSlots::()::test_multiple_inheritance_tp_basicsize . pypy/module/cpyext/test/test_typeobject.py::AppTestSlots::()::test_multiple_inheritance_bug1 . pypy/module/cpyext/test/test_typeobject.py::AppTestSlots::()::test_getset s pypy/module/cpyext/test/test_typeobject.py::AppTestHashable::()::test_unhashable Skipped: pointer to function equality available only after translation . pypy/module/cpyext/test/test_typeobject.py::AppTestFlags::()::test_has_subclass_flag . pypy/module/cpyext/test/test_typeobject.py::AppTestFlags::()::test_has_pypy_subclass_flag . pypy/module/cpyext/test/test_typeobject.py::AppTestFlags::()::test_newgetset . pypy/module/select/test/test_epoll.py::AppTestEpoll::()::test_create . pypy/module/select/test/test_epoll.py::AppTestEpoll::()::test_badcreate . pypy/module/select/test/test_epoll.py::AppTestEpoll::()::test_add . pypy/module/select/test/test_epoll.py::AppTestEpoll::()::test_fromfd . pypy/module/select/test/test_epoll.py::AppTestEpoll::()::test_control_and_wait . pypy/module/select/test/test_epoll.py::AppTestEpoll::()::test_errors . pypy/module/select/test/test_epoll.py::AppTestEpoll::()::test_unregister_closed . pypy/module/select/test/test_epoll.py::AppTestEpoll::()::test_close_twice s pypy/module/select/test/test_kqueue.py::AppTestKqueue::()::test_create Skipped: test requires BSD s pypy/module/select/test/test_kqueue.py::AppTestKqueue::()::test_create_event Skipped: test requires BSD s pypy/module/select/test/test_kqueue.py::AppTestKqueue::()::test_queue_event Skipped: test requires BSD s pypy/module/select/test/test_kqueue.py::AppTestKqueue::()::test_pair Skipped: test requires BSD s pypy/module/select/test/test_kqueue.py::AppTestKqueue::()::test_issue30058 Skipped: test requires BSD . pypy/module/select/test/test_select.py::AppTestSelectWithPipes::()::test_sleep . pypy/module/select/test/test_select.py::AppTestSelectWithPipes::()::test_list_tuple . pypy/module/select/test/test_select.py::AppTestSelectWithPipes::()::test_readable . pypy/module/select/test/test_select.py::AppTestSelectWithPipes::()::test_writable . pypy/module/select/test/test_select.py::AppTestSelectWithPipes::()::test_write_read F pypy/module/select/test/test_select.py::AppTestSelectWithPipes::()::test_write_close self = func = at 0xf49faed4>, 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, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 0xf79c332c> hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf69604cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf69604cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf49bc12c> 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 0xf49bc12c> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf49bc50c> 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 0xf49bc50c> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def runtest(self): target = self.obj if self.config.option.runappdirect: return target() space = target.im_self.space filename = self._getdynfilename(target) func = app2interp_temp(target.im_func, filename=filename) w_instance = self.parent.w_instance > self.execute_appex(space, func, space, w_instance) tool/pytest/apptest.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , space = StdObjSpace target = args = (StdObjSpace, ) def execute_appex(self, space, target, *args): self.space = space try: > target(*args) tool/pytest/apptest.py:30: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace args_w = (,) w_func = args = def appcaller(space, *args_w): if not isinstance(space, ObjSpace): raise TypeError("first argument must be a space instance.") # the last argument can be an Arguments w_func = self.wget(space, name) if not args_w: return space.call_function(w_func) else: args = args_w[-1] assert args is not None if not isinstance(args, Arguments): > return space.call_function(w_func, *args_w) interpreter/gateway.py:1227: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = args_w = (,) nargs = 1, Function = Method = def call_function(self, w_func, *args_w): nargs = len(args_w) # used for pruning funccall versions if not self.config.objspace.disable_call_speedhacks and nargs < 5: # start of hack for performance from pypy.interpreter.function import Function, Method if isinstance(w_func, Method): w_inst = w_func.w_instance if w_inst is not None: if nargs < 4: func = w_func.w_function if isinstance(func, Function): return func.funccall(w_inst, *args_w) elif args_w and ( self.abstract_isinstance_w(args_w[0], w_func.w_class)): w_func = w_func.w_function if isinstance(w_func, Function): > return w_func.funccall(*args_w) interpreter/baseobjspace.py:1210: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = args_w = (,) gateway = PyCode = code = def funccall(self, *args_w): # speed hack from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit nargs = len(args_w) fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, args_w[0]) elif nargs == 2: assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, args_w[0], args_w[1]) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) return code.fastcall_3(self.space, self, args_w[0], args_w[1], args_w[2]) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) return code.fastcall_4(self.space, self, args_w[0], args_w[1], args_w[2], args_w[3]) elif (nargs | PyCode.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) if nargs < 5: new_frame = self.space.createframe(code, self.w_func_globals, self) for i in funccallunrolling: if i < nargs: new_frame.locals_cells_stack_w[i] = args_w[i] > return new_frame.run() interpreter/function.py:118: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 16 def run(self): """Start this frame's execution.""" if self.getcode().co_flags & pycode.CO_GENERATOR: from pypy.interpreter.generator import GeneratorIterator return GeneratorIterator(self) else: > return self.execute_frame() interpreter/pyframe.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 16 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:290: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 16 e = SyntaxError("Non-ASCII character '\\xe2' in file /build_dir/own-linux-x86-32/b..., ('/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py', 423, 0, None)) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:943: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 16 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:286: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 16 pycode = next_instr = 0L ec = def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 16 co_code = 'd\x01\x00d\x02\x00l\x00\x00}\x01\x00d\x01\x00d\x02\x00l\x01\x00}\x02\x00|\x00\x00\xc9\x02\x00\xca\x00\x00\\\x02\x00}\...x00|\x07\x00|\x05\x00k\x02\x00s\xa1\x01t\x08\x00\x82\x01\x00Wd\x02\x00|\x03\x00\xc9\x05\x00\xca\x00\x00\x01Xd\x02\x00S' next_instr = 0L ec = def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 16 co_code = 'd\x01\x00d\x02\x00l\x00\x00}\x01\x00d\x01\x00d\x02\x00l\x01\x00}\x02\x00|\x00\x00\xc9\x02\x00\xca\x00\x00\\\x02\x00}\...x00|\x07\x00|\x05\x00k\x02\x00s\xa1\x01t\x08\x00\x82\x01\x00Wd\x02\x00|\x03\x00\xc9\x05\x00\xca\x00\x00\x01Xd\x02\x00S' next_instr = 114L ec = @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: self.last_instr = intmask(next_instr) if jit.we_are_jitted(): if self.debugdata: ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: ec.bytecode_trace(self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) next_instr += 1 if opcode >= HAVE_ARGUMENT: lo = ord(co_code[next_instr]) hi = ord(co_code[next_instr+1]) next_instr += 2 oparg = (hi * 256) | lo else: oparg = 0 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into a switch(). while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption lo = ord(co_code[next_instr+1]) hi = ord(co_code[next_instr+2]) next_instr += 3 oparg = (oparg * 65536) | (hi * 256) | lo if opcode == opcodedesc.RETURN_VALUE.index: if not self.blockstack_non_empty(): self.frame_finished_execution = True # for generators raise Return w_returnvalue = self.popvalue() block = self.unrollstack(SReturnValue.kind) if block is None: self.pushvalue(w_returnvalue) raise Return else: unroller = SReturnValue(w_returnvalue) next_instr = block.handle(self, unroller) return next_instr # now inside a 'finally' block elif opcode == opcodedesc.END_FINALLY.index: unroller = self.end_finally() if isinstance(unroller, SuspendedUnroller): # go on unrolling the stack block = self.unrollstack(unroller.kind) if block is None: w_result = unroller.nomoreblocks() self.pushvalue(w_result) raise Return else: next_instr = block.handle(self, unroller) return next_instr elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, ec) elif opcode == opcodedesc.BREAK_LOOP.index: next_instr = self.BREAK_LOOP(oparg, next_instr) elif opcode == opcodedesc.CONTINUE_LOOP.index: return self.CONTINUE_LOOP(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: next_instr = self.JUMP_IF_FALSE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_DEBUG.index: next_instr = self.JUMP_IF_NOT_DEBUG(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: next_instr = self.JUMP_IF_TRUE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: next_instr = self.POP_JUMP_IF_FALSE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: next_instr = self.POP_JUMP_IF_TRUE(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_DIVIDE.index: self.BINARY_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CLASS.index: self.BUILD_CLASS(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR.index: self.CALL_FUNCTION_VAR(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR_KW.index: self.CALL_FUNCTION_VAR_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: self.CALL_METHOD(oparg, next_instr) elif opcode == opcodedesc.COMPARE_OP.index: self.COMPARE_OP(oparg, next_instr) elif opcode == opcodedesc.DELETE_ATTR.index: self.DELETE_ATTR(oparg, next_instr) elif opcode == opcodedesc.DELETE_FAST.index: self.DELETE_FAST(oparg, next_instr) elif opcode == opcodedesc.DELETE_GLOBAL.index: self.DELETE_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.DELETE_NAME.index: self.DELETE_NAME(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_0.index: self.DELETE_SLICE_0(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_1.index: self.DELETE_SLICE_1(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_2.index: self.DELETE_SLICE_2(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_3.index: self.DELETE_SLICE_3(oparg, next_instr) elif opcode == opcodedesc.DELETE_SUBSCR.index: self.DELETE_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.DUP_TOP.index: self.DUP_TOP(oparg, next_instr) elif opcode == opcodedesc.DUP_TOPX.index: self.DUP_TOPX(oparg, next_instr) elif opcode == opcodedesc.EXEC_STMT.index: self.EXEC_STMT(oparg, next_instr) elif opcode == opcodedesc.GET_ITER.index: self.GET_ITER(oparg, next_instr) elif opcode == opcodedesc.IMPORT_FROM.index: self.IMPORT_FROM(oparg, next_instr) elif opcode == opcodedesc.IMPORT_NAME.index: self.IMPORT_NAME(oparg, next_instr) elif opcode == opcodedesc.IMPORT_STAR.index: self.IMPORT_STAR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_ADD.index: self.INPLACE_ADD(oparg, next_instr) elif opcode == opcodedesc.INPLACE_AND.index: self.INPLACE_AND(oparg, next_instr) elif opcode == opcodedesc.INPLACE_DIVIDE.index: self.INPLACE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_FLOOR_DIVIDE.index: self.INPLACE_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_LSHIFT.index: self.INPLACE_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MODULO.index: self.INPLACE_MODULO(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MULTIPLY.index: self.INPLACE_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.INPLACE_OR.index: self.INPLACE_OR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_POWER.index: self.INPLACE_POWER(oparg, next_instr) elif opcode == opcodedesc.INPLACE_RSHIFT.index: self.INPLACE_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_SUBTRACT.index: self.INPLACE_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_TRUE_DIVIDE.index: self.INPLACE_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_XOR.index: self.INPLACE_XOR(oparg, next_instr) elif opcode == opcodedesc.LIST_APPEND.index: self.LIST_APPEND(oparg, next_instr) elif opcode == opcodedesc.LOAD_ATTR.index: self.LOAD_ATTR(oparg, next_instr) elif opcode == opcodedesc.LOAD_CLOSURE.index: self.LOAD_CLOSURE(oparg, next_instr) elif opcode == opcodedesc.LOAD_CONST.index: self.LOAD_CONST(oparg, next_instr) elif opcode == opcodedesc.LOAD_DEREF.index: self.LOAD_DEREF(oparg, next_instr) elif opcode == opcodedesc.LOAD_FAST.index: self.LOAD_FAST(oparg, next_instr) elif opcode == opcodedesc.LOAD_GLOBAL.index: self.LOAD_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.LOAD_LOCALS.index: self.LOAD_LOCALS(oparg, next_instr) elif opcode == opcodedesc.LOAD_NAME.index: self.LOAD_NAME(oparg, next_instr) elif opcode == opcodedesc.LOOKUP_METHOD.index: > self.LOOKUP_METHOD(oparg, next_instr) interpreter/pyopcode.py:356: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = at line 16 nameindex = 7, ignored = (114L,) MutableCell = space = StdObjSpace w_obj = def LOOKUP_METHOD(f, nameindex, *ignored): from pypy.objspace.std.typeobject import MutableCell # stack before after # -------------- --fast-method----fallback-case------------ # # w_object None # w_object => w_function w_boundmethod_or_whatever # (more stuff) (more stuff) (more stuff) # space = f.space w_obj = f.popvalue() if not jit.we_are_jitted(): # mapdict has an extra-fast version of this function if LOOKUP_METHOD_mapdict(f, nameindex, w_obj): return w_name = f.getname_w(nameindex) w_value = None w_type = space.type(w_obj) if w_type.has_object_getattribute(): name = space.text_w(w_name) # bit of a mess to use these internal functions, but it allows the # mapdict caching below to work without an additional lookup version_tag = w_type.version_tag() if version_tag is None: _, w_descr = w_type._lookup_where(name) w_descr_cell = None else: _, w_descr_cell = w_type._pure_lookup_where_with_method_cache( name, version_tag) w_descr = w_descr_cell if isinstance(w_descr, MutableCell): w_descr = w_descr.unwrap_cell(space) if w_descr is None: # this handles directly the common case # module.function(args..) > w_value = w_obj.getdictvalue(space, name) objspace/std/callmethod.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def getdictvalue(self, space, name): w_value = space.finditem_str(self.w_dict, name) if self.lazy and w_value is None: > return self._load_lazily(space, name) interpreter/mixedmodule.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def _load_lazily(self, space, name): w_name = space.new_interned_str(name) try: loader = self.loaders[name] except KeyError: return None else: > w_value = loader(space) interpreter/mixedmodule.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace def ifileloader(space): d = {'space':space} # EVIL HACK (but it works, and this is not RPython :-) while 1: try: value = eval(spec, d) except NameError as ex: name = ex.args[0].split("'")[1] # super-Evil if name in d: raise # propagate the NameError try: > d[name] = __import__(pkgroot+'.'+name, None, None, [name]) interpreter/mixedmodule.py:182: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from pypy.interpreter.gateway import unwrap_spec from pypy.interpreter.error import oefmt from rpython.rlib import rgc > from pypy.module.gc.hook import W_GcCollectStepStats module/gc/interp_gc.py:4: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from rpython.memory.gc.hook import GcHooks > from rpython.memory.gc import incminimark module/gc/hook.py:2: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ # XXX Should find a way to bound the major collection threshold by the # XXX total addressable size. Maybe by keeping some minimarkpage arenas # XXX pre-reserved, enough for a few nursery collections? What about # XXX raw-malloced memory? # XXX try merging old_objects_pointing_to_pinned into # XXX old_objects_pointing_to_young (IRC 2014-10-22, fijal and gregor_w) import sys import os import time from rpython.rtyper.lltypesystem import lltype, llmemory, llarena, llgroup from rpython.rtyper.lltypesystem.lloperation import llop from rpython.rtyper.lltypesystem.llmemory import raw_malloc_usage from rpython.memory.gc.base import GCBase, MovingGCBase > from rpython.memory.gc import env E File "/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py", line 423 E SyntaxError: Non-ASCII character '\xe2' in file /build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py on line 423, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details ../rpython/memory/gc/incminimark.py:70: SyntaxError F pypy/module/select/test/test_select.py::AppTestSelectWithPipes::()::test_read_closed self = func = at 0xf4b29df4>, 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, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 0xf79c332c> hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf69604cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf69604cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf442e60c> 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 0xf442e60c> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf442eb2c> 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 0xf442eb2c> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def runtest(self): target = self.obj if self.config.option.runappdirect: return target() space = target.im_self.space filename = self._getdynfilename(target) func = app2interp_temp(target.im_func, filename=filename) w_instance = self.parent.w_instance > self.execute_appex(space, func, space, w_instance) tool/pytest/apptest.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , space = StdObjSpace target = args = (StdObjSpace, ) def execute_appex(self, space, target, *args): self.space = space try: > target(*args) tool/pytest/apptest.py:30: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace args_w = (,) w_func = args = def appcaller(space, *args_w): if not isinstance(space, ObjSpace): raise TypeError("first argument must be a space instance.") # the last argument can be an Arguments w_func = self.wget(space, name) if not args_w: return space.call_function(w_func) else: args = args_w[-1] assert args is not None if not isinstance(args, Arguments): > return space.call_function(w_func, *args_w) interpreter/gateway.py:1227: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = args_w = (,) nargs = 1, Function = Method = def call_function(self, w_func, *args_w): nargs = len(args_w) # used for pruning funccall versions if not self.config.objspace.disable_call_speedhacks and nargs < 5: # start of hack for performance from pypy.interpreter.function import Function, Method if isinstance(w_func, Method): w_inst = w_func.w_instance if w_inst is not None: if nargs < 4: func = w_func.w_function if isinstance(func, Function): return func.funccall(w_inst, *args_w) elif args_w and ( self.abstract_isinstance_w(args_w[0], w_func.w_class)): w_func = w_func.w_function if isinstance(w_func, Function): > return w_func.funccall(*args_w) interpreter/baseobjspace.py:1210: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = args_w = (,) gateway = PyCode = code = def funccall(self, *args_w): # speed hack from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit nargs = len(args_w) fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, args_w[0]) elif nargs == 2: assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, args_w[0], args_w[1]) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) return code.fastcall_3(self.space, self, args_w[0], args_w[1], args_w[2]) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) return code.fastcall_4(self.space, self, args_w[0], args_w[1], args_w[2], args_w[3]) elif (nargs | PyCode.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) if nargs < 5: new_frame = self.space.createframe(code, self.w_func_globals, self) for i in funccallunrolling: if i < nargs: new_frame.locals_cells_stack_w[i] = args_w[i] > return new_frame.run() interpreter/function.py:118: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 11 def run(self): """Start this frame's execution.""" if self.getcode().co_flags & pycode.CO_GENERATOR: from pypy.interpreter.generator import GeneratorIterator return GeneratorIterator(self) else: > return self.execute_frame() interpreter/pyframe.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 11 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:290: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 11 e = SyntaxError("Non-ASCII character '\\xe2' in file /build_dir/own-linux-x86-32/b..., ('/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py', 423, 0, None)) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:943: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 11 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:286: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 11 pycode = next_instr = 0L ec = def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 11 co_code = 'd\x01\x00d\x02\x00l\x00\x00}\x01\x00|\x00\x00\xc9\x01\x00\xca\x00\x00\\\x02\x00}\x02\x00}\x03\x00z\x85\x00|\x02\x00\x...\x00k\x02\x00n\x02\x00\x02\x01s\xa2\x00t\x05\x00\x82\x01\x00Wd\x02\x00|\x03\x00\xc9\x02\x00\xca\x00\x00\x01Xd\x02\x00S' next_instr = 0L ec = def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 11 co_code = 'd\x01\x00d\x02\x00l\x00\x00}\x01\x00|\x00\x00\xc9\x01\x00\xca\x00\x00\\\x02\x00}\x02\x00}\x03\x00z\x85\x00|\x02\x00\x...\x00k\x02\x00n\x02\x00\x02\x01s\xa2\x00t\x05\x00\x82\x01\x00Wd\x02\x00|\x03\x00\xc9\x02\x00\xca\x00\x00\x01Xd\x02\x00S' next_instr = 61L ec = @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: self.last_instr = intmask(next_instr) if jit.we_are_jitted(): if self.debugdata: ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: ec.bytecode_trace(self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) next_instr += 1 if opcode >= HAVE_ARGUMENT: lo = ord(co_code[next_instr]) hi = ord(co_code[next_instr+1]) next_instr += 2 oparg = (hi * 256) | lo else: oparg = 0 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into a switch(). while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption lo = ord(co_code[next_instr+1]) hi = ord(co_code[next_instr+2]) next_instr += 3 oparg = (oparg * 65536) | (hi * 256) | lo if opcode == opcodedesc.RETURN_VALUE.index: if not self.blockstack_non_empty(): self.frame_finished_execution = True # for generators raise Return w_returnvalue = self.popvalue() block = self.unrollstack(SReturnValue.kind) if block is None: self.pushvalue(w_returnvalue) raise Return else: unroller = SReturnValue(w_returnvalue) next_instr = block.handle(self, unroller) return next_instr # now inside a 'finally' block elif opcode == opcodedesc.END_FINALLY.index: unroller = self.end_finally() if isinstance(unroller, SuspendedUnroller): # go on unrolling the stack block = self.unrollstack(unroller.kind) if block is None: w_result = unroller.nomoreblocks() self.pushvalue(w_result) raise Return else: next_instr = block.handle(self, unroller) return next_instr elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, ec) elif opcode == opcodedesc.BREAK_LOOP.index: next_instr = self.BREAK_LOOP(oparg, next_instr) elif opcode == opcodedesc.CONTINUE_LOOP.index: return self.CONTINUE_LOOP(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: next_instr = self.JUMP_IF_FALSE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_DEBUG.index: next_instr = self.JUMP_IF_NOT_DEBUG(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: next_instr = self.JUMP_IF_TRUE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: next_instr = self.POP_JUMP_IF_FALSE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: next_instr = self.POP_JUMP_IF_TRUE(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_DIVIDE.index: self.BINARY_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CLASS.index: self.BUILD_CLASS(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR.index: self.CALL_FUNCTION_VAR(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR_KW.index: self.CALL_FUNCTION_VAR_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: self.CALL_METHOD(oparg, next_instr) elif opcode == opcodedesc.COMPARE_OP.index: self.COMPARE_OP(oparg, next_instr) elif opcode == opcodedesc.DELETE_ATTR.index: self.DELETE_ATTR(oparg, next_instr) elif opcode == opcodedesc.DELETE_FAST.index: self.DELETE_FAST(oparg, next_instr) elif opcode == opcodedesc.DELETE_GLOBAL.index: self.DELETE_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.DELETE_NAME.index: self.DELETE_NAME(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_0.index: self.DELETE_SLICE_0(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_1.index: self.DELETE_SLICE_1(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_2.index: self.DELETE_SLICE_2(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_3.index: self.DELETE_SLICE_3(oparg, next_instr) elif opcode == opcodedesc.DELETE_SUBSCR.index: self.DELETE_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.DUP_TOP.index: self.DUP_TOP(oparg, next_instr) elif opcode == opcodedesc.DUP_TOPX.index: self.DUP_TOPX(oparg, next_instr) elif opcode == opcodedesc.EXEC_STMT.index: self.EXEC_STMT(oparg, next_instr) elif opcode == opcodedesc.GET_ITER.index: self.GET_ITER(oparg, next_instr) elif opcode == opcodedesc.IMPORT_FROM.index: self.IMPORT_FROM(oparg, next_instr) elif opcode == opcodedesc.IMPORT_NAME.index: self.IMPORT_NAME(oparg, next_instr) elif opcode == opcodedesc.IMPORT_STAR.index: self.IMPORT_STAR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_ADD.index: self.INPLACE_ADD(oparg, next_instr) elif opcode == opcodedesc.INPLACE_AND.index: self.INPLACE_AND(oparg, next_instr) elif opcode == opcodedesc.INPLACE_DIVIDE.index: self.INPLACE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_FLOOR_DIVIDE.index: self.INPLACE_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_LSHIFT.index: self.INPLACE_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MODULO.index: self.INPLACE_MODULO(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MULTIPLY.index: self.INPLACE_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.INPLACE_OR.index: self.INPLACE_OR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_POWER.index: self.INPLACE_POWER(oparg, next_instr) elif opcode == opcodedesc.INPLACE_RSHIFT.index: self.INPLACE_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_SUBTRACT.index: self.INPLACE_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_TRUE_DIVIDE.index: self.INPLACE_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_XOR.index: self.INPLACE_XOR(oparg, next_instr) elif opcode == opcodedesc.LIST_APPEND.index: self.LIST_APPEND(oparg, next_instr) elif opcode == opcodedesc.LOAD_ATTR.index: self.LOAD_ATTR(oparg, next_instr) elif opcode == opcodedesc.LOAD_CLOSURE.index: self.LOAD_CLOSURE(oparg, next_instr) elif opcode == opcodedesc.LOAD_CONST.index: self.LOAD_CONST(oparg, next_instr) elif opcode == opcodedesc.LOAD_DEREF.index: self.LOAD_DEREF(oparg, next_instr) elif opcode == opcodedesc.LOAD_FAST.index: self.LOAD_FAST(oparg, next_instr) elif opcode == opcodedesc.LOAD_GLOBAL.index: self.LOAD_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.LOAD_LOCALS.index: self.LOAD_LOCALS(oparg, next_instr) elif opcode == opcodedesc.LOAD_NAME.index: self.LOAD_NAME(oparg, next_instr) elif opcode == opcodedesc.LOOKUP_METHOD.index: > self.LOOKUP_METHOD(oparg, next_instr) interpreter/pyopcode.py:356: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = at line 11 nameindex = 4, ignored = (61L,) MutableCell = space = StdObjSpace w_obj = def LOOKUP_METHOD(f, nameindex, *ignored): from pypy.objspace.std.typeobject import MutableCell # stack before after # -------------- --fast-method----fallback-case------------ # # w_object None # w_object => w_function w_boundmethod_or_whatever # (more stuff) (more stuff) (more stuff) # space = f.space w_obj = f.popvalue() if not jit.we_are_jitted(): # mapdict has an extra-fast version of this function if LOOKUP_METHOD_mapdict(f, nameindex, w_obj): return w_name = f.getname_w(nameindex) w_value = None w_type = space.type(w_obj) if w_type.has_object_getattribute(): name = space.text_w(w_name) # bit of a mess to use these internal functions, but it allows the # mapdict caching below to work without an additional lookup version_tag = w_type.version_tag() if version_tag is None: _, w_descr = w_type._lookup_where(name) w_descr_cell = None else: _, w_descr_cell = w_type._pure_lookup_where_with_method_cache( name, version_tag) w_descr = w_descr_cell if isinstance(w_descr, MutableCell): w_descr = w_descr.unwrap_cell(space) if w_descr is None: # this handles directly the common case # module.function(args..) > w_value = w_obj.getdictvalue(space, name) objspace/std/callmethod.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def getdictvalue(self, space, name): w_value = space.finditem_str(self.w_dict, name) if self.lazy and w_value is None: > return self._load_lazily(space, name) interpreter/mixedmodule.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def _load_lazily(self, space, name): w_name = space.new_interned_str(name) try: loader = self.loaders[name] except KeyError: return None else: > w_value = loader(space) interpreter/mixedmodule.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace def ifileloader(space): d = {'space':space} # EVIL HACK (but it works, and this is not RPython :-) while 1: try: value = eval(spec, d) except NameError as ex: name = ex.args[0].split("'")[1] # super-Evil if name in d: raise # propagate the NameError try: > d[name] = __import__(pkgroot+'.'+name, None, None, [name]) interpreter/mixedmodule.py:182: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from pypy.interpreter.gateway import unwrap_spec from pypy.interpreter.error import oefmt from rpython.rlib import rgc > from pypy.module.gc.hook import W_GcCollectStepStats module/gc/interp_gc.py:4: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from rpython.memory.gc.hook import GcHooks > from rpython.memory.gc import incminimark module/gc/hook.py:2: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ # XXX Should find a way to bound the major collection threshold by the # XXX total addressable size. Maybe by keeping some minimarkpage arenas # XXX pre-reserved, enough for a few nursery collections? What about # XXX raw-malloced memory? # XXX try merging old_objects_pointing_to_pinned into # XXX old_objects_pointing_to_young (IRC 2014-10-22, fijal and gregor_w) import sys import os import time from rpython.rtyper.lltypesystem import lltype, llmemory, llarena, llgroup from rpython.rtyper.lltypesystem.lloperation import llop from rpython.rtyper.lltypesystem.llmemory import raw_malloc_usage from rpython.memory.gc.base import GCBase, MovingGCBase > from rpython.memory.gc import env E File "/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py", line 423 E SyntaxError: Non-ASCII character '\xe2' in file /build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py on line 423, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details ../rpython/memory/gc/incminimark.py:70: SyntaxError . pypy/module/select/test/test_select.py::AppTestSelectWithPipes::()::test_read_many . pypy/module/select/test/test_select.py::AppTestSelectWithPipes::()::test_read_end_closed . pypy/module/select/test/test_select.py::AppTestSelectWithPipes::()::test_select_descr_out_of_bounds . pypy/module/select/test/test_select.py::AppTestSelectWithPipes::()::test_poll . pypy/module/select/test/test_select.py::AppTestSelectWithPipes::()::test_poll_arguments . pypy/module/select/test/test_select.py::AppTestSelectWithPipes::()::test_poll_threaded . pypy/module/select/test/test_select.py::AppTestSelectWithPipes::()::test_resize_list_in_select . pypy/module/select/test/test_select.py::AppTestSelectWithPipes::()::test_PIPE_BUF . pypy/module/select/test/test_select.py::AppTestSelectWithSockets::()::test_sleep . pypy/module/select/test/test_select.py::AppTestSelectWithSockets::()::test_list_tuple . pypy/module/select/test/test_select.py::AppTestSelectWithSockets::()::test_readable . pypy/module/select/test/test_select.py::AppTestSelectWithSockets::()::test_writable . pypy/module/select/test/test_select.py::AppTestSelectWithSockets::()::test_write_read F pypy/module/select/test/test_select.py::AppTestSelectWithSockets::()::test_write_close self = func = at 0xf4adc0d4>, 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, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 0xf79c332c> hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf69604cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf69604cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf45d294c> 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 0xf45d294c> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf45d2d2c> 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 0xf45d2d2c> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def runtest(self): target = self.obj if self.config.option.runappdirect: return target() space = target.im_self.space filename = self._getdynfilename(target) func = app2interp_temp(target.im_func, filename=filename) w_instance = self.parent.w_instance > self.execute_appex(space, func, space, w_instance) tool/pytest/apptest.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , space = StdObjSpace target = args = (StdObjSpace, ) def execute_appex(self, space, target, *args): self.space = space try: > target(*args) tool/pytest/apptest.py:30: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace args_w = (,) w_func = args = def appcaller(space, *args_w): if not isinstance(space, ObjSpace): raise TypeError("first argument must be a space instance.") # the last argument can be an Arguments w_func = self.wget(space, name) if not args_w: return space.call_function(w_func) else: args = args_w[-1] assert args is not None if not isinstance(args, Arguments): > return space.call_function(w_func, *args_w) interpreter/gateway.py:1227: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = args_w = (,) nargs = 1, Function = Method = def call_function(self, w_func, *args_w): nargs = len(args_w) # used for pruning funccall versions if not self.config.objspace.disable_call_speedhacks and nargs < 5: # start of hack for performance from pypy.interpreter.function import Function, Method if isinstance(w_func, Method): w_inst = w_func.w_instance if w_inst is not None: if nargs < 4: func = w_func.w_function if isinstance(func, Function): return func.funccall(w_inst, *args_w) elif args_w and ( self.abstract_isinstance_w(args_w[0], w_func.w_class)): w_func = w_func.w_function if isinstance(w_func, Function): > return w_func.funccall(*args_w) interpreter/baseobjspace.py:1210: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = args_w = (,) gateway = PyCode = code = def funccall(self, *args_w): # speed hack from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit nargs = len(args_w) fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, args_w[0]) elif nargs == 2: assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, args_w[0], args_w[1]) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) return code.fastcall_3(self.space, self, args_w[0], args_w[1], args_w[2]) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) return code.fastcall_4(self.space, self, args_w[0], args_w[1], args_w[2], args_w[3]) elif (nargs | PyCode.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) if nargs < 5: new_frame = self.space.createframe(code, self.w_func_globals, self) for i in funccallunrolling: if i < nargs: new_frame.locals_cells_stack_w[i] = args_w[i] > return new_frame.run() interpreter/function.py:118: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 16 def run(self): """Start this frame's execution.""" if self.getcode().co_flags & pycode.CO_GENERATOR: from pypy.interpreter.generator import GeneratorIterator return GeneratorIterator(self) else: > return self.execute_frame() interpreter/pyframe.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 16 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:290: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 16 e = SyntaxError("Non-ASCII character '\\xe2' in file /build_dir/own-linux-x86-32/b..., ('/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py', 423, 0, None)) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:943: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 16 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:286: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 16 pycode = next_instr = 0L ec = def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 16 co_code = 'd\x01\x00d\x02\x00l\x00\x00}\x01\x00d\x01\x00d\x02\x00l\x01\x00}\x02\x00|\x00\x00\xc9\x02\x00\xca\x00\x00\\\x02\x00}\...x00|\x07\x00|\x05\x00k\x02\x00s\xa1\x01t\x08\x00\x82\x01\x00Wd\x02\x00|\x03\x00\xc9\x05\x00\xca\x00\x00\x01Xd\x02\x00S' next_instr = 0L ec = def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 16 co_code = 'd\x01\x00d\x02\x00l\x00\x00}\x01\x00d\x01\x00d\x02\x00l\x01\x00}\x02\x00|\x00\x00\xc9\x02\x00\xca\x00\x00\\\x02\x00}\...x00|\x07\x00|\x05\x00k\x02\x00s\xa1\x01t\x08\x00\x82\x01\x00Wd\x02\x00|\x03\x00\xc9\x05\x00\xca\x00\x00\x01Xd\x02\x00S' next_instr = 114L ec = @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: self.last_instr = intmask(next_instr) if jit.we_are_jitted(): if self.debugdata: ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: ec.bytecode_trace(self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) next_instr += 1 if opcode >= HAVE_ARGUMENT: lo = ord(co_code[next_instr]) hi = ord(co_code[next_instr+1]) next_instr += 2 oparg = (hi * 256) | lo else: oparg = 0 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into a switch(). while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption lo = ord(co_code[next_instr+1]) hi = ord(co_code[next_instr+2]) next_instr += 3 oparg = (oparg * 65536) | (hi * 256) | lo if opcode == opcodedesc.RETURN_VALUE.index: if not self.blockstack_non_empty(): self.frame_finished_execution = True # for generators raise Return w_returnvalue = self.popvalue() block = self.unrollstack(SReturnValue.kind) if block is None: self.pushvalue(w_returnvalue) raise Return else: unroller = SReturnValue(w_returnvalue) next_instr = block.handle(self, unroller) return next_instr # now inside a 'finally' block elif opcode == opcodedesc.END_FINALLY.index: unroller = self.end_finally() if isinstance(unroller, SuspendedUnroller): # go on unrolling the stack block = self.unrollstack(unroller.kind) if block is None: w_result = unroller.nomoreblocks() self.pushvalue(w_result) raise Return else: next_instr = block.handle(self, unroller) return next_instr elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, ec) elif opcode == opcodedesc.BREAK_LOOP.index: next_instr = self.BREAK_LOOP(oparg, next_instr) elif opcode == opcodedesc.CONTINUE_LOOP.index: return self.CONTINUE_LOOP(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: next_instr = self.JUMP_IF_FALSE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_DEBUG.index: next_instr = self.JUMP_IF_NOT_DEBUG(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: next_instr = self.JUMP_IF_TRUE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: next_instr = self.POP_JUMP_IF_FALSE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: next_instr = self.POP_JUMP_IF_TRUE(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_DIVIDE.index: self.BINARY_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CLASS.index: self.BUILD_CLASS(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR.index: self.CALL_FUNCTION_VAR(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR_KW.index: self.CALL_FUNCTION_VAR_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: self.CALL_METHOD(oparg, next_instr) elif opcode == opcodedesc.COMPARE_OP.index: self.COMPARE_OP(oparg, next_instr) elif opcode == opcodedesc.DELETE_ATTR.index: self.DELETE_ATTR(oparg, next_instr) elif opcode == opcodedesc.DELETE_FAST.index: self.DELETE_FAST(oparg, next_instr) elif opcode == opcodedesc.DELETE_GLOBAL.index: self.DELETE_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.DELETE_NAME.index: self.DELETE_NAME(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_0.index: self.DELETE_SLICE_0(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_1.index: self.DELETE_SLICE_1(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_2.index: self.DELETE_SLICE_2(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_3.index: self.DELETE_SLICE_3(oparg, next_instr) elif opcode == opcodedesc.DELETE_SUBSCR.index: self.DELETE_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.DUP_TOP.index: self.DUP_TOP(oparg, next_instr) elif opcode == opcodedesc.DUP_TOPX.index: self.DUP_TOPX(oparg, next_instr) elif opcode == opcodedesc.EXEC_STMT.index: self.EXEC_STMT(oparg, next_instr) elif opcode == opcodedesc.GET_ITER.index: self.GET_ITER(oparg, next_instr) elif opcode == opcodedesc.IMPORT_FROM.index: self.IMPORT_FROM(oparg, next_instr) elif opcode == opcodedesc.IMPORT_NAME.index: self.IMPORT_NAME(oparg, next_instr) elif opcode == opcodedesc.IMPORT_STAR.index: self.IMPORT_STAR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_ADD.index: self.INPLACE_ADD(oparg, next_instr) elif opcode == opcodedesc.INPLACE_AND.index: self.INPLACE_AND(oparg, next_instr) elif opcode == opcodedesc.INPLACE_DIVIDE.index: self.INPLACE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_FLOOR_DIVIDE.index: self.INPLACE_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_LSHIFT.index: self.INPLACE_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MODULO.index: self.INPLACE_MODULO(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MULTIPLY.index: self.INPLACE_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.INPLACE_OR.index: self.INPLACE_OR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_POWER.index: self.INPLACE_POWER(oparg, next_instr) elif opcode == opcodedesc.INPLACE_RSHIFT.index: self.INPLACE_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_SUBTRACT.index: self.INPLACE_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_TRUE_DIVIDE.index: self.INPLACE_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_XOR.index: self.INPLACE_XOR(oparg, next_instr) elif opcode == opcodedesc.LIST_APPEND.index: self.LIST_APPEND(oparg, next_instr) elif opcode == opcodedesc.LOAD_ATTR.index: self.LOAD_ATTR(oparg, next_instr) elif opcode == opcodedesc.LOAD_CLOSURE.index: self.LOAD_CLOSURE(oparg, next_instr) elif opcode == opcodedesc.LOAD_CONST.index: self.LOAD_CONST(oparg, next_instr) elif opcode == opcodedesc.LOAD_DEREF.index: self.LOAD_DEREF(oparg, next_instr) elif opcode == opcodedesc.LOAD_FAST.index: self.LOAD_FAST(oparg, next_instr) elif opcode == opcodedesc.LOAD_GLOBAL.index: self.LOAD_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.LOAD_LOCALS.index: self.LOAD_LOCALS(oparg, next_instr) elif opcode == opcodedesc.LOAD_NAME.index: self.LOAD_NAME(oparg, next_instr) elif opcode == opcodedesc.LOOKUP_METHOD.index: > self.LOOKUP_METHOD(oparg, next_instr) interpreter/pyopcode.py:356: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = at line 16 nameindex = 7, ignored = (114L,) MutableCell = space = StdObjSpace w_obj = def LOOKUP_METHOD(f, nameindex, *ignored): from pypy.objspace.std.typeobject import MutableCell # stack before after # -------------- --fast-method----fallback-case------------ # # w_object None # w_object => w_function w_boundmethod_or_whatever # (more stuff) (more stuff) (more stuff) # space = f.space w_obj = f.popvalue() if not jit.we_are_jitted(): # mapdict has an extra-fast version of this function if LOOKUP_METHOD_mapdict(f, nameindex, w_obj): return w_name = f.getname_w(nameindex) w_value = None w_type = space.type(w_obj) if w_type.has_object_getattribute(): name = space.text_w(w_name) # bit of a mess to use these internal functions, but it allows the # mapdict caching below to work without an additional lookup version_tag = w_type.version_tag() if version_tag is None: _, w_descr = w_type._lookup_where(name) w_descr_cell = None else: _, w_descr_cell = w_type._pure_lookup_where_with_method_cache( name, version_tag) w_descr = w_descr_cell if isinstance(w_descr, MutableCell): w_descr = w_descr.unwrap_cell(space) if w_descr is None: # this handles directly the common case # module.function(args..) > w_value = w_obj.getdictvalue(space, name) objspace/std/callmethod.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def getdictvalue(self, space, name): w_value = space.finditem_str(self.w_dict, name) if self.lazy and w_value is None: > return self._load_lazily(space, name) interpreter/mixedmodule.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def _load_lazily(self, space, name): w_name = space.new_interned_str(name) try: loader = self.loaders[name] except KeyError: return None else: > w_value = loader(space) interpreter/mixedmodule.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace def ifileloader(space): d = {'space':space} # EVIL HACK (but it works, and this is not RPython :-) while 1: try: value = eval(spec, d) except NameError as ex: name = ex.args[0].split("'")[1] # super-Evil if name in d: raise # propagate the NameError try: > d[name] = __import__(pkgroot+'.'+name, None, None, [name]) interpreter/mixedmodule.py:182: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from pypy.interpreter.gateway import unwrap_spec from pypy.interpreter.error import oefmt from rpython.rlib import rgc > from pypy.module.gc.hook import W_GcCollectStepStats module/gc/interp_gc.py:4: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from rpython.memory.gc.hook import GcHooks > from rpython.memory.gc import incminimark module/gc/hook.py:2: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ # XXX Should find a way to bound the major collection threshold by the # XXX total addressable size. Maybe by keeping some minimarkpage arenas # XXX pre-reserved, enough for a few nursery collections? What about # XXX raw-malloced memory? # XXX try merging old_objects_pointing_to_pinned into # XXX old_objects_pointing_to_young (IRC 2014-10-22, fijal and gregor_w) import sys import os import time from rpython.rtyper.lltypesystem import lltype, llmemory, llarena, llgroup from rpython.rtyper.lltypesystem.lloperation import llop from rpython.rtyper.lltypesystem.llmemory import raw_malloc_usage from rpython.memory.gc.base import GCBase, MovingGCBase > from rpython.memory.gc import env E File "/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py", line 423 E SyntaxError: Non-ASCII character '\xe2' in file /build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py on line 423, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details ../rpython/memory/gc/incminimark.py:70: SyntaxError F pypy/module/select/test/test_select.py::AppTestSelectWithSockets::()::test_read_closed self = func = at 0xf47ee764>, 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, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 0xf79c332c> hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf69604cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf69604cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf396876c> 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 0xf396876c> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf396894c> 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 0xf396894c> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def runtest(self): target = self.obj if self.config.option.runappdirect: return target() space = target.im_self.space filename = self._getdynfilename(target) func = app2interp_temp(target.im_func, filename=filename) w_instance = self.parent.w_instance > self.execute_appex(space, func, space, w_instance) tool/pytest/apptest.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , space = StdObjSpace target = args = (StdObjSpace, ) def execute_appex(self, space, target, *args): self.space = space try: > target(*args) tool/pytest/apptest.py:30: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace args_w = (,) w_func = args = def appcaller(space, *args_w): if not isinstance(space, ObjSpace): raise TypeError("first argument must be a space instance.") # the last argument can be an Arguments w_func = self.wget(space, name) if not args_w: return space.call_function(w_func) else: args = args_w[-1] assert args is not None if not isinstance(args, Arguments): > return space.call_function(w_func, *args_w) interpreter/gateway.py:1227: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = args_w = (,) nargs = 1, Function = Method = def call_function(self, w_func, *args_w): nargs = len(args_w) # used for pruning funccall versions if not self.config.objspace.disable_call_speedhacks and nargs < 5: # start of hack for performance from pypy.interpreter.function import Function, Method if isinstance(w_func, Method): w_inst = w_func.w_instance if w_inst is not None: if nargs < 4: func = w_func.w_function if isinstance(func, Function): return func.funccall(w_inst, *args_w) elif args_w and ( self.abstract_isinstance_w(args_w[0], w_func.w_class)): w_func = w_func.w_function if isinstance(w_func, Function): > return w_func.funccall(*args_w) interpreter/baseobjspace.py:1210: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = args_w = (,) gateway = PyCode = code = def funccall(self, *args_w): # speed hack from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit nargs = len(args_w) fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, args_w[0]) elif nargs == 2: assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, args_w[0], args_w[1]) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) return code.fastcall_3(self.space, self, args_w[0], args_w[1], args_w[2]) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) return code.fastcall_4(self.space, self, args_w[0], args_w[1], args_w[2], args_w[3]) elif (nargs | PyCode.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) if nargs < 5: new_frame = self.space.createframe(code, self.w_func_globals, self) for i in funccallunrolling: if i < nargs: new_frame.locals_cells_stack_w[i] = args_w[i] > return new_frame.run() interpreter/function.py:118: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 11 def run(self): """Start this frame's execution.""" if self.getcode().co_flags & pycode.CO_GENERATOR: from pypy.interpreter.generator import GeneratorIterator return GeneratorIterator(self) else: > return self.execute_frame() interpreter/pyframe.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 11 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:290: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 11 e = SyntaxError("Non-ASCII character '\\xe2' in file /build_dir/own-linux-x86-32/b..., ('/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py', 423, 0, None)) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:943: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 11 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:286: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 11 pycode = next_instr = 0L ec = def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 11 co_code = 'd\x01\x00d\x02\x00l\x00\x00}\x01\x00|\x00\x00\xc9\x01\x00\xca\x00\x00\\\x02\x00}\x02\x00}\x03\x00z\x85\x00|\x02\x00\x...\x00k\x02\x00n\x02\x00\x02\x01s\xa2\x00t\x05\x00\x82\x01\x00Wd\x02\x00|\x03\x00\xc9\x02\x00\xca\x00\x00\x01Xd\x02\x00S' next_instr = 0L ec = def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 11 co_code = 'd\x01\x00d\x02\x00l\x00\x00}\x01\x00|\x00\x00\xc9\x01\x00\xca\x00\x00\\\x02\x00}\x02\x00}\x03\x00z\x85\x00|\x02\x00\x...\x00k\x02\x00n\x02\x00\x02\x01s\xa2\x00t\x05\x00\x82\x01\x00Wd\x02\x00|\x03\x00\xc9\x02\x00\xca\x00\x00\x01Xd\x02\x00S' next_instr = 61L ec = @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: self.last_instr = intmask(next_instr) if jit.we_are_jitted(): if self.debugdata: ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: ec.bytecode_trace(self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) next_instr += 1 if opcode >= HAVE_ARGUMENT: lo = ord(co_code[next_instr]) hi = ord(co_code[next_instr+1]) next_instr += 2 oparg = (hi * 256) | lo else: oparg = 0 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into a switch(). while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption lo = ord(co_code[next_instr+1]) hi = ord(co_code[next_instr+2]) next_instr += 3 oparg = (oparg * 65536) | (hi * 256) | lo if opcode == opcodedesc.RETURN_VALUE.index: if not self.blockstack_non_empty(): self.frame_finished_execution = True # for generators raise Return w_returnvalue = self.popvalue() block = self.unrollstack(SReturnValue.kind) if block is None: self.pushvalue(w_returnvalue) raise Return else: unroller = SReturnValue(w_returnvalue) next_instr = block.handle(self, unroller) return next_instr # now inside a 'finally' block elif opcode == opcodedesc.END_FINALLY.index: unroller = self.end_finally() if isinstance(unroller, SuspendedUnroller): # go on unrolling the stack block = self.unrollstack(unroller.kind) if block is None: w_result = unroller.nomoreblocks() self.pushvalue(w_result) raise Return else: next_instr = block.handle(self, unroller) return next_instr elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, ec) elif opcode == opcodedesc.BREAK_LOOP.index: next_instr = self.BREAK_LOOP(oparg, next_instr) elif opcode == opcodedesc.CONTINUE_LOOP.index: return self.CONTINUE_LOOP(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: next_instr = self.JUMP_IF_FALSE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_DEBUG.index: next_instr = self.JUMP_IF_NOT_DEBUG(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: next_instr = self.JUMP_IF_TRUE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: next_instr = self.POP_JUMP_IF_FALSE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: next_instr = self.POP_JUMP_IF_TRUE(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_DIVIDE.index: self.BINARY_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CLASS.index: self.BUILD_CLASS(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR.index: self.CALL_FUNCTION_VAR(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR_KW.index: self.CALL_FUNCTION_VAR_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: self.CALL_METHOD(oparg, next_instr) elif opcode == opcodedesc.COMPARE_OP.index: self.COMPARE_OP(oparg, next_instr) elif opcode == opcodedesc.DELETE_ATTR.index: self.DELETE_ATTR(oparg, next_instr) elif opcode == opcodedesc.DELETE_FAST.index: self.DELETE_FAST(oparg, next_instr) elif opcode == opcodedesc.DELETE_GLOBAL.index: self.DELETE_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.DELETE_NAME.index: self.DELETE_NAME(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_0.index: self.DELETE_SLICE_0(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_1.index: self.DELETE_SLICE_1(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_2.index: self.DELETE_SLICE_2(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_3.index: self.DELETE_SLICE_3(oparg, next_instr) elif opcode == opcodedesc.DELETE_SUBSCR.index: self.DELETE_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.DUP_TOP.index: self.DUP_TOP(oparg, next_instr) elif opcode == opcodedesc.DUP_TOPX.index: self.DUP_TOPX(oparg, next_instr) elif opcode == opcodedesc.EXEC_STMT.index: self.EXEC_STMT(oparg, next_instr) elif opcode == opcodedesc.GET_ITER.index: self.GET_ITER(oparg, next_instr) elif opcode == opcodedesc.IMPORT_FROM.index: self.IMPORT_FROM(oparg, next_instr) elif opcode == opcodedesc.IMPORT_NAME.index: self.IMPORT_NAME(oparg, next_instr) elif opcode == opcodedesc.IMPORT_STAR.index: self.IMPORT_STAR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_ADD.index: self.INPLACE_ADD(oparg, next_instr) elif opcode == opcodedesc.INPLACE_AND.index: self.INPLACE_AND(oparg, next_instr) elif opcode == opcodedesc.INPLACE_DIVIDE.index: self.INPLACE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_FLOOR_DIVIDE.index: self.INPLACE_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_LSHIFT.index: self.INPLACE_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MODULO.index: self.INPLACE_MODULO(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MULTIPLY.index: self.INPLACE_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.INPLACE_OR.index: self.INPLACE_OR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_POWER.index: self.INPLACE_POWER(oparg, next_instr) elif opcode == opcodedesc.INPLACE_RSHIFT.index: self.INPLACE_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_SUBTRACT.index: self.INPLACE_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_TRUE_DIVIDE.index: self.INPLACE_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_XOR.index: self.INPLACE_XOR(oparg, next_instr) elif opcode == opcodedesc.LIST_APPEND.index: self.LIST_APPEND(oparg, next_instr) elif opcode == opcodedesc.LOAD_ATTR.index: self.LOAD_ATTR(oparg, next_instr) elif opcode == opcodedesc.LOAD_CLOSURE.index: self.LOAD_CLOSURE(oparg, next_instr) elif opcode == opcodedesc.LOAD_CONST.index: self.LOAD_CONST(oparg, next_instr) elif opcode == opcodedesc.LOAD_DEREF.index: self.LOAD_DEREF(oparg, next_instr) elif opcode == opcodedesc.LOAD_FAST.index: self.LOAD_FAST(oparg, next_instr) elif opcode == opcodedesc.LOAD_GLOBAL.index: self.LOAD_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.LOAD_LOCALS.index: self.LOAD_LOCALS(oparg, next_instr) elif opcode == opcodedesc.LOAD_NAME.index: self.LOAD_NAME(oparg, next_instr) elif opcode == opcodedesc.LOOKUP_METHOD.index: > self.LOOKUP_METHOD(oparg, next_instr) interpreter/pyopcode.py:356: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = at line 11 nameindex = 4, ignored = (61L,) MutableCell = space = StdObjSpace w_obj = def LOOKUP_METHOD(f, nameindex, *ignored): from pypy.objspace.std.typeobject import MutableCell # stack before after # -------------- --fast-method----fallback-case------------ # # w_object None # w_object => w_function w_boundmethod_or_whatever # (more stuff) (more stuff) (more stuff) # space = f.space w_obj = f.popvalue() if not jit.we_are_jitted(): # mapdict has an extra-fast version of this function if LOOKUP_METHOD_mapdict(f, nameindex, w_obj): return w_name = f.getname_w(nameindex) w_value = None w_type = space.type(w_obj) if w_type.has_object_getattribute(): name = space.text_w(w_name) # bit of a mess to use these internal functions, but it allows the # mapdict caching below to work without an additional lookup version_tag = w_type.version_tag() if version_tag is None: _, w_descr = w_type._lookup_where(name) w_descr_cell = None else: _, w_descr_cell = w_type._pure_lookup_where_with_method_cache( name, version_tag) w_descr = w_descr_cell if isinstance(w_descr, MutableCell): w_descr = w_descr.unwrap_cell(space) if w_descr is None: # this handles directly the common case # module.function(args..) > w_value = w_obj.getdictvalue(space, name) objspace/std/callmethod.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def getdictvalue(self, space, name): w_value = space.finditem_str(self.w_dict, name) if self.lazy and w_value is None: > return self._load_lazily(space, name) interpreter/mixedmodule.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def _load_lazily(self, space, name): w_name = space.new_interned_str(name) try: loader = self.loaders[name] except KeyError: return None else: > w_value = loader(space) interpreter/mixedmodule.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace def ifileloader(space): d = {'space':space} # EVIL HACK (but it works, and this is not RPython :-) while 1: try: value = eval(spec, d) except NameError as ex: name = ex.args[0].split("'")[1] # super-Evil if name in d: raise # propagate the NameError try: > d[name] = __import__(pkgroot+'.'+name, None, None, [name]) interpreter/mixedmodule.py:182: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from pypy.interpreter.gateway import unwrap_spec from pypy.interpreter.error import oefmt from rpython.rlib import rgc > from pypy.module.gc.hook import W_GcCollectStepStats module/gc/interp_gc.py:4: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from rpython.memory.gc.hook import GcHooks > from rpython.memory.gc import incminimark module/gc/hook.py:2: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ # XXX Should find a way to bound the major collection threshold by the # XXX total addressable size. Maybe by keeping some minimarkpage arenas # XXX pre-reserved, enough for a few nursery collections? What about # XXX raw-malloced memory? # XXX try merging old_objects_pointing_to_pinned into # XXX old_objects_pointing_to_young (IRC 2014-10-22, fijal and gregor_w) import sys import os import time from rpython.rtyper.lltypesystem import lltype, llmemory, llarena, llgroup from rpython.rtyper.lltypesystem.lloperation import llop from rpython.rtyper.lltypesystem.llmemory import raw_malloc_usage from rpython.memory.gc.base import GCBase, MovingGCBase > from rpython.memory.gc import env E File "/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py", line 423 E SyntaxError: Non-ASCII character '\xe2' in file /build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py on line 423, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details ../rpython/memory/gc/incminimark.py:70: SyntaxError . pypy/module/select/test/test_select.py::AppTestSelectWithSockets::()::test_read_many . pypy/module/select/test/test_select.py::AppTestSelectWithSockets::()::test_read_end_closed . pypy/module/select/test/test_select.py::AppTestSelectWithSockets::()::test_select_descr_out_of_bounds . pypy/module/select/test/test_select.py::AppTestSelectWithSockets::()::test_poll . pypy/module/select/test/test_select.py::AppTestSelectWithSockets::()::test_poll_arguments . pypy/module/select/test/test_ztranslation.py::test_select_translates (somefailed=True in module/select/test) . pypy/module/signal/test/test_signal.py::TestCheckSignals::()::test_checksignals . pypy/module/signal/test/test_signal.py::AppTestSignal::()::test_exported_names . pypy/module/signal/test/test_signal.py::AppTestSignal::()::test_basics . pypy/module/signal/test/test_signal.py::AppTestSignal::()::test_default_return . pypy/module/signal/test/test_signal.py::AppTestSignal::()::test_ignore_return . pypy/module/signal/test/test_signal.py::AppTestSignal::()::test_obj_return . pypy/module/signal/test/test_signal.py::AppTestSignal::()::test_getsignal . pypy/module/signal/test/test_signal.py::AppTestSignal::()::test_check_signum . pypy/module/signal/test/test_signal.py::AppTestSignal::()::test_alarm . pypy/module/signal/test/test_signal.py::AppTestSignal::()::test_set_wakeup_fd . pypy/module/signal/test/test_signal.py::AppTestSignal::()::test_set_wakeup_fd_invalid . pypy/module/signal/test/test_signal.py::AppTestSignal::()::test_siginterrupt . pypy/module/signal/test/test_signal.py::AppTestSignal::()::test_default_int_handler . pypy/module/signal/test/test_signal.py::AppTestSignalSocket::()::test_alarm_raise . pypy/module/signal/test/test_signal.py::AppTestItimer::()::test_itimer_real . pypy/module/signal/test/test_signal.py::AppTestItimer::()::test_itimer_exc . pypy/module/signal/test/test_signal.py::AppTestRemotelyTriggeredDebugger::()::test_run_debugger . pypy/module/signal/test/test_signal.py::AppTestRemotelyTriggeredDebugger::()::test_disable_debugger s pypy/module/termios/test/test_termios.py::TestTermios::()::test_one Skipped: Pexpect not found s pypy/module/termios/test/test_termios.py::TestTermios::()::test_tcall Skipped: Pexpect not found s pypy/module/termios/test/test_termios.py::TestTermios::()::test_tcsetattr Skipped: Pexpect not found s pypy/module/termios/test/test_termios.py::TestTermios::()::test_ioctl_termios Skipped: Pexpect not found s pypy/module/termios/test/test_termios.py::TestTermios::()::test_icanon Skipped: Pexpect not found . pypy/module/termios/test/test_termios.py::AppTestTermios::()::test_values . pypy/module/termios/test/test_termios.py::AppTestTermios::()::test_error . pypy/module/termios/test/test_termios.py::AppTestTermios::()::test_error_tcsetattr . pypy/module/sys/test/apptest_initpath.py::test_pypy_find_executable . pypy/module/sys/test/test_encoding.py::test__getfilesystemencoding . pypy/module/sys/test/test_initpath.py::test_find_stdlib . pypy/module/sys/test/test_initpath.py::test_find_stdlib_follow_symlink . pypy/module/sys/test/test_initpath.py::test_pypy_init_home . pypy/module/sys/test/test_initpath.py::test_compute_stdlib_path . pypy/module/sys/test/test_initpath.py::test_include_libtk . pypy/module/sys/test/test_initpath.py::test_find_executable . pypy/module/sys/test/test_initpath.py::test_resolvedirof . pypy/module/sys/test/test_sysmodule.py::test_stdin_exists . pypy/module/sys/test/test_sysmodule.py::test_stdout_exists . pypy/module/sys/test/test_sysmodule.py::AppTestAppSysTests::()::test_sys_in_modules . pypy/module/sys/test/test_sysmodule.py::AppTestAppSysTests::()::test_builtin_in_modules . pypy/module/sys/test/test_sysmodule.py::AppTestAppSysTests::()::test_builtin_module_names . pypy/module/sys/test/test_sysmodule.py::AppTestAppSysTests::()::test_sys_exc_info . pypy/module/sys/test/test_sysmodule.py::AppTestAppSysTests::()::test_dynamic_attributes . pypy/module/sys/test/test_sysmodule.py::AppTestAppSysTests::()::test_exc_info_normalization . pypy/module/sys/test/test_sysmodule.py::AppTestAppSysTests::()::test_io . pypy/module/sys/test/test_sysmodule.py::AppTestAppSysTests::()::test_getfilesystemencoding . pypy/module/sys/test/test_sysmodule.py::AppTestAppSysTests::()::test_float_info . pypy/module/sys/test/test_sysmodule.py::AppTestAppSysTests::()::test_long_info . pypy/module/sys/test/test_sysmodule.py::AppTestAppSysTests::()::test_sys_exit . pypy/module/sys/test/test_sysmodule.py::AppTestAppSysTests::()::test_sys_flags . pypy/module/sys/test/test_sysmodule.py::AppTestSysModulePortedFromCPython::()::test_original_displayhook . pypy/module/sys/test/test_sysmodule.py::AppTestSysModulePortedFromCPython::()::test_lost_displayhook . pypy/module/sys/test/test_sysmodule.py::AppTestSysModulePortedFromCPython::()::test_custom_displayhook . pypy/module/sys/test/test_sysmodule.py::AppTestSysModulePortedFromCPython::()::test_original_excepthook . pypy/module/sys/test/test_sysmodule.py::AppTestSysModulePortedFromCPython::()::test_excepthook_failsafe_path . pypy/module/sys/test/test_sysmodule.py::AppTestSysModulePortedFromCPython::()::test_original_excepthook_pypy_encoding . pypy/module/sys/test/test_sysmodule.py::AppTestSysModulePortedFromCPython::()::test_excepthook_flushes_stdout . pypy/module/sys/test/test_sysmodule.py::AppTestSysModulePortedFromCPython::()::test_exc_clear . pypy/module/sys/test/test_sysmodule.py::AppTestSysModulePortedFromCPython::()::test_exit . pypy/module/sys/test/test_sysmodule.py::AppTestSysModulePortedFromCPython::()::test_getdefaultencoding . pypy/module/sys/test/test_sysmodule.py::AppTestSysModulePortedFromCPython::()::test_setdefaultencoding . pypy/module/sys/test/test_sysmodule.py::AppTestSysModulePortedFromCPython::()::test_setcheckinterval . pypy/module/sys/test/test_sysmodule.py::AppTestSysModulePortedFromCPython::()::test_recursionlimit . pypy/module/sys/test/test_sysmodule.py::AppTestSysModulePortedFromCPython::()::test_getwindowsversion . pypy/module/sys/test/test_sysmodule.py::AppTestSysModulePortedFromCPython::()::test_winver . pypy/module/sys/test/test_sysmodule.py::AppTestSysModulePortedFromCPython::()::test_dllhandle . pypy/module/sys/test/test_sysmodule.py::AppTestSysModulePortedFromCPython::()::test_dlopenflags s pypy/module/sys/test/test_sysmodule.py::AppTestSysModulePortedFromCPython::()::test_refcount Skipped: Reference counting is not implemented. . pypy/module/sys/test/test_sysmodule.py::AppTestSysModulePortedFromCPython::()::test_getframe . pypy/module/sys/test/test_sysmodule.py::AppTestSysModulePortedFromCPython::()::test_getframe_in_returned_func . pypy/module/sys/test/test_sysmodule.py::AppTestSysModulePortedFromCPython::()::test_attributes . pypy/module/sys/test/test_sysmodule.py::AppTestSysModulePortedFromCPython::()::test_reload_doesnt_override_sys_executable . pypy/module/sys/test/test_sysmodule.py::AppTestSysModulePortedFromCPython::()::test_settrace . pypy/module/sys/test/test_sysmodule.py::AppTestSysModulePortedFromCPython::()::test_pypy_attributes . pypy/module/sys/test/test_sysmodule.py::AppTestSysModulePortedFromCPython::()::test_allattributes . pypy/module/sys/test/test_sysmodule.py::AppTestSysModulePortedFromCPython::()::test_subversion . pypy/module/sys/test/test_sysmodule.py::AppTestSysModulePortedFromCPython::()::test__mercurial . pypy/module/sys/test/test_sysmodule.py::AppTestSysModulePortedFromCPython::()::test_trace_exec_execfile . pypy/module/sys/test/test_sysmodule.py::AppTestSysModulePortedFromCPython::()::test_float_repr_style . pypy/module/sys/test/test_sysmodule.py::AppTestSysSettracePortedFromCpython::()::test_sys_settrace . pypy/module/sys/test/test_sysmodule.py::AppTestCurrentFrames::()::test_current_frames . pypy/module/sys/test/test_sysmodule.py::AppTestCurrentFramesWithThread::()::test_current_frames . pypy/module/sys/test/test_sysmodule.py::AppTestSysExcInfoDirect::()::test_returns_none . pypy/module/sys/test/test_sysmodule.py::AppTestSysExcInfoDirect::()::test_returns_subscr . pypy/module/sys/test/test_sysmodule.py::AppTestSysExcInfoDirect::()::test_returns_slice_2 . pypy/module/sys/test/test_sysmodule.py::AppTestSysExcInfoDirect::()::test_returns_slice_3 . pypy/module/sys/test/test_sysmodule.py::AppTestSysExcInfoDirect::()::test_strange_invocation . pypy/module/sys/test/test_sysmodule.py::AppTestSysExcInfoDirect::()::test_call_in_subfunction . pypy/module/sys/test/test_version.py::AppTestVersion::()::test_compiler . pypy/module/sys/test/test_version.py::AppTestVersion::()::test_version_info . pypy/module/sys/test/test_version.py::AppTestVersion::()::test_pypy_version_info . pypy/module/sys/test/test_version.py::test_get_version . pypy/module/struct/test/test_struct.py::AppTestStruct::()::test_error . pypy/module/struct/test/test_struct.py::AppTestStruct::()::test_calcsize_standard . pypy/module/struct/test/test_struct.py::AppTestStruct::()::test_index . pypy/module/struct/test/test_struct.py::AppTestStruct::()::test_deprecation_warning . pypy/module/struct/test/test_struct.py::AppTestStruct::()::test_pack_standard_little . pypy/module/struct/test/test_struct.py::AppTestStruct::()::test_unpack_standard_little . pypy/module/struct/test/test_struct.py::AppTestStruct::()::test_pack_standard_big . pypy/module/struct/test/test_struct.py::AppTestStruct::()::test_unpack_standard_big . pypy/module/struct/test/test_struct.py::AppTestStruct::()::test_calcsize_native . pypy/module/struct/test/test_struct.py::AppTestStruct::()::test_pack_native . pypy/module/struct/test/test_struct.py::AppTestStruct::()::test_unpack_native . pypy/module/struct/test/test_struct.py::AppTestStruct::()::test_string_format . pypy/module/struct/test/test_struct.py::AppTestStruct::()::test_pascal_format . pypy/module/struct/test/test_struct.py::AppTestStruct::()::test_char_format . pypy/module/struct/test/test_struct.py::AppTestStruct::()::test_pad_format . pypy/module/struct/test/test_struct.py::AppTestStruct::()::test_native_floats . pypy/module/struct/test/test_struct.py::AppTestStruct::()::test_standard_floats . pypy/module/struct/test/test_struct.py::AppTestStruct::()::test_bool . pypy/module/struct/test/test_struct.py::AppTestStruct::()::test_transitiveness . pypy/module/struct/test/test_struct.py::AppTestStruct::()::test_struct_error . pypy/module/struct/test/test_struct.py::AppTestStruct::()::test_overflow_error . pypy/module/struct/test/test_struct.py::AppTestStruct::()::test_unicode . pypy/module/struct/test/test_struct.py::AppTestStruct::()::test_unpack_buffer . pypy/module/struct/test/test_struct.py::AppTestStruct::()::test_pack_unpack_buffer . pypy/module/struct/test/test_struct.py::AppTestStruct::()::test___float__ . pypy/module/struct/test/test_struct.py::AppTestStruct::()::test_struct_object . pypy/module/struct/test/test_struct.py::AppTestStruct::()::test_struct_weakrefable . pypy/module/struct/test/test_struct.py::AppTestStruct::()::test_struct_subclass . pypy/module/struct/test/test_struct.py::AppTestStruct::()::test_overflow . pypy/module/struct/test/test_struct.py::AppTestStruct::()::test_unpack_fits_into_int . pypy/module/struct/test/test_struct.py::AppTestStruct::()::test_bpo35714 . pypy/module/struct/test/test_struct.py::AppTestStructBuffer::()::test_pack_into . pypy/module/struct/test/test_struct.py::AppTestStructBuffer::()::test_unpack_from . pypy/module/struct/test/test_struct.py::AppTestFastPath::()::test_unpack_simple . pypy/module/struct/test/test_struct.py::AppTestFastPath::()::test_unpack_from . pypy/module/struct/test/test_struct.py::AppTestFastPath::()::test_unpack_bytearray . pypy/module/struct/test/test_struct.py::AppTestFastPath::()::test_unpack_array . pypy/module/struct/test/test_struct.py::AppTestFastPath::()::test_pack_into_bytearray . pypy/module/struct/test/test_struct.py::AppTestFastPath::()::test_pack_into_bytearray_padding . pypy/module/struct/test/test_struct.py::AppTestFastPath::()::test_pack_into_bytearray_delete . pypy/module/struct/test/test_ztranslation.py::test_checkmodule . pypy/module/time/test/test_time.py::AppTestTime::()::test_attributes . pypy/module/time/test/test_time.py::AppTestTime::()::test_sleep . pypy/module/time/test/test_time.py::AppTestTime::()::test_clock . pypy/module/time/test/test_time.py::AppTestTime::()::test_time . pypy/module/time/test/test_time.py::AppTestTime::()::test_ctime . pypy/module/time/test/test_time.py::AppTestTime::()::test_gmtime . pypy/module/time/test/test_time.py::AppTestTime::()::test_localtime . pypy/module/time/test/test_time.py::AppTestTime::()::test_mktime . pypy/module/time/test/test_time.py::AppTestTime::()::test_asctime . pypy/module/time/test/test_time.py::AppTestTime::()::test_accept2dyear_access . pypy/module/time/test/test_time.py::AppTestTime::()::test_struct_time . pypy/module/time/test/test_time.py::AppTestTime::()::test_tzset . pypy/module/time/test/test_time.py::AppTestTime::()::test_large_year_does_not_crash . pypy/module/time/test/test_time.py::AppTestTime::()::test_strftime . pypy/module/time/test/test_time.py::AppTestTime::()::test_strftime_ext . pypy/module/time/test/test_time.py::AppTestTime::()::test_strftime_bounds_checking . pypy/module/time/test/test_time.py::AppTestTime::()::test_strptime . pypy/module/time/test/test_time.py::AppTestTime::()::test_pickle s pypy/module/thread/test/test_fork.py::AppTestFork::()::test_fork_with_thread Skipped: Not reliable before translation . pypy/module/thread/test/test_fork.py::AppTestFork::()::test_forked_can_thread . pypy/module/thread/test/test_fork.py::AppTestFork::()::test_forked_is_main_thread . pypy/module/thread/test/test_gil.py::TestRunDirectly::()::test_one_thread . pypy/module/thread/test/test_gil.py::TestRunDirectly::()::test_one_thread_rev F pypy/module/thread/test/test_gil.py::TestUsingFramework::()::test_one_thread self = skew = 25000 def test_one_thread(self, skew=+1): from rpython.rlib.debug import debug_print if self.bigtest: N = 100000 skew *= 25000 else: N = 100 skew *= 25 space = FakeSpace() class State: pass state = State() def runme(main=False): j = 0 for i in range(N + [-skew, skew][main]): state.datalen1 += 1 # try to crash if the GIL is not state.datalen2 += 1 # correctly acquired state.data.append((thread.get_ident(), i)) state.datalen3 += 1 state.datalen4 += 1 assert state.datalen1 == len(state.data) assert state.datalen2 == len(state.data) assert state.datalen3 == len(state.data) assert state.datalen4 == len(state.data) debug_print(main, i, state.datalen4) rgil.yield_thread() assert i == j j += 1 def bootstrap(): try: runme() except Exception as e: assert 0 thread.gc_thread_die() my_gil_threadlocals = gil.GILThreadLocals(space) def f(): state.data = [] state.datalen1 = 0 state.datalen2 = 0 state.datalen3 = 0 state.datalen4 = 0 state.threadlocals = my_gil_threadlocals state.threadlocals.setup_threads(space) subident = thread.start_new_thread(bootstrap, ()) mainident = thread.get_ident() runme(True) still_waiting = 3000 while len(state.data) < 2*N: debug_print(len(state.data)) if not still_waiting: llop.debug_print(lltype.Void, "timeout. progress: " "%d of %d (= %f%%)" % \ (len(state.data), 2*N, 100*len(state.data)/(2.0*N))) raise ValueError("time out") still_waiting -= 1 if not we_are_translated(): rgil.release() time.sleep(0.1) if not we_are_translated(): rgil.acquire() debug_print("leaving!") i1 = i2 = 0 for tid, i in state.data: if tid == mainident: assert i == i1; i1 += 1 elif tid == subident: assert i == i2; i2 += 1 else: assert 0 assert i1 == N + skew assert i2 == N - skew return len(state.data) > fn = self.getcompiled(f, []) module/thread/test/test_gil.py:107: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../rpython/translator/c/test/test_boehm.py:40: in getcompiled thread=self.use_threads, **extra_options) ../rpython/translator/c/test/test_genc.py:124: in compile t.compile_c() ../rpython/translator/interactive.py:123: in compile_c self.driver.compile_c() ../rpython/translator/driver.py:108: in proc return self.proceed(backend_goal) ../rpython/translator/driver.py:568: in proceed result = self._execute(goals, task_skip = self._maybe_skip()) ../rpython/translator/tool/taskengine.py:114: in _execute res = self._do(goal, taskcallable, *args, **kwds) ../rpython/translator/driver.py:278: in _do res = func() ../rpython/translator/driver.py:435: in task_database_c database = cbuilder.build_database() ../rpython/translator/c/genc.py:102: in build_database self.config.translation.reverse_debugger) ../rpython/translator/c/database.py:64: in __init__ self.gctransformer = self.gcpolicy.gettransformer(translator, gchooks) ../rpython/translator/c/gc.py:452: in gettransformer return shadowstack.ShadowStackFrameworkGCTransformer(translator, gchooks) ../rpython/memory/gctransform/framework.py:132: in __init__ GCClass, GC_PARAMS = choose_gc_from_config(translator.config) ../rpython/memory/gc/base.py:593: in choose_gc_from_config globals(), locals(), [classname]) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ import sys from rpython.memory.gc.semispace import SemiSpaceGC from rpython.memory.gc.semispace import GCFLAG_EXTERNAL, GCFLAG_FORWARDED from rpython.memory.gc.semispace import GC_HASH_TAKEN_ADDR > from rpython.memory.gc import env E File "/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py", line 423 E SyntaxError: Non-ASCII character '\xe2' in file /build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py on line 423, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details ../rpython/memory/gc/generation.py:5: SyntaxError ---------- Captured stderr call ---------- [flowgraph] (rpython.translator.c.test.test_genc:66)entry_point [translation:info] Annotating&simplifying... [c58163a22db8100] {translation-task starting annotate [translation:info] with policy: rpython.annotator.policy.AnnotatorPolicy [flowgraph] (pypy.module.thread.test.test_gil:71)f [flowgraph] (pypy.module.thread.gil:25)GILThreadLocals.setup_threads [flowgraph] (rpython.rlib.rgil:153)allocate [flowgraph] (rpython.rlib.rthread:130)start_new_thread [flowgraph] (rpython.rlib.rthread:99)ll_start_new_thread [flowgraph] (rpython.rtyper.lltypesystem.rffi:278)RPyThreadStart [flowgraph] (?:6)wrapper [flowgraph] (rpython.rtyper.lltypesystem.rffi:3)ccall_RPyThreadStart [flowgraph] (rpython.rlib.rgil:183)acquire_maybe_in_new_thread [flowgraph] (rpython.rlib.rgil:160)release [flowgraph] (rpython.rlib.rthread:124)get_or_make_ident [flowgraph] (rpython.rlib.rthread:356)get_or_make_raw [flowgraph] (rpython.rlib.rgil:171)acquire [flowgraph] (rpython.rlib.rthread:282)gc_thread_run [flowgraph] (pypy.module.thread.test.test_gil:64)bootstrap [flowgraph] (pypy.module.thread.test.test_gil:48)runme [flowgraph] (rpython.rlib.rposix:500)write [flowgraph] (rpython.rtyper.lltypesystem.rffi:1427)scoped_nonmovingbuffer.__init__ [flowgraph] (rpython.rtyper.lltypesystem.rffi:1431)scoped_nonmovingbuffer.__enter__ [flowgraph] (rpython.rlib.rthread:114)get_ident [flowgraph] (rpython.rlib.rthread:349)getraw [flowgraph] (rpython.rtyper.lltypesystem.rffi:873)get_nonmovingbuffer_ll [flowgraph] (rpython.rlib.objectmodel:315)we_are_translated_to_c [flowgraph] (rpython.rlib.rthread:297)gc_thread_die [flowgraph] (rpython.rtyper.lltypesystem.rstr:116)copy_string_to_raw [flowgraph] (rpython.rtyper.lltypesystem.rstr:63)_get_raw_buf [flowgraph] (rpython.rlib.rgil:201)yield_thread [flowgraph] (rpython.rtyper.lltypesystem.rstr:57)_str_ofs [flowgraph] (rpython.rtyper.lltypesystem.llmemory:411)sizeof [flowgraph] (rpython.rtyper.lltypesystem.rffi:278)write [flowgraph] (rpython.rtyper.lltypesystem.rffi:1433)scoped_nonmovingbuffer.__exit__ [flowgraph] (rpython.rtyper.lltypesystem.rffi:937)free_nonmovingbuffer_ll [flowgraph] (rpython.rtyper.lltypesystem.rffi:3)ccall_write [flowgraph] (rpython.rlib.rposix:151)_errno_before [flowgraph] (rpython.rlib.rthread:349)getraw [flowgraph] (rpython.rlib.rthread:349)getraw [flowgraph] (rpython.rlib.rposix:170)_errno_after [flowgraph] (rpython.rlib.rthread:364)setraw [flowgraph] (rpython.rlib.rthread:364)setraw [flowgraph] (rpython.rlib.rtime:282)sleep [flowgraph] (rpython.rtyper.lltypesystem.lltype:2296)scoped_alloc [flowgraph] (rpython.rtyper.lltypesystem.lltype:2280)ScopedAlloc_Struct timeval { c_tv_sec, c_tv_usec }.__init__ [flowgraph] (rpython.rtyper.lltypesystem.lltype:2286)ScopedAlloc_Struct timeval { c_tv_sec, c_tv_usec }.__enter__ [flowgraph] (rpython.flowspace.specialcase:76)rpython_print_item [flowgraph] (rpython.translator.c.test.test_genc:39)llrepr_out [flowgraph] (rpython.rtyper.lltypesystem.lltype:2289)ScopedAlloc_Struct timeval { c_tv_sec, c_tv_usec }.__exit__ [flowgraph] (rpython.rtyper.lltypesystem.rffi:1362)setintfield [flowgraph] (rpython.rtyper.lltypesystem.rffi:1362)setintfield [flowgraph] (rpython.rtyper.lltypesystem.rffi:278)select [flowgraph] (rpython.rtyper.lltypesystem.rffi:3)ccall_select [flowgraph] (rpython.rlib.rposix:151)_errno_before [flowgraph] (rpython.rlib.rposix:170)_errno_after [flowgraph] (rpython.rlib.rposix:113)get_saved_errno [flowgraph] (rpython.flowspace.specialcase:95)rpython_print_newline [flowgraph] (rpython.flowspace.specialcase:85)rpython_print_end [flowgraph] (rpython.rlib.rposix:430)handle_posix_error [flowgraph] (rpython.rlib.rarithmetic:139)widen [flowgraph] (?:1)memo__isfunctype_0 [flowgraph] (?:1)memo__make_wrapper_for_0 [flowgraph] (?:1)memo_offsetof_0 [flowgraph] (?:1)memo_itemoffsetof_0 [flowgraph] (?:1)memo__sizeof_none_0 [flowgraph] (?:1)memo__isfunctype_0 [flowgraph] (?:1)memo__isfunctype_0 [flowgraph] (?:1)memo_itemoffsetof_0 [flowgraph] (?:1)memo__make_scoped_allocator_0 [flowgraph] (?:1)memo__isfunctype_0 [flowgraph] (?:1)memo__should_widen_type_0 [c58163a42edd880] translation-task} [translation:info] usession directory: /build_dir/tmp/pytest/usession-main-501 [translation:info] already done: Annotating&simplifying [translation:info] RTyping... [c58163a432e3580] {translation-task starting rtype_lltype [flowgraph] (rpython.rtyper.rclass:1170)ll_runtime_type_info [flowgraph] (rpython.rtyper.rlist:588)ll_append [flowgraph] (rpython.rtyper.lltypesystem.rlist:365)ll_length [flowgraph] (rpython.rtyper.lltypesystem.rlist:280)_ll_list_resize_ge [flowgraph] (rpython.rlib.jit:269)isconstant [flowgraph] (rpython.rlib.jit:269)isconstant [flowgraph] (rpython.rlib.jit:1300)conditional_call [flowgraph] (?:11)_ll_list_resize_hint_really_look_inside_iff [flowgraph] (rpython.rtyper.lltypesystem.rlist:198)_ll_list_resize_hint_really [flowgraph] (rpython.rtyper.lltypesystem.rlist:198) [flowgraph] (rpython.rtyper.lltypesystem.rlist:351)_ll_new_empty_item_array [flowgraph] (rpython.rlib.jit:269)isconstant [flowgraph] (?:2)ll_arraycopy [flowgraph] (rpython.rlib.rgc:362)ll_arraycopy [flowgraph] (rpython.rlib.rgc:342)copy_item [flowgraph] (rpython.rlib.jit:269)isconstant [flowgraph] (?:2)_ll_list_resize_hint_really_trampoline [flowgraph] (rpython.rtyper.lltypesystem.rlist:198)_ll_list_resize_hint_really [flowgraph] (rpython.rtyper.lltypesystem.rlist:377)ll_setitem_fast [flowgraph] (rpython.rtyper.lltypesystem.rlist:369)ll_items [flowgraph] (?:1)memo__ll_prebuilt_empty_array_0 [flowgraph] (?:1)memo__contains_gcptr_0 [flowgraph] (?:1)memo_itemoffsetof_0 [flowgraph] (rpython.rtyper.rrange:172)ll_rangenext_up [flowgraph] (rpython.rtyper.lltypesystem.module.ll_math:218)ll_math_fmod [flowgraph] (rpython.rtyper.lltypesystem.rlist:357)ll_newemptylist [flowgraph] (rpython.rtyper.lltypesystem.rlist:351)_ll_new_empty_item_array [flowgraph] (?:1)memo__ll_prebuilt_empty_array_0 [flowgraph] (rpython.rtyper.rint:149)ll_str [flowgraph] (rpython.rtyper.lltypesystem.ll_str:13)ll_int2dec [flowgraph] (rpython.rtyper.lltypesystem.ll_str:7)ll_unsigned [flowgraph] (?:2)mallocstr [flowgraph] (rpython.rtyper.lltypesystem.rstr:36)mallocstr [flowgraph] (rpython.rtyper.rstr:425)ll_str [flowgraph] (?:1)memo_ll_constant_0 [flowgraph] (?:11)ll_join_strs_look_inside_iff [flowgraph] (rpython.rtyper.lltypesystem.rstr:785) [flowgraph] (rpython.rlib.jit:294)loop_unrolling_heuristic [flowgraph] (rpython.rtyper.lltypesystem.rstr:783)ll_join_strs [flowgraph] (rpython.rlib.jit:269)isconstant [flowgraph] (rpython.rtyper.lltypesystem.llmemory:1037)cast_any_ptr [flowgraph] (rpython.rtyper.lltypesystem.rstr:78)copy_string_contents [flowgraph] (rpython.rlib.jit:281)isvirtual [flowgraph] (?:2)ll_join_strs_trampoline [flowgraph] (rpython.rtyper.lltypesystem.rstr:783)ll_join_strs [flowgraph] (rpython.rtyper.lltypesystem.rstr:1306)ll_strnext [flowgraph] (rpython.rtyper.rlist:572)ll_len [flowgraph] (rpython.rtyper.lltypesystem.rlist:365)ll_length [flowgraph] (rpython.rtyper.rlist:588)ll_append [flowgraph] (rpython.rtyper.lltypesystem.rlist:280)_ll_list_resize_ge [flowgraph] (rpython.rlib.jit:269)isconstant [flowgraph] (rpython.rlib.jit:269)isconstant [flowgraph] (rpython.rlib.jit:1300)conditional_call [flowgraph] (?:11)_ll_list_resize_hint_really_look_inside_iff [flowgraph] (rpython.rtyper.lltypesystem.rlist:198)_ll_list_resize_hint_really [flowgraph] (rpython.rtyper.lltypesystem.rlist:198) [flowgraph] (rpython.rlib.jit:269)isconstant [flowgraph] (?:2)ll_arraycopy [flowgraph] (rpython.rlib.rgc:362)ll_arraycopy [flowgraph] (rpython.rlib.rgc:342)copy_item [flowgraph] (rpython.rtyper.lltypesystem.llmemory:411)sizeof [flowgraph] (rpython.rlib.jit:269)isconstant [flowgraph] (rpython.rtyper.lltypesystem.rlist:377)ll_setitem_fast [flowgraph] (rpython.rtyper.lltypesystem.rlist:369)ll_items [flowgraph] (?:2)_ll_list_resize_hint_really_trampoline [flowgraph] (rpython.rtyper.lltypesystem.rlist:198)_ll_list_resize_hint_really [flowgraph] (?:1)memo__contains_gcptr_0 [flowgraph] (?:1)memo_itemoffsetof_0 [flowgraph] (?:1)memo__sizeof_none_0 [flowgraph] (rpython.rtyper.lltypesystem.rstr:350)ll_strlen [flowgraph] (rpython.rtyper.lltypesystem.rstr:1293)ll_striter [rtyper] specializing: 100 / 571 blocks (17%) [flowgraph] (?:11)ll_join_chars_look_inside_iff [flowgraph] (rpython.rtyper.lltypesystem.rstr:820)ll_join_chars [flowgraph] (rpython.rtyper.lltypesystem.rstr:821) [flowgraph] (rpython.rlib.jit:269)isconstant [flowgraph] (rpython.rlib.jit:281)isvirtual [flowgraph] (?:2)ll_join_chars_trampoline [flowgraph] (rpython.rtyper.lltypesystem.rstr:820)ll_join_chars [flowgraph] (?:11)ll_listdelslice_startonly_look_inside_iff [flowgraph] (rpython.rtyper.rlist:912) [flowgraph] (rpython.rtyper.rlist:912)ll_listdelslice_startonly [flowgraph] (rpython.rlib.jit:269)isconstant [flowgraph] (rpython.rtyper.rlist:539)ll_null_item [flowgraph] (rpython.rtyper.lltypesystem.rlist:295)_ll_list_resize_le [flowgraph] (rpython.rlib.jit:281)isvirtual [flowgraph] (rpython.rlib.jit:269)isconstant [flowgraph] (?:2)ll_listdelslice_startonly_trampoline [flowgraph] (rpython.rtyper.rlist:912)ll_listdelslice_startonly [flowgraph] (rpython.rlib.jit:1300)conditional_call [flowgraph] (rpython.rlib.jit:269)isconstant [flowgraph] (rpython.rtyper.rclass:870)ll_str [flowgraph] (rpython.rtyper.lltypesystem.rstr:425)ll_strconcat [flowgraph] (rpython.rtyper.lltypesystem.rstr:416)ll_length [flowgraph] (rpython.rtyper.lltypesystem.ll_str:47)ll_int2hex [flowgraph] (rpython.rtyper.lltypesystem.ll_str:7)ll_unsigned [flowgraph] (?:1)memo_conststr_0 [flowgraph] (?:1)memo_conststr_0 [flowgraph] (?:1)memo_conststr_0 [flowgraph] (?:1)memo_conststr_0 [flowgraph] (rpython.rtyper.lltypesystem.rlist:470)ll_listiter [flowgraph] (rpython.rtyper.rfloat:60)ll_str [flowgraph] (?:2)formatd [flowgraph] (rpython.rlib.rfloat:105)formatd [flowgraph] (rpython.rlib.rdtoa:290)dtoa_formatd [flowgraph] (rpython.rlib.rdtoa:248)dtoa [flowgraph] (rpython.rlib.objectmodel:397)revdb_flag_io_disabled [flowgraph] (rpython.rtyper.lltypesystem.rffi:278)_PyPy_dg_dtoa [flowgraph] (rpython.rtyper.lltypesystem.rffi:278)_PyPy_dg_freedtoa [flowgraph] (rpython.rlib.rdtoa:97)format_number [flowgraph] (rpython.rlib.rdtoa:82)format_nonfinite [flowgraph] (?:1)memo__isfunctype_0 [flowgraph] (?:1)memo__isfunctype_0 [flowgraph] (?:1)memo__isfunctype_0 [flowgraph] (rpython.rtyper.lltypesystem.rlist:476)ll_listnext [flowgraph] (rpython.rtyper.lltypesystem.rlist:372)ll_getitem_fast [rtyper] specializing: 200 / 855 blocks (23%) [flowgraph] (rpython.rtyper.lltypesystem.rlist:384)ll_fixed_newlist [flowgraph] (rpython.rtyper.rlist:726)ll_setitem_nonneg [flowgraph] (rpython.rtyper.lltypesystem.rlist:407)ll_fixed_setitem_fast [flowgraph] (rpython.rtyper.rlist:688)ll_getitem_nonneg [flowgraph] (rpython.rtyper.rlist:721)ll_getitem_foldable_nonneg [flowgraph] (rpython.rtyper.lltypesystem.rlist:402)ll_fixed_getitem_fast [flowgraph] (rpython.rtyper.lltypesystem.rrange:70)ll_newrange [flowgraph] (rpython.rtyper.lltypesystem.rrange:91)ll_rangeiter [rtyper] specializing: 300 / 873 blocks (34%) [flowgraph] (rpython.rtyper.rlist:688)ll_getitem_nonneg [flowgraph] (rpython.rtyper.rlist:721)ll_getitem_foldable_nonneg [flowgraph] (rpython.rtyper.lltypesystem.rlist:402)ll_fixed_getitem_fast [flowgraph] (rpython.rtyper.lltypesystem.rstr:860)ll_stringslice_startstop [flowgraph] (rpython.rtyper.lltypesystem.rstr:840)_ll_stringslice [flowgraph] (?:1)memo_emptystrfun_0 [flowgraph] (rpython.rtyper.lltypesystem.rbuilder:275)ll_append_multiple_char [flowgraph] (rpython.rtyper.lltypesystem.rbuilder:282)_ll_append_multiple_char [flowgraph] (rpython.rtyper.lltypesystem.rbuilder:299)ll_jit_try_append_multiple_char [flowgraph] (rpython.rlib.jit:269)isconstant [flowgraph] (?:2)ll_grow_by [flowgraph] (rpython.rtyper.lltypesystem.rbuilder:94)ll_grow_by [flowgraph] (rpython.rlib.jit:269)isconstant [flowgraph] (rpython.rlib.jit:269)isconstant [flowgraph] (rpython.rtyper.lltypesystem.rbuilder:178)ll_append_char [flowgraph] (rpython.rlib.jit:1300)conditional_call [flowgraph] (rpython.rtyper.rint:434)ll_uint_py_div [rtyper] specializing: 400 / 947 blocks (42%) [flowgraph] (?:11)ll_build_look_inside_iff [flowgraph] (rpython.rtyper.lltypesystem.rbuilder:355)ll_build [flowgraph] (rpython.rtyper.lltypesystem.rbuilder:355) [flowgraph] (rpython.rlib.jit:281)isvirtual [flowgraph] (rpython.rtyper.lltypesystem.rbuilder:374)ll_fold_pieces [flowgraph] (rpython.rtyper.lltypesystem.rbuilder:365)ll_shrink_final [flowgraph] (rpython.rtyper.lltypesystem.rbuilder:346)ll_getlength [flowgraph] (?:2)ll_shrink_array [flowgraph] (rpython.rlib.rgc:468)ll_shrink_array [flowgraph] (?:2)ll_build_trampoline [flowgraph] (rpython.rtyper.lltypesystem.rbuilder:355)ll_build [flowgraph] (rpython.rtyper.lltypesystem.rstr:354)ll_stritem_nonneg [rtyper] specializing: 500 / 991 blocks (50%) [flowgraph] (rpython.rtyper.rstr:930)ll_lower_char [flowgraph] (rpython.rtyper.rint:525)ll_uint_py_mod [flowgraph] (rpython.rtyper.lltypesystem.rstr:362)ll_chr2str [rtyper] specializing: 600 / 1001 blocks (59%) [flowgraph] (rpython.rtyper.rstr:890)ll_char_isdigit [rtyper] specializing: 700 / 1004 blocks (69%) [flowgraph] (rpython.rtyper.lltypesystem.rbuilder:445)ll_new [flowgraph] (rpython.rtyper.lltypesystem.rbuilder:328)ll_append_charpsize [flowgraph] (rpython.rtyper.lltypesystem.rstr:145)copy_raw_to_string [rtyper] specializing: 800 / 1016 blocks (78%) [flowgraph] (rpython.rtyper.lltypesystem.rstr:1046)ll_contains [flowgraph] (rpython.rtyper.lltypesystem.rstr:856)ll_stringslice_startonly [rtyper] specializing: 900 / 1023 blocks (87%) [rtyper] specializing: 1000 / 1023 blocks (97%) [flowgraph] (rpython.rtyper.rbuiltin:240)ll_min [rtyper] -=- specialized 1025 blocks -=- [flowgraph] (rpython.rtyper.lltypesystem.rffi:278)fmod [flowgraph] (rpython.rtyper.lltypesystem.rffi:2)ccall_fmod [flowgraph] (rpython.rlib.rposix:151)_errno_before [flowgraph] (rpython.rlib.rposix:170)_errno_after [flowgraph] (rpython.rlib.rfloat:567)_likely_raise [flowgraph] (rpython.rtyper.lltypesystem.rffi:278)fabs [flowgraph] (rpython.rtyper.lltypesystem.module.ll_math:98)ll_math_isinf [flowgraph] (rpython.rtyper.lltypesystem.module.ll_math:91)ll_math_isnan [flowgraph] (rpython.rtyper.lltypesystem.module.ll_math:106)ll_math_isfinite [rtyper] -=- specialized 46 more blocks -=- [rtyper] -=- specialized 9 more blocks -=- [flowgraph] (rpython.rtyper.rclass:1133)ll_issubclass [flowgraph] (rpython.rtyper.rclass:1130)ll_type [rtyper] -=- specialized 4 more blocks -=- [c58163ab0c2ea00] translation-task} [translation:info] usession directory: /build_dir/tmp/pytest/usession-main-501 [translation:info] already done: Annotating&simplifying [translation:info] already done: RTyping [translation:info] lltype back-end optimisations... [c58163ab0c87580] {translation-task starting backendopt_lltype [backendopt:removecasts] removed 6 cast_pointers in f [backendopt:removecasts] removed 1 cast_pointers in ll_start_new_thread__bootstrap [backendopt:removecasts] removed 1 cast_pointers in bootstrap [backendopt:removecasts] removed 5 cast_pointers in runme [backendopt:removecasts] removed 1 cast_pointers in _get_raw_buf__rpy_string [backendopt:removecasts] removed 3 cast_pointers in sleep [backendopt:removecasts] removed 3 cast_pointers in handle_posix_error__write [backendopt:removecasts] removed 1 cast_pointers in ll_rangenext_up__rangePtr_Signed [backendopt:removecasts] removed 1 cast_pointers in ll_join_strs__v17___simple_call__function_ll [backendopt:removecasts] removed 1 cast_pointers in copy_string_contents__rpy_stringPtr_rpy_stringPtr_Signed_Signed_Signed [backendopt:removecasts] removed 1 cast_pointers in ll_join_strs__v21___simple_call__function_ll [backendopt:removecasts] removed 1 cast_pointers in ll_strnext__stringiterPtr [backendopt:removecasts] removed 2 cast_pointers in dtoa_formatd__Float_Char_Signed_Signed [backendopt:removecasts] removed 3 cast_pointers in dtoa__Float_Char_Signed_Signed_Signed_SomeList_Bool [backendopt:removecasts] removed 4 cast_pointers in format_number__arrayPtr_Signed_Signed_Signed_Char_Signed_Signed_Bool [backendopt:removecasts] removed 1 cast_pointers in format_nonfinite__arrayPtr_Signed_Signed_SomeList [backendopt:removecasts] removed 1 cast_pointers in ll_listnext__listiterPtr [backendopt:removecasts] removed 1 cast_pointers in _ll_stringslice__rpy_stringPtr_Signed_Signed [backendopt:removecasts] removed 1 cast_pointers in ll_grow_by__stringbuilderPtr_Signed [backendopt:removecasts] removed 1 cast_pointers in copy_raw_to_string__arrayPtr_rpy_stringPtr_Signed_Signed [backendopt:removecasts] removed 3 cast_pointers in _likely_raise [backendopt:inlining] phase with threshold factor: 32.4 [backendopt:inlining] heuristic: rpython.translator.backendopt.inline.inlining_heuristic [backendopt:inlining] 0.00 isconstant__v53___simple_call__function_is [backendopt:inlining] 0.00 ll_append_char__stringbuilderPtr_Char [backendopt:inlining] 0.00 _PyPy_dg_dtoa__Float_Signed_Signed_arrayPtr_arrayPtr_arrayPtr_star_6 [backendopt:inlining] 0.00 _get_raw_buf__rpy_string [backendopt:inlining] 0.00 isvirtual__v36___simple_call__function_is [backendopt:inlining] 0.00 isconstant__v51___simple_call__function_is [backendopt:inlining] 0.00 isconstant__v41___simple_call__function_is [backendopt:inlining] 0.00 isconstant__v44___simple_call__function_is [backendopt:inlining] 0.00 fmod__Float_Float_star_2 [backendopt:inlining] 0.00 isconstant__v24___simple_call__function_is [backendopt:inlining] 0.00 isconstant__v11___simple_call__function_is [backendopt:inlining] 0.00 memo_conststr_0 [backendopt:inlining] 0.00 gc_thread_run [backendopt:inlining] 0.00 _PyPy_dg_freedtoa__arrayPtr_star_1 [backendopt:inlining] 0.00 memo__sizeof_none_0 [backendopt:inlining] 0.00 memo_ll_constant_0 [backendopt:inlining] 0.00 isconstant__v18___simple_call__function_is [backendopt:inlining] 0.00 copy_string_contents__rpy_stringPtr_rpy_stringPtr_Signed_Signed_Signed [backendopt:inlining] 0.00 isconstant__v49___simple_call__function_is [backendopt:inlining] 0.00 fabs__Float_star_1 [backendopt:inlining] 0.00 isvirtual__v58___simple_call__function_is [backendopt:inlining] 0.00 conditional_call__v25___simple_call__function_co_star_3 [backendopt:inlining] 0.00 isconstant__v5___simple_call__function_isc [backendopt:inlining] 0.00 ll_unsigned__Unsigned [backendopt:inlining] 0.00 conditional_call__v7___simple_call__function_con_star_3 [backendopt:inlining] 0.00 ll_getitem_nonneg__dum_nocheckConst_ll_getitem_foldable_nonnegCons_arrayPtr_Signed [backendopt:inlining] 0.00 memo__ll_prebuilt_empty_array_0 [backendopt:inlining] 0.00 isconstant__v30___simple_call__function_is [backendopt:inlining] 0.00 cast_any_ptr__Ptr_GcStruct_rpy_stringLlT_rpy_stringPtr [backendopt:inlining] 0.00 copy_raw_to_string__arrayPtr_rpy_stringPtr_Signed_Signed [backendopt:inlining] 0.00 isvirtual__v19___simple_call__function_is [backendopt:inlining] 0.00 ll_append_multiple_char__stringbuilderPtr_Char_Signed [backendopt:inlining] 0.00 isconstant__v35___simple_call__function_is [backendopt:inlining] 0.00 isvirtual__v42___simple_call__function_is [backendopt:inlining] 0.00 isconstant__v6___simple_call__function_isc [backendopt:inlining] 0.00 ll_getlength__stringbuilderPtr [backendopt:inlining] 0.00 ll_getitem_nonneg__dum_nocheckConst_ll_getitem_foldable_nonnegCons_arrayPtr_Signed [backendopt:inlining] 0.00 isconstant__v48___simple_call__function_is [backendopt:inlining] 0.00 copy_string_to_raw [backendopt:inlining] 0.00 __exit____star_3 [backendopt:inlining] 0.00 write__Signed_arrayPtr_Signed_star_3 [backendopt:inlining] 0.00 scoped_nonmovingbuffer.__init__ [backendopt:inlining] 0.00 get_nonmovingbuffer_ll [backendopt:inlining] 0.00 ll_setitem_nonneg__dum_nocheckConst_arrayPtr_Signed_Signed [backendopt:inlining] 0.00 gc_thread_die [backendopt:inlining] 0.00 conditional_call__v55___simple_call__function_co_star_2 [backendopt:inlining] 0.00 isconstant__v29___simple_call__function_is [backendopt:inlining] 0.00 RPyThreadStart__bootstrapConst_star_1 [backendopt:inlining] 0.00 isconstant__v23___simple_call__function_is [backendopt:inlining] 0.00 memo__sizeof_none_0 [backendopt:inlining] 0.00 isconstant__v12___simple_call__function_is [backendopt:inlining] 0.00 select__Signed_arrayPtr_arrayPtr_arrayPtr_timevalPtr_star_5 [backendopt:inlining] 0.00 widen__int [backendopt:inlining] 0.00 memo_emptystrfun_0 [backendopt:inlining] 0.00 conditional_call__v47___simple_call__function_co_star_3 [backendopt:inlining] 0.00 memo__ll_prebuilt_empty_array_0 [backendopt:inlining] 0.00 scoped_nonmovingbuffer.__enter__ [backendopt:inlining] 2.00 ll_length__listPtr [backendopt:inlining] 2.00 getraw [backendopt:inlining] 2.00 ll_length__listPtr [backendopt:inlining] 2.00 ll_strlen__rpy_stringPtr [backendopt:inlining] 2.00 getraw [backendopt:inlining] 2.00 setraw [backendopt:inlining] 2.00 setraw [backendopt:inlining] 2.00 ll_items__listPtr [backendopt:inlining] 2.00 ll_items__listPtr [backendopt:inlining] 2.00 ll_uint_py_mod__Unsigned_Unsigned [backendopt:inlining] 2.00 ll_uint_py_div__Unsigned_Unsigned [backendopt:inlining] 2.00 ll_fixed_newlist__GcArray_SignedLlT_Signed [backendopt:inlining] 2.00 ll_math_isnan__Float [backendopt:inlining] 2.00 ll_length__rpy_stringPtr [backendopt:inlining] 2.00 ll_unsigned__Signed [backendopt:inlining] 2.00 get_or_make_raw [backendopt:inlining] 2.00 getraw [backendopt:inlining] 2.00 ScopedAlloc_Struct timeval { c_tv_sec, c_tv_usec }.__enter__ [backendopt:inlining] 4.00 ll_min__Unsigned_Unsigned [backendopt:inlining] 4.00 ll_stritem_nonneg__rpy_stringPtr_Signed [backendopt:inlining] 4.00 ll_math_isfinite__Float [backendopt:inlining] 4.00 ll_fixed_getitem_fast__arrayPtr_Signed [backendopt:inlining] 4.00 ll_fixed_getitem_fast__arrayPtr_Signed [backendopt:inlining] 4.00 ll_fixed_setitem_fast__arrayPtr_Signed_Signed [backendopt:inlining] 4.00 copy_item__arrayPtr_arrayPtr_Signed_Signed [backendopt:inlining] 4.00 copy_item__arrayPtr_arrayPtr_Signed_Signed [backendopt:inlining] 4.00 __exit____star_3 [backendopt:inlining] 4.00 setintfield__timevalPtr_c_tv_sec_Signed [backendopt:inlining] 4.00 setintfield__timevalPtr_c_tv_usec_Signed [backendopt:inlining] 5.00 release [backendopt:inlining] 2.00 get_saved_errno [backendopt:inlining] 5.00 allocate [backendopt:inlining] 2.00 get_ident [backendopt:inlining] 2.00 get_or_make_ident [backendopt:inlining] 5.50 ll_math_isinf__Float [backendopt:inlining] 6.00 _str_ofs__rpy_string [backendopt:inlining] 6.00 ScopedAlloc_Struct timeval { c_tv_sec, c_tv_usec }.__init__ [backendopt:inlining] 7.00 mallocstr__Signed [backendopt:inlining] 4.00 ll_getitem_foldable_nonneg__arrayPtr_Signed [backendopt:inlining] 2.00 ll_len__listPtr [backendopt:inlining] 7.00 ll_str__IntegerR_SignedConst_Signed [backendopt:inlining] 7.00 ll_shrink_array__rpy_stringPtr_Signed [backendopt:inlining] 4.00 ll_getitem_foldable_nonneg__arrayPtr_Signed [backendopt:inlining] 7.00 ll_build_look_inside_iff__stringbuilderPtr [backendopt:inlining] 7.00 ll_listdelslice_startonly_look_inside_iff__listPtr_Signed [backendopt:inlining] 7.00 start_new_thread__bootstrap [backendopt:inlining] 7.00 rpython_print_newline [backendopt:inlining] 7.00 llrepr_out__int [backendopt:inlining] 7.50 ll_char_isdigit__Char [backendopt:inlining] 7.50 mallocstr__Signed [backendopt:inlining] 8.00 ll_newrange__Ptr_GcStruct_rangeLlT_Signed_Signed [backendopt:inlining] 8.00 ll_listiter__Ptr_GcStruct_listiterLlT_listPtr [backendopt:inlining] 8.00 ll_newemptylist__GcStruct_listLlT [backendopt:inlining] 9.00 _ll_list_resize_hint_really_look_inside_iff__listPtr_Signed_Bool [backendopt:inlining] 9.00 ll_join_strs_look_inside_iff__Signed_arrayPtr_Ptr_GcStruct_rpy_stringLlT [backendopt:inlining] 9.00 _ll_list_resize_hint_really_look_inside_iff__listPtr_Signed_Bool [backendopt:inlining] 9.00 ll_join_chars_look_inside_iff__Signed_arrayPtr_Ptr_GcStruct_rpy_stringLlT [backendopt:inlining] 9.00 ll_str__FloatR_FloatConst_Float [backendopt:inlining] 9.00 formatd__Float_Char_Signed_Signed [backendopt:inlining] 9.00 formatd__Float_Char_Signed_Signed [backendopt:inlining] 4.00 ll_str__StringR_Ptr_GcStruct_rpy_strin_rpy_stringPtr [backendopt:inlining] 9.50 ll_chr2str__Char [backendopt:inlining] 7.00 acquire [backendopt:inlining] 10.75 GILThreadLocals.setup_threads [backendopt:inlining] 10.75 ll_lower_char__Char [backendopt:inlining] 11.00 ll_arraycopy__arrayPtr_arrayPtr_Signed_Signed_Signed [backendopt:inlining] 11.00 ll_arraycopy__arrayPtr_arrayPtr_Signed_Signed_Signed [backendopt:inlining] 11.00 ll_stringslice_startonly__rpy_stringPtr_Signed [backendopt:inlining] 6.00 ll_getitem_fast__listPtr_Signed [backendopt:inlining] 6.00 ll_setitem_fast__listPtr_Signed_GCREFPtr [backendopt:inlining] 6.00 ll_setitem_fast__listPtr_Signed_Char [backendopt:inlining] 12.00 ll_rangeiter__Ptr_GcStruct_rangeLlT_rangePtr [backendopt:inlining] 12.00 ll_striter__rpy_stringPtr [backendopt:inlining] 9.00 acquire_maybe_in_new_thread [backendopt:inlining] 12.50 ll_rangenext_up__rangePtr_Signed [backendopt:inlining] 12.00 scoped_alloc__timeval_False [backendopt:inlining] 13.00 free_nonmovingbuffer_ll [backendopt:inlining] 9.00 ll_listdelslice_startonly__v40___simple_call__function_ll [backendopt:inlining] 9.00 ll_listdelslice_startonly__v46___simple_call__function_ll [backendopt:inlining] 12.00 bootstrap [backendopt:inlining] 15.50 ll_strnext__stringiterPtr [backendopt:inlining] 17.00 ll_contains__rpy_stringPtr_Char [backendopt:inlining] 4.00 loop_unrolling_heuristic__v16___simple_call__function_lo [backendopt:inlining] 18.12 ll_stringslice_startstop__rpy_stringPtr_Signed_Signed [backendopt:inlining] 19.00 ll_shrink_final__stringbuilderPtr [backendopt:inlining] 21.00 ccall_fmod [backendopt:inlining] 22.00 ll_shrink_array__rpy_stringPtr_Signed [backendopt:inlining] 19.00 ll_listnext__listiterPtr [backendopt:inlining] 17.00 ll_append__listPtr_Char [backendopt:inlining] 17.00 ll_append__listPtr_GCREFPtr [backendopt:inlining] 19.25 _errno_after__v62___simple_call__function__e [backendopt:inlining] 19.25 _errno_after__v1___simple_call__function__er [backendopt:inlining] 19.25 _errno_after__v3___simple_call__function__er [backendopt:inlining] 26.16 ll_join_chars__v33___simple_call__function_ll [backendopt:inlining] 26.16 ll_join_chars__v38___simple_call__function_ll [backendopt:inlining] 27.50 ll_new__Signed [backendopt:inlining] 27.50 ll_arraycopy__arrayPtr_arrayPtr_Signed_Signed_Signed [backendopt:inlining] 30.25 handle_posix_error__write [backendopt:inlining] 31.87 _errno_before__v61___simple_call__function__e [backendopt:inlining] 31.87 _errno_before__v0___simple_call__function__er [backendopt:inlining] 31.87 _errno_before__v2___simple_call__function__er [backendopt:inlining] inlined 334 callsites. [backendopt:malloc] starting malloc removal [backendopt:malloc] 2 simple mallocs removed in 'f' [backendopt:malloc] 2 simple mallocs removed in 'll_start_new_thread__bootstrap' [backendopt:malloc] 2 simple mallocs removed in 'RPyThreadStart__bootstrapConst_star_1' [backendopt:malloc] 1 simple mallocs removed in 'wrapper' [backendopt:malloc] 2 simple mallocs removed in 'runme' [backendopt:malloc] 3 simple mallocs removed in 'write' [backendopt:malloc] 2 simple mallocs removed in 'scoped_nonmovingbuffer.__init__' [backendopt:malloc] 7 simple mallocs removed in 'write__Signed_arrayPtr_Signed_star_3' [backendopt:malloc] 1 simple mallocs removed in 'sleep' [backendopt:malloc] 1 simple mallocs removed in 'rpython_print_item' [backendopt:malloc] 3 simple mallocs removed in 'select__Signed_arrayPtr_arrayPtr_arrayPtr_timevalPtr_star_5' [backendopt:malloc] 1 simple mallocs removed in 'rpython_print_end' [backendopt:malloc] 1 simple mallocs removed in '_ll_list_resize_ge__listPtr_Signed' [backendopt:malloc] 1 simple mallocs removed in 'conditional_call__v7___simple_call__function_con_star_3' [backendopt:malloc] 5 simple mallocs removed in 'll_math_fmod__Float_Float' [backendopt:malloc] 1 simple mallocs removed in '_ll_list_resize_ge__listPtr_Signed' [backendopt:malloc] 1 simple mallocs removed in 'conditional_call__v25___simple_call__function_co_star_3' [backendopt:malloc] 1 simple mallocs removed in '_ll_list_resize_le__listPtr_Signed' [backendopt:malloc] 1 simple mallocs removed in 'conditional_call__v47___simple_call__function_co_star_3' [backendopt:malloc] 13 simple mallocs removed in '_PyPy_dg_dtoa__Float_Signed_Signed_arrayPtr_arrayPtr_arrayPtr_star_6' [backendopt:malloc] 3 simple mallocs removed in '_PyPy_dg_freedtoa__arrayPtr_star_1' [backendopt:malloc] 7 simple mallocs removed in 'format_number__arrayPtr_Signed_Signed_Signed_Char_Signed_Signed_Bool' [backendopt:malloc] 4 simple mallocs removed in '_ll_append_multiple_char__stringbuilderPtr_Char_Signed' [backendopt:malloc] 1 simple mallocs removed in 'll_append_char__stringbuilderPtr_Char' [backendopt:malloc] 1 simple mallocs removed in 'conditional_call__v55___simple_call__function_co_star_2' [backendopt:malloc] 5 simple mallocs removed in 'fmod__Float_Float_star_2' [backendopt:malloc] 3 simple mallocs removed in '_likely_raise' [backendopt:malloc] 3 simple mallocs removed in 'fabs__Float_star_1' [backendopt:malloc] removed 78 simple mallocs in total [backendopt:mergeifblocks] starting to merge if blocks [backendopt] merging blocks in dtoa_formatd__Float_Char_Signed_Signed [backendopt] merging blocks in format_number__arrayPtr_Signed_Signed_Signed_Char_Signed_Signed_Bool [c58163ae4be7480] translation-task} [translation:info] usession directory: /build_dir/tmp/pytest/usession-main-501 [translation:info] already done: Annotating&simplifying [translation:info] already done: RTyping [translation:info] already done: lltype back-end optimisations [translation:info] inserting stack checks... [c58163ae4c8e800] {translation-task starting stackcheckinsertion_lltype [flowgraph] (rpython.rlib.rstack:42)stack_check [flowgraph] (rpython.rlib.rstack:67)stack_check_slowpath [rtyper] -=- specialized 8 more blocks -=- [translation:info] inserted 0 stack checks. [c58163ae65aaf00] translation-task} [translation:info] Creating database for generating c source... [c58163ae65c9d80] {translation-task starting database_c [flowgraph] (rpython.translator.exceptiontransform:100)rpyexc_occurred [flowgraph] (rpython.translator.exceptiontransform:104)rpyexc_fetch_type [flowgraph] (rpython.translator.exceptiontransform:107)rpyexc_fetch_value [flowgraph] (rpython.translator.exceptiontransform:110)rpyexc_clear [flowgraph] (rpython.translator.exceptiontransform:114)rpyexc_raise [flowgraph] (rpython.translator.exceptiontransform:128)rpyexc_reraise [flowgraph] (rpython.translator.exceptiontransform:133)rpyexc_fetch_exception [flowgraph] (rpython.translator.exceptiontransform:138)rpyexc_restore_exception [flowgraph] (rpython.translator.exceptiontransform:539)rpyexc_get_exception_addr [flowgraph] (rpython.translator.exceptiontransform:543)rpyexc_get_exc_value_addr [flowgraph] (rpython.rtyper.rclass:1173)ll_inst_type [rtyper] specializing: 1100 / 1117 blocks (98%) [rtyper] -=- specialized 25 more blocks -=- [flowgraph] (rpython.memory.gctransform.transform:447)_ll_malloc_fixedsize [flowgraph] (rpython.memory.gctransform.transform:454)_ll_malloc_fixedsize_zero [flowgraph] (rpython.memory.gctransform.transform:470)_ll_malloc_varsize_no_length [flowgraph] (rpython.memory.gctransform.transform:487)ll_malloc_varsize [flowgraph] (rpython.memory.gctransform.transform:493)_ll_malloc_varsize_no_length_zero [c58163aeb550800] translation-task} F pypy/module/thread/test/test_gil.py::TestUsingFramework::()::test_one_thread_rev self = def test_one_thread_rev(self): > self.test_one_thread(skew=-1) module/thread/test/test_gil.py:112: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ module/thread/test/test_gil.py:107: in test_one_thread fn = self.getcompiled(f, []) ../rpython/translator/c/test/test_boehm.py:40: in getcompiled thread=self.use_threads, **extra_options) ../rpython/translator/c/test/test_genc.py:124: in compile t.compile_c() ../rpython/translator/interactive.py:123: in compile_c self.driver.compile_c() ../rpython/translator/driver.py:108: in proc return self.proceed(backend_goal) ../rpython/translator/driver.py:568: in proceed result = self._execute(goals, task_skip = self._maybe_skip()) ../rpython/translator/tool/taskengine.py:114: in _execute res = self._do(goal, taskcallable, *args, **kwds) ../rpython/translator/driver.py:278: in _do res = func() ../rpython/translator/driver.py:435: in task_database_c database = cbuilder.build_database() ../rpython/translator/c/genc.py:102: in build_database self.config.translation.reverse_debugger) ../rpython/translator/c/database.py:64: in __init__ self.gctransformer = self.gcpolicy.gettransformer(translator, gchooks) ../rpython/translator/c/gc.py:452: in gettransformer return shadowstack.ShadowStackFrameworkGCTransformer(translator, gchooks) ../rpython/memory/gctransform/framework.py:132: in __init__ GCClass, GC_PARAMS = choose_gc_from_config(translator.config) ../rpython/memory/gc/base.py:593: in choose_gc_from_config globals(), locals(), [classname]) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ import sys from rpython.memory.gc.semispace import SemiSpaceGC from rpython.memory.gc.semispace import GCFLAG_EXTERNAL, GCFLAG_FORWARDED from rpython.memory.gc.semispace import GC_HASH_TAKEN_ADDR > from rpython.memory.gc import env E File "/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py", line 423 E SyntaxError: Non-ASCII character '\xe2' in file /build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py on line 423, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details ../rpython/memory/gc/generation.py:5: SyntaxError ---------- Captured stderr call ---------- [flowgraph] (rpython.translator.c.test.test_genc:66)entry_point [translation:info] Annotating&simplifying... [c58163b01476e00] {translation-task starting annotate [translation:info] with policy: rpython.annotator.policy.AnnotatorPolicy [flowgraph] (pypy.module.thread.test.test_gil:71)f [flowgraph] (pypy.module.thread.gil:25)GILThreadLocals.setup_threads [flowgraph] (rpython.rlib.rgil:153)allocate [flowgraph] (rpython.rlib.rthread:130)start_new_thread [flowgraph] (rpython.rlib.rthread:99)ll_start_new_thread [flowgraph] (rpython.rtyper.lltypesystem.rffi:278)RPyThreadStart [flowgraph] (?:6)wrapper [flowgraph] (rpython.rtyper.lltypesystem.rffi:3)ccall_RPyThreadStart [flowgraph] (rpython.rlib.rgil:160)release [flowgraph] (rpython.rlib.rgil:183)acquire_maybe_in_new_thread [flowgraph] (rpython.rlib.rthread:124)get_or_make_ident [flowgraph] (rpython.rlib.rthread:356)get_or_make_raw [flowgraph] (rpython.rlib.rgil:171)acquire [flowgraph] (rpython.rlib.rthread:282)gc_thread_run [flowgraph] (pypy.module.thread.test.test_gil:64)bootstrap [flowgraph] (rpython.rlib.rposix:500)write [flowgraph] (pypy.module.thread.test.test_gil:48)runme [flowgraph] (rpython.rtyper.lltypesystem.rffi:1427)scoped_nonmovingbuffer.__init__ [flowgraph] (rpython.rtyper.lltypesystem.rffi:1431)scoped_nonmovingbuffer.__enter__ [flowgraph] (rpython.rtyper.lltypesystem.rffi:873)get_nonmovingbuffer_ll [flowgraph] (rpython.rlib.rthread:114)get_ident [flowgraph] (rpython.rlib.objectmodel:315)we_are_translated_to_c [flowgraph] (rpython.rlib.rthread:349)getraw [flowgraph] (rpython.rlib.rthread:297)gc_thread_die [flowgraph] (rpython.rtyper.lltypesystem.rstr:116)copy_string_to_raw [flowgraph] (rpython.rtyper.lltypesystem.rstr:63)_get_raw_buf [flowgraph] (rpython.rlib.rgil:201)yield_thread [flowgraph] (rpython.rtyper.lltypesystem.rstr:57)_str_ofs [flowgraph] (rpython.rtyper.lltypesystem.llmemory:411)sizeof [flowgraph] (rpython.rtyper.lltypesystem.rffi:278)write [flowgraph] (rpython.rtyper.lltypesystem.rffi:1433)scoped_nonmovingbuffer.__exit__ [flowgraph] (rpython.rtyper.lltypesystem.rffi:937)free_nonmovingbuffer_ll [flowgraph] (rpython.rtyper.lltypesystem.rffi:3)ccall_write [flowgraph] (rpython.rlib.rposix:151)_errno_before [flowgraph] (rpython.rlib.rthread:349)getraw [flowgraph] (rpython.rlib.rthread:349)getraw [flowgraph] (rpython.rlib.rposix:170)_errno_after [flowgraph] (rpython.rlib.rthread:364)setraw [flowgraph] (rpython.rlib.rthread:364)setraw [flowgraph] (rpython.rlib.rtime:282)sleep [flowgraph] (rpython.rtyper.lltypesystem.lltype:2296)scoped_alloc [flowgraph] (rpython.rtyper.lltypesystem.lltype:2280)ScopedAlloc_Struct timeval { c_tv_sec, c_tv_usec }.__init__ [flowgraph] (rpython.rtyper.lltypesystem.lltype:2286)ScopedAlloc_Struct timeval { c_tv_sec, c_tv_usec }.__enter__ [flowgraph] (rpython.flowspace.specialcase:76)rpython_print_item [flowgraph] (rpython.translator.c.test.test_genc:39)llrepr_out [flowgraph] (rpython.rtyper.lltypesystem.lltype:2289)ScopedAlloc_Struct timeval { c_tv_sec, c_tv_usec }.__exit__ [flowgraph] (rpython.rtyper.lltypesystem.rffi:1362)setintfield [flowgraph] (rpython.rtyper.lltypesystem.rffi:1362)setintfield [flowgraph] (rpython.rtyper.lltypesystem.rffi:278)select [flowgraph] (rpython.rtyper.lltypesystem.rffi:3)ccall_select [flowgraph] (rpython.rlib.rposix:151)_errno_before [flowgraph] (rpython.rlib.rposix:170)_errno_after [flowgraph] (rpython.rlib.rposix:113)get_saved_errno [flowgraph] (rpython.flowspace.specialcase:95)rpython_print_newline [flowgraph] (rpython.rlib.rposix:430)handle_posix_error [flowgraph] (rpython.rlib.rarithmetic:139)widen [flowgraph] (rpython.flowspace.specialcase:85)rpython_print_end [flowgraph] (?:1)memo__isfunctype_0 [flowgraph] (?:1)memo__make_wrapper_for_0 [flowgraph] (?:1)memo_offsetof_0 [flowgraph] (?:1)memo_itemoffsetof_0 [flowgraph] (?:1)memo__sizeof_none_0 [flowgraph] (?:1)memo__isfunctype_0 [flowgraph] (?:1)memo__isfunctype_0 [flowgraph] (?:1)memo_itemoffsetof_0 [flowgraph] (?:1)memo__make_scoped_allocator_0 [flowgraph] (?:1)memo__isfunctype_0 [flowgraph] (?:1)memo__should_widen_type_0 [c58163b25261a00] translation-task} [translation:info] usession directory: /build_dir/tmp/pytest/usession-main-501 [translation:info] already done: Annotating&simplifying [translation:info] RTyping... [c58163b252bcf00] {translation-task starting rtype_lltype [flowgraph] (rpython.rtyper.rclass:1170)ll_runtime_type_info [flowgraph] (rpython.rtyper.lltypesystem.rstr:1306)ll_strnext [flowgraph] (rpython.rtyper.lltypesystem.rlist:470)ll_listiter [flowgraph] (rpython.rtyper.lltypesystem.module.ll_math:218)ll_math_fmod [flowgraph] (rpython.rtyper.lltypesystem.rstr:350)ll_strlen [flowgraph] (rpython.rtyper.lltypesystem.rlist:384)ll_fixed_newlist [flowgraph] (rpython.rtyper.rlist:726)ll_setitem_nonneg [flowgraph] (rpython.rtyper.lltypesystem.rlist:407)ll_fixed_setitem_fast [flowgraph] (rpython.rtyper.rlist:688)ll_getitem_nonneg [flowgraph] (rpython.rtyper.rlist:721)ll_getitem_foldable_nonneg [flowgraph] (rpython.rtyper.lltypesystem.rlist:402)ll_fixed_getitem_fast [flowgraph] (rpython.rtyper.lltypesystem.rrange:70)ll_newrange [flowgraph] (rpython.rtyper.lltypesystem.rrange:91)ll_rangeiter [rtyper] specializing: 100 / 329 blocks (30%) [flowgraph] (rpython.rtyper.rlist:572)ll_len [flowgraph] (rpython.rtyper.lltypesystem.rlist:365)ll_length [flowgraph] (rpython.rtyper.lltypesystem.ll_str:13)ll_int2dec [flowgraph] (rpython.rtyper.lltypesystem.ll_str:7)ll_unsigned [flowgraph] (?:2)mallocstr [flowgraph] (rpython.rtyper.lltypesystem.rstr:36)mallocstr [flowgraph] (rpython.rtyper.rfloat:60)ll_str [flowgraph] (?:2)formatd [flowgraph] (rpython.rlib.rfloat:105)formatd [flowgraph] (rpython.rlib.rdtoa:290)dtoa_formatd [flowgraph] (rpython.rlib.rdtoa:248)dtoa [flowgraph] (rpython.rlib.objectmodel:397)revdb_flag_io_disabled [flowgraph] (rpython.rtyper.lltypesystem.rffi:278)_PyPy_dg_dtoa [flowgraph] (rpython.rtyper.lltypesystem.rffi:278)_PyPy_dg_freedtoa [flowgraph] (rpython.rlib.rdtoa:97)format_number [flowgraph] (rpython.rlib.rdtoa:82)format_nonfinite [flowgraph] (?:1)memo__isfunctype_0 [flowgraph] (?:1)memo__isfunctype_0 [flowgraph] (?:1)memo__isfunctype_0 [flowgraph] (?:11)ll_join_strs_look_inside_iff [flowgraph] (rpython.rtyper.lltypesystem.rstr:785) [flowgraph] (rpython.rlib.jit:294)loop_unrolling_heuristic [flowgraph] (rpython.rlib.jit:269)isconstant [flowgraph] (rpython.rtyper.lltypesystem.rstr:783)ll_join_strs [flowgraph] (rpython.rtyper.lltypesystem.llmemory:1037)cast_any_ptr [flowgraph] (rpython.rtyper.lltypesystem.rstr:78)copy_string_contents [flowgraph] (rpython.rlib.jit:281)isvirtual [flowgraph] (?:2)ll_join_strs_trampoline [flowgraph] (rpython.rtyper.lltypesystem.rstr:783)ll_join_strs [flowgraph] (rpython.rtyper.lltypesystem.rstr:1293)ll_striter [flowgraph] (rpython.rtyper.rlist:588)ll_append [flowgraph] (rpython.rtyper.lltypesystem.rlist:365)ll_length [flowgraph] (rpython.rtyper.lltypesystem.rlist:280)_ll_list_resize_ge [flowgraph] (rpython.rlib.jit:269)isconstant [flowgraph] (rpython.rlib.jit:1300)conditional_call [flowgraph] (rpython.rlib.jit:269)isconstant [flowgraph] (?:11)_ll_list_resize_hint_really_look_inside_iff [flowgraph] (rpython.rtyper.lltypesystem.rlist:198)_ll_list_resize_hint_really [flowgraph] (rpython.rtyper.lltypesystem.rlist:198) [flowgraph] (rpython.rlib.jit:269)isconstant [flowgraph] (rpython.rtyper.lltypesystem.rlist:351)_ll_new_empty_item_array [flowgraph] (?:2)ll_arraycopy [flowgraph] (rpython.rlib.rgc:362)ll_arraycopy [flowgraph] (rpython.rlib.rgc:342)copy_item [flowgraph] (rpython.rlib.jit:269)isconstant [flowgraph] (?:2)_ll_list_resize_hint_really_trampoline [flowgraph] (rpython.rtyper.lltypesystem.rlist:198)_ll_list_resize_hint_really [flowgraph] (rpython.rtyper.lltypesystem.rlist:377)ll_setitem_fast [flowgraph] (rpython.rtyper.lltypesystem.rlist:369)ll_items [flowgraph] (?:1)memo__ll_prebuilt_empty_array_0 [flowgraph] (?:1)memo__contains_gcptr_0 [flowgraph] (?:1)memo_itemoffsetof_0 [flowgraph] (?:11)ll_join_chars_look_inside_iff [flowgraph] (rpython.rtyper.lltypesystem.rstr:821) [flowgraph] (rpython.rtyper.lltypesystem.rstr:820)ll_join_chars [flowgraph] (rpython.rlib.jit:269)isconstant [flowgraph] (rpython.rlib.jit:281)isvirtual [flowgraph] (?:2)ll_join_chars_trampoline [flowgraph] (rpython.rtyper.lltypesystem.rstr:820)ll_join_chars [flowgraph] (?:11)ll_listdelslice_startonly_look_inside_iff [flowgraph] (rpython.rtyper.rlist:912)ll_listdelslice_startonly [flowgraph] (rpython.rtyper.rlist:539)ll_null_item [flowgraph] (rpython.rtyper.rlist:912) [flowgraph] (rpython.rlib.jit:269)isconstant [flowgraph] (rpython.rlib.jit:281)isvirtual [flowgraph] (rpython.rtyper.lltypesystem.rlist:295)_ll_list_resize_le [flowgraph] (rpython.rlib.jit:269)isconstant [flowgraph] (rpython.rlib.jit:269)isconstant [flowgraph] (?:2)ll_listdelslice_startonly_trampoline [flowgraph] (rpython.rtyper.rlist:912)ll_listdelslice_startonly [flowgraph] (rpython.rlib.jit:1300)conditional_call [flowgraph] (rpython.rtyper.lltypesystem.rlist:357)ll_newemptylist [flowgraph] (rpython.rtyper.lltypesystem.rlist:351)_ll_new_empty_item_array [flowgraph] (?:1)memo__ll_prebuilt_empty_array_0 [flowgraph] (rpython.rtyper.rstr:425)ll_str [flowgraph] (?:1)memo_ll_constant_0 [flowgraph] (rpython.rtyper.rint:149)ll_str [flowgraph] (rpython.rtyper.rrange:172)ll_rangenext_up [flowgraph] (rpython.rtyper.rlist:588)ll_append [flowgraph] (rpython.rtyper.lltypesystem.rlist:280)_ll_list_resize_ge [flowgraph] (rpython.rlib.jit:269)isconstant [flowgraph] (rpython.rlib.jit:269)isconstant [flowgraph] (rpython.rlib.jit:1300)conditional_call [flowgraph] (?:11)_ll_list_resize_hint_really_look_inside_iff [flowgraph] (rpython.rtyper.lltypesystem.rlist:198) [flowgraph] (rpython.rlib.jit:269)isconstant [flowgraph] (rpython.rtyper.lltypesystem.rlist:198)_ll_list_resize_hint_really [flowgraph] (?:2)ll_arraycopy [flowgraph] (rpython.rlib.rgc:362)ll_arraycopy [flowgraph] (rpython.rlib.rgc:342)copy_item [flowgraph] (rpython.rtyper.lltypesystem.llmemory:411)sizeof [flowgraph] (rpython.rlib.jit:269)isconstant [flowgraph] (rpython.rtyper.lltypesystem.rlist:377)ll_setitem_fast [flowgraph] (?:2)_ll_list_resize_hint_really_trampoline [flowgraph] (rpython.rtyper.lltypesystem.rlist:369)ll_items [flowgraph] (rpython.rtyper.lltypesystem.rlist:198)_ll_list_resize_hint_really [flowgraph] (?:1)memo__contains_gcptr_0 [flowgraph] (?:1)memo_itemoffsetof_0 [flowgraph] (?:1)memo__sizeof_none_0 [flowgraph] (rpython.rtyper.rclass:870)ll_str [flowgraph] (rpython.rtyper.lltypesystem.rstr:425)ll_strconcat [flowgraph] (rpython.rtyper.lltypesystem.rstr:416)ll_length [flowgraph] (rpython.rtyper.lltypesystem.ll_str:47)ll_int2hex [flowgraph] (rpython.rtyper.lltypesystem.ll_str:7)ll_unsigned [flowgraph] (?:1)memo_conststr_0 [flowgraph] (?:1)memo_conststr_0 [flowgraph] (?:1)memo_conststr_0 [flowgraph] (?:1)memo_conststr_0 [flowgraph] (rpython.rtyper.lltypesystem.rlist:476)ll_listnext [flowgraph] (rpython.rtyper.lltypesystem.rlist:372)ll_getitem_fast [flowgraph] (rpython.rtyper.lltypesystem.rstr:856)ll_stringslice_startonly [flowgraph] (rpython.rtyper.lltypesystem.rstr:840)_ll_stringslice [flowgraph] (?:1)memo_emptystrfun_0 [flowgraph] (rpython.rtyper.lltypesystem.rstr:860)ll_stringslice_startstop [rtyper] specializing: 400 / 892 blocks (44%) [flowgraph] (rpython.rtyper.rstr:890)ll_char_isdigit [flowgraph] (rpython.rtyper.lltypesystem.rstr:354)ll_stritem_nonneg [rtyper] specializing: 500 / 897 blocks (55%) [flowgraph] (rpython.rtyper.rlist:688)ll_getitem_nonneg [flowgraph] (rpython.rtyper.rlist:721)ll_getitem_foldable_nonneg [flowgraph] (rpython.rtyper.lltypesystem.rlist:402)ll_fixed_getitem_fast [flowgraph] (rpython.rtyper.rint:434)ll_uint_py_div [flowgraph] (rpython.rtyper.lltypesystem.rstr:1046)ll_contains [rtyper] specializing: 600 / 911 blocks (65%) [flowgraph] (rpython.rtyper.lltypesystem.rstr:362)ll_chr2str [flowgraph] (rpython.rtyper.rstr:930)ll_lower_char [flowgraph] (rpython.rtyper.lltypesystem.rbuilder:328)ll_append_charpsize [flowgraph] (rpython.rtyper.lltypesystem.rstr:145)copy_raw_to_string [flowgraph] (?:2)ll_grow_by [flowgraph] (rpython.rtyper.lltypesystem.rbuilder:94)ll_grow_by [flowgraph] (rpython.rtyper.lltypesystem.rbuilder:178)ll_append_char [flowgraph] (rpython.rlib.jit:1300)conditional_call [flowgraph] (rpython.rtyper.lltypesystem.rbuilder:275)ll_append_multiple_char [flowgraph] (rpython.rtyper.lltypesystem.rbuilder:282)_ll_append_multiple_char [flowgraph] (rpython.rtyper.lltypesystem.rbuilder:299)ll_jit_try_append_multiple_char [flowgraph] (rpython.rlib.jit:269)isconstant [flowgraph] (rpython.rlib.jit:269)isconstant [flowgraph] (rpython.rlib.jit:269)isconstant [flowgraph] (?:11)ll_build_look_inside_iff [flowgraph] (rpython.rtyper.lltypesystem.rbuilder:355)ll_build [flowgraph] (rpython.rtyper.lltypesystem.rbuilder:355) [flowgraph] (rpython.rtyper.lltypesystem.rbuilder:374)ll_fold_pieces [flowgraph] (rpython.rlib.jit:281)isvirtual [flowgraph] (rpython.rtyper.lltypesystem.rbuilder:365)ll_shrink_final [flowgraph] (?:2)ll_shrink_array [flowgraph] (rpython.rtyper.lltypesystem.rbuilder:346)ll_getlength [flowgraph] (rpython.rlib.rgc:468)ll_shrink_array [flowgraph] (?:2)ll_build_trampoline [flowgraph] (rpython.rtyper.lltypesystem.rbuilder:355)ll_build [flowgraph] (rpython.rtyper.lltypesystem.rbuilder:445)ll_new [rtyper] specializing: 800 / 1021 blocks (78%) [flowgraph] (rpython.rtyper.rint:525)ll_uint_py_mod [rtyper] specializing: 900 / 1023 blocks (87%) [flowgraph] (rpython.rtyper.rbuiltin:240)ll_min [rtyper] specializing: 1000 / 1025 blocks (97%) [rtyper] -=- specialized 1025 blocks -=- [flowgraph] (rpython.rtyper.lltypesystem.rffi:278)fmod [flowgraph] (rpython.rtyper.lltypesystem.rffi:2)ccall_fmod [flowgraph] (rpython.rlib.rposix:151)_errno_before [flowgraph] (rpython.rlib.rposix:170)_errno_after [flowgraph] (rpython.rlib.rfloat:567)_likely_raise [flowgraph] (rpython.rtyper.lltypesystem.rffi:278)fabs [flowgraph] (rpython.rtyper.lltypesystem.module.ll_math:106)ll_math_isfinite [flowgraph] (rpython.rtyper.lltypesystem.module.ll_math:91)ll_math_isnan [flowgraph] (rpython.rtyper.lltypesystem.module.ll_math:98)ll_math_isinf [rtyper] -=- specialized 46 more blocks -=- [rtyper] -=- specialized 9 more blocks -=- [flowgraph] (rpython.rtyper.rclass:1133)ll_issubclass [flowgraph] (rpython.rtyper.rclass:1130)ll_type [rtyper] -=- specialized 4 more blocks -=- [c58163b8bdd0980] translation-task} [translation:info] usession directory: /build_dir/tmp/pytest/usession-main-501 [translation:info] already done: Annotating&simplifying [translation:info] already done: RTyping [translation:info] lltype back-end optimisations... [c58163b8be28a80] {translation-task starting backendopt_lltype [backendopt:removecasts] removed 6 cast_pointers in f [backendopt:removecasts] removed 1 cast_pointers in ll_start_new_thread__bootstrap [backendopt:removecasts] removed 1 cast_pointers in bootstrap [backendopt:removecasts] removed 5 cast_pointers in runme [backendopt:removecasts] removed 1 cast_pointers in _get_raw_buf__rpy_string [backendopt:removecasts] removed 3 cast_pointers in sleep [backendopt:removecasts] removed 3 cast_pointers in handle_posix_error__write [backendopt:removecasts] removed 1 cast_pointers in ll_strnext__stringiterPtr [backendopt:removecasts] removed 2 cast_pointers in dtoa_formatd__Float_Char_Signed_Signed [backendopt:removecasts] removed 3 cast_pointers in dtoa__Float_Char_Signed_Signed_Signed_SomeList_Bool [backendopt:removecasts] removed 4 cast_pointers in format_number__arrayPtr_Signed_Signed_Signed_Char_Signed_Signed_Bool [backendopt:removecasts] removed 1 cast_pointers in format_nonfinite__arrayPtr_Signed_Signed_SomeList [backendopt:removecasts] removed 1 cast_pointers in ll_join_strs__v70___simple_call__function_ll [backendopt:removecasts] removed 1 cast_pointers in copy_string_contents__rpy_stringPtr_rpy_stringPtr_Signed_Signed_Signed [backendopt:removecasts] removed 1 cast_pointers in ll_join_strs__v73___simple_call__function_ll [backendopt:removecasts] removed 1 cast_pointers in ll_rangenext_up__rangePtr_Signed [backendopt:removecasts] removed 1 cast_pointers in ll_listnext__listiterPtr [backendopt:removecasts] removed 1 cast_pointers in _ll_stringslice__rpy_stringPtr_Signed_Signed [backendopt:removecasts] removed 1 cast_pointers in copy_raw_to_string__arrayPtr_rpy_stringPtr_Signed_Signed [backendopt:removecasts] removed 1 cast_pointers in ll_grow_by__stringbuilderPtr_Signed [backendopt:removecasts] removed 3 cast_pointers in _likely_raise [backendopt:inlining] phase with threshold factor: 32.4 [backendopt:inlining] heuristic: rpython.translator.backendopt.inline.inlining_heuristic [backendopt:inlining] 0.00 copy_raw_to_string__arrayPtr_rpy_stringPtr_Signed_Signed [backendopt:inlining] 0.00 isconstant__v118___simple_call__function_i [backendopt:inlining] 0.00 isconstant__v81___simple_call__function_is [backendopt:inlining] 0.00 memo__ll_prebuilt_empty_array_0 [backendopt:inlining] 0.00 ll_append_multiple_char__stringbuilderPtr_Char_Signed [backendopt:inlining] 0.00 _PyPy_dg_dtoa__Float_Signed_Signed_arrayPtr_arrayPtr_arrayPtr_star_6 [backendopt:inlining] 0.00 isconstant__v116___simple_call__function_i [backendopt:inlining] 0.00 isconstant__v114___simple_call__function_i [backendopt:inlining] 0.00 cast_any_ptr__Ptr_GcStruct_rpy_stringLlT_rpy_stringPtr [backendopt:inlining] 0.00 isconstant__v82___simple_call__function_is [backendopt:inlining] 0.00 memo_ll_constant_0 [backendopt:inlining] 0.00 isconstant__v103___simple_call__function_i [backendopt:inlining] 0.00 isconstant__v109___simple_call__function_i [backendopt:inlining] 0.00 isconstant__v69___simple_call__function_is [backendopt:inlining] 0.00 conditional_call__v113___simple_call__function_c_star_2 [backendopt:inlining] 0.00 isvirtual__v71___simple_call__function_is [backendopt:inlining] 0.00 isconstant__v77___simple_call__function_is [backendopt:inlining] 0.00 isconstant__v93___simple_call__function_is [backendopt:inlining] 0.00 isconstant__v97___simple_call__function_is [backendopt:inlining] 0.00 isconstant__v107___simple_call__function_i [backendopt:inlining] 0.00 fabs__Float_star_1 [backendopt:inlining] 0.00 ll_append_char__stringbuilderPtr_Char [backendopt:inlining] 0.00 isvirtual__v121___simple_call__function_i [backendopt:inlining] 0.00 isconstant__v87___simple_call__function_is [backendopt:inlining] 0.00 isconstant__v102___simple_call__function_i [backendopt:inlining] 0.00 memo__ll_prebuilt_empty_array_0 [backendopt:inlining] 0.00 memo_emptystrfun_0 [backendopt:inlining] 0.00 ll_setitem_nonneg__dum_nocheckConst_arrayPtr_Signed_Signed [backendopt:inlining] 0.00 gc_thread_run [backendopt:inlining] 0.00 ll_getlength__stringbuilderPtr [backendopt:inlining] 0.00 RPyThreadStart__bootstrapConst_star_1 [backendopt:inlining] 0.00 memo_conststr_0 [backendopt:inlining] 0.00 ll_unsigned__Unsigned [backendopt:inlining] 0.00 conditional_call__v100___simple_call__function_c_star_3 [backendopt:inlining] 0.00 isvirtual__v94___simple_call__function_is [backendopt:inlining] 0.00 isconstant__v96___simple_call__function_is [backendopt:inlining] 0.00 isvirtual__v88___simple_call__function_is [backendopt:inlining] 0.00 memo__sizeof_none_0 [backendopt:inlining] 0.00 fmod__Float_Float_star_2 [backendopt:inlining] 0.00 _get_raw_buf__rpy_string [backendopt:inlining] 0.00 ll_getitem_nonneg__dum_nocheckConst_ll_getitem_foldable_nonnegCons_arrayPtr_Signed [backendopt:inlining] 0.00 conditional_call__v104___simple_call__function_c_star_3 [backendopt:inlining] 0.00 get_nonmovingbuffer_ll [backendopt:inlining] 0.00 copy_string_contents__rpy_stringPtr_rpy_stringPtr_Signed_Signed_Signed [backendopt:inlining] 0.00 memo__sizeof_none_0 [backendopt:inlining] 0.00 _PyPy_dg_freedtoa__arrayPtr_star_1 [backendopt:inlining] 0.00 conditional_call__v76___simple_call__function_co_star_3 [backendopt:inlining] 0.00 widen__int [backendopt:inlining] 0.00 scoped_nonmovingbuffer.__init__ [backendopt:inlining] 0.00 isconstant__v75___simple_call__function_is [backendopt:inlining] 0.00 scoped_nonmovingbuffer.__enter__ [backendopt:inlining] 0.00 ll_getitem_nonneg__dum_nocheckConst_ll_getitem_foldable_nonnegCons_arrayPtr_Signed [backendopt:inlining] 0.00 copy_string_to_raw [backendopt:inlining] 0.00 gc_thread_die [backendopt:inlining] 0.00 write__Signed_arrayPtr_Signed_star_3 [backendopt:inlining] 0.00 __exit____star_3 [backendopt:inlining] 0.00 select__Signed_arrayPtr_arrayPtr_arrayPtr_timevalPtr_star_5 [backendopt:inlining] 2.00 ll_length__listPtr [backendopt:inlining] 2.00 getraw [backendopt:inlining] 2.00 ll_strlen__rpy_stringPtr [backendopt:inlining] 2.00 ll_length__listPtr [backendopt:inlining] 2.00 getraw [backendopt:inlining] 2.00 setraw [backendopt:inlining] 2.00 setraw [backendopt:inlining] 2.00 ll_items__listPtr [backendopt:inlining] 2.00 ll_items__listPtr [backendopt:inlining] 2.00 ll_uint_py_div__Unsigned_Unsigned [backendopt:inlining] 2.00 ll_unsigned__Signed [backendopt:inlining] 2.00 ll_uint_py_mod__Unsigned_Unsigned [backendopt:inlining] 2.00 ll_length__rpy_stringPtr [backendopt:inlining] 2.00 ll_math_isnan__Float [backendopt:inlining] 2.00 ll_fixed_newlist__GcArray_SignedLlT_Signed [backendopt:inlining] 2.00 get_or_make_raw [backendopt:inlining] 2.00 ScopedAlloc_Struct timeval { c_tv_sec, c_tv_usec }.__enter__ [backendopt:inlining] 2.00 getraw [backendopt:inlining] 4.00 ll_str__StringR_Ptr_GcStruct_rpy_strin_rpy_stringPtr [backendopt:inlining] 4.00 ll_stritem_nonneg__rpy_stringPtr_Signed [backendopt:inlining] 4.00 ll_fixed_getitem_fast__arrayPtr_Signed [backendopt:inlining] 4.00 copy_item__arrayPtr_arrayPtr_Signed_Signed [backendopt:inlining] 4.00 ll_fixed_getitem_fast__arrayPtr_Signed [backendopt:inlining] 4.00 ll_min__Unsigned_Unsigned [backendopt:inlining] 4.00 copy_item__arrayPtr_arrayPtr_Signed_Signed [backendopt:inlining] 4.00 loop_unrolling_heuristic__v68___simple_call__function_lo [backendopt:inlining] 4.00 ll_math_isfinite__Float [backendopt:inlining] 4.00 ll_fixed_setitem_fast__arrayPtr_Signed_Signed [backendopt:inlining] 4.00 __exit____star_3 [backendopt:inlining] 4.00 setintfield__timevalPtr_c_tv_sec_Signed [backendopt:inlining] 4.00 setintfield__timevalPtr_c_tv_usec_Signed [backendopt:inlining] 5.00 release [backendopt:inlining] 2.00 get_saved_errno [backendopt:inlining] 5.00 allocate [backendopt:inlining] 2.00 get_ident [backendopt:inlining] 2.00 get_or_make_ident [backendopt:inlining] 5.50 ll_math_isinf__Float [backendopt:inlining] 6.00 ScopedAlloc_Struct timeval { c_tv_sec, c_tv_usec }.__init__ [backendopt:inlining] 6.00 _str_ofs__rpy_string [backendopt:inlining] 7.00 mallocstr__Signed [backendopt:inlining] 7.00 ll_str__IntegerR_SignedConst_Signed [backendopt:inlining] 2.00 ll_len__listPtr [backendopt:inlining] 4.00 ll_getitem_foldable_nonneg__arrayPtr_Signed [backendopt:inlining] 4.00 ll_getitem_foldable_nonneg__arrayPtr_Signed [backendopt:inlining] 7.00 ll_build_look_inside_iff__stringbuilderPtr [backendopt:inlining] 7.00 ll_shrink_array__rpy_stringPtr_Signed [backendopt:inlining] 7.00 ll_listdelslice_startonly_look_inside_iff__listPtr_Signed [backendopt:inlining] 7.00 rpython_print_newline [backendopt:inlining] 7.00 start_new_thread__bootstrap [backendopt:inlining] 7.00 llrepr_out__int [backendopt:inlining] 7.50 ll_char_isdigit__Char [backendopt:inlining] 7.50 mallocstr__Signed [backendopt:inlining] 8.00 ll_newrange__Ptr_GcStruct_rangeLlT_Signed_Signed [backendopt:inlining] 8.00 ll_newemptylist__GcStruct_listLlT [backendopt:inlining] 8.00 ll_listiter__Ptr_GcStruct_listiterLlT_listPtr [backendopt:inlining] 9.00 _ll_list_resize_hint_really_look_inside_iff__listPtr_Signed_Bool [backendopt:inlining] 9.00 ll_join_strs_look_inside_iff__Signed_arrayPtr_Ptr_GcStruct_rpy_stringLlT [backendopt:inlining] 9.00 _ll_list_resize_hint_really_look_inside_iff__listPtr_Signed_Bool [backendopt:inlining] 9.00 formatd__Float_Char_Signed_Signed [backendopt:inlining] 9.00 formatd__Float_Char_Signed_Signed [backendopt:inlining] 9.00 ll_str__FloatR_FloatConst_Float [backendopt:inlining] 9.00 ll_join_chars_look_inside_iff__Signed_arrayPtr_Ptr_GcStruct_rpy_stringLlT [backendopt:inlining] 9.50 ll_chr2str__Char [backendopt:inlining] 7.00 acquire [backendopt:inlining] 10.75 GILThreadLocals.setup_threads [backendopt:inlining] 10.75 ll_lower_char__Char [backendopt:inlining] 11.00 ll_arraycopy__arrayPtr_arrayPtr_Signed_Signed_Signed [backendopt:inlining] 11.00 ll_arraycopy__arrayPtr_arrayPtr_Signed_Signed_Signed [backendopt:inlining] 11.00 ll_stringslice_startonly__rpy_stringPtr_Signed [backendopt:inlining] 6.00 ll_getitem_fast__listPtr_Signed [backendopt:inlining] 6.00 ll_setitem_fast__listPtr_Signed_GCREFPtr [backendopt:inlining] 6.00 ll_setitem_fast__listPtr_Signed_Char [backendopt:inlining] 12.00 ll_rangeiter__Ptr_GcStruct_rangeLlT_rangePtr [backendopt:inlining] 12.00 ll_striter__rpy_stringPtr [backendopt:inlining] 9.00 acquire_maybe_in_new_thread [backendopt:inlining] 12.50 ll_rangenext_up__rangePtr_Signed [backendopt:inlining] 12.00 scoped_alloc__timeval_False [backendopt:inlining] 13.00 free_nonmovingbuffer_ll [backendopt:inlining] 9.00 ll_listdelslice_startonly__v91___simple_call__function_ll [backendopt:inlining] 9.00 ll_listdelslice_startonly__v99___simple_call__function_ll [backendopt:inlining] 12.00 bootstrap [backendopt:inlining] 15.50 ll_strnext__stringiterPtr [backendopt:inlining] 17.00 ll_contains__rpy_stringPtr_Char [backendopt:inlining] 18.12 ll_stringslice_startstop__rpy_stringPtr_Signed_Signed [backendopt:inlining] 19.00 ll_shrink_final__stringbuilderPtr [backendopt:inlining] 21.00 ccall_fmod [backendopt:inlining] 22.00 ll_shrink_array__rpy_stringPtr_Signed [backendopt:inlining] 19.00 ll_listnext__listiterPtr [backendopt:inlining] 17.00 ll_append__listPtr_Char [backendopt:inlining] 17.00 ll_append__listPtr_GCREFPtr [backendopt:inlining] 19.25 _errno_after__v125___simple_call__function__ [backendopt:inlining] 19.25 _errno_after__v66___simple_call__function__e [backendopt:inlining] 19.25 _errno_after__v64___simple_call__function__e [backendopt:inlining] 26.16 ll_join_chars__v86___simple_call__function_ll [backendopt:inlining] 26.16 ll_join_chars__v90___simple_call__function_ll [backendopt:inlining] 27.50 ll_new__Signed [backendopt:inlining] 27.50 ll_arraycopy__arrayPtr_arrayPtr_Signed_Signed_Signed [backendopt:inlining] 30.25 handle_posix_error__write [backendopt:inlining] 31.87 _errno_before__v124___simple_call__function__ [backendopt:inlining] 31.87 _errno_before__v65___simple_call__function__e [backendopt:inlining] 31.87 _errno_before__v63___simple_call__function__e [backendopt:inlining] inlined 330 callsites. [backendopt:malloc] starting malloc removal [backendopt:malloc] 2 simple mallocs removed in 'f' [backendopt:malloc] 2 simple mallocs removed in 'll_start_new_thread__bootstrap' [backendopt:malloc] 2 simple mallocs removed in 'RPyThreadStart__bootstrapConst_star_1' [backendopt:malloc] 1 simple mallocs removed in 'wrapper' [backendopt:malloc] 3 simple mallocs removed in 'write' [backendopt:malloc] 2 simple mallocs removed in 'runme' [backendopt:malloc] 2 simple mallocs removed in 'scoped_nonmovingbuffer.__init__' [backendopt:malloc] 7 simple mallocs removed in 'write__Signed_arrayPtr_Signed_star_3' [backendopt:malloc] 1 simple mallocs removed in 'sleep' [backendopt:malloc] 1 simple mallocs removed in 'rpython_print_item' [backendopt:malloc] 3 simple mallocs removed in 'select__Signed_arrayPtr_arrayPtr_arrayPtr_timevalPtr_star_5' [backendopt:malloc] 1 simple mallocs removed in 'rpython_print_end' [backendopt:malloc] 5 simple mallocs removed in 'll_math_fmod__Float_Float' [backendopt:malloc] 13 simple mallocs removed in '_PyPy_dg_dtoa__Float_Signed_Signed_arrayPtr_arrayPtr_arrayPtr_star_6' [backendopt:malloc] 3 simple mallocs removed in '_PyPy_dg_freedtoa__arrayPtr_star_1' [backendopt:malloc] 7 simple mallocs removed in 'format_number__arrayPtr_Signed_Signed_Signed_Char_Signed_Signed_Bool' [backendopt:malloc] 1 simple mallocs removed in '_ll_list_resize_ge__listPtr_Signed' [backendopt:malloc] 1 simple mallocs removed in 'conditional_call__v76___simple_call__function_co_star_3' [backendopt:malloc] 1 simple mallocs removed in '_ll_list_resize_le__listPtr_Signed' [backendopt:malloc] 1 simple mallocs removed in 'conditional_call__v100___simple_call__function_c_star_3' [backendopt:malloc] 1 simple mallocs removed in '_ll_list_resize_ge__listPtr_Signed' [backendopt:malloc] 1 simple mallocs removed in 'conditional_call__v104___simple_call__function_c_star_3' [backendopt:malloc] 1 simple mallocs removed in 'll_append_char__stringbuilderPtr_Char' [backendopt:malloc] 1 simple mallocs removed in 'conditional_call__v113___simple_call__function_c_star_2' [backendopt:malloc] 4 simple mallocs removed in '_ll_append_multiple_char__stringbuilderPtr_Char_Signed' [backendopt:malloc] 5 simple mallocs removed in 'fmod__Float_Float_star_2' [backendopt:malloc] 3 simple mallocs removed in '_likely_raise' [backendopt:malloc] 3 simple mallocs removed in 'fabs__Float_star_1' [backendopt:malloc] removed 78 simple mallocs in total [backendopt:mergeifblocks] starting to merge if blocks [backendopt] merging blocks in dtoa_formatd__Float_Char_Signed_Signed [backendopt] merging blocks in format_number__arrayPtr_Signed_Signed_Signed_Char_Signed_Signed_Bool [c58163bbf3bf500] translation-task} [translation:info] usession directory: /build_dir/tmp/pytest/usession-main-501 [translation:info] already done: Annotating&simplifying [translation:info] already done: RTyping [translation:info] already done: lltype back-end optimisations [translation:info] inserting stack checks... [c58163bbf45d400] {translation-task starting stackcheckinsertion_lltype [flowgraph] (rpython.rlib.rstack:42)stack_check [flowgraph] (rpython.rlib.rstack:67)stack_check_slowpath [rtyper] -=- specialized 8 more blocks -=- [translation:info] inserted 0 stack checks. [c58163bc0a03980] translation-task} [translation:info] Creating database for generating c source... [c58163bc0a1a300] {translation-task starting database_c [flowgraph] (rpython.translator.exceptiontransform:100)rpyexc_occurred [flowgraph] (rpython.translator.exceptiontransform:104)rpyexc_fetch_type [flowgraph] (rpython.translator.exceptiontransform:107)rpyexc_fetch_value [flowgraph] (rpython.translator.exceptiontransform:110)rpyexc_clear [flowgraph] (rpython.translator.exceptiontransform:114)rpyexc_raise [flowgraph] (rpython.translator.exceptiontransform:128)rpyexc_reraise [flowgraph] (rpython.translator.exceptiontransform:133)rpyexc_fetch_exception [flowgraph] (rpython.translator.exceptiontransform:138)rpyexc_restore_exception [flowgraph] (rpython.translator.exceptiontransform:539)rpyexc_get_exception_addr [flowgraph] (rpython.translator.exceptiontransform:543)rpyexc_get_exc_value_addr [flowgraph] (rpython.rtyper.rclass:1173)ll_inst_type [rtyper] specializing: 1100 / 1117 blocks (98%) [rtyper] -=- specialized 25 more blocks -=- [flowgraph] (rpython.memory.gctransform.transform:447)_ll_malloc_fixedsize [flowgraph] (rpython.memory.gctransform.transform:454)_ll_malloc_fixedsize_zero [flowgraph] (rpython.memory.gctransform.transform:470)_ll_malloc_varsize_no_length [flowgraph] (rpython.memory.gctransform.transform:487)ll_malloc_varsize [flowgraph] (rpython.memory.gctransform.transform:493)_ll_malloc_varsize_no_length_zero [c58163bc3892480] translation-task} . pypy/module/thread/test/test_import_lock.py::AppTestThread::()::test_import_lock . pypy/module/thread/test/test_import_lock.py::AppTestThread::()::test_with_many_dependencies . pypy/module/thread/test/test_import_lock.py::AppTestThread::()::test_manual_locking . pypy/module/thread/test/test_import_lock.py::AppTestThread::()::test_lock_held_by_another_thread . pypy/module/thread/test/test_import_lock.py::TestImportLock::()::test_lock F pypy/module/thread/test/test_local.py::AppTestLocal::()::test_local_1 self = func = at 0xf300caac>, 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, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 0xf7a3c32c> hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf69d94cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf69d94cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf33ba56c> 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 0xf33ba56c> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf33ecbac> 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 0xf33ecbac> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def runtest(self): target = self.obj if self.config.option.runappdirect: return target() space = target.im_self.space filename = self._getdynfilename(target) func = app2interp_temp(target.im_func, filename=filename) w_instance = self.parent.w_instance > self.execute_appex(space, func, space, w_instance) tool/pytest/apptest.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , space = StdObjSpace target = args = (StdObjSpace, ) def execute_appex(self, space, target, *args): self.space = space try: > target(*args) tool/pytest/apptest.py:30: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace args_w = (,) w_func = args = def appcaller(space, *args_w): if not isinstance(space, ObjSpace): raise TypeError("first argument must be a space instance.") # the last argument can be an Arguments w_func = self.wget(space, name) if not args_w: return space.call_function(w_func) else: args = args_w[-1] assert args is not None if not isinstance(args, Arguments): > return space.call_function(w_func, *args_w) interpreter/gateway.py:1227: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = args_w = (,) nargs = 1, Function = Method = def call_function(self, w_func, *args_w): nargs = len(args_w) # used for pruning funccall versions if not self.config.objspace.disable_call_speedhacks and nargs < 5: # start of hack for performance from pypy.interpreter.function import Function, Method if isinstance(w_func, Method): w_inst = w_func.w_instance if w_inst is not None: if nargs < 4: func = w_func.w_function if isinstance(func, Function): return func.funccall(w_inst, *args_w) elif args_w and ( self.abstract_isinstance_w(args_w[0], w_func.w_class)): w_func = w_func.w_function if isinstance(w_func, Function): > return w_func.funccall(*args_w) interpreter/baseobjspace.py:1210: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = args_w = (,) gateway = PyCode = code = def funccall(self, *args_w): # speed hack from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit nargs = len(args_w) fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, args_w[0]) elif nargs == 2: assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, args_w[0], args_w[1]) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) return code.fastcall_3(self.space, self, args_w[0], args_w[1], args_w[2]) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) return code.fastcall_4(self.space, self, args_w[0], args_w[1], args_w[2], args_w[3]) elif (nargs | PyCode.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) if nargs < 5: new_frame = self.space.createframe(code, self.w_func_globals, self) for i in funccallunrolling: if i < nargs: new_frame.locals_cells_stack_w[i] = args_w[i] return new_frame.run() elif nargs >= 1 and fast_natural_arity == Code.PASSTHROUGHARGS1: assert isinstance(code, gateway.BuiltinCodePassThroughArguments1) return code.funcrun_obj(self, args_w[0], Arguments(self.space, list(args_w[1:]))) > return self.call_args(Arguments(self.space, list(args_w))) interpreter/function.py:124: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = args = Arguments([]) def call_args(self, args): # delegate activation to code > w_res = self.getcode().funcrun(self, args) interpreter/function.py:68: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = func = args = Arguments([]) def funcrun(self, func, args): frame = self.space.createframe(self, func.w_func_globals, func) sig = self._signature # speed hack fresh_frame = jit.hint(frame, access_directly=True, fresh_virtualizable=True) args.parse_into_scope(None, fresh_frame.locals_cells_stack_w, func.name, sig, func.defs_w) fresh_frame.init_cells() > return frame.run() interpreter/pycode.py:223: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 33 def run(self): """Start this frame's execution.""" if self.getcode().co_flags & pycode.CO_GENERATOR: from pypy.interpreter.generator import GeneratorIterator return GeneratorIterator(self) else: > return self.execute_frame() interpreter/pyframe.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 33 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:290: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 33 e = SyntaxError("Non-ASCII character '\\xe2' in file /build_dir/own-linux-x86-32/b..., ('/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py', 423, 0, None)) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:943: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 33 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:286: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 33 pycode = next_instr = 144 ec = def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 33 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x01\x00d\x01\x00d\x00\x00l\x01\x00}\x02\x00d\x01\x00d\x02\x00l\x00\x00m\x02\x00}\x03\x00...x00s:\x01t\x08\x00\x82\x01\x00\xcc\x15\x00\x88\x00\x00j\x03\x00d\x05\x00k\x02\x00sR\x01t\x08\x00\x82\x01\x00d\x00\x00S' next_instr = 144 ec = def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 33 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x01\x00d\x01\x00d\x00\x00l\x01\x00}\x02\x00d\x01\x00d\x02\x00l\x00\x00m\x02\x00}\x03\x00...x00s:\x01t\x08\x00\x82\x01\x00\xcc\x15\x00\x88\x00\x00j\x03\x00d\x05\x00k\x02\x00sR\x01t\x08\x00\x82\x01\x00d\x00\x00S' next_instr = 235L ec = @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: self.last_instr = intmask(next_instr) if jit.we_are_jitted(): if self.debugdata: ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: ec.bytecode_trace(self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) next_instr += 1 if opcode >= HAVE_ARGUMENT: lo = ord(co_code[next_instr]) hi = ord(co_code[next_instr+1]) next_instr += 2 oparg = (hi * 256) | lo else: oparg = 0 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into a switch(). while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption lo = ord(co_code[next_instr+1]) hi = ord(co_code[next_instr+2]) next_instr += 3 oparg = (oparg * 65536) | (hi * 256) | lo if opcode == opcodedesc.RETURN_VALUE.index: if not self.blockstack_non_empty(): self.frame_finished_execution = True # for generators raise Return w_returnvalue = self.popvalue() block = self.unrollstack(SReturnValue.kind) if block is None: self.pushvalue(w_returnvalue) raise Return else: unroller = SReturnValue(w_returnvalue) next_instr = block.handle(self, unroller) return next_instr # now inside a 'finally' block elif opcode == opcodedesc.END_FINALLY.index: unroller = self.end_finally() if isinstance(unroller, SuspendedUnroller): # go on unrolling the stack block = self.unrollstack(unroller.kind) if block is None: w_result = unroller.nomoreblocks() self.pushvalue(w_result) raise Return else: next_instr = block.handle(self, unroller) return next_instr elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, ec) elif opcode == opcodedesc.BREAK_LOOP.index: next_instr = self.BREAK_LOOP(oparg, next_instr) elif opcode == opcodedesc.CONTINUE_LOOP.index: return self.CONTINUE_LOOP(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: next_instr = self.JUMP_IF_FALSE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_DEBUG.index: next_instr = self.JUMP_IF_NOT_DEBUG(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: next_instr = self.JUMP_IF_TRUE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: next_instr = self.POP_JUMP_IF_FALSE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: next_instr = self.POP_JUMP_IF_TRUE(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_DIVIDE.index: self.BINARY_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CLASS.index: self.BUILD_CLASS(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR.index: self.CALL_FUNCTION_VAR(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR_KW.index: self.CALL_FUNCTION_VAR_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: self.CALL_METHOD(oparg, next_instr) elif opcode == opcodedesc.COMPARE_OP.index: self.COMPARE_OP(oparg, next_instr) elif opcode == opcodedesc.DELETE_ATTR.index: self.DELETE_ATTR(oparg, next_instr) elif opcode == opcodedesc.DELETE_FAST.index: self.DELETE_FAST(oparg, next_instr) elif opcode == opcodedesc.DELETE_GLOBAL.index: self.DELETE_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.DELETE_NAME.index: self.DELETE_NAME(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_0.index: self.DELETE_SLICE_0(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_1.index: self.DELETE_SLICE_1(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_2.index: self.DELETE_SLICE_2(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_3.index: self.DELETE_SLICE_3(oparg, next_instr) elif opcode == opcodedesc.DELETE_SUBSCR.index: self.DELETE_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.DUP_TOP.index: self.DUP_TOP(oparg, next_instr) elif opcode == opcodedesc.DUP_TOPX.index: self.DUP_TOPX(oparg, next_instr) elif opcode == opcodedesc.EXEC_STMT.index: self.EXEC_STMT(oparg, next_instr) elif opcode == opcodedesc.GET_ITER.index: self.GET_ITER(oparg, next_instr) elif opcode == opcodedesc.IMPORT_FROM.index: self.IMPORT_FROM(oparg, next_instr) elif opcode == opcodedesc.IMPORT_NAME.index: self.IMPORT_NAME(oparg, next_instr) elif opcode == opcodedesc.IMPORT_STAR.index: self.IMPORT_STAR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_ADD.index: self.INPLACE_ADD(oparg, next_instr) elif opcode == opcodedesc.INPLACE_AND.index: self.INPLACE_AND(oparg, next_instr) elif opcode == opcodedesc.INPLACE_DIVIDE.index: self.INPLACE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_FLOOR_DIVIDE.index: self.INPLACE_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_LSHIFT.index: self.INPLACE_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MODULO.index: self.INPLACE_MODULO(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MULTIPLY.index: self.INPLACE_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.INPLACE_OR.index: self.INPLACE_OR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_POWER.index: self.INPLACE_POWER(oparg, next_instr) elif opcode == opcodedesc.INPLACE_RSHIFT.index: self.INPLACE_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_SUBTRACT.index: self.INPLACE_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_TRUE_DIVIDE.index: self.INPLACE_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_XOR.index: self.INPLACE_XOR(oparg, next_instr) elif opcode == opcodedesc.LIST_APPEND.index: self.LIST_APPEND(oparg, next_instr) elif opcode == opcodedesc.LOAD_ATTR.index: self.LOAD_ATTR(oparg, next_instr) elif opcode == opcodedesc.LOAD_CLOSURE.index: self.LOAD_CLOSURE(oparg, next_instr) elif opcode == opcodedesc.LOAD_CONST.index: self.LOAD_CONST(oparg, next_instr) elif opcode == opcodedesc.LOAD_DEREF.index: self.LOAD_DEREF(oparg, next_instr) elif opcode == opcodedesc.LOAD_FAST.index: self.LOAD_FAST(oparg, next_instr) elif opcode == opcodedesc.LOAD_GLOBAL.index: self.LOAD_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.LOAD_LOCALS.index: self.LOAD_LOCALS(oparg, next_instr) elif opcode == opcodedesc.LOAD_NAME.index: self.LOAD_NAME(oparg, next_instr) elif opcode == opcodedesc.LOOKUP_METHOD.index: > self.LOOKUP_METHOD(oparg, next_instr) interpreter/pyopcode.py:356: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = at line 33 nameindex = 9, ignored = (235L,) MutableCell = space = StdObjSpace w_obj = def LOOKUP_METHOD(f, nameindex, *ignored): from pypy.objspace.std.typeobject import MutableCell # stack before after # -------------- --fast-method----fallback-case------------ # # w_object None # w_object => w_function w_boundmethod_or_whatever # (more stuff) (more stuff) (more stuff) # space = f.space w_obj = f.popvalue() if not jit.we_are_jitted(): # mapdict has an extra-fast version of this function if LOOKUP_METHOD_mapdict(f, nameindex, w_obj): return w_name = f.getname_w(nameindex) w_value = None w_type = space.type(w_obj) if w_type.has_object_getattribute(): name = space.text_w(w_name) # bit of a mess to use these internal functions, but it allows the # mapdict caching below to work without an additional lookup version_tag = w_type.version_tag() if version_tag is None: _, w_descr = w_type._lookup_where(name) w_descr_cell = None else: _, w_descr_cell = w_type._pure_lookup_where_with_method_cache( name, version_tag) w_descr = w_descr_cell if isinstance(w_descr, MutableCell): w_descr = w_descr.unwrap_cell(space) if w_descr is None: # this handles directly the common case # module.function(args..) > w_value = w_obj.getdictvalue(space, name) objspace/std/callmethod.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def getdictvalue(self, space, name): w_value = space.finditem_str(self.w_dict, name) if self.lazy and w_value is None: > return self._load_lazily(space, name) interpreter/mixedmodule.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def _load_lazily(self, space, name): w_name = space.new_interned_str(name) try: loader = self.loaders[name] except KeyError: return None else: > w_value = loader(space) interpreter/mixedmodule.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace def ifileloader(space): d = {'space':space} # EVIL HACK (but it works, and this is not RPython :-) while 1: try: value = eval(spec, d) except NameError as ex: name = ex.args[0].split("'")[1] # super-Evil if name in d: raise # propagate the NameError try: > d[name] = __import__(pkgroot+'.'+name, None, None, [name]) interpreter/mixedmodule.py:182: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from pypy.interpreter.gateway import unwrap_spec from pypy.interpreter.error import oefmt from rpython.rlib import rgc > from pypy.module.gc.hook import W_GcCollectStepStats module/gc/interp_gc.py:4: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from rpython.memory.gc.hook import GcHooks > from rpython.memory.gc import incminimark module/gc/hook.py:2: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ # XXX Should find a way to bound the major collection threshold by the # XXX total addressable size. Maybe by keeping some minimarkpage arenas # XXX pre-reserved, enough for a few nursery collections? What about # XXX raw-malloced memory? # XXX try merging old_objects_pointing_to_pinned into # XXX old_objects_pointing_to_young (IRC 2014-10-22, fijal and gregor_w) import sys import os import time from rpython.rtyper.lltypesystem import lltype, llmemory, llarena, llgroup from rpython.rtyper.lltypesystem.lloperation import llop from rpython.rtyper.lltypesystem.llmemory import raw_malloc_usage from rpython.memory.gc.base import GCBase, MovingGCBase > from rpython.memory.gc import env E File "/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py", line 423 E SyntaxError: Non-ASCII character '\xe2' in file /build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py on line 423, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details ../rpython/memory/gc/incminimark.py:70: SyntaxError . pypy/module/thread/test/test_local.py::AppTestLocal::()::test_local_init . pypy/module/thread/test/test_local.py::AppTestLocal::()::test_local_init2 . pypy/module/thread/test/test_local.py::AppTestLocal::()::test_local_setdict . pypy/module/thread/test/test_local.py::AppTestLocal::()::test_weakrefable F pypy/module/thread/test/test_local.py::AppTestLocal::()::test_local_is_not_immortal self = func = at 0xf471adbc>, 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, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 0xf7a3c32c> hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf69d94cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf69d94cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf334980c> 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 0xf334980c> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf334978c> 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 0xf334978c> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def runtest(self): target = self.obj if self.config.option.runappdirect: return target() space = target.im_self.space filename = self._getdynfilename(target) func = app2interp_temp(target.im_func, filename=filename) w_instance = self.parent.w_instance > self.execute_appex(space, func, space, w_instance) tool/pytest/apptest.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , space = StdObjSpace target = args = (StdObjSpace, ) def execute_appex(self, space, target, *args): self.space = space try: > target(*args) tool/pytest/apptest.py:30: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace args_w = (,) w_func = args = def appcaller(space, *args_w): if not isinstance(space, ObjSpace): raise TypeError("first argument must be a space instance.") # the last argument can be an Arguments w_func = self.wget(space, name) if not args_w: return space.call_function(w_func) else: args = args_w[-1] assert args is not None if not isinstance(args, Arguments): > return space.call_function(w_func, *args_w) interpreter/gateway.py:1227: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = args_w = (,) nargs = 1, Function = Method = def call_function(self, w_func, *args_w): nargs = len(args_w) # used for pruning funccall versions if not self.config.objspace.disable_call_speedhacks and nargs < 5: # start of hack for performance from pypy.interpreter.function import Function, Method if isinstance(w_func, Method): w_inst = w_func.w_instance if w_inst is not None: if nargs < 4: func = w_func.w_function if isinstance(func, Function): return func.funccall(w_inst, *args_w) elif args_w and ( self.abstract_isinstance_w(args_w[0], w_func.w_class)): w_func = w_func.w_function if isinstance(w_func, Function): > return w_func.funccall(*args_w) interpreter/baseobjspace.py:1210: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = args_w = (,) gateway = PyCode = code = def funccall(self, *args_w): # speed hack from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit nargs = len(args_w) fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, args_w[0]) elif nargs == 2: assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, args_w[0], args_w[1]) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) return code.fastcall_3(self.space, self, args_w[0], args_w[1], args_w[2]) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) return code.fastcall_4(self.space, self, args_w[0], args_w[1], args_w[2], args_w[3]) elif (nargs | PyCode.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) if nargs < 5: new_frame = self.space.createframe(code, self.w_func_globals, self) for i in funccallunrolling: if i < nargs: new_frame.locals_cells_stack_w[i] = args_w[i] return new_frame.run() elif nargs >= 1 and fast_natural_arity == Code.PASSTHROUGHARGS1: assert isinstance(code, gateway.BuiltinCodePassThroughArguments1) return code.funcrun_obj(self, args_w[0], Arguments(self.space, list(args_w[1:]))) > return self.call_args(Arguments(self.space, list(args_w))) interpreter/function.py:124: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = args = Arguments([]) def call_args(self, args): # delegate activation to code > w_res = self.getcode().funcrun(self, args) interpreter/function.py:68: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = func = args = Arguments([]) def funcrun(self, func, args): frame = self.space.createframe(self, func.w_func_globals, func) sig = self._signature # speed hack fresh_frame = jit.hint(frame, access_directly=True, fresh_virtualizable=True) args.parse_into_scope(None, fresh_frame.locals_cells_stack_w, func.name, sig, func.defs_w) fresh_frame.init_cells() > return frame.run() interpreter/pycode.py:223: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 17 def run(self): """Start this frame's execution.""" if self.getcode().co_flags & pycode.CO_GENERATOR: from pypy.interpreter.generator import GeneratorIterator return GeneratorIterator(self) else: > return self.execute_frame() interpreter/pyframe.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 17 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:290: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 17 e = SyntaxError("Non-ASCII character '\\xe2' in file /build_dir/own-linux-x86-32/b..., ('/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py', 423, 0, None)) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:943: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 17 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:286: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 17 pycode = next_instr = 0L ec = def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 17 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x01\x00d\x01\x00d\x00\x00l\x01\x00}\x02\x00d\x01\x00d\x00\x00l\x02\x00}\x03\x00d\x02\x00...\x00d\x0b\x00g\x02\x00k\x02\x00s\xc7\x00t\x08\x00\x82\x01\x00\x88\x00\x00\xc9\t\x00d\x0c\x00\xca\x01\x00\x01d\x00\x00S' next_instr = 0L ec = def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 17 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x01\x00d\x01\x00d\x00\x00l\x01\x00}\x02\x00d\x01\x00d\x00\x00l\x02\x00}\x03\x00d\x02\x00...\x00d\x0b\x00g\x02\x00k\x02\x00s\xc7\x00t\x08\x00\x82\x01\x00\x88\x00\x00\xc9\t\x00d\x0c\x00\xca\x01\x00\x01d\x00\x00S' next_instr = 168L ec = @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: self.last_instr = intmask(next_instr) if jit.we_are_jitted(): if self.debugdata: ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: ec.bytecode_trace(self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) next_instr += 1 if opcode >= HAVE_ARGUMENT: lo = ord(co_code[next_instr]) hi = ord(co_code[next_instr+1]) next_instr += 2 oparg = (hi * 256) | lo else: oparg = 0 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into a switch(). while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption lo = ord(co_code[next_instr+1]) hi = ord(co_code[next_instr+2]) next_instr += 3 oparg = (oparg * 65536) | (hi * 256) | lo if opcode == opcodedesc.RETURN_VALUE.index: if not self.blockstack_non_empty(): self.frame_finished_execution = True # for generators raise Return w_returnvalue = self.popvalue() block = self.unrollstack(SReturnValue.kind) if block is None: self.pushvalue(w_returnvalue) raise Return else: unroller = SReturnValue(w_returnvalue) next_instr = block.handle(self, unroller) return next_instr # now inside a 'finally' block elif opcode == opcodedesc.END_FINALLY.index: unroller = self.end_finally() if isinstance(unroller, SuspendedUnroller): # go on unrolling the stack block = self.unrollstack(unroller.kind) if block is None: w_result = unroller.nomoreblocks() self.pushvalue(w_result) raise Return else: next_instr = block.handle(self, unroller) return next_instr elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, ec) elif opcode == opcodedesc.BREAK_LOOP.index: next_instr = self.BREAK_LOOP(oparg, next_instr) elif opcode == opcodedesc.CONTINUE_LOOP.index: return self.CONTINUE_LOOP(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: next_instr = self.JUMP_IF_FALSE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_DEBUG.index: next_instr = self.JUMP_IF_NOT_DEBUG(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: next_instr = self.JUMP_IF_TRUE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: next_instr = self.POP_JUMP_IF_FALSE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: next_instr = self.POP_JUMP_IF_TRUE(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_DIVIDE.index: self.BINARY_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CLASS.index: self.BUILD_CLASS(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR.index: self.CALL_FUNCTION_VAR(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR_KW.index: self.CALL_FUNCTION_VAR_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: self.CALL_METHOD(oparg, next_instr) elif opcode == opcodedesc.COMPARE_OP.index: self.COMPARE_OP(oparg, next_instr) elif opcode == opcodedesc.DELETE_ATTR.index: self.DELETE_ATTR(oparg, next_instr) elif opcode == opcodedesc.DELETE_FAST.index: self.DELETE_FAST(oparg, next_instr) elif opcode == opcodedesc.DELETE_GLOBAL.index: self.DELETE_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.DELETE_NAME.index: self.DELETE_NAME(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_0.index: self.DELETE_SLICE_0(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_1.index: self.DELETE_SLICE_1(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_2.index: self.DELETE_SLICE_2(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_3.index: self.DELETE_SLICE_3(oparg, next_instr) elif opcode == opcodedesc.DELETE_SUBSCR.index: self.DELETE_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.DUP_TOP.index: self.DUP_TOP(oparg, next_instr) elif opcode == opcodedesc.DUP_TOPX.index: self.DUP_TOPX(oparg, next_instr) elif opcode == opcodedesc.EXEC_STMT.index: self.EXEC_STMT(oparg, next_instr) elif opcode == opcodedesc.GET_ITER.index: self.GET_ITER(oparg, next_instr) elif opcode == opcodedesc.IMPORT_FROM.index: self.IMPORT_FROM(oparg, next_instr) elif opcode == opcodedesc.IMPORT_NAME.index: self.IMPORT_NAME(oparg, next_instr) elif opcode == opcodedesc.IMPORT_STAR.index: self.IMPORT_STAR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_ADD.index: self.INPLACE_ADD(oparg, next_instr) elif opcode == opcodedesc.INPLACE_AND.index: self.INPLACE_AND(oparg, next_instr) elif opcode == opcodedesc.INPLACE_DIVIDE.index: self.INPLACE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_FLOOR_DIVIDE.index: self.INPLACE_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_LSHIFT.index: self.INPLACE_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MODULO.index: self.INPLACE_MODULO(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MULTIPLY.index: self.INPLACE_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.INPLACE_OR.index: self.INPLACE_OR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_POWER.index: self.INPLACE_POWER(oparg, next_instr) elif opcode == opcodedesc.INPLACE_RSHIFT.index: self.INPLACE_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_SUBTRACT.index: self.INPLACE_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_TRUE_DIVIDE.index: self.INPLACE_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_XOR.index: self.INPLACE_XOR(oparg, next_instr) elif opcode == opcodedesc.LIST_APPEND.index: self.LIST_APPEND(oparg, next_instr) elif opcode == opcodedesc.LOAD_ATTR.index: self.LOAD_ATTR(oparg, next_instr) elif opcode == opcodedesc.LOAD_CLOSURE.index: self.LOAD_CLOSURE(oparg, next_instr) elif opcode == opcodedesc.LOAD_CONST.index: self.LOAD_CONST(oparg, next_instr) elif opcode == opcodedesc.LOAD_DEREF.index: self.LOAD_DEREF(oparg, next_instr) elif opcode == opcodedesc.LOAD_FAST.index: self.LOAD_FAST(oparg, next_instr) elif opcode == opcodedesc.LOAD_GLOBAL.index: self.LOAD_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.LOAD_LOCALS.index: self.LOAD_LOCALS(oparg, next_instr) elif opcode == opcodedesc.LOAD_NAME.index: self.LOAD_NAME(oparg, next_instr) elif opcode == opcodedesc.LOOKUP_METHOD.index: > self.LOOKUP_METHOD(oparg, next_instr) interpreter/pyopcode.py:356: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = at line 17 nameindex = 7, ignored = (168L,) MutableCell = space = StdObjSpace w_obj = def LOOKUP_METHOD(f, nameindex, *ignored): from pypy.objspace.std.typeobject import MutableCell # stack before after # -------------- --fast-method----fallback-case------------ # # w_object None # w_object => w_function w_boundmethod_or_whatever # (more stuff) (more stuff) (more stuff) # space = f.space w_obj = f.popvalue() if not jit.we_are_jitted(): # mapdict has an extra-fast version of this function if LOOKUP_METHOD_mapdict(f, nameindex, w_obj): return w_name = f.getname_w(nameindex) w_value = None w_type = space.type(w_obj) if w_type.has_object_getattribute(): name = space.text_w(w_name) # bit of a mess to use these internal functions, but it allows the # mapdict caching below to work without an additional lookup version_tag = w_type.version_tag() if version_tag is None: _, w_descr = w_type._lookup_where(name) w_descr_cell = None else: _, w_descr_cell = w_type._pure_lookup_where_with_method_cache( name, version_tag) w_descr = w_descr_cell if isinstance(w_descr, MutableCell): w_descr = w_descr.unwrap_cell(space) if w_descr is None: # this handles directly the common case # module.function(args..) > w_value = w_obj.getdictvalue(space, name) objspace/std/callmethod.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def getdictvalue(self, space, name): w_value = space.finditem_str(self.w_dict, name) if self.lazy and w_value is None: > return self._load_lazily(space, name) interpreter/mixedmodule.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def _load_lazily(self, space, name): w_name = space.new_interned_str(name) try: loader = self.loaders[name] except KeyError: return None else: > w_value = loader(space) interpreter/mixedmodule.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace def ifileloader(space): d = {'space':space} # EVIL HACK (but it works, and this is not RPython :-) while 1: try: value = eval(spec, d) except NameError as ex: name = ex.args[0].split("'")[1] # super-Evil if name in d: raise # propagate the NameError try: > d[name] = __import__(pkgroot+'.'+name, None, None, [name]) interpreter/mixedmodule.py:182: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from pypy.interpreter.gateway import unwrap_spec from pypy.interpreter.error import oefmt from rpython.rlib import rgc > from pypy.module.gc.hook import W_GcCollectStepStats module/gc/interp_gc.py:4: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from rpython.memory.gc.hook import GcHooks > from rpython.memory.gc import incminimark module/gc/hook.py:2: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ # XXX Should find a way to bound the major collection threshold by the # XXX total addressable size. Maybe by keeping some minimarkpage arenas # XXX pre-reserved, enough for a few nursery collections? What about # XXX raw-malloced memory? # XXX try merging old_objects_pointing_to_pinned into # XXX old_objects_pointing_to_young (IRC 2014-10-22, fijal and gregor_w) import sys import os import time from rpython.rtyper.lltypesystem import lltype, llmemory, llarena, llgroup from rpython.rtyper.lltypesystem.lloperation import llop from rpython.rtyper.lltypesystem.llmemory import raw_malloc_usage from rpython.memory.gc.base import GCBase, MovingGCBase > from rpython.memory.gc import env E File "/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py", line 423 E SyntaxError: Non-ASCII character '\xe2' in file /build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py on line 423, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details ../rpython/memory/gc/incminimark.py:70: SyntaxError . pypy/module/thread/test/test_local.py::test_local_caching . pypy/module/thread/test/test_lock.py::AppTestLock::()::test_lock_basic . pypy/module/thread/test/test_lock.py::AppTestLock::()::test_lock_in_with . pypy/module/thread/test/test_lock.py::AppTestLock::()::test_weakrefable . pypy/module/thread/test/test_lock.py::AppTestLock::()::test_timeout . pypy/module/thread/test/test_lock.py::AppTestLock::()::test_py3k_acquire_timeout_overflow . pypy/module/thread/test/test_lock.py::AppTestLock::()::test_ping_pong . pypy/module/thread/test/test_lock.py::test_compile_lock . pypy/module/thread/test/test_lock.py::AppTestLockAgain::()::test_lock_again . pypy/module/thread/test/test_lock.py::AppTestRLock::()::test_reacquire . pypy/module/thread/test/test_lock.py::AppTestRLock::()::test_release_unacquired . pypy/module/thread/test/test_lock.py::AppTestRLock::()::test_release_save . pypy/module/thread/test/test_lock.py::AppTestRLock::()::test__is_owned . pypy/module/thread/test/test_lock.py::AppTestRLock::()::test_context_manager . pypy/module/thread/test/test_lock.py::AppTestLockSignals::()::test_lock_acquire_retries_on_intr . pypy/module/thread/test/test_lock.py::AppTestLockSignals::()::test_rlock_acquire_retries_on_intr . pypy/module/thread/test/test_lock.py::AppTestLockSignals::()::test_lock_acquire_interruption . pypy/module/thread/test/test_lock.py::AppTestLockRepr::()::test_rlock_repr . pypy/module/thread/test/test_thread.py::AppTestThread::()::test_start_new_thread F pypy/module/thread/test/test_thread.py::AppTestThread::()::test_thread_count self = def test_thread_count(self): import thread, time feedback = [] please_start = [] def f(): feedback.append(42) self.waitfor(lambda: please_start) > assert thread._count() == 0 E (application-level) AssertionError: assert 1 == 0 E + where 1 = () E + where = E + where = ._count [/build_dir/own-linux-x86-32/build/pypy/module/thread/test/test_thread.py:21]:8: AssertionError . pypy/module/thread/test/test_thread.py::AppTestThread::()::test_start_new_thread_args . pypy/module/thread/test/test_thread.py::AppTestThread::()::test_get_ident . pypy/module/thread/test/test_thread.py::AppTestThread::()::test_sys_getframe . pypy/module/thread/test/test_thread.py::AppTestThread::()::test_thread_exit . pypy/module/thread/test/test_thread.py::AppTestThread::()::test_perthread_excinfo . pypy/module/thread/test/test_thread.py::AppTestThread::()::test_no_corruption . pypy/module/thread/test/test_thread.py::AppTestThread::()::test_stack_size . pypy/module/thread/test/test_thread.py::AppTestThread::()::test_interrupt_main . pypy/module/thread/test/test_thread.py::AppTestThread::()::test_interrupt_non_main . pypy/module/thread/test/test_thread.py::AppTestThread::()::test_interrupt_self (somefailed=True in module/thread/test) s pypy/module/test_lib_pypy/test_coroutine.py /build_dir/own-linux-x86-32/build/pypy/module/test_lib_pypy/test_coroutine.py:4: Skipped: test needs to be updated s pypy/module/test_lib_pypy/test_curses.py /build_dir/own-linux-x86-32/build/pypy/module/test_lib_pypy/test_curses.py:14: Skipped: install cffi and run lib_pypy/_curses_build.py manually first s pypy/module/test_lib_pypy/test_os_wait.py /build_dir/own-linux-x86-32/build/pypy/module/test_lib_pypy/test_resource.py:11: Skipped: No module named _resource_cffi s pypy/module/test_lib_pypy/test_resource.py /build_dir/own-linux-x86-32/build/pypy/module/test_lib_pypy/test_resource.py:11: Skipped: No module named _resource_cffi s pypy/module/test_lib_pypy/test_stackless.py /build_dir/own-linux-x86-32/build/pypy/module/test_lib_pypy/test_stackless.py:15: Skipped: cannot import stackless: No module named _continuation s pypy/module/test_lib_pypy/test_stackless_pickle.py /build_dir/own-linux-x86-32/build/pypy/module/test_lib_pypy/test_stackless_pickle.py:2: Skipped: in-progress, maybe s pypy/module/test_lib_pypy/test_stackless_pickling.py /build_dir/own-linux-x86-32/build/pypy/module/test_lib_pypy/test_stackless_pickling.py:9: Skipped: cannot import stackless: No module named _continuation . pypy/module/test_lib_pypy/test_collections.py::AppTestDeque::()::test_deque . pypy/module/test_lib_pypy/test_collections.py::AppTestDeque::()::test_deque_iter . pypy/module/test_lib_pypy/test_collections.py::AppTestDeque::()::test_deque_reversed . pypy/module/test_lib_pypy/test_collections.py::AppTestDeque::()::test_deque_remove . pypy/module/test_lib_pypy/test_collections.py::AppTestDeque::()::test_mutate_during_remove . pypy/module/test_lib_pypy/test_collections.py::AppTestDeque::()::test_deque_unhashable . pypy/module/test_lib_pypy/test_collections.py::AppTestDequeExtra::()::test_remove_empty . pypy/module/test_lib_pypy/test_collections.py::AppTestDequeExtra::()::test_remove_mutating . pypy/module/test_lib_pypy/test_collections.py::AppTestDequeExtra::()::test_remove_failing . pypy/module/test_lib_pypy/test_collections.py::AppTestDequeExtra::()::test_maxlen . pypy/module/test_lib_pypy/test_collections.py::AppTestDequeExtra::()::test_count . pypy/module/test_lib_pypy/test_collections.py::AppTestDequeExtra::()::test_reverse . pypy/module/test_lib_pypy/test_collections.py::AppTestDequeExtra::()::test_subclass_with_kwargs . pypy/module/test_lib_pypy/test_collections.py::AppTestDefaultDict::()::test_basic . pypy/module/test_lib_pypy/test_collections.py::AppTestDefaultDict::()::test_constructor . pypy/module/test_lib_pypy/test_collections.py::AppTestDefaultDict::()::test_missing . pypy/module/test_lib_pypy/test_collections.py::AppTestDefaultDict::()::test_repr . pypy/module/test_lib_pypy/test_collections.py::AppTestDefaultDict::()::test_recursive_repr . pypy/module/test_lib_pypy/test_collections.py::AppTestDefaultDict::()::test_copy . pypy/module/test_lib_pypy/test_collections.py::AppTestDefaultDict::()::test_shallow_copy . pypy/module/test_lib_pypy/test_collections.py::AppTestDefaultDict::()::test_deep_copy . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dumps_and_reload[042] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dumps_and_reload[12147483647] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dumps_and_reload[2-1.25] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dumps_and_reload[3case3] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dumps_and_reload[4case4] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dumps_and_reload[5case5] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dumps_and_reload[6hello] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dumps_and_reload[7hello] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dumps_and_reload[8case8] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dumps_and_reload[9case9] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dumps_and_reload[10case10] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dumps_and_reload[11case11] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dumps_and_reload[12case12] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dumps_and_reload[13case13] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dumps_and_reload[14hello] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dumps_and_reload[15case15] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dumps_and_reload[16case16] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dumps_and_reload[17case17] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dumps_and_reload[18case18] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dumps_and_reload[19None] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dumps_and_reload[20False] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dumps_and_reload[21True] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dumps_and_reload[22StopIteration] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dumps_and_reload[23case23] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dumps_and_reload[24case24] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dumps_and_reload[25case25] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_loads_from_cpython[042] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_loads_from_cpython[12147483647] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_loads_from_cpython[2-1.25] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_loads_from_cpython[3case3] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_loads_from_cpython[4case4] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_loads_from_cpython[5case5] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_loads_from_cpython[6hello] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_loads_from_cpython[7hello] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_loads_from_cpython[8case8] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_loads_from_cpython[9case9] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_loads_from_cpython[10case10] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_loads_from_cpython[11case11] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_loads_from_cpython[12case12] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_loads_from_cpython[13case13] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_loads_from_cpython[14hello] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_loads_from_cpython[15case15] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_loads_from_cpython[16case16] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_loads_from_cpython[17case17] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_loads_from_cpython[18case18] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_loads_from_cpython[19None] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_loads_from_cpython[20False] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_loads_from_cpython[21True] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_loads_from_cpython[22StopIteration] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_loads_from_cpython[23case23] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_loads_from_cpython[24case24] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_loads_from_cpython[25case25] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dumps_to_cpython[042] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dumps_to_cpython[12147483647] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dumps_to_cpython[2-1.25] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dumps_to_cpython[3case3] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dumps_to_cpython[4case4] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dumps_to_cpython[5case5] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dumps_to_cpython[6hello] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dumps_to_cpython[7hello] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dumps_to_cpython[8case8] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dumps_to_cpython[9case9] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dumps_to_cpython[10case10] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dumps_to_cpython[11case11] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dumps_to_cpython[12case12] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dumps_to_cpython[13case13] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dumps_to_cpython[14hello] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dumps_to_cpython[15case15] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dumps_to_cpython[16case16] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dumps_to_cpython[17case17] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dumps_to_cpython[18case18] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dumps_to_cpython[19None] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dumps_to_cpython[20False] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dumps_to_cpython[21True] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dumps_to_cpython[22StopIteration] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dumps_to_cpython[23case23] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dumps_to_cpython[24case24] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dumps_to_cpython[25case25] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dumps_subclass[042] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dumps_subclass[12147483647] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dumps_subclass[2-1.25] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dumps_subclass[3case3] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dumps_subclass[4case4] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dumps_subclass[5case5] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dumps_subclass[6hello] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dumps_subclass[7hello] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dumps_subclass[8case8] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dumps_subclass[9case9] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dumps_subclass[10case10] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dumps_subclass[11case11] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dumps_subclass[12case12] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dumps_subclass[13case13] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dumps_subclass[14hello] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dumps_subclass[15case15] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dumps_subclass[16case16] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dumps_subclass[17case17] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dumps_subclass[18case18] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_load_from_cpython[042] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_load_from_cpython[12147483647] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_load_from_cpython[2-1.25] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_load_from_cpython[3case3] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_load_from_cpython[4case4] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_load_from_cpython[5case5] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_load_from_cpython[6hello] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_load_from_cpython[7hello] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_load_from_cpython[8case8] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_load_from_cpython[9case9] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_load_from_cpython[10case10] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_load_from_cpython[11case11] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_load_from_cpython[12case12] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_load_from_cpython[13case13] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_load_from_cpython[14hello] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_load_from_cpython[15case15] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_load_from_cpython[16case16] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_load_from_cpython[17case17] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_load_from_cpython[18case18] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_load_from_cpython[19None] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_load_from_cpython[20False] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_load_from_cpython[21True] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_load_from_cpython[22StopIteration] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_load_from_cpython[23case23] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_load_from_cpython[24case24] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_load_from_cpython[25case25] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dump_to_cpython[042] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dump_to_cpython[12147483647] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dump_to_cpython[2-1.25] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dump_to_cpython[3case3] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dump_to_cpython[4case4] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dump_to_cpython[5case5] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dump_to_cpython[6hello] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dump_to_cpython[7hello] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dump_to_cpython[8case8] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dump_to_cpython[9case9] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dump_to_cpython[10case10] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dump_to_cpython[11case11] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dump_to_cpython[12case12] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dump_to_cpython[13case13] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dump_to_cpython[14hello] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dump_to_cpython[15case15] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dump_to_cpython[16case16] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dump_to_cpython[17case17] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dump_to_cpython[18case18] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dump_to_cpython[19None] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dump_to_cpython[20False] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dump_to_cpython[21True] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dump_to_cpython[22StopIteration] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dump_to_cpython[23case23] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dump_to_cpython[24case24] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dump_to_cpython[25case25] . pypy/module/test_lib_pypy/test_marshal_extra.py::test_load_truncated_string . pypy/module/test_lib_pypy/test_marshal_extra.py::test_dump_unicode_length . pypy/module/test_lib_pypy/test_md5_extra.py::TestMD5Update::()::test_update . pypy/module/test_lib_pypy/test_md5_extra.py::AppTestMD5Compare::()::test1 . pypy/module/test_lib_pypy/test_md5_extra.py::AppTestMD5Compare::()::test2 . pypy/module/test_lib_pypy/test_md5_extra.py::AppTestMD5Compare::()::test3 . pypy/module/test_lib_pypy/test_md5_extra.py::AppTestMD5Compare::()::test4 . pypy/module/test_lib_pypy/test_md5_extra.py::AppTestMD5Compare::()::test_attributes s pypy/module/test_lib_pypy/test_msvcrt.py::TestMsvcrt::()::test_locking Skipped: only on Windows s pypy/module/test_lib_pypy/test_pickle_extra.py::test_pickle_moduledict Skipped: test the _pickle_moduledict() addition to pickle.py . pypy/module/test_lib_pypy/test_sha_extra.py::AppTestSHA::()::test_case_1 . pypy/module/test_lib_pypy/test_sha_extra.py::AppTestSHA::()::test_case_2 . pypy/module/test_lib_pypy/test_sha_extra.py::AppTestSHA::()::test_attributes . pypy/module/test_lib_pypy/test_site_extra.py::test_preimported_modules . pypy/module/test_lib_pypy/test_structseq.py::AppTestStructseq::()::test_class . pypy/module/test_lib_pypy/test_structseq.py::AppTestStructseq::()::test_mydata . pypy/module/test_lib_pypy/test_structseq.py::AppTestStructseq::()::test_default_None . pypy/module/test_lib_pypy/test_structseq.py::AppTestStructseq::()::test_constructor . pypy/module/test_lib_pypy/test_structseq.py::AppTestStructseq::()::test_compare_like_tuple . pypy/module/test_lib_pypy/test_structseq.py::AppTestStructseq::()::test_pickle . pypy/module/test_lib_pypy/test_structseq.py::AppTestStructseq::()::test_readonly . pypy/module/test_lib_pypy/test_structseq.py::AppTestStructseq::()::test_no_extra_assignments . pypy/module/test_lib_pypy/test_structseq.py::AppTestStructseq::()::test_dict_argument . pypy/module/test_lib_pypy/test_tputil.py::AppTest_make_proxy::()::test_errors . pypy/module/test_lib_pypy/test_tputil.py::AppTest_make_proxy::()::test_repr s pypy/module/test_lib_pypy/test_tputil.py::AppTest_make_proxy::()::test_virtual_proxy Skipped: XXX seems that proxies are more than a bit broken by now, but noone cares . pypy/module/test_lib_pypy/test_tputil.py::AppTest_make_proxy::()::test_simple . pypy/module/test_lib_pypy/test_tputil.py::AppTest_make_proxy::()::test_missing_attr . pypy/module/test_lib_pypy/test_tputil.py::AppTest_make_proxy::()::test_proxy_double . pypy/module/test_lib_pypy/test_tputil.py::AppTest_make_proxy::()::test_proxy_inplace_add s pypy/module/micronumpy/test/test_zjit.py /build_dir/own-linux-x86-32/build/pypy/module/micronumpy/test/test_zjit.py:20: Skipped: this cpu has no implemented vector backend . pypy/module/micronumpy/test/test_appbridge.py::AppTestAppBridge::()::test_array_methods . pypy/module/micronumpy/test/test_appbridge.py::AppTestAppBridge::()::test_dtype_commastring . pypy/module/micronumpy/test/test_arrayops.py::AppTestNumSupport::()::test_zeros . pypy/module/micronumpy/test/test_arrayops.py::AppTestNumSupport::()::test_empty . pypy/module/micronumpy/test/test_arrayops.py::AppTestNumSupport::()::test_where . pypy/module/micronumpy/test/test_arrayops.py::AppTestNumSupport::()::test_where_differing_dtypes . pypy/module/micronumpy/test/test_arrayops.py::AppTestNumSupport::()::test_where_broadcast . pypy/module/micronumpy/test/test_arrayops.py::AppTestNumSupport::()::test_where_errors . pypy/module/micronumpy/test/test_arrayops.py::AppTestNumSupport::()::test_where_1_arg . pypy/module/micronumpy/test/test_arrayops.py::AppTestNumSupport::()::test_where_1_arg_2d . pypy/module/micronumpy/test/test_arrayops.py::AppTestNumSupport::()::test_where_invalidates . pypy/module/micronumpy/test/test_arrayops.py::AppTestNumSupport::()::test_dot_basic . pypy/module/micronumpy/test/test_arrayops.py::AppTestNumSupport::()::test_dot_constant . pypy/module/micronumpy/test/test_arrayops.py::AppTestNumSupport::()::test_dot_out . pypy/module/micronumpy/test/test_arrayops.py::AppTestNumSupport::()::test_choose_basic . pypy/module/micronumpy/test/test_arrayops.py::AppTestNumSupport::()::test_choose_broadcast . pypy/module/micronumpy/test/test_arrayops.py::AppTestNumSupport::()::test_choose_out . pypy/module/micronumpy/test/test_arrayops.py::AppTestNumSupport::()::test_choose_modes . pypy/module/micronumpy/test/test_arrayops.py::AppTestNumSupport::()::test_choose_dtype . pypy/module/micronumpy/test/test_arrayops.py::AppTestNumSupport::()::test_choose_dtype_out . pypy/module/micronumpy/test/test_arrayops.py::AppTestNumSupport::()::test_put_basic . pypy/module/micronumpy/test/test_arrayops.py::AppTestNumSupport::()::test_put_modes . pypy/module/micronumpy/test/test_broadcast.py::AppTestArrayBroadcast::()::test_broadcast_for_row_and_column . pypy/module/micronumpy/test/test_broadcast.py::AppTestArrayBroadcast::()::test_broadcast_properties . pypy/module/micronumpy/test/test_broadcast.py::AppTestArrayBroadcast::()::test_broadcast_from_doctest . pypy/module/micronumpy/test/test_broadcast.py::AppTestArrayBroadcast::()::test_broadcast_linear . pypy/module/micronumpy/test/test_broadcast.py::AppTestArrayBroadcast::()::test_broadcast_failures . pypy/module/micronumpy/test/test_broadcast.py::AppTestArrayBroadcast::()::test_broadcast_3_args . pypy/module/micronumpy/test/test_broadcast.py::AppTestArrayBroadcast::()::test_number_of_arguments . pypy/module/micronumpy/test/test_casting.py::AppTestNumSupport::()::test_can_cast . pypy/module/micronumpy/test/test_casting.py::AppTestNumSupport::()::test_can_cast_scalar . pypy/module/micronumpy/test/test_casting.py::AppTestNumSupport::()::test_can_cast_record . pypy/module/micronumpy/test/test_casting.py::AppTestNumSupport::()::test_min_scalar_type . pypy/module/micronumpy/test/test_casting.py::AppTestNumSupport::()::test_promote_types . pypy/module/micronumpy/test/test_casting.py::AppTestNumSupport::()::test_result_type . pypy/module/micronumpy/test/test_casting.py::test_can_cast_same_type . pypy/module/micronumpy/test/test_casting.py::test_promote_types_su . pypy/module/micronumpy/test/test_compile.py::TestCompiler::()::test_vars . pypy/module/micronumpy/test/test_compile.py::TestCompiler::()::test_array_literal . pypy/module/micronumpy/test/test_compile.py::TestCompiler::()::test_array_literal2 . pypy/module/micronumpy/test/test_compile.py::TestCompiler::()::test_expr_1 . pypy/module/micronumpy/test/test_compile.py::TestCompiler::()::test_expr_2 . pypy/module/micronumpy/test/test_compile.py::TestCompiler::()::test_expr_3 . pypy/module/micronumpy/test/test_compile.py::TestCompiler::()::test_expr_only . pypy/module/micronumpy/test/test_compile.py::TestCompiler::()::test_array_access . pypy/module/micronumpy/test/test_compile.py::TestCompiler::()::test_function_call . pypy/module/micronumpy/test/test_compile.py::TestCompiler::()::test_comment . pypy/module/micronumpy/test/test_compile.py::TestRunner::()::test_one . pypy/module/micronumpy/test/test_compile.py::TestRunner::()::test_array_add . pypy/module/micronumpy/test/test_compile.py::TestRunner::()::test_array_getitem . pypy/module/micronumpy/test/test_compile.py::TestRunner::()::test_range_getitem . pypy/module/micronumpy/test/test_compile.py::TestRunner::()::test_sum . pypy/module/micronumpy/test/test_compile.py::TestRunner::()::test_sum2 . pypy/module/micronumpy/test/test_compile.py::TestRunner::()::test_array_write . pypy/module/micronumpy/test/test_compile.py::TestRunner::()::test_min . pypy/module/micronumpy/test/test_compile.py::TestRunner::()::test_max . pypy/module/micronumpy/test/test_compile.py::TestRunner::()::test_slice . pypy/module/micronumpy/test/test_compile.py::TestRunner::()::test_slice_step . pypy/module/micronumpy/test/test_compile.py::TestRunner::()::test_setslice . pypy/module/micronumpy/test/test_compile.py::TestRunner::()::test_slice2 . pypy/module/micronumpy/test/test_compile.py::TestRunner::()::test_multidim_getitem . pypy/module/micronumpy/test/test_compile.py::TestRunner::()::test_multidim_getitem_2 . pypy/module/micronumpy/test/test_compile.py::TestRunner::()::test_set_slice . pypy/module/micronumpy/test/test_compile.py::TestRunner::()::test_set_slice2 . pypy/module/micronumpy/test/test_compile.py::TestRunner::()::test_dot . pypy/module/micronumpy/test/test_compile.py::TestRunner::()::test_flat_iter s pypy/module/micronumpy/test/test_compile.py::TestRunner::()::test_take Skipped: unsupported . pypy/module/micronumpy/test/test_compile.py::TestRunner::()::test_any . pypy/module/micronumpy/test/test_compile.py::TestRunner::()::test_where . pypy/module/micronumpy/test/test_compile.py::TestRunner::()::test_complex . pypy/module/micronumpy/test/test_compile.py::TestRunner::()::test_view_none . pypy/module/micronumpy/test/test_compile.py::TestRunner::()::test_view_ndarray . pypy/module/micronumpy/test/test_compile.py::TestRunner::()::test_view_dtype . pypy/module/micronumpy/test/test_compile.py::TestRunner::()::test_astype_dtype . pypy/module/micronumpy/test/test_compile.py::TestRunner::()::test_searchsorted . pypy/module/micronumpy/test/test_complex.py::AppTestUfuncs::()::test_fabs . pypy/module/micronumpy/test/test_complex.py::AppTestUfuncs::()::test_fmax . pypy/module/micronumpy/test/test_complex.py::AppTestUfuncs::()::test_fmin . pypy/module/micronumpy/test/test_complex.py::AppTestUfuncs::()::test_signbit . pypy/module/micronumpy/test/test_complex.py::AppTestUfuncs::()::test_reciprocal . pypy/module/micronumpy/test/test_complex.py::AppTestUfuncs::()::test_floorceiltrunc . pypy/module/micronumpy/test/test_complex.py::AppTestUfuncs::()::test_copysign . pypy/module/micronumpy/test/test_complex.py::AppTestUfuncs::()::test_exp2 . pypy/module/micronumpy/test/test_complex.py::AppTestUfuncs::()::test_expm1 . pypy/module/micronumpy/test/test_complex.py::AppTestUfuncs::()::test_not_complex . pypy/module/micronumpy/test/test_complex.py::AppTestUfuncs::()::test_isnan_isinf . pypy/module/micronumpy/test/test_complex.py::AppTestUfuncs::()::test_sign_for_complex_nan . pypy/module/micronumpy/test/test_complex.py::AppTestUfuncs::()::test_square . pypy/module/micronumpy/test/test_complex.py::AppTestUfuncs::()::test_power_simple . pypy/module/micronumpy/test/test_complex.py::AppTestUfuncs::()::test_power_complex . pypy/module/micronumpy/test/test_complex.py::AppTestUfuncs::()::test_conjugate . pypy/module/micronumpy/test/test_complex.py::AppTestUfuncs::()::test_logn . pypy/module/micronumpy/test/test_complex.py::AppTestUfuncs::()::test_logical_ops . pypy/module/micronumpy/test/test_complex.py::AppTestUfuncs::()::test_minimum . pypy/module/micronumpy/test/test_complex.py::AppTestUfuncs::()::test_maximum . pypy/module/micronumpy/test/test_complex.py::AppTestUfuncs::()::test_complex_overflow . pypy/module/micronumpy/test/test_complex.py::AppTestUfuncs::()::test_basic . pypy/module/micronumpy/test/test_complex.py::AppTestUfuncs::()::test_conj . pypy/module/micronumpy/test/test_complex.py::AppTestUfuncs::()::test_math . pypy/module/micronumpy/test/test_complex.py::AppTestUfuncs::()::test_complexbox_to_pycomplex . pypy/module/micronumpy/test/test_deprecations.py::AppTestDeprecations::()::test_getitem . pypy/module/micronumpy/test/test_dtypes.py::AppTestDtypes::()::test_typeinfo . pypy/module/micronumpy/test/test_dtypes.py::AppTestDtypes::()::test_dtype_basic . pypy/module/micronumpy/test/test_dtypes.py::AppTestDtypes::()::test_dtype_from_tuple . pypy/module/micronumpy/test/test_dtypes.py::AppTestDtypes::()::test_dtype_eq . pypy/module/micronumpy/test/test_dtypes.py::AppTestDtypes::()::test_dtype_cmp . pypy/module/micronumpy/test/test_dtypes.py::AppTestDtypes::()::test_dtype_aliases . pypy/module/micronumpy/test/test_dtypes.py::AppTestDtypes::()::test_dtype_with_types . pypy/module/micronumpy/test/test_dtypes.py::AppTestDtypes::()::test_array_dtype_attr . pypy/module/micronumpy/test/test_dtypes.py::AppTestDtypes::()::test_isbuiltin . pypy/module/micronumpy/test/test_dtypes.py::AppTestDtypes::()::test_repr_str . pypy/module/micronumpy/test/test_dtypes.py::AppTestDtypes::()::test_bool_array . pypy/module/micronumpy/test/test_dtypes.py::AppTestDtypes::()::test_copy_array_with_dtype . pypy/module/micronumpy/test/test_dtypes.py::AppTestDtypes::()::test_zeros_bool . pypy/module/micronumpy/test/test_dtypes.py::AppTestDtypes::()::test_ones_bool . pypy/module/micronumpy/test/test_dtypes.py::AppTestDtypes::()::test_zeros_long . pypy/module/micronumpy/test/test_dtypes.py::AppTestDtypes::()::test_ones_long . pypy/module/micronumpy/test/test_dtypes.py::AppTestDtypes::()::test_overflow . pypy/module/micronumpy/test/test_dtypes.py::AppTestDtypes::()::test_bool_binop_types . pypy/module/micronumpy/test/test_dtypes.py::AppTestDtypes::()::test_binop_types . pypy/module/micronumpy/test/test_dtypes.py::AppTestDtypes::()::test_add . pypy/module/micronumpy/test/test_dtypes.py::AppTestDtypes::()::test_len . pypy/module/micronumpy/test/test_dtypes.py::AppTestDtypes::()::test_shape . pypy/module/micronumpy/test/test_dtypes.py::AppTestDtypes::()::test_cant_subclass . pypy/module/micronumpy/test/test_dtypes.py::AppTestDtypes::()::test_can_subclass . pypy/module/micronumpy/test/test_dtypes.py::AppTestDtypes::()::test_index . pypy/module/micronumpy/test/test_dtypes.py::AppTestDtypes::()::test_hash . pypy/module/micronumpy/test/test_dtypes.py::AppTestDtypes::()::test_record_hash . pypy/module/micronumpy/test/test_dtypes.py::AppTestDtypes::()::test_pickle . pypy/module/micronumpy/test/test_dtypes.py::AppTestDtypes::()::test_newbyteorder . pypy/module/micronumpy/test/test_dtypes.py::AppTestDtypes::()::test_object . pypy/module/micronumpy/test/test_dtypes.py::AppTestTypes::()::test_abstract_types . pypy/module/micronumpy/test/test_dtypes.py::AppTestTypes::()::test_new . pypy/module/micronumpy/test/test_dtypes.py::AppTestTypes::()::test_pow . pypy/module/micronumpy/test/test_dtypes.py::AppTestTypes::()::test_bool . pypy/module/micronumpy/test/test_dtypes.py::AppTestTypes::()::test_int8 . pypy/module/micronumpy/test/test_dtypes.py::AppTestTypes::()::test_uint8 . pypy/module/micronumpy/test/test_dtypes.py::AppTestTypes::()::test_int16 . pypy/module/micronumpy/test/test_dtypes.py::AppTestTypes::()::test_uint16 . pypy/module/micronumpy/test/test_dtypes.py::AppTestTypes::()::test_int32 . pypy/module/micronumpy/test/test_dtypes.py::AppTestTypes::()::test_uint32 . pypy/module/micronumpy/test/test_dtypes.py::AppTestTypes::()::test_int_ . pypy/module/micronumpy/test/test_dtypes.py::AppTestTypes::()::test_int64 . pypy/module/micronumpy/test/test_dtypes.py::AppTestTypes::()::test_uint64 . pypy/module/micronumpy/test/test_dtypes.py::AppTestTypes::()::test_float16 . pypy/module/micronumpy/test/test_dtypes.py::AppTestTypes::()::test_float32 . pypy/module/micronumpy/test/test_dtypes.py::AppTestTypes::()::test_float64 . pypy/module/micronumpy/test/test_dtypes.py::AppTestTypes::()::test_float_None . pypy/module/micronumpy/test/test_dtypes.py::AppTestTypes::()::test_longfloat . pypy/module/micronumpy/test/test_dtypes.py::AppTestTypes::()::test_complex_floating . pypy/module/micronumpy/test/test_dtypes.py::AppTestTypes::()::test_complex_format . pypy/module/micronumpy/test/test_dtypes.py::AppTestTypes::()::test_complex . pypy/module/micronumpy/test/test_dtypes.py::AppTestTypes::()::test_subclass_type . pypy/module/micronumpy/test/test_dtypes.py::AppTestTypes::()::test_long_as_index . pypy/module/micronumpy/test/test_dtypes.py::AppTestTypes::()::test_int . pypy/module/micronumpy/test/test_dtypes.py::AppTestTypes::()::test_operators . pypy/module/micronumpy/test/test_dtypes.py::AppTestTypes::()::test_alternate_constructs . pypy/module/micronumpy/test/test_dtypes.py::AppTestTypes::()::test_dtype_str . pypy/module/micronumpy/test/test_dtypes.py::AppTestTypes::()::test_intp . pypy/module/micronumpy/test/test_dtypes.py::AppTestTypes::()::test_alignment . pypy/module/micronumpy/test/test_dtypes.py::AppTestTypes::()::test_isnative . pypy/module/micronumpy/test/test_dtypes.py::AppTestTypes::()::test_any_all_nonzero . pypy/module/micronumpy/test/test_dtypes.py::AppTestTypes::()::test_ravel . pypy/module/micronumpy/test/test_dtypes.py::AppTestTypes::()::test_descr . pypy/module/micronumpy/test/test_dtypes.py::AppTestStrUnicodeDtypes::()::test_mro . pypy/module/micronumpy/test/test_dtypes.py::AppTestStrUnicodeDtypes::()::test_str_dtype . pypy/module/micronumpy/test/test_dtypes.py::AppTestStrUnicodeDtypes::()::test_unicode_dtype . pypy/module/micronumpy/test/test_dtypes.py::AppTestStrUnicodeDtypes::()::test_character_dtype . pypy/module/micronumpy/test/test_dtypes.py::AppTestRecordDtypes::()::test_create . pypy/module/micronumpy/test/test_dtypes.py::AppTestRecordDtypes::()::test_array_from_record . pypy/module/micronumpy/test/test_dtypes.py::AppTestRecordDtypes::()::test_create_from_dict . pypy/module/micronumpy/test/test_dtypes.py::AppTestRecordDtypes::()::test_create_subarrays . pypy/module/micronumpy/test/test_dtypes.py::AppTestRecordDtypes::()::test_setstate . pypy/module/micronumpy/test/test_dtypes.py::AppTestRecordDtypes::()::test_pickle_record . pypy/module/micronumpy/test/test_dtypes.py::AppTestRecordDtypes::()::test_pickle_record_subarrays . pypy/module/micronumpy/test/test_dtypes.py::AppTestRecordDtypes::()::test_shape_invalid . pypy/module/micronumpy/test/test_dtypes.py::AppTestRecordDtypes::()::test_aligned_size . pypy/module/micronumpy/test/test_dtypes.py::AppTestRecordDtypes::()::test_bad_param s pypy/module/micronumpy/test/test_dtypes.py::AppTestRecordDtypes::()::test_complex_dtype_repr Skipped: datetime dtype not available . pypy/module/micronumpy/test/test_dtypes.py::AppTestNotDirect::()::test_non_native . pypy/module/micronumpy/test/test_dtypes.py::AppTestMonsterType::()::test1 . pypy/module/micronumpy/test/test_dtypes.py::AppTestMetadata::()::test_no_metadata . pypy/module/micronumpy/test/test_dtypes.py::AppTestMetadata::()::test_metadata_takes_dict . pypy/module/micronumpy/test/test_dtypes.py::AppTestMetadata::()::test_metadata_rejects_nondict . pypy/module/micronumpy/test/test_dtypes.py::AppTestMetadata::()::test_nested_metadata . pypy/module/micronumpy/test/test_flagsobj.py::AppTestFlagsObj::()::test_init . pypy/module/micronumpy/test/test_flagsobj.py::AppTestFlagsObj::()::test_repr . pypy/module/micronumpy/test/test_flagsobj.py::AppTestFlagsObj::()::test_array_flags . pypy/module/micronumpy/test/test_flagsobj.py::AppTestFlagsObj::()::test_scalar_flags . pypy/module/micronumpy/test/test_flagsobj.py::AppTestFlagsObj::()::test_compare . pypy/module/micronumpy/test/test_flagsobj.py::AppTestFlagsObj::()::test_copy_order . pypy/module/micronumpy/test/test_flagsobj.py::AppTestFlagsObj::()::test_contiguous_flags . pypy/module/micronumpy/test/test_iterators.py::TestIterDirect::()::test_iterator_basic . pypy/module/micronumpy/test/test_iterators.py::TestIterDirect::()::test_one_in_shape . pypy/module/micronumpy/test/test_iterators.py::TestIterDirect::()::test_iterator_goto . pypy/module/micronumpy/test/test_ndarray.py::TestNumArrayDirect::()::test_strides_f . pypy/module/micronumpy/test/test_ndarray.py::TestNumArrayDirect::()::test_strides_c . pypy/module/micronumpy/test/test_ndarray.py::TestNumArrayDirect::()::test_create_slice_f . pypy/module/micronumpy/test/test_ndarray.py::TestNumArrayDirect::()::test_create_slice_c . pypy/module/micronumpy/test/test_ndarray.py::TestNumArrayDirect::()::test_slice_of_slice_f . pypy/module/micronumpy/test/test_ndarray.py::TestNumArrayDirect::()::test_slice_of_slice_c . pypy/module/micronumpy/test/test_ndarray.py::TestNumArrayDirect::()::test_negative_step_f . pypy/module/micronumpy/test/test_ndarray.py::TestNumArrayDirect::()::test_negative_step_c . pypy/module/micronumpy/test/test_ndarray.py::TestNumArrayDirect::()::test_shape_agreement . pypy/module/micronumpy/test/test_ndarray.py::TestNumArrayDirect::()::test_calc_new_strides . pypy/module/micronumpy/test/test_ndarray.py::TestNumArrayDirect::()::test_find_shape . pypy/module/micronumpy/test/test_ndarray.py::TestNumArrayDirect::()::test_from_shape_and_storage . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_constants . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_creation . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_ndmin . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_noop_ndmin . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_array_init . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_array_copy . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_unicode . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_dtype_attribute . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_buffer . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_type . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_ndim . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_zeros . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_check_shape . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_empty_like . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_size . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_empty . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_ones . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_arange . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_copy . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_iterator_init . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_list_of_array_init . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_getitem . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_getitem_float . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_getitem_tuple . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_getitem_nd . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_getitem_obj_index . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_getitem_obj_prefer_index_to_int . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_getitem_obj_int . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_setitem . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_setitem_tuple . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_setitem_record . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_setitem_array . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_setitem_obj_index . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_setitem_obj_prefer_index_to_int . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_setitem_obj_int . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_setitem_list_of_float . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_delitem . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_access_swallow_exception . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_setslice_array . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_setslice_of_slice_array . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_setslice_list . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_setslice_constant . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_newaxis . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_newaxis_slice . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_newaxis_assign . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_newaxis_virtual . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_newaxis_then_slice . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_slice_then_newaxis . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_scalar . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_build_scalar . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_len . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_shape . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_set_shape . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_reshape . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_slice_reshape . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_reshape_varargs . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_scalar_reshape . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_strides . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_strides_scalar . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_add . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_add_other . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_add_constant . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_radd . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_inplace_op_scalar . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_inplace_op_array . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_add_list . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_subtract . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_subtract_other . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_subtract_constant . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_scalar_subtract . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_mul . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_mul_constant . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_div . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_div_other . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_div_constant . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_floordiv . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_floordiv_other . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_rfloordiv . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_floordiv_constant . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_signed_integer_division_overflow . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_truediv . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_divmod . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_rdivmod . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_lshift . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_rlshift . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_rshift . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_rrshift . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_pow . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_pow_other . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_pow_constant . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_mod . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_mod_other . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_mod_constant . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_rand . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_ror . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_xor . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_rxor . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_pos . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_neg . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_abs . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_auto_force . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_getslice . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_getslice_step . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_slice_update . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_slice_invaidate . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_sum . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_reduce_nd . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_prod . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_max . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_max_add . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_min . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_argmax . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_argmin . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_all . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_any . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_dtype_guessing . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_comparison . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test___nonzero__ . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_slice_assignment . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_virtual_views . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_realimag_views . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_scalar_view . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_array_view . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_half_conversions . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_half_conversions_preserve_nan_payload_float32 . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_half_conversions_preserve_nan_payload_float64 . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_ndarray_view_empty . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_view_of_slice . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_tolist_scalar . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_tolist_zerodim . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_tolist_singledim . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_tolist_multidim . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_tolist_view . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_tolist_object . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_tolist_object_slice . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_tolist_object_slice_2d . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_tolist_slice . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_concatenate . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_record_concatenate . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_flatten . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_itemsize . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_nbytes . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_repeat . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_resize . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_squeeze . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_swapaxes . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_filter_bug . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_int_list_index . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_int_array_index . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_int_array_index_setitem . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_array_scalar_index . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_bool_array_index . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_bool_array_index_setitem . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_weakref . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_astype . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_base . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_byteswap . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_clip . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_data . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_explicit_dtype_conversion . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_notequal_different_shapes . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test__long__ . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test__int__ . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test__float__ . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test__hex__ . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test__oct__ . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test__reduce__ . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_pickle_slice . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_string_filling . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_unicode_filling . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_unicode_record_array . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_boolean_indexing . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_indexing_by_boolean . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_scalar_indexing . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_ellipsis_indexing . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArray::()::test_empty_indexing . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArrayFromBuffer::()::test_ndarray_from_buffer . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArrayFromBuffer::()::test_ndarray_subclass_from_buffer . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArrayFromBuffer::()::test_ndarray_from_buffer_and_offset . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArrayFromBuffer::()::test_ndarray_from_buffer_out_of_bounds . pypy/module/micronumpy/test/test_ndarray.py::AppTestNumArrayFromBuffer::()::test_ndarray_from_readonly_buffer . pypy/module/micronumpy/test/test_ndarray.py::AppTestMultiDim::()::test_init . pypy/module/micronumpy/test/test_ndarray.py::AppTestMultiDim::()::test_shape . pypy/module/micronumpy/test/test_ndarray.py::AppTestMultiDim::()::test_getsetitem . pypy/module/micronumpy/test/test_ndarray.py::AppTestMultiDim::()::test_slices . pypy/module/micronumpy/test/test_ndarray.py::AppTestMultiDim::()::test_create_order . pypy/module/micronumpy/test/test_ndarray.py::AppTestMultiDim::()::test_setitem_slice . pypy/module/micronumpy/test/test_ndarray.py::AppTestMultiDim::()::test_ufunc . pypy/module/micronumpy/test/test_ndarray.py::AppTestMultiDim::()::test_getitem_add . pypy/module/micronumpy/test/test_ndarray.py::AppTestMultiDim::()::test_getitem_3 . pypy/module/micronumpy/test/test_ndarray.py::AppTestMultiDim::()::test_multidim_ones . pypy/module/micronumpy/test/test_ndarray.py::AppTestMultiDim::()::test_multidim_setslice . pypy/module/micronumpy/test/test_ndarray.py::AppTestMultiDim::()::test_broadcast_ufunc . pypy/module/micronumpy/test/test_ndarray.py::AppTestMultiDim::()::test_broadcast_setslice . pypy/module/micronumpy/test/test_ndarray.py::AppTestMultiDim::()::test_broadcast_shape_agreement . pypy/module/micronumpy/test/test_ndarray.py::AppTestMultiDim::()::test_broadcast_scalar . pypy/module/micronumpy/test/test_ndarray.py::AppTestMultiDim::()::test_broadcast_call2 . pypy/module/micronumpy/test/test_ndarray.py::AppTestMultiDim::()::test_broadcast_virtualview . pypy/module/micronumpy/test/test_ndarray.py::AppTestMultiDim::()::test_broadcast_wrong_shapes . pypy/module/micronumpy/test/test_ndarray.py::AppTestMultiDim::()::test_reduce . pypy/module/micronumpy/test/test_ndarray.py::AppTestMultiDim::()::test_transpose . pypy/module/micronumpy/test/test_ndarray.py::AppTestMultiDim::()::test_transpose_arg_tuple . pypy/module/micronumpy/test/test_ndarray.py::AppTestMultiDim::()::test_transpose_arg_list . pypy/module/micronumpy/test/test_ndarray.py::AppTestMultiDim::()::test_transpose_arg_array . pypy/module/micronumpy/test/test_ndarray.py::AppTestMultiDim::()::test_transpose_error . pypy/module/micronumpy/test/test_ndarray.py::AppTestMultiDim::()::test_transpose_unexpected_argument . pypy/module/micronumpy/test/test_ndarray.py::AppTestMultiDim::()::test_flatiter . pypy/module/micronumpy/test/test_ndarray.py::AppTestMultiDim::()::test_flatiter_array_conv . pypy/module/micronumpy/test/test_ndarray.py::AppTestMultiDim::()::test_flatiter_varray . pypy/module/micronumpy/test/test_ndarray.py::AppTestMultiDim::()::test_flatiter_getitem . pypy/module/micronumpy/test/test_ndarray.py::AppTestMultiDim::()::test_flatiter_setitem . pypy/module/micronumpy/test/test_ndarray.py::AppTestMultiDim::()::test_flatiter_ops . pypy/module/micronumpy/test/test_ndarray.py::AppTestMultiDim::()::test_flatiter_view . pypy/module/micronumpy/test/test_ndarray.py::AppTestMultiDim::()::test_flatiter_transpose . pypy/module/micronumpy/test/test_ndarray.py::AppTestMultiDim::()::test_flatiter_len . pypy/module/micronumpy/test/test_ndarray.py::AppTestMultiDim::()::test_flatiter_setter . pypy/module/micronumpy/test/test_ndarray.py::AppTestMultiDim::()::test_flatiter_subtype . pypy/module/micronumpy/test/test_ndarray.py::AppTestMultiDim::()::test_slice_copy . pypy/module/micronumpy/test/test_ndarray.py::AppTestMultiDim::()::test_array_interface . pypy/module/micronumpy/test/test_ndarray.py::AppTestMultiDim::()::test_array_indexing_one_elem . pypy/module/micronumpy/test/test_ndarray.py::AppTestMultiDim::()::test_fill . pypy/module/micronumpy/test/test_ndarray.py::AppTestMultiDim::()::test_array_indexing_bool . pypy/module/micronumpy/test/test_ndarray.py::AppTestMultiDim::()::test_array_indexing_bool_setitem . pypy/module/micronumpy/test/test_ndarray.py::AppTestMultiDim::()::test_array_indexing_bool_setitem_multidim . pypy/module/micronumpy/test/test_ndarray.py::AppTestMultiDim::()::test_array_indexing_bool_setitem_2 . pypy/module/micronumpy/test/test_ndarray.py::AppTestMultiDim::()::test_array_indexing_bool_specialcases . pypy/module/micronumpy/test/test_ndarray.py::AppTestMultiDim::()::test_copy_kwarg . pypy/module/micronumpy/test/test_ndarray.py::AppTestMultiDim::()::test_ravel . pypy/module/micronumpy/test/test_ndarray.py::AppTestMultiDim::()::test_nonzero . pypy/module/micronumpy/test/test_ndarray.py::AppTestMultiDim::()::test_take . pypy/module/micronumpy/test/test_ndarray.py::AppTestMultiDim::()::test_ptp . pypy/module/micronumpy/test/test_ndarray.py::AppTestMultiDim::()::test_compress . pypy/module/micronumpy/test/test_ndarray.py::AppTestMultiDim::()::test_item . pypy/module/micronumpy/test/test_ndarray.py::AppTestMultiDim::()::test_itemset . pypy/module/micronumpy/test/test_ndarray.py::AppTestMultiDim::()::test_index_int . pypy/module/micronumpy/test/test_ndarray.py::AppTestMultiDim::()::test_index . pypy/module/micronumpy/test/test_ndarray.py::AppTestMultiDim::()::test_int_array_index . pypy/module/micronumpy/test/test_ndarray.py::AppTestMultiDim::()::test_int_array_index_setitem . pypy/module/micronumpy/test/test_ndarray.py::AppTestMultiDim::()::test_slice_vector_index . pypy/module/micronumpy/test/test_ndarray.py::AppTestMultiDim::()::test_cumsum . pypy/module/micronumpy/test/test_ndarray.py::AppTestMultiDim::()::test_cumprod . pypy/module/micronumpy/test/test_ndarray.py::AppTestMultiDim::()::test_cumsum_axis . pypy/module/micronumpy/test/test_ndarray.py::AppTestMultiDim::()::test_diagonal . pypy/module/micronumpy/test/test_ndarray.py::AppTestMultiDim::()::test_diagonal_axis . pypy/module/micronumpy/test/test_ndarray.py::AppTestMultiDim::()::test_diagonal_axis_neg_ofs . pypy/module/micronumpy/test/test_ndarray.py::AppTestSupport::()::test_frombuffer . pypy/module/micronumpy/test/test_ndarray.py::AppTestSupport::()::test_memoryview . pypy/module/micronumpy/test/test_ndarray.py::AppTestSupport::()::test_fromstring . pypy/module/micronumpy/test/test_ndarray.py::AppTestSupport::()::test_fromstring_types . pypy/module/micronumpy/test/test_ndarray.py::AppTestSupport::()::test_fromstring_invalid . pypy/module/micronumpy/test/test_ndarray.py::AppTestSupport::()::test_tostring . pypy/module/micronumpy/test/test_ndarray.py::AppTestSupport::()::test_str . pypy/module/micronumpy/test/test_ndarray.py::AppTestSupport::()::test_ndarray_buffer_strides . pypy/module/micronumpy/test/test_ndarray.py::AppTestRepr::()::test_repr . pypy/module/micronumpy/test/test_ndarray.py::AppTestRecordDtype::()::test_zeros . pypy/module/micronumpy/test/test_ndarray.py::AppTestRecordDtype::()::test_views . pypy/module/micronumpy/test/test_ndarray.py::AppTestRecordDtype::()::test_assign_tuple . pypy/module/micronumpy/test/test_ndarray.py::AppTestRecordDtype::()::test_creation_and_repr . pypy/module/micronumpy/test/test_ndarray.py::AppTestRecordDtype::()::test_void_copyswap . pypy/module/micronumpy/test/test_ndarray.py::AppTestRecordDtype::()::test_nested_dtype . pypy/module/micronumpy/test/test_ndarray.py::AppTestRecordDtype::()::test_count_nonzero . pypy/module/micronumpy/test/test_ndarray.py::AppTestRecordDtype::()::test_string_record . pypy/module/micronumpy/test/test_ndarray.py::AppTestRecordDtype::()::test_string_array . pypy/module/micronumpy/test/test_ndarray.py::AppTestRecordDtype::()::test_to_str . pypy/module/micronumpy/test/test_ndarray.py::AppTestRecordDtype::()::test_string_scalar . pypy/module/micronumpy/test/test_ndarray.py::AppTestRecordDtype::()::test_newbyteorder . pypy/module/micronumpy/test/test_ndarray.py::AppTestRecordDtype::()::test_pickle . pypy/module/micronumpy/test/test_ndarray.py::AppTestRecordDtype::()::test_subarrays . pypy/module/micronumpy/test/test_ndarray.py::AppTestRecordDtype::()::test_subarray_multiple_rows . pypy/module/micronumpy/test/test_ndarray.py::AppTestRecordDtype::()::test_multidim_subarray . pypy/module/micronumpy/test/test_ndarray.py::AppTestRecordDtype::()::test_list_record . pypy/module/micronumpy/test/test_ndarray.py::AppTestRecordDtype::()::test_3d_record . pypy/module/micronumpy/test/test_ndarray.py::AppTestRecordDtype::()::test_issue_1589 . pypy/module/micronumpy/test/test_ndarray.py::AppTestRecordDtype::()::test_scalar_coercion . pypy/module/micronumpy/test/test_ndarray.py::AppTestRecordDtype::()::test_coerce_record . pypy/module/micronumpy/test/test_ndarray.py::AppTestRecordDtype::()::test_reduce_record . pypy/module/micronumpy/test/test_ndarray.py::AppTestRecordDtype::()::test_record_ufuncs . pypy/module/micronumpy/test/test_ndarray.py::AppTestRecordDtype::()::test_create_from_memory . pypy/module/micronumpy/test/test_ndarray.py::AppTestPyPy::()::test_init_2 . pypy/module/micronumpy/test/test_ndarray.py::AppTestPyPy::()::test_from_shape_and_storage . pypy/module/micronumpy/test/test_ndarray.py::AppTestPyPy::()::test___pypy_data__ . pypy/module/micronumpy/test/test_ndarray.py::AppTestPyPy::()::test_from_shape_and_storage_strides . pypy/module/micronumpy/test/test_nditer.py::AppTestNDIter::()::test_type . pypy/module/micronumpy/test/test_nditer.py::AppTestNDIter::()::test_basic . pypy/module/micronumpy/test/test_nditer.py::AppTestNDIter::()::test_order . pypy/module/micronumpy/test/test_nditer.py::AppTestNDIter::()::test_readwrite . pypy/module/micronumpy/test/test_nditer.py::AppTestNDIter::()::test_external_loop . pypy/module/micronumpy/test/test_nditer.py::AppTestNDIter::()::test_index . pypy/module/micronumpy/test/test_nditer.py::AppTestNDIter::()::test_iters_with_different_order s pypy/module/micronumpy/test/test_nditer.py::AppTestNDIter::()::test_interface Skipped: nditer.__setitem__ not implmented . pypy/module/micronumpy/test/test_nditer.py::AppTestNDIter::()::test_buffered . pypy/module/micronumpy/test/test_nditer.py::AppTestNDIter::()::test_zerosize . pypy/module/micronumpy/test/test_nditer.py::AppTestNDIter::()::test_op_dtype . pypy/module/micronumpy/test/test_nditer.py::AppTestNDIter::()::test_casting . pypy/module/micronumpy/test/test_nditer.py::AppTestNDIter::()::test_broadcast . pypy/module/micronumpy/test/test_nditer.py::AppTestNDIter::()::test_outarg s pypy/module/micronumpy/test/test_nditer.py::AppTestNDIter::()::test_outer_product Skipped: nditer op_axes not implemented yet s pypy/module/micronumpy/test/test_nditer.py::AppTestNDIter::()::test_reduction Skipped: nditer reduce_ok not implemented yet . pypy/module/micronumpy/test/test_nditer.py::AppTestNDIter::()::test_get_dtypes . pypy/module/micronumpy/test/test_nditer.py::AppTestNDIter::()::test_multi_index s pypy/module/micronumpy/test/test_nditer.py::AppTestNDIter::()::test_itershape Skipped: op_axes not totally supported yet . pypy/module/micronumpy/test/test_object_arrays.py::AppTestObjectDtypes::()::test_scalar_from_object . pypy/module/micronumpy/test/test_object_arrays.py::AppTestObjectDtypes::()::test_uninitialized_object_array_is_filled_by_None . pypy/module/micronumpy/test/test_object_arrays.py::AppTestObjectDtypes::()::test_object_arrays_add . pypy/module/micronumpy/test/test_object_arrays.py::AppTestObjectDtypes::()::test_bool_func . pypy/module/micronumpy/test/test_object_arrays.py::AppTestObjectDtypes::()::test_logical_ufunc . pypy/module/micronumpy/test/test_object_arrays.py::AppTestObjectDtypes::()::test_reduce s pypy/module/micronumpy/test/test_object_arrays.py::AppTestObjectDtypes::()::test_complex_op Skipped: not implemented yet F pypy/module/micronumpy/test/test_object_arrays.py::AppTestObjectDtypes::()::test_keep_object_alive self = func = at 0xed224224>, 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, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 0xf7a7f32c> hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf6a1b76c>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf6a1b76c>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xed227bec> 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 0xed227bec> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xed227fac> 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 0xed227fac> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def runtest(self): target = self.obj if self.config.option.runappdirect: return target() space = target.im_self.space filename = self._getdynfilename(target) func = app2interp_temp(target.im_func, filename=filename) w_instance = self.parent.w_instance > self.execute_appex(space, func, space, w_instance) tool/pytest/apptest.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , space = StdObjSpace target = args = (StdObjSpace, ) def execute_appex(self, space, target, *args): self.space = space try: > target(*args) tool/pytest/apptest.py:30: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace args_w = (,) w_func = args = def appcaller(space, *args_w): if not isinstance(space, ObjSpace): raise TypeError("first argument must be a space instance.") # the last argument can be an Arguments w_func = self.wget(space, name) if not args_w: return space.call_function(w_func) else: args = args_w[-1] assert args is not None if not isinstance(args, Arguments): > return space.call_function(w_func, *args_w) interpreter/gateway.py:1227: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = args_w = (,) nargs = 1, Function = Method = def call_function(self, w_func, *args_w): nargs = len(args_w) # used for pruning funccall versions if not self.config.objspace.disable_call_speedhacks and nargs < 5: # start of hack for performance from pypy.interpreter.function import Function, Method if isinstance(w_func, Method): w_inst = w_func.w_instance if w_inst is not None: if nargs < 4: func = w_func.w_function if isinstance(func, Function): return func.funccall(w_inst, *args_w) elif args_w and ( self.abstract_isinstance_w(args_w[0], w_func.w_class)): w_func = w_func.w_function if isinstance(w_func, Function): > return w_func.funccall(*args_w) interpreter/baseobjspace.py:1210: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = args_w = (,) gateway = PyCode = code = def funccall(self, *args_w): # speed hack from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit nargs = len(args_w) fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, args_w[0]) elif nargs == 2: assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, args_w[0], args_w[1]) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) return code.fastcall_3(self.space, self, args_w[0], args_w[1], args_w[2]) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) return code.fastcall_4(self.space, self, args_w[0], args_w[1], args_w[2], args_w[3]) elif (nargs | PyCode.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) if nargs < 5: new_frame = self.space.createframe(code, self.w_func_globals, self) for i in funccallunrolling: if i < nargs: new_frame.locals_cells_stack_w[i] = args_w[i] > return new_frame.run() interpreter/function.py:118: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 11 def run(self): """Start this frame's execution.""" if self.getcode().co_flags & pycode.CO_GENERATOR: from pypy.interpreter.generator import GeneratorIterator return GeneratorIterator(self) else: > return self.execute_frame() interpreter/pyframe.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 11 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:290: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 11 e = SyntaxError("Non-ASCII character '\\xe2' in file /build_dir/own-linux-x86-32/b..., ('/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py', 423, 0, None)) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:943: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 11 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:286: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 11 pycode = next_instr = 0L ec = def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 11 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x01\x00d\x01\x00d\x00\x00l\x01\x00}\x02\x00d\x02\x00t\x02\x00f\x01\x00d\x03\x00\x84\x00\...01\xcc\x1c\x00|\x05\x00d\x06\x00\x19\xc9\x05\x00\xca\x00\x00d\x07\x00k\x02\x00s\x7f\x00t\x06\x00\x82\x01\x00d\x00\x00S' next_instr = 0L ec = def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 11 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x01\x00d\x01\x00d\x00\x00l\x01\x00}\x02\x00d\x02\x00t\x02\x00f\x01\x00d\x03\x00\x84\x00\...01\xcc\x1c\x00|\x05\x00d\x06\x00\x19\xc9\x05\x00\xca\x00\x00d\x07\x00k\x02\x00s\x7f\x00t\x06\x00\x82\x01\x00d\x00\x00S' next_instr = 92L ec = @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: self.last_instr = intmask(next_instr) if jit.we_are_jitted(): if self.debugdata: ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: ec.bytecode_trace(self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) next_instr += 1 if opcode >= HAVE_ARGUMENT: lo = ord(co_code[next_instr]) hi = ord(co_code[next_instr+1]) next_instr += 2 oparg = (hi * 256) | lo else: oparg = 0 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into a switch(). while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption lo = ord(co_code[next_instr+1]) hi = ord(co_code[next_instr+2]) next_instr += 3 oparg = (oparg * 65536) | (hi * 256) | lo if opcode == opcodedesc.RETURN_VALUE.index: if not self.blockstack_non_empty(): self.frame_finished_execution = True # for generators raise Return w_returnvalue = self.popvalue() block = self.unrollstack(SReturnValue.kind) if block is None: self.pushvalue(w_returnvalue) raise Return else: unroller = SReturnValue(w_returnvalue) next_instr = block.handle(self, unroller) return next_instr # now inside a 'finally' block elif opcode == opcodedesc.END_FINALLY.index: unroller = self.end_finally() if isinstance(unroller, SuspendedUnroller): # go on unrolling the stack block = self.unrollstack(unroller.kind) if block is None: w_result = unroller.nomoreblocks() self.pushvalue(w_result) raise Return else: next_instr = block.handle(self, unroller) return next_instr elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, ec) elif opcode == opcodedesc.BREAK_LOOP.index: next_instr = self.BREAK_LOOP(oparg, next_instr) elif opcode == opcodedesc.CONTINUE_LOOP.index: return self.CONTINUE_LOOP(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: next_instr = self.JUMP_IF_FALSE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_DEBUG.index: next_instr = self.JUMP_IF_NOT_DEBUG(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: next_instr = self.JUMP_IF_TRUE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: next_instr = self.POP_JUMP_IF_FALSE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: next_instr = self.POP_JUMP_IF_TRUE(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_DIVIDE.index: self.BINARY_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CLASS.index: self.BUILD_CLASS(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR.index: self.CALL_FUNCTION_VAR(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR_KW.index: self.CALL_FUNCTION_VAR_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: self.CALL_METHOD(oparg, next_instr) elif opcode == opcodedesc.COMPARE_OP.index: self.COMPARE_OP(oparg, next_instr) elif opcode == opcodedesc.DELETE_ATTR.index: self.DELETE_ATTR(oparg, next_instr) elif opcode == opcodedesc.DELETE_FAST.index: self.DELETE_FAST(oparg, next_instr) elif opcode == opcodedesc.DELETE_GLOBAL.index: self.DELETE_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.DELETE_NAME.index: self.DELETE_NAME(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_0.index: self.DELETE_SLICE_0(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_1.index: self.DELETE_SLICE_1(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_2.index: self.DELETE_SLICE_2(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_3.index: self.DELETE_SLICE_3(oparg, next_instr) elif opcode == opcodedesc.DELETE_SUBSCR.index: self.DELETE_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.DUP_TOP.index: self.DUP_TOP(oparg, next_instr) elif opcode == opcodedesc.DUP_TOPX.index: self.DUP_TOPX(oparg, next_instr) elif opcode == opcodedesc.EXEC_STMT.index: self.EXEC_STMT(oparg, next_instr) elif opcode == opcodedesc.GET_ITER.index: self.GET_ITER(oparg, next_instr) elif opcode == opcodedesc.IMPORT_FROM.index: self.IMPORT_FROM(oparg, next_instr) elif opcode == opcodedesc.IMPORT_NAME.index: self.IMPORT_NAME(oparg, next_instr) elif opcode == opcodedesc.IMPORT_STAR.index: self.IMPORT_STAR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_ADD.index: self.INPLACE_ADD(oparg, next_instr) elif opcode == opcodedesc.INPLACE_AND.index: self.INPLACE_AND(oparg, next_instr) elif opcode == opcodedesc.INPLACE_DIVIDE.index: self.INPLACE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_FLOOR_DIVIDE.index: self.INPLACE_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_LSHIFT.index: self.INPLACE_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MODULO.index: self.INPLACE_MODULO(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MULTIPLY.index: self.INPLACE_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.INPLACE_OR.index: self.INPLACE_OR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_POWER.index: self.INPLACE_POWER(oparg, next_instr) elif opcode == opcodedesc.INPLACE_RSHIFT.index: self.INPLACE_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_SUBTRACT.index: self.INPLACE_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_TRUE_DIVIDE.index: self.INPLACE_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_XOR.index: self.INPLACE_XOR(oparg, next_instr) elif opcode == opcodedesc.LIST_APPEND.index: self.LIST_APPEND(oparg, next_instr) elif opcode == opcodedesc.LOAD_ATTR.index: self.LOAD_ATTR(oparg, next_instr) elif opcode == opcodedesc.LOAD_CLOSURE.index: self.LOAD_CLOSURE(oparg, next_instr) elif opcode == opcodedesc.LOAD_CONST.index: self.LOAD_CONST(oparg, next_instr) elif opcode == opcodedesc.LOAD_DEREF.index: self.LOAD_DEREF(oparg, next_instr) elif opcode == opcodedesc.LOAD_FAST.index: self.LOAD_FAST(oparg, next_instr) elif opcode == opcodedesc.LOAD_GLOBAL.index: self.LOAD_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.LOAD_LOCALS.index: self.LOAD_LOCALS(oparg, next_instr) elif opcode == opcodedesc.LOAD_NAME.index: self.LOAD_NAME(oparg, next_instr) elif opcode == opcodedesc.LOOKUP_METHOD.index: > self.LOOKUP_METHOD(oparg, next_instr) interpreter/pyopcode.py:356: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = at line 11 nameindex = 4, ignored = (92L,) MutableCell = space = StdObjSpace w_obj = def LOOKUP_METHOD(f, nameindex, *ignored): from pypy.objspace.std.typeobject import MutableCell # stack before after # -------------- --fast-method----fallback-case------------ # # w_object None # w_object => w_function w_boundmethod_or_whatever # (more stuff) (more stuff) (more stuff) # space = f.space w_obj = f.popvalue() if not jit.we_are_jitted(): # mapdict has an extra-fast version of this function if LOOKUP_METHOD_mapdict(f, nameindex, w_obj): return w_name = f.getname_w(nameindex) w_value = None w_type = space.type(w_obj) if w_type.has_object_getattribute(): name = space.text_w(w_name) # bit of a mess to use these internal functions, but it allows the # mapdict caching below to work without an additional lookup version_tag = w_type.version_tag() if version_tag is None: _, w_descr = w_type._lookup_where(name) w_descr_cell = None else: _, w_descr_cell = w_type._pure_lookup_where_with_method_cache( name, version_tag) w_descr = w_descr_cell if isinstance(w_descr, MutableCell): w_descr = w_descr.unwrap_cell(space) if w_descr is None: # this handles directly the common case # module.function(args..) > w_value = w_obj.getdictvalue(space, name) objspace/std/callmethod.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def getdictvalue(self, space, name): w_value = space.finditem_str(self.w_dict, name) if self.lazy and w_value is None: > return self._load_lazily(space, name) interpreter/mixedmodule.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def _load_lazily(self, space, name): w_name = space.new_interned_str(name) try: loader = self.loaders[name] except KeyError: return None else: > w_value = loader(space) interpreter/mixedmodule.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace def ifileloader(space): d = {'space':space} # EVIL HACK (but it works, and this is not RPython :-) while 1: try: value = eval(spec, d) except NameError as ex: name = ex.args[0].split("'")[1] # super-Evil if name in d: raise # propagate the NameError try: > d[name] = __import__(pkgroot+'.'+name, None, None, [name]) interpreter/mixedmodule.py:182: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from pypy.interpreter.gateway import unwrap_spec from pypy.interpreter.error import oefmt from rpython.rlib import rgc > from pypy.module.gc.hook import W_GcCollectStepStats module/gc/interp_gc.py:4: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from rpython.memory.gc.hook import GcHooks > from rpython.memory.gc import incminimark module/gc/hook.py:2: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ # XXX Should find a way to bound the major collection threshold by the # XXX total addressable size. Maybe by keeping some minimarkpage arenas # XXX pre-reserved, enough for a few nursery collections? What about # XXX raw-malloced memory? # XXX try merging old_objects_pointing_to_pinned into # XXX old_objects_pointing_to_young (IRC 2014-10-22, fijal and gregor_w) import sys import os import time from rpython.rtyper.lltypesystem import lltype, llmemory, llarena, llgroup from rpython.rtyper.lltypesystem.lloperation import llop from rpython.rtyper.lltypesystem.llmemory import raw_malloc_usage from rpython.memory.gc.base import GCBase, MovingGCBase > from rpython.memory.gc import env E File "/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py", line 423 E SyntaxError: Non-ASCII character '\xe2' in file /build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py on line 423, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details ../rpython/memory/gc/incminimark.py:70: SyntaxError . pypy/module/micronumpy/test/test_object_arrays.py::AppTestObjectDtypes::()::test_array_interface s pypy/module/micronumpy/test/test_object_arrays.py::AppTestObjectDtypes::()::test_for_object_scalar_creation Skipped: not implemented yet . pypy/module/micronumpy/test/test_object_arrays.py::AppTestObjectDtypes::()::test_mem_array_creation_invalid_specification . pypy/module/micronumpy/test/test_object_arrays.py::AppTestObjectDtypes::()::test_astype s pypy/module/micronumpy/test/test_object_arrays.py::AppTestObjectDtypes::()::test__reduce__ Skipped: not implemented yet . pypy/module/micronumpy/test/test_outarg.py::AppTestOutArg::()::test_reduce_out . pypy/module/micronumpy/test/test_outarg.py::AppTestOutArg::()::test_reduce_intermediary . pypy/module/micronumpy/test/test_outarg.py::AppTestOutArg::()::test_ufunc_out . pypy/module/micronumpy/test/test_outarg.py::AppTestOutArg::()::test_binfunc_out . pypy/module/micronumpy/test/test_outarg.py::AppTestOutArg::()::test_ufunc_cast . pypy/module/micronumpy/test/test_scalar.py::AppTestScalar::()::test_integer_types . pypy/module/micronumpy/test/test_scalar.py::AppTestScalar::()::test_hierarchy . pypy/module/micronumpy/test/test_scalar.py::AppTestScalar::()::test_mro . pypy/module/micronumpy/test/test_scalar.py::AppTestScalar::()::test_init . pypy/module/micronumpy/test/test_scalar.py::AppTestScalar::()::test_builtin . pypy/module/micronumpy/test/test_scalar.py::AppTestScalar::()::test_pickle . pypy/module/micronumpy/test/test_scalar.py::AppTestScalar::()::test_round . pypy/module/micronumpy/test/test_scalar.py::AppTestScalar::()::test_astype . pypy/module/micronumpy/test/test_scalar.py::AppTestScalar::()::test_copy . pypy/module/micronumpy/test/test_scalar.py::AppTestScalar::()::test_methods . pypy/module/micronumpy/test/test_scalar.py::AppTestScalar::()::test_buffer . pypy/module/micronumpy/test/test_scalar.py::AppTestScalar::()::test_byteswap . pypy/module/micronumpy/test/test_scalar.py::AppTestScalar::()::test_squeeze . pypy/module/micronumpy/test/test_scalar.py::AppTestScalar::()::test_bitshift . pypy/module/micronumpy/test/test_scalar.py::AppTestScalar::()::test_attributes . pypy/module/micronumpy/test/test_scalar.py::AppTestScalar::()::test_indexing . pypy/module/micronumpy/test/test_scalar.py::AppTestScalar::()::test_realimag . pypy/module/micronumpy/test/test_scalar.py::AppTestScalar::()::test_view . pypy/module/micronumpy/test/test_scalar.py::AppTestScalar::()::test_as_integer_ratio . pypy/module/micronumpy/test/test_scalar.py::AppTestScalar::()::test_tostring . pypy/module/micronumpy/test/test_scalar.py::AppTestScalar::()::test_reshape . pypy/module/micronumpy/test/test_scalar.py::AppTestScalar::()::test_complex_scalar_complex_cast . pypy/module/micronumpy/test/test_scalar.py::AppTestScalar::()::test_complex_str_format . pypy/module/micronumpy/test/test_scalar.py::AppTestScalar::()::test_complex_zero_division . pypy/module/micronumpy/test/test_scalar.py::AppTestScalar::()::test_scalar_iter . pypy/module/micronumpy/test/test_scalar.py::AppTestScalar::()::test_item_tolist . pypy/module/micronumpy/test/test_scalar.py::AppTestScalar::()::test_transpose . pypy/module/micronumpy/test/test_scalar.py::AppTestScalar::()::test_swapaxes . pypy/module/micronumpy/test/test_scalar.py::AppTestScalar::()::test_nonzero . pypy/module/micronumpy/test/test_scalar.py::AppTestScalar::()::test_fill . pypy/module/micronumpy/test/test_scalar.py::AppTestScalar::()::test_conj . pypy/module/micronumpy/test/test_scalar.py::AppTestScalar::()::test_string_boxes . pypy/module/micronumpy/test/test_scalar.py::AppTestScalar::()::test_unicode_boxes . pypy/module/micronumpy/test/test_scalar.py::AppTestScalar::()::test_unicode_repr . pypy/module/micronumpy/test/test_scalar.py::AppTestScalar::()::test_binop_with_sequence . pypy/module/micronumpy/test/test_selection.py::AppTestSorting::()::test_argsort_dtypes . pypy/module/micronumpy/test/test_selection.py::AppTestSorting::()::test_argsort_ndim . pypy/module/micronumpy/test/test_selection.py::AppTestSorting::()::test_argsort_random . pypy/module/micronumpy/test/test_selection.py::AppTestSorting::()::test_argsort_axis . pypy/module/micronumpy/test/test_selection.py::AppTestSorting::()::test_sort_dtypes . pypy/module/micronumpy/test/test_selection.py::AppTestSorting::()::test_sort_nonnative . pypy/module/micronumpy/test/test_selection.py::AppTestSorting::()::test_sort_noncontiguous . pypy/module/micronumpy/test/test_selection.py::AppTestSorting::()::test_sort_corner_cases s pypy/module/micronumpy/test/test_selection.py::AppTestSorting::()::test_sort_corner_cases_string_records Skipped: not implemented yet in PyPy . pypy/module/micronumpy/test/test_selection.py::AppTestSorting::()::test_sort_unicode s pypy/module/micronumpy/test/test_selection.py::AppTestSorting::()::test_sort_objects Skipped: not implemented yet in PyPy s pypy/module/micronumpy/test/test_selection.py::AppTestSorting::()::test_sort_datetime Skipped: datetime type not supported yet s pypy/module/micronumpy/test/test_selection.py::AppTestSorting::()::test_sort_order Skipped: not implemented yet in PyPy . pypy/module/micronumpy/test/test_selection.py::AppTestSorting::()::test_sort_bigendian . pypy/module/micronumpy/test/test_selection.py::AppTestSorting::()::test_string_argsort_with_zeros . pypy/module/micronumpy/test/test_selection.py::AppTestSorting::()::test_string_sort_with_zeros . pypy/module/micronumpy/test/test_selection.py::AppTestSorting::()::test_string_mergesort . pypy/module/micronumpy/test/test_selection.py::AppTestSorting::()::test_searchsort . pypy/module/micronumpy/test/test_subtype.py::AppTestSupport::()::test_subtype_ndarray . pypy/module/micronumpy/test/test_subtype.py::AppTestSupport::()::test_subtype_base . pypy/module/micronumpy/test/test_subtype.py::AppTestSupport::()::test_subtype_view . pypy/module/micronumpy/test/test_subtype.py::AppTestSupport::()::test_subtype_like_matrix . pypy/module/micronumpy/test/test_subtype.py::AppTestSupport::()::test_priority . pypy/module/micronumpy/test/test_subtype.py::AppTestSupport::()::test_finalize . pypy/module/micronumpy/test/test_subtype.py::AppTestSupport::()::test_sub_where . pypy/module/micronumpy/test/test_subtype.py::AppTestSupport::()::test_sub_repeat . pypy/module/micronumpy/test/test_subtype.py::AppTestSupport::()::test_sub_flatiter . pypy/module/micronumpy/test/test_subtype.py::AppTestSupport::()::test_sub_getitem_filter . pypy/module/micronumpy/test/test_subtype.py::AppTestSupport::()::test_sub_getitem_array_int . pypy/module/micronumpy/test/test_subtype.py::AppTestSupport::()::test_sub_round . pypy/module/micronumpy/test/test_subtype.py::AppTestSupport::()::test_sub_dot . pypy/module/micronumpy/test/test_subtype.py::AppTestSupport::()::test_sub_reduce . pypy/module/micronumpy/test/test_subtype.py::AppTestSupport::()::test_sub_call2 . pypy/module/micronumpy/test/test_subtype.py::AppTestSupport::()::test_sub_call1 . pypy/module/micronumpy/test/test_subtype.py::AppTestSupport::()::test_sub_astype . pypy/module/micronumpy/test/test_subtype.py::AppTestSupport::()::test_sub_reshape . pypy/module/micronumpy/test/test_subtype.py::AppTestSupport::()::test___array__ . pypy/module/micronumpy/test/test_subtype.py::AppTestSupport::()::test_array_of_subtype . pypy/module/micronumpy/test/test_subtype.py::AppTestSupport::()::test_setstate_no_version . pypy/module/micronumpy/test/test_subtype.py::AppTestSupport::()::test_subok . pypy/module/micronumpy/test/test_subtype.py::AppTestSupport::()::test_numpypy_mmap . pypy/module/micronumpy/test/test_subtype.py::AppTestSupport::()::test__array_wrap__ . pypy/module/micronumpy/test/test_subtype.py::AppTestSupport::()::test_ndarray_subclass_assigns_base . pypy/module/micronumpy/test/test_support.py::TestParseSignatureDirect::()::test_signature_basic . pypy/module/micronumpy/test/test_support_app.py::AppTestSupport::()::test_add_docstring . pypy/module/micronumpy/test/test_support_app.py::AppTestSupport::()::test_type_docstring . pypy/module/micronumpy/test/test_support_app.py::AppTestSupport::()::test_method_docstring . pypy/module/micronumpy/test/test_support_app.py::AppTestSupport::()::test_property_docstring . pypy/module/micronumpy/test/test_ufuncs.py::TestGenericUfuncOperation::()::test_signature_parser . pypy/module/micronumpy/test/test_ufuncs.py::TestGenericUfuncOperation::()::test_type_resolver . pypy/module/micronumpy/test/test_ufuncs.py::TestGenericUfuncOperation::()::test_allowed_types . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_constants . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_ufunc_instance . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_frompyfunc_innerloop . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_frompyfunc_outerloop . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_frompyfunc_2d_sig . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_frompyfunc_not_contiguous . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_frompyfunc_needs_nditer . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_frompyfunc_sig_broadcast . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_frompyfunc_fortran . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_frompyfunc_casting . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_frompyfunc_scalar . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_ufunc_kwargs . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_unary_ufunc_kwargs . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_ufunc_attrs . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_wrong_arguments . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_single_item . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_sequence . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_all_available . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_int_only . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_negative . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_abs . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_add . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_divide . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_true_divide . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_fabs . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_fmax . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_fmin . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_fmod . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_mod . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_minimum . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_maximum . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_complex_nan_extrema . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_multiply . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_rint . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_sign . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_signbit . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_reciprocal . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_subtract . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_floorceiltrunc . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_floorceiltrunc_nan . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_floorceiltrunc_nan_negative . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_round . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_copysign . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_exp . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_exp2 . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_expm1 . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_sin . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_cos . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_tan . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_arcsin . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_arccos . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_arctan . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_arctan2 . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_sinh . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_cosh . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_tanh . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_arcsinh . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_arccosh . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_arctanh . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_sqrt . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_square . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_radians . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_deg2rad . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_degrees . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_rad2deg . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_reduce_errors . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_reduce_1d . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_reduce_axes . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_reduce_fmax . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_reduceND . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_reduce_keepdims . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_bitwise . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_unary_bitops . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_shift . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_comparisons . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_count_nonzero . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_true_divide_2 . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_isnan_isinf . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_logical_ops . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_logn . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_log1p . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_power_float . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_power_int . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_floordiv . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_logaddexp . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_logaddexp2 . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_accumulate . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_accumulate_shapes . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_accumulate_shapes_2 . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_noncommutative_reduce_accumulate . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_outer . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_promotion . pypy/module/micronumpy/test/test_ufuncs.py::AppTestUfuncs::()::test_add_doc (somefailed=True in module/micronumpy/test) . pypy/objspace/fake/test/test_checkmodule.py::test_wrap_interp2app . pypy/objspace/fake/test/test_checkmodule.py::test_wrap_interp2app_int . pypy/objspace/fake/test/test_checkmodule.py::test_wrap_interp2app_later . pypy/objspace/fake/test/test_checkmodule.py::test_wrap_GetSetProperty . pypy/objspace/fake/test/test_checkmodule.py::test_gettypefor_untranslated . pypy/objspace/fake/test/test_checkmodule.py::test_gettype_mro_untranslated . pypy/objspace/fake/test/test_checkmodule.py::test_gettype_mro . pypy/objspace/fake/test/test_checkmodule.py::test_see_objects . pypy/objspace/fake/test/test_objspace.py::test_create . pypy/objspace/fake/test/test_objspace.py::TestTranslate::()::test_simple . pypy/objspace/fake/test/test_objspace.py::TestTranslate::()::test_methodtable . pypy/objspace/fake/test/test_objspace.py::TestTranslate::()::test_newdict . pypy/objspace/fake/test/test_objspace.py::TestTranslate::()::test_constants . pypy/objspace/fake/test/test_objspace.py::TestTranslate::()::test_wrap . pypy/objspace/fake/test/test_objspace.py::TestTranslate::()::test_call_args . pypy/objspace/fake/test/test_objspace.py::TestTranslate::()::test_gettypefor . pypy/objspace/fake/test/test_objspace.py::TestTranslate::()::test_is_true . pypy/objspace/fake/test/test_objspace.py::TestTranslate::()::test_unpackiterable . pypy/objspace/fake/test/test_objspace.py::TestTranslate::()::test_newlist . pypy/objspace/fake/test/test_objspace.py::TestTranslate::()::test_default_values . pypy/objspace/fake/test/test_objspace.py::TestTranslate::()::test_bug_utf8_len_w . pypy/module/zlib/test/test_zlib.py::test_unsigned_to_signed_32bit . pypy/module/zlib/test/test_zlib.py::AppTestZlib::()::test_error . pypy/module/zlib/test/test_zlib.py::AppTestZlib::()::test_crc32 . pypy/module/zlib/test/test_zlib.py::AppTestZlib::()::test_crc32_start_value . pypy/module/zlib/test/test_zlib.py::AppTestZlib::()::test_crc32_negative_start . pypy/module/zlib/test/test_zlib.py::AppTestZlib::()::test_crc32_negative_start_bug . pypy/module/zlib/test/test_zlib.py::AppTestZlib::()::test_crc32_negative_long_start . pypy/module/zlib/test/test_zlib.py::AppTestZlib::()::test_crc32_long_start . pypy/module/zlib/test/test_zlib.py::AppTestZlib::()::test_adler32 . pypy/module/zlib/test/test_zlib.py::AppTestZlib::()::test_adler32_start_value . pypy/module/zlib/test/test_zlib.py::AppTestZlib::()::test_invalidLevel . pypy/module/zlib/test/test_zlib.py::AppTestZlib::()::test_compression . pypy/module/zlib/test/test_zlib.py::AppTestZlib::()::test_decompression . pypy/module/zlib/test/test_zlib.py::AppTestZlib::()::test_compress . pypy/module/zlib/test/test_zlib.py::AppTestZlib::()::test_decompress . pypy/module/zlib/test/test_zlib.py::AppTestZlib::()::test_decompress_invalid_input . pypy/module/zlib/test/test_zlib.py::AppTestZlib::()::test_bad_arguments . pypy/module/zlib/test/test_zlib.py::AppTestZlib::()::test_empty_flush . pypy/module/zlib/test/test_zlib.py::AppTestZlib::()::test_decompress_incomplete_stream . pypy/module/zlib/test/test_zlib.py::AppTestZlib::()::test_unused_data . pypy/module/zlib/test/test_zlib.py::AppTestZlib::()::test_max_length . pypy/module/zlib/test/test_zlib.py::AppTestZlib::()::test_max_length_large . pypy/module/zlib/test/test_zlib.py::AppTestZlib::()::test_buffer . pypy/module/zlib/test/test_zlib.py::AppTestZlib::()::test_flush_with_freed_input . pypy/module/zlib/test/test_zlib.py::AppTestZlib::()::test_decompress_copy . pypy/module/zlib/test/test_zlib.py::AppTestZlib::()::test_cannot_copy_decompressor_with_stream_in_inconsistent_state . pypy/module/zlib/test/test_zlib.py::AppTestZlib::()::test_decompress_copy_carries_along_state . pypy/module/zlib/test/test_zlib.py::AppTestZlib::()::test_compress_copy s pypy/module/zlib/test/test_zlib.py::AppTestZlib::()::test_cannot_copy_compressor_with_stream_in_inconsistent_state Skipped: does not error check . pypy/module/zlib/test/test_zlib.py::AppTestZlib::()::test_cannot_copy_compressor_with_flushed_stream . pypy/module/zlib/test/test_zlib.py::AppTestZlib::()::test_double_flush . pypy/objspace/test/apptest_binop_overriding.py::test_overriding_base_binop_explict . pypy/objspace/test/apptest_descriptor.py::test_non_data_descr . pypy/objspace/test/apptest_descriptor.py::test_set_without_get . pypy/objspace/test/apptest_descriptor.py::test_failing_get . pypy/objspace/test/apptest_descriptor.py::test_member . pypy/objspace/test/apptest_descriptor.py::test_special_methods_returning_strings . pypy/objspace/test/apptest_descriptor.py::test_hash . pypy/objspace/test/apptest_descriptor.py::test_issue3255 . pypy/objspace/test/apptest_descriptor.py::test_descr_funny_new . pypy/objspace/test/apptest_descroperation.py::test_special_methods . pypy/objspace/test/apptest_descroperation.py::test_getslice . pypy/objspace/test/apptest_descroperation.py::test_setslice . pypy/objspace/test/apptest_descroperation.py::test_delslice . pypy/objspace/test/apptest_descroperation.py::test_getslice_nolength . pypy/objspace/test/apptest_descroperation.py::test_ipow . pypy/objspace/test/apptest_descroperation.py::test_typechecks . pypy/objspace/test/apptest_descroperation.py::test_string_subclass . pypy/objspace/test/apptest_descroperation.py::test_notimplemented . pypy/objspace/test/apptest_descroperation.py::test_string_results . pypy/objspace/test/apptest_descroperation.py::test_missing_getattribute . pypy/objspace/test/apptest_descroperation.py::test_silly_but_consistent_order s pypy/objspace/test/apptest_descroperation.py::test_setattrweakref Skipped: fails, works in cpython . pypy/objspace/test/apptest_descroperation.py::test_subclass_addition . pypy/objspace/test/apptest_descroperation.py::test_subclass_comparison . pypy/objspace/test/apptest_descroperation.py::test_subclass_comparison_more . pypy/objspace/test/apptest_descroperation.py::test_rich_comparison . pypy/objspace/test/apptest_descroperation.py::test_partial_ordering . pypy/objspace/test/apptest_descroperation.py::test_eq_order . pypy/objspace/test/apptest_descroperation.py::test_addition . pypy/objspace/test/apptest_descroperation.py::test_mod_failure . pypy/objspace/test/apptest_descroperation.py::test_invalid_iterator . pypy/objspace/test/apptest_descroperation.py::test_attribute_error . pypy/objspace/test/apptest_descroperation.py::test_delete_descriptor . pypy/objspace/test/apptest_descroperation.py::test_non_callable . pypy/objspace/test/apptest_descroperation.py::test_isinstance_and_issubclass . pypy/objspace/test/apptest_descroperation.py::test_issubclass_and_method . pypy/objspace/test/apptest_descroperation.py::test_truth_of_long . pypy/objspace/test/apptest_descroperation.py::test_len_overflow . pypy/objspace/test/apptest_descroperation.py::test_len_underflow . pypy/objspace/test/apptest_descroperation.py::test_len_custom__int__ . pypy/objspace/test/apptest_descroperation.py::test_bool___contains__ . pypy/objspace/test/apptest_descroperation.py::test___cmp___fake_int . pypy/objspace/test/apptest_descroperation.py::test_sequence_rmul_overrides . pypy/objspace/test/apptest_descroperation.py::test_sequence_rmul_overrides_oldstyle . pypy/objspace/test/apptest_descroperation.py::test_sequence_radd_overrides . pypy/objspace/test/apptest_descroperation.py::test_data_descriptor_without_delete . pypy/objspace/test/apptest_descroperation.py::test_data_descriptor_without_set . pypy/objspace/test/apptest_descroperation.py::test_not_subscriptable_error_gives_keys . pypy/objspace/test/test_descroperation.py::Test_DescrOperation::()::test_nonzero . pypy/objspace/test/test_descroperation.py::Test_DescrOperation::()::test_isinstance_and_issubtype_ignore_special . pypy/objspace/test/test_descroperation.py::Test_DescrOperation::()::test_shortcut . pypy/objspace/test/test_descroperation.py::Test_DescrOperation::()::test_shortcut_binop . pypy/objspace/test/test_descroperation.py::Test_DescrOperation::()::test_shortcut_binop_not_implemented . pypy/objspace/test/test_descroperation.py::Test_DescrOperation::()::test_shortcut_eq . pypy/objspace/test/test_descroperation.py::Test_DescrOperation::()::test_shortcut_dictiter . pypy/objspace/test/test_descroperation.py::Test_DescrOperation::()::test_shortcut_str_getitem . pypy/objspace/test/test_descroperation.py::Test_DescrOperation::()::test_no_shortcut_classobj . pypy/objspace/test/test_descroperation.py::Test_DescrOperation::()::test_shortcut_generatoriterator . pypy/objspace/test/test_descroperation.py::Test_DescrOperation::()::test_shortcut_len E pypy/sandbox/test/test_pypy_interact.py::test_run mod = def setup_module(mod): t = Translation(mini_pypy_like_entry_point, backend='c', sandbox=True, lldebug=True) > mod.executable = str(t.compile()) sandbox/test/test_pypy_interact.py:79: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../rpython/translator/interactive.py:117: in compile getattr(self.driver, 'compile_' + backend)() ../rpython/translator/driver.py:108: in proc return self.proceed(backend_goal) ../rpython/translator/driver.py:568: in proceed result = self._execute(goals, task_skip = self._maybe_skip()) ../rpython/translator/tool/taskengine.py:114: in _execute res = self._do(goal, taskcallable, *args, **kwds) ../rpython/translator/driver.py:278: in _do res = func() ../rpython/translator/driver.py:435: in task_database_c database = cbuilder.build_database() ../rpython/translator/c/genc.py:102: in build_database self.config.translation.reverse_debugger) ../rpython/translator/c/database.py:64: in __init__ self.gctransformer = self.gcpolicy.gettransformer(translator, gchooks) ../rpython/translator/c/gc.py:452: in gettransformer return shadowstack.ShadowStackFrameworkGCTransformer(translator, gchooks) ../rpython/memory/gctransform/framework.py:132: in __init__ GCClass, GC_PARAMS = choose_gc_from_config(translator.config) ../rpython/memory/gc/base.py:593: in choose_gc_from_config globals(), locals(), [classname]) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ import sys from rpython.memory.gc.semispace import SemiSpaceGC from rpython.memory.gc.semispace import GCFLAG_EXTERNAL, GCFLAG_FORWARDED from rpython.memory.gc.semispace import GC_HASH_TAKEN_ADDR > from rpython.memory.gc import env E File "/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py", line 423 E SyntaxError: Non-ASCII character '\xe2' in file /build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py on line 423, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details ../rpython/memory/gc/generation.py:5: SyntaxError ---------- Captured stderr setup ---------- [flowgraph] (test_pypy_interact:20)mini_pypy_like_entry_point [translation:info] Annotating&simplifying... [c58165c46c8c100] {translation-task starting annotate [translation:info] with policy: rpython.annotator.policy.AnnotatorPolicy [flowgraph] (test_pypy_interact:15)assert_ [flowgraph] (rpython.flowspace.specialcase:76)rpython_print_item [flowgraph] (rpython.rtyper.controllerentry:80)getattr [flowgraph] (rpython.flowspace.specialcase:95)rpython_print_newline [flowgraph] (rpython.flowspace.specialcase:85)rpython_print_end [flowgraph] (rpython.rlib.rposix_environ:61)get_items [flowgraph] (rpython.rlib.rposix:500)write [flowgraph] (rpython.rtyper.lltypesystem.rffi:1427)scoped_nonmovingbuffer.__init__ [flowgraph] (rpython.rtyper.lltypesystem.rffi:1431)scoped_nonmovingbuffer.__enter__ [flowgraph] (rpython.rtyper.lltypesystem.rffi:873)get_nonmovingbuffer_ll [flowgraph] (rpython.rlib.objectmodel:315)we_are_translated_to_c [flowgraph] (rpython.rtyper.lltypesystem.rstr:116)copy_string_to_raw [flowgraph] (rpython.rtyper.lltypesystem.rstr:63)_get_raw_buf [flowgraph] (rpython.rtyper.lltypesystem.rstr:57)_str_ofs [flowgraph] (rpython.rtyper.lltypesystem.llmemory:411)sizeof [flowgraph] (rpython.rlib.rposix_stat:637)lstat [flowgraph] (rpython.rtyper.lltypesystem.rffi:278)write [flowgraph] (rpython.rtyper.lltypesystem.rffi:1433)scoped_nonmovingbuffer.__exit__ [flowgraph] (rpython.rtyper.lltypesystem.lltype:2296)scoped_alloc [flowgraph] (rpython.rtyper.lltypesystem.lltype:2280)ScopedAlloc_Struct stat { c_st_dev, c__pad0, c__pad1, c__pad2, c__pad3, c__pad4, c__pad5, c__pad6, c__pad7, c_st_mode, c_st_nlink, c_st_uid, c_st_gid, c_st_rdev, c__pad8, c__pad9, c__pad10, c__pad11, c_st_size, c_st_blksize, c_st_blocks, c_st_atim, c_st_mtim, c_st_ctim, c_st_ino }.__init__ [flowgraph] (rpython.rtyper.lltypesystem.rffi:937)free_nonmovingbuffer_ll [flowgraph] (rpython.rtyper.lltypesystem.rffi:3)ccall_write [flowgraph] (rpython.rlib.rgil:160)release [flowgraph] (rpython.rtyper.lltypesystem.lltype:2286)ScopedAlloc_Struct stat { c_st_dev, c__pad0, c__pad1, c__pad2, c__pad3, c__pad4, c__pad5, c__pad6, c__pad7, c_st_mode, c_st_nlink, c_st_uid, c_st_gid, c_st_rdev, c__pad8, c__pad9, c__pad10, c__pad11, c_st_size, c_st_blksize, c_st_blocks, c_st_atim, c_st_mtim, c_st_ctim, c_st_ino }.__enter__ [flowgraph] (rpython.rlib.rposix:151)_errno_before [flowgraph] (rpython.rlib.rthread:349)getraw [flowgraph] (rpython.rlib.rthread:349)getraw [flowgraph] (rpython.rlib.rposix:170)_errno_after [flowgraph] (rpython.rlib.rposix:385)_as_bytes0 [flowgraph] (rpython.rtyper.lltypesystem.lltype:2289)ScopedAlloc_Struct stat { c_st_dev, c__pad0, c__pad1, c__pad2, c__pad3, c__pad4, c__pad5, c__pad6, c__pad7, c_st_mode, c_st_nlink, c_st_uid, c_st_gid, c_st_rdev, c__pad8, c__pad9, c__pad10, c__pad11, c_st_size, c_st_blksize, c_st_blocks, c_st_atim, c_st_mtim, c_st_ctim, c_st_ino }.__exit__ [flowgraph] (rpython.rlib.rthread:364)setraw [flowgraph] (rpython.rlib.rposix:371)_as_bytes [flowgraph] (rpython.rlib.rthread:364)setraw [flowgraph] (rpython.rlib.rgil:171)acquire [flowgraph] (rpython.rlib.rthread:282)gc_thread_run [flowgraph] (rpython.rtyper.lltypesystem.rffi:278)lstat [flowgraph] (rpython.rtyper.lltypesystem.rffi:926)get_nonmovingbuffer_ll_final_null [flowgraph] (rpython.rtyper.lltypesystem.rffi:3)ccall_lstat [flowgraph] (rpython.rlib.rposix:151)_errno_before [flowgraph] (rpython.rlib.rposix:170)_errno_after [flowgraph] (rpython.rlib.rposix:430)handle_posix_error [flowgraph] (rpython.rlib.rarithmetic:139)widen [flowgraph] (rpython.rlib.rposix:113)get_saved_errno [flowgraph] (rpython.rlib.rposix_stat:501)build_stat_result [flowgraph] (stat:49)S_ISREG [flowgraph] (stat:24)S_IFMT [flowgraph] (rpython.rtyper.controllerentry:80)getattr [flowgraph] (rpython.rlib.rposix_stat:624)stat [flowgraph] (rpython.rlib.rposix_environ:66)get_get [flowgraph] (rpython.rtyper.lltypesystem.rffi:278)stat [flowgraph] (rpython.rtyper.lltypesystem.rffi:3)ccall_stat [flowgraph] (rpython.rlib.rposix:151)_errno_before [flowgraph] (rpython.rlib.rposix:170)_errno_after [flowgraph] (rpython.rlib.rposix:461)open [flowgraph] (rpython.rtyper.lltypesystem.rffi:278)open [flowgraph] (rpython.rtyper.lltypesystem.rffi:3)ccall_open [flowgraph] (rpython.rlib.rposix:151)_errno_before [flowgraph] (rpython.rlib.rposix:170)_errno_after [flowgraph] (rpython.rlib.rposix:430)handle_posix_error [flowgraph] (rpython.rlib.rposix:430)handle_posix_error [flowgraph] (stat:40)S_ISDIR [flowgraph] (rpython.rlib.rposix:490)read [flowgraph] (rpython.rtyper.lltypesystem.rffi:1469)scoped_alloc_buffer.__init__ [flowgraph] (rpython.rtyper.lltypesystem.rffi:1471)scoped_alloc_buffer.__enter__ [flowgraph] (rpython.rtyper.lltypesystem.rffi:953)alloc_buffer [flowgraph] (?:2)mallocstr [flowgraph] (rpython.rtyper.lltypesystem.rstr:36)mallocstr [flowgraph] (rpython.rtyper.lltypesystem.rffi:278)read [flowgraph] (rpython.rtyper.lltypesystem.rffi:1474)scoped_alloc_buffer.__exit__ [flowgraph] (rpython.rtyper.lltypesystem.rffi:1008)keep_buffer_alive_until_here [flowgraph] (rpython.rtyper.lltypesystem.rffi:3)ccall_read [flowgraph] (rpython.rlib.rposix:151)_errno_before [flowgraph] (rpython.rlib.rposix:170)_errno_after [flowgraph] (rpython.rlib.rposix:430)handle_posix_error [flowgraph] (rpython.rtyper.lltypesystem.rffi:1476)scoped_alloc_buffer.str [flowgraph] (?:2)str_from_buffer [flowgraph] (rpython.rtyper.lltypesystem.rffi:988)str_from_buffer [flowgraph] (rpython.rtyper.lltypesystem.rstr:145)copy_raw_to_string [flowgraph] (rpython.rlib.rposix:508)close [flowgraph] (rpython.rlib.rposix:268)SuppressIPH.__init__ [flowgraph] (rpython.rlib.rposix:271)SuppressIPH.__enter__ [flowgraph] (rpython.rtyper.lltypesystem.rffi:278)close [flowgraph] (rpython.rlib.rposix:274)SuppressIPH.__exit__ [flowgraph] (rpython.rtyper.lltypesystem.rffi:2)ccall_close [flowgraph] (rpython.rlib.rposix:151)_errno_before [flowgraph] (rpython.rlib.rposix:170)_errno_after [flowgraph] (rpython.rlib.rposix:430)handle_posix_error [flowgraph] (rpython.rlib.rposix:730)getcwd [flowgraph] (rpython.rtyper.lltypesystem.rffi:278)getcwd [flowgraph] (rpython.rtyper.lltypesystem.rffi:3)ccall_getcwd [flowgraph] (rpython.rlib.rposix:151)_errno_before [flowgraph] (rpython.rlib.rposix:170)_errno_after [flowgraph] (rpython.rtyper.lltypesystem.rffi:854)charp2str [flowgraph] (rpython.rtyper.lltypesystem.rffi:1030)charpsize2str [flowgraph] (rpython.rlib.rposix:1182)strerror [flowgraph] (rpython.rtyper.lltypesystem.rffi:278)strerror [flowgraph] (rpython.rlib.rposix:430)handle_posix_error [flowgraph] (rpython.rlib.rposix:1162)isatty [flowgraph] (rpython.rtyper.lltypesystem.rffi:278)isatty [flowgraph] (rpython.rtyper.lltypesystem.rffi:3)ccall_isatty [flowgraph] (?:1)memo_offsetof_0 [flowgraph] (?:1)memo_itemoffsetof_0 [flowgraph] (?:1)memo__sizeof_none_0 [flowgraph] (?:1)memo_itemoffsetof_0 [flowgraph] (?:1)memo__make_scoped_allocator_0 [flowgraph] (?:1)memo__isfunctype_0 [flowgraph] (?:1)memo__isfunctype_0 [flowgraph] (?:1)memo__isfunctype_0 [flowgraph] (?:1)memo__should_widen_type_0 [flowgraph] (rpython.translator.sandbox.rsandbox:157)sandboxed_ll_os.ll_os_envitems [flowgraph] (rpython.translator.sandbox.rsandbox:157)sandboxed_ll_os.ll_os_getenv [flowgraph] (rpython.rlib.rmarshal:223)dump_string_or_none [flowgraph] (rpython.rlib.rmarshal:119)w_long [flowgraph] (rpython.rlib.rmarshal:129)dump_none [flowgraph] (rpython.rlib.rmarshal:473)dump_tuple [flowgraph] (rpython.rlib.rmarshal:473)dump_tuple [flowgraph] (rpython.translator.sandbox.rsandbox:72)sandboxed_io [flowgraph] (rpython.rtyper.lltypesystem.lltype:2296)scoped_alloc [flowgraph] (rpython.rtyper.lltypesystem.lltype:2280)ScopedAlloc_Array of Char {'nolength': True} .__init__ [flowgraph] (rpython.rtyper.lltypesystem.lltype:2286)ScopedAlloc_Array of Char {'nolength': True} .__enter__ [flowgraph] (rpython.translator.sandbox.rsandbox:40)writeall_not_sandboxed [flowgraph] (rpython.rtyper.lltypesystem.lltype:2289)ScopedAlloc_Array of Char {'nolength': True} .__exit__ [flowgraph] (rpython.translator.sandbox.rsandbox:55)FdLoader.__init__ [flowgraph] (rpython.rlib.rmarshal:173)load_int [flowgraph] (rpython.rlib.rmarshal:284)Loader.__init__ [flowgraph] (rpython.rlib.rmarshal:312)readchr [flowgraph] (rpython.translator.sandbox.rsandbox:60)FdLoader.need_more_data [flowgraph] (rpython.rlib.rmarshal:325)readlong [flowgraph] (rpython.translator.sandbox.rsandbox:90)reraise_error [flowgraph] (rpython.rlib.rmarshal:266)load_string_or_none [flowgraph] (rpython.rlib.rmarshal:408)load_list_or_none [flowgraph] (rpython.rlib.rmarshal:298)readstr [flowgraph] (rpython.rlib.rmarshal:487)load_tuple [flowgraph] (rpython.rlib.rmarshal:246)load_string [flowgraph] (rpython.rlib.rmarshal:288)Loader.check_finished [flowgraph] (?:1)memo__make_scoped_allocator_0 [c58165c779a1380] translation-task} [translation:info] RTyping... [c58165c779b3100] {translation-task starting rtype_lltype [flowgraph] (rpython.rtyper.rclass:1170)ll_runtime_type_info [flowgraph] (rpython.rtyper.rlist:572)ll_len [flowgraph] (rpython.rtyper.lltypesystem.rlist:365)ll_length [flowgraph] (rpython.rtyper.rlist:688)ll_getitem_nonneg [flowgraph] (rpython.rtyper.rlist:717)ll_getitem_fast [flowgraph] (rpython.rtyper.lltypesystem.rlist:372)ll_getitem_fast [flowgraph] (rpython.rtyper.lltypesystem.rlist:369)ll_items [flowgraph] (rpython.rtyper.rstr:425)ll_str [flowgraph] (?:1)memo_ll_constant_0 [flowgraph] (?:11)ll_join_strs_look_inside_iff [flowgraph] (rpython.rtyper.lltypesystem.rstr:783)ll_join_strs [flowgraph] (rpython.rtyper.lltypesystem.llmemory:1037)cast_any_ptr [flowgraph] (rpython.rtyper.lltypesystem.rstr:785) [flowgraph] (rpython.rlib.jit:294)loop_unrolling_heuristic [flowgraph] (rpython.rlib.jit:269)isconstant [flowgraph] (rpython.rtyper.lltypesystem.rstr:78)copy_string_contents [flowgraph] (rpython.rlib.jit:281)isvirtual [flowgraph] (?:2)ll_join_strs_trampoline [flowgraph] (rpython.rtyper.lltypesystem.rstr:783)ll_join_strs [flowgraph] (rpython.rtyper.rlist:588)ll_append [flowgraph] (rpython.rtyper.lltypesystem.rlist:280)_ll_list_resize_ge [flowgraph] (rpython.rlib.jit:269)isconstant [flowgraph] (rpython.rlib.jit:1300)conditional_call [flowgraph] (rpython.rlib.jit:269)isconstant [flowgraph] (?:11)_ll_list_resize_hint_really_look_inside_iff [flowgraph] (rpython.rtyper.lltypesystem.rlist:198)_ll_list_resize_hint_really [flowgraph] (rpython.rtyper.lltypesystem.rlist:198) [flowgraph] (rpython.rtyper.lltypesystem.rlist:351)_ll_new_empty_item_array [flowgraph] (rpython.rlib.jit:269)isconstant [flowgraph] (?:2)ll_arraycopy [flowgraph] (rpython.rlib.rgc:362)ll_arraycopy [flowgraph] (rpython.rlib.rgc:342)copy_item [flowgraph] (rpython.rlib.jit:269)isconstant [flowgraph] (rpython.rtyper.lltypesystem.rlist:377)ll_setitem_fast [flowgraph] (?:2)_ll_list_resize_hint_really_trampoline [flowgraph] (rpython.rtyper.lltypesystem.rlist:198)_ll_list_resize_hint_really [flowgraph] (?:1)memo__ll_prebuilt_empty_array_0 [flowgraph] (?:1)memo__contains_gcptr_0 [flowgraph] (?:1)memo_itemoffsetof_0 [flowgraph] (rpython.rtyper.lltypesystem.rstr:1293)ll_striter [flowgraph] (rpython.rtyper.lltypesystem.rstr:1306)ll_strnext [rtyper] specializing: 100 / 803 blocks (12%) [flowgraph] (?:11)ll_join_chars_look_inside_iff [flowgraph] (rpython.rtyper.lltypesystem.rstr:820)ll_join_chars [flowgraph] (rpython.rtyper.lltypesystem.rstr:821) [flowgraph] (rpython.rlib.jit:269)isconstant [flowgraph] (rpython.rlib.jit:281)isvirtual [flowgraph] (?:2)ll_join_chars_trampoline [flowgraph] (rpython.rtyper.lltypesystem.rstr:820)ll_join_chars [flowgraph] (rpython.rtyper.lltypesystem.rstr:425)ll_strconcat [flowgraph] (rpython.rtyper.lltypesystem.rstr:416)ll_length [rtyper] specializing: 200 / 834 blocks (23%) [flowgraph] (rpython.rtyper.lltypesystem.rstr:350)ll_strlen [flowgraph] (rpython.rtyper.rlist:572)ll_len [flowgraph] (rpython.rtyper.lltypesystem.rlist:365)ll_length [flowgraph] (rpython.rtyper.rlist:688)ll_getitem_nonneg [flowgraph] (rpython.rtyper.rlist:717)ll_getitem_fast [flowgraph] (rpython.rtyper.lltypesystem.rlist:372)ll_getitem_fast [flowgraph] (rpython.rtyper.lltypesystem.rlist:369)ll_items [flowgraph] (rpython.rtyper.lltypesystem.rstr:601)ll_streq [flowgraph] (rpython.translator.sandbox.rsandbox:157)sandboxed_ll_os.ll_os_lstat [flowgraph] (rpython.rtyper.lltypesystem.rlist:384)ll_fixed_newlist [flowgraph] (rpython.rtyper.rlist:726)ll_setitem_nonneg [flowgraph] (rpython.rtyper.lltypesystem.rlist:407)ll_fixed_setitem_fast [flowgraph] (rpython.rtyper.lltypesystem.rlist:470)ll_listiter [flowgraph] (rpython.rtyper.lltypesystem.rlist:484)ll_listnext_foldable [flowgraph] (rpython.rtyper.lltypesystem.rlist:395)ll_fixed_length [flowgraph] (rpython.rtyper.rlist:721)ll_getitem_foldable_nonneg [flowgraph] (rpython.rtyper.lltypesystem.rlist:402)ll_fixed_getitem_fast [flowgraph] (rpython.translator.sandbox.rsandbox:157)sandboxed_ll_os.ll_os_stat [flowgraph] (rpython.translator.sandbox.rsandbox:157)sandboxed_ll_os.ll_os_stat [flowgraph] (rpython.rtyper.lltypesystem.rlist:357)ll_newemptylist [flowgraph] (rpython.rtyper.lltypesystem.rlist:351)_ll_new_empty_item_array [flowgraph] (?:1)memo__ll_prebuilt_empty_array_0 [flowgraph] (rpython.rtyper.lltypesystem.rrange:70)ll_newrange [flowgraph] (rpython.rtyper.lltypesystem.rrange:91)ll_rangeiter [flowgraph] (rpython.rtyper.rrange:172)ll_rangenext_up [flowgraph] (rpython.rtyper.rlist:588)ll_append [flowgraph] (rpython.rtyper.lltypesystem.rlist:280)_ll_list_resize_ge [flowgraph] (rpython.rlib.jit:269)isconstant [flowgraph] (rpython.rlib.jit:1300)conditional_call [flowgraph] (rpython.rlib.jit:269)isconstant [flowgraph] (?:11)_ll_list_resize_hint_really_look_inside_iff [flowgraph] (rpython.rtyper.lltypesystem.rlist:198) [flowgraph] (rpython.rlib.jit:269)isconstant [flowgraph] (rpython.rtyper.lltypesystem.rlist:198)_ll_list_resize_hint_really [flowgraph] (?:2)ll_arraycopy [flowgraph] (rpython.rlib.rgc:362)ll_arraycopy [flowgraph] (rpython.rlib.rgc:342)copy_item [flowgraph] (rpython.rtyper.lltypesystem.llmemory:411)sizeof [flowgraph] (rpython.rlib.jit:269)isconstant [flowgraph] (rpython.rtyper.lltypesystem.rlist:377)ll_setitem_fast [flowgraph] (?:2)_ll_list_resize_hint_really_trampoline [flowgraph] (rpython.rtyper.lltypesystem.rlist:198)_ll_list_resize_hint_really [flowgraph] (?:1)memo__contains_gcptr_0 [flowgraph] (?:1)memo_itemoffsetof_0 [flowgraph] (?:1)memo__sizeof_none_0 [rtyper] specializing: 300 / 973 blocks (30%) [flowgraph] (rpython.rtyper.lltypesystem.rstr:860)ll_stringslice_startstop [flowgraph] (rpython.rtyper.lltypesystem.rstr:840)_ll_stringslice [flowgraph] (?:1)memo_emptystrfun_0 [flowgraph] (rpython.rtyper.rlist:792)ll_extend_with_str [flowgraph] (rpython.rtyper.rlist:795)ll_extend_with_str_slice_startonly [flowgraph] (rpython.rtyper.lltypesystem.rstr:354)ll_stritem_nonneg [flowgraph] (rpython.rtyper.rlist:547)listItemType [flowgraph] (rpython.translator.sandbox.rsandbox:157)sandboxed_ll_os.ll_os_stat [flowgraph] (rpython.translator.sandbox.rsandbox:157)sandboxed_ll_os.ll_os_open [flowgraph] (rpython.translator.sandbox.rsandbox:157)sandboxed_ll_os.ll_os_read [flowgraph] (rpython.rtyper.rstr:944)ll_str_is_true [flowgraph] (rpython.translator.sandbox.rsandbox:157)sandboxed_ll_os.ll_os_close [flowgraph] (rpython.translator.sandbox.rsandbox:157)sandboxed_ll_os.ll_os_getcwd [flowgraph] (rpython.translator.sandbox.rsandbox:157)sandboxed_ll_os.ll_os_strerror [flowgraph] (rpython.translator.sandbox.rsandbox:157)sandboxed_ll_os.ll_os_isatty [flowgraph] (rpython.translator.sandbox.rsandbox:157)sandboxed_ll_os.ll_os_open [rtyper] specializing: 400 / 1010 blocks (39%) [flowgraph] (?:11)ll_listdelslice_startonly_look_inside_iff [flowgraph] (rpython.rtyper.rlist:912)ll_listdelslice_startonly [flowgraph] (rpython.rtyper.rlist:539)ll_null_item [flowgraph] (rpython.rtyper.rlist:912) [flowgraph] (rpython.rlib.jit:269)isconstant [flowgraph] (rpython.rlib.jit:281)isvirtual [flowgraph] (rpython.rtyper.lltypesystem.rlist:295)_ll_list_resize_le [flowgraph] (rpython.rlib.jit:269)isconstant [flowgraph] (rpython.rlib.jit:269)isconstant [flowgraph] (?:2)ll_listdelslice_startonly_trampoline [flowgraph] (rpython.rlib.jit:1300)conditional_call [flowgraph] (rpython.rtyper.rlist:912)ll_listdelslice_startonly [flowgraph] (rpython.translator.sandbox.rsandbox:157)sandboxed_ll_os.ll_os_write [rtyper] specializing: 500 / 1050 blocks (47%) [flowgraph] (rpython.rtyper.lltypesystem.rlist:357)ll_newemptylist [rtyper] specializing: 600 / 1052 blocks (57%) [rtyper] specializing: 700 / 1052 blocks (66%) [rtyper] specializing: 800 / 1052 blocks (76%) [rtyper] specializing: 900 / 1052 blocks (85%) [rtyper] specializing: 1000 / 1052 blocks (95%) [rtyper] -=- specialized 1052 blocks -=- [flowgraph] (rpython.rlib.rmarshal:473)dump_tuple [flowgraph] (rpython.rlib.rmarshal:473)dump_tuple [flowgraph] (rpython.rlib.rmarshal:157)dump_int [flowgraph] (rpython.rlib.rmarshal:379)load_with_custom_recreate [flowgraph] (rpython.rlib.rmarshal:487)load_tuple [flowgraph] (rpython.rlib.rmarshal:473)dump_tuple [flowgraph] (rpython.rlib.rmarshal:473)dump_tuple [flowgraph] (rpython.rlib.rmarshal:133)load_none [flowgraph] (rpython.rlib.rmarshal:200)load_longlong [flowgraph] (rpython.rlib.rmarshal:147)load_bool [flowgraph] (rpython.rlib.rmarshal:166)load_int_nonneg [flowgraph] (rpython.rlib.rmarshal:215)load_float [flowgraph] (rpython.rlib.rfloat:87)rstring_to_float [flowgraph] (rpython.rlib.rdtoa:54)strtod [flowgraph] (rpython.rlib.objectmodel:397)revdb_flag_io_disabled [flowgraph] (rpython.rtyper.lltypesystem.rffi:278)_PyPy_dg_strtod [flowgraph] (rpython.rlib.rposix_stat:187)stat_result_recreate [flowgraph] (?:1)memo__isfunctype_0 [flowgraph] (?:1)memo__isfunctype_0 [rtyper] specializing: 1100 / 1179 blocks (93%) [flowgraph] (rpython.rtyper.lltypesystem.ll_str:13)ll_int2dec [flowgraph] (rpython.rtyper.lltypesystem.ll_str:7)ll_unsigned [flowgraph] (rpython.rtyper.rint:525)ll_uint_py_mod [flowgraph] (rpython.rtyper.rint:434)ll_uint_py_div [rtyper] -=- specialized 147 more blocks -=- [flowgraph] (rpython.rtyper.rclass:1133)ll_issubclass [flowgraph] (rpython.rtyper.rclass:1130)ll_type [rtyper] specializing: 1200 / 1203 blocks (99%) [rtyper] -=- specialized 4 more blocks -=- [c58165cef00db00] translation-task} [translation:info] lltype back-end optimisations... [c58165cef01c780] {translation-task starting backendopt_lltype [backendopt:removecasts] removed 1 cast_pointers in assert_ [backendopt:removecasts] removed 1 cast_pointers in _get_raw_buf__rpy_string [backendopt:removecasts] removed 3 cast_pointers in handle_posix_error__lstat [backendopt:removecasts] removed 3 cast_pointers in handle_posix_error__open [backendopt:removecasts] removed 3 cast_pointers in handle_posix_error__stat [backendopt:removecasts] removed 3 cast_pointers in read [backendopt:removecasts] removed 3 cast_pointers in handle_posix_error__read [backendopt:removecasts] removed 1 cast_pointers in str_from_buffer [backendopt:removecasts] removed 1 cast_pointers in copy_raw_to_string [backendopt:removecasts] removed 3 cast_pointers in handle_posix_error__close [backendopt:removecasts] removed 6 cast_pointers in getcwd [backendopt:removecasts] removed 1 cast_pointers in charpsize2str [backendopt:removecasts] removed 1 cast_pointers in strerror [backendopt:removecasts] removed 3 cast_pointers in handle_posix_error__write [backendopt:removecasts] removed 2 cast_pointers in isatty [backendopt:removecasts] removed 2 cast_pointers in writeall_not_sandboxed [backendopt:removecasts] removed 1 cast_pointers in load_int [backendopt:removecasts] removed 4 cast_pointers in FdLoader.need_more_data [backendopt:removecasts] removed 12 cast_pointers in reraise_error [backendopt:removecasts] removed 1 cast_pointers in load_string_or_none [backendopt:removecasts] removed 1 cast_pointers in load_list_or_none [backendopt:removecasts] removed 2 cast_pointers in readstr [backendopt:removecasts] removed 2 cast_pointers in load_tuple [backendopt:removecasts] removed 1 cast_pointers in load_string [backendopt:removecasts] removed 1 cast_pointers in Loader.check_finished [backendopt:removecasts] removed 1 cast_pointers in ll_getitem_nonneg__dum_checkidxConst_ll_getitem_fastConst_listPtr_Signed [backendopt:removecasts] removed 1 cast_pointers in ll_join_strs__v14___simple_call__function_ll [backendopt:removecasts] removed 1 cast_pointers in copy_string_contents__rpy_stringPtr_rpy_stringPtr_Signed_Signed_Signed [backendopt:removecasts] removed 1 cast_pointers in ll_join_strs__v20___simple_call__function_ll [backendopt:removecasts] removed 1 cast_pointers in ll_strnext__stringiterPtr [backendopt:removecasts] removed 1 cast_pointers in ll_listnext_foldable__listiterPtr [backendopt:removecasts] removed 1 cast_pointers in ll_rangenext_up__rangePtr_Signed [backendopt:removecasts] removed 1 cast_pointers in _ll_stringslice__rpy_stringPtr_Signed_Signed [backendopt:removecasts] removed 2 cast_pointers in ll_extend_with_str_slice_startonly__listPtr_rpy_stringPtr_ll_strlenConst_ll_stritem_nonnegConst_Signed [backendopt:removecasts] removed 2 cast_pointers in load_tuple [backendopt:removecasts] removed 1 cast_pointers in load_none [backendopt:removecasts] removed 1 cast_pointers in load_longlong [backendopt:removecasts] removed 1 cast_pointers in load_bool [backendopt:removecasts] removed 1 cast_pointers in load_int_nonneg [backendopt:removecasts] removed 1 cast_pointers in load_float [backendopt:removecasts] removed 2 cast_pointers in strtod [backendopt:inlining] phase with threshold factor: 32.4 [backendopt:inlining] heuristic: rpython.translator.backendopt.inline.inlining_heuristic [backendopt:inlining] 0.00 cast_any_ptr__Ptr_GcStruct_rpy_stringLlT_rpy_stringPtr [backendopt:inlining] 0.00 widen__int [backendopt:inlining] 0.00 memo_emptystrfun_0 [backendopt:inlining] 0.00 isconstant__v44___simple_call__function_is [backendopt:inlining] 0.00 ll_getitem_fast__listPtr_Signed [backendopt:inlining] 0.00 ll_getitem_nonneg__dum_checkidxConst_ll_getitem_fastConst_listPtr_Signed [backendopt:inlining] 0.00 copy_string_contents__rpy_stringPtr_rpy_stringPtr_Signed_Signed_Signed [backendopt:inlining] 0.00 conditional_call__v40___simple_call__function_co_star_3 [backendopt:inlining] 0.00 isconstant__v39___simple_call__function_is [backendopt:inlining] 0.00 isconstant__v28___simple_call__function_is [backendopt:inlining] 0.00 isconstant__v24___simple_call__function_is [backendopt:inlining] 0.00 isconstant__v46___simple_call__function_is [backendopt:inlining] 0.00 isconstant__v41___simple_call__function_is [backendopt:inlining] 0.00 isconstant__v54___simple_call__function_is [backendopt:inlining] 0.00 get_nonmovingbuffer_ll_final_null [backendopt:inlining] 0.00 ll_setitem_nonneg__dum_nocheckConst_arrayPtr_Signed_GCREFPtr [backendopt:inlining] 0.00 memo_ll_constant_0 [backendopt:inlining] 0.00 isvirtual__v35___simple_call__function_is [backendopt:inlining] 0.00 isconstant__v51___simple_call__function_is [backendopt:inlining] 0.00 read__Signed_arrayPtr_Signed_star_3 [backendopt:inlining] 0.00 isconstant__v55___simple_call__function_is [backendopt:inlining] 0.00 memo__ll_prebuilt_empty_array_0 [backendopt:inlining] 0.00 getcwd__arrayPtr_Signed_star_2 [backendopt:inlining] 0.00 isconstant__v22___simple_call__function_is [backendopt:inlining] 0.00 copy_raw_to_string [backendopt:inlining] 0.00 isconstant__v29___simple_call__function_is [backendopt:inlining] 0.00 isconstant__v34___simple_call__function_is [backendopt:inlining] 0.00 close__Signed_star_1 [backendopt:inlining] 0.00 _get_raw_buf__rpy_string [backendopt:inlining] 0.00 isconstant__v17___simple_call__function_is [backendopt:inlining] 0.00 isatty__Signed_star_1 [backendopt:inlining] 0.00 isvirtual__v52___simple_call__function_is [backendopt:inlining] 0.00 get_get [backendopt:inlining] 0.00 open__SomeString_Signed_Signed_star_3 [backendopt:inlining] 0.00 _as_bytes__str [backendopt:inlining] 0.00 conditional_call__v23___simple_call__function_co_star_3 [backendopt:inlining] 0.00 strerror__Signed_star_1 [backendopt:inlining] 0.00 lstat__SomeString_statPtr_star_2 [backendopt:inlining] 0.00 get_nonmovingbuffer_ll [backendopt:inlining] 0.00 get_nonmovingbuffer_ll_final_null [backendopt:inlining] 0.00 memo__ll_prebuilt_empty_array_0 [backendopt:inlining] 0.00 memo__sizeof_none_0 [backendopt:inlining] 0.00 ll_getitem_fast__listPtr_Signed [backendopt:inlining] 0.00 memo__sizeof_none_0 [backendopt:inlining] 0.00 stat__SomeString_statPtr_star_2 [backendopt:inlining] 0.00 alloc_buffer [backendopt:inlining] 0.00 lstat__SomeString_statPtr_star_2 [backendopt:inlining] 0.00 get_items [backendopt:inlining] 0.00 scoped_nonmovingbuffer.__enter__ [backendopt:inlining] 0.00 _PyPy_dg_strtod__arrayPtr_arrayPtr_star_2 [backendopt:inlining] 0.00 ll_getitem_nonneg__dum_nocheckConst_ll_getitem_fastConst_listPtr_Signed [backendopt:inlining] 0.00 gc_thread_run [backendopt:inlining] 0.00 scoped_nonmovingbuffer.__init__ [backendopt:inlining] 0.00 copy_string_to_raw [backendopt:inlining] 0.00 get_nonmovingbuffer_ll_final_null [backendopt:inlining] 0.00 stat__SomeString_statPtr_star_2 [backendopt:inlining] 0.00 lstat__SomeString_statPtr_star_2 [backendopt:inlining] 0.00 __exit____star_3 [backendopt:inlining] 0.00 isvirtual__v18___simple_call__function_is [backendopt:inlining] 0.00 conditional_call__v57___simple_call__function_co_star_3 [backendopt:inlining] 0.00 write__Signed_arrayPtr_Signed_star_3 [backendopt:inlining] 2.00 ll_strlen__rpy_stringPtr [backendopt:inlining] 0.00 get_nonmovingbuffer_ll_final_null [backendopt:inlining] 0.00 stat__SomeString_statPtr_star_2 [backendopt:inlining] 0.00 lstat__SomeString_statPtr_star_2 [backendopt:inlining] 2.00 ll_length__listPtr [backendopt:inlining] 2.00 getraw [backendopt:inlining] 2.00 getraw [backendopt:inlining] 2.00 setraw [backendopt:inlining] 2.00 setraw [backendopt:inlining] 2.00 ll_items__listPtr [backendopt:inlining] 2.00 ll_items__listPtr [backendopt:inlining] 2.00 ll_length__listPtr [backendopt:inlining] 2.00 ScopedAlloc_Array of Char {'nolength': True} .__enter__ [backendopt:inlining] 2.00 ScopedAlloc_Struct stat { c_st_dev, c__pad0, c__pad1, c__pad2, c__pad3, c__pad4, c__pad5, c__pad6, c__pad7, c_st_mode, c_st_nlink, c_st_uid, c_st_gid, c_st_rdev, c__pad8, c__pad9, c__pad10, c__pad11, c_st_size, c_st_blksize, c_st_blocks, c_st_atim, c_st_mtim, c_st_ctim, c_st_ino }.__enter__ [backendopt:inlining] 2.00 S_IFMT [backendopt:inlining] 2.00 ll_unsigned__Signed [backendopt:inlining] 2.00 ll_uint_py_div__Unsigned_Unsigned [backendopt:inlining] 2.00 ll_uint_py_mod__Unsigned_Unsigned [backendopt:inlining] 2.00 ll_fixed_newlist__GcArray_Ptr_GCREF__gcopaque_Ll_Signed [backendopt:inlining] 2.00 ll_fixed_length__arrayPtr [backendopt:inlining] 2.00 ll_length__rpy_stringPtr [backendopt:inlining] 2.00 scoped_alloc_buffer.__init__ [backendopt:inlining] 4.00 ll_stritem_nonneg__rpy_stringPtr_Signed [backendopt:inlining] 4.00 ll_fixed_setitem_fast__arrayPtr_Signed_GCREFPtr [backendopt:inlining] 4.00 __exit____star_3 [backendopt:inlining] 4.00 __exit____star_3 [backendopt:inlining] 4.00 copy_item__arrayPtr_arrayPtr_Signed_Signed [backendopt:inlining] 4.00 ll_fixed_getitem_fast__arrayPtr_Signed [backendopt:inlining] 4.00 copy_item__arrayPtr_arrayPtr_Signed_Signed [backendopt:inlining] 4.00 Loader.__init__ [backendopt:inlining] 4.00 ScopedAlloc_Array of Char {'nolength': True} .__init__ [backendopt:inlining] 2.00 get_saved_errno [backendopt:inlining] 5.00 release [backendopt:inlining] 6.00 _str_ofs__rpy_string [backendopt:inlining] 0.00 get_nonmovingbuffer_ll_final_null [backendopt:inlining] 0.00 stat__SomeString_statPtr_star_2 [backendopt:inlining] 0.00 lstat__SomeString_statPtr_star_2 [backendopt:inlining] 6.00 ScopedAlloc_Struct stat { c_st_dev, c__pad0, c__pad1, c__pad2, c__pad3, c__pad4, c__pad5, c__pad6, c__pad7, c_st_mode, c_st_nlink, c_st_uid, c_st_gid, c_st_rdev, c__pad8, c__pad9, c__pad10, c__pad11, c_st_size, c_st_blksize, c_st_blocks, c_st_atim, c_st_mtim, c_st_ctim, c_st_ino }.__init__ [backendopt:inlining] 7.00 mallocstr [backendopt:inlining] 0.00 _as_bytes0__str [backendopt:inlining] 7.00 rstring_to_float [backendopt:inlining] 4.00 ll_getitem_foldable_nonneg__arrayPtr_Signed [backendopt:inlining] 2.00 ll_len__listPtr [backendopt:inlining] 2.00 ll_len__listPtr [backendopt:inlining] 7.00 ll_listdelslice_startonly_look_inside_iff__listPtr_Signed [backendopt:inlining] 7.00 dump_none [backendopt:inlining] 7.00 rpython_print_newline [backendopt:inlining] 7.50 mallocstr [backendopt:inlining] 8.00 ll_newemptylist__GcStruct_listLlT [backendopt:inlining] 8.00 ll_newrange__Ptr_GcStruct_rangeLlT_Signed_Signed [backendopt:inlining] 8.00 ll_listiter__Ptr_GcStruct_listiterLlT_arrayPtr [backendopt:inlining] 8.00 ll_newemptylist__GcStruct_listLlT [backendopt:inlining] 9.00 ll_join_strs_look_inside_iff__Signed_arrayPtr_Ptr_GcStruct_rpy_stringLlT [backendopt:inlining] 9.00 _ll_list_resize_hint_really_look_inside_iff__listPtr_Signed_Bool [backendopt:inlining] 9.00 _ll_list_resize_hint_really_look_inside_iff__listPtr_Signed_Bool [backendopt:inlining] 9.00 ll_join_chars_look_inside_iff__Signed_arrayPtr_Ptr_GcStruct_rpy_stringLlT [backendopt:inlining] 4.00 S_ISDIR [backendopt:inlining] 4.00 S_ISREG [backendopt:inlining] 4.00 ll_str__StringR_Ptr_GcStruct_rpy_strin_rpy_stringPtr [backendopt:inlining] 7.00 acquire [backendopt:inlining] 7.00 ll_str_is_true__LLHelpersConst_rpy_stringPtr [backendopt:inlining] 11.00 ll_arraycopy__arrayPtr_arrayPtr_Signed_Signed_Signed [backendopt:inlining] 11.00 ll_arraycopy__arrayPtr_arrayPtr_Signed_Signed_Signed [backendopt:inlining] 6.00 ll_setitem_fast__listPtr_Signed_Char [backendopt:inlining] 6.00 ll_setitem_fast__listPtr_Signed_GCREFPtr [backendopt:inlining] 11.00 ll_extend_with_str__listPtr_rpy_stringPtr_ll_strlenConst_ll_stritem_nonnegConst [backendopt:inlining] 6.00 ll_getitem_fast__listPtr_Signed [backendopt:inlining] 6.00 ll_getitem_fast__listPtr_Signed [backendopt:inlining] 8.00 FdLoader.__init__ [backendopt:inlining] 11.00 str_from_buffer [backendopt:inlining] 12.00 ll_rangeiter__Ptr_GcStruct_rangeLlT_rangePtr [backendopt:inlining] 12.00 ll_striter__rpy_stringPtr [backendopt:inlining] 12.25 loop_unrolling_heuristic__v16___simple_call__function_lo [backendopt:inlining] 12.50 ll_rangenext_up__rangePtr_Signed [backendopt:inlining] 10.00 scoped_alloc__array_False [backendopt:inlining] 12.00 scoped_alloc__stat_False [backendopt:inlining] 13.00 free_nonmovingbuffer_ll [backendopt:inlining] 0.00 stat__SomeString_statPtr_star_2 [backendopt:inlining] 0.00 lstat__SomeString_statPtr_star_2 [backendopt:inlining] 13.00 keep_buffer_alive_until_here [backendopt:inlining] 14.00 dump_int [backendopt:inlining] 14.00 load_with_custom_recreate [backendopt:inlining] 14.00 dump_tuple [backendopt:inlining] 9.00 ll_listdelslice_startonly__v58___simple_call__function_ll [backendopt:inlining] 9.00 ll_listdelslice_startonly__v49___simple_call__function_ll [backendopt:inlining] 14.00 load_int_nonneg [backendopt:inlining] 14.00 load_none [backendopt:inlining] 15.50 ll_strnext__stringiterPtr [backendopt:inlining] 16.50 load_bool [backendopt:inlining] 13.00 Loader.check_finished [backendopt:inlining] 18.12 ll_stringslice_startstop__rpy_stringPtr_Signed_Signed [backendopt:inlining] 19.00 scoped_alloc_buffer.str [backendopt:inlining] 19.00 __exit____star_3 [backendopt:inlining] 19.25 load_int [backendopt:inlining] 21.00 ccall_close [backendopt:inlining] 0.00 close__Signed_star_1 [backendopt:inlining] 21.65 ll_streq__rpy_stringPtr_rpy_stringPtr [backendopt:inlining] 23.00 dump_tuple [backendopt:inlining] 22.25 assert_ [backendopt:inlining] 23.33 charp2str [backendopt:inlining] 24.50 load_string [backendopt:inlining] 17.50 ll_listnext_foldable__listiterPtr [backendopt:inlining] 17.00 ll_append__listPtr_Char [backendopt:inlining] 17.00 ll_append__listPtr_GCREFPtr [backendopt:inlining] 19.25 _errno_after__v13___simple_call__function__e [backendopt:inlining] 19.25 _errno_after__v9___simple_call__function__er [backendopt:inlining] 19.25 _errno_after__v11___simple_call__function__e [backendopt:inlining] 0.00 close__Signed_star_1 [backendopt:inlining] 19.25 _errno_after__v7___simple_call__function__er [backendopt:inlining] 19.25 _errno_after__v5___simple_call__function__er [backendopt:inlining] 19.25 _errno_after__v1___simple_call__function__er [backendopt:inlining] 19.25 _errno_after__v3___simple_call__function__er [backendopt:inlining] 26.16 ll_join_chars__v32___simple_call__function_ll [backendopt:inlining] 26.16 ll_join_chars__v37___simple_call__function_ll [backendopt:inlining] 27.00 load_string_or_none [backendopt:inlining] 27.50 ll_arraycopy__arrayPtr_arrayPtr_Signed_Signed_Signed [backendopt:inlining] 31.25 load_float [backendopt:inlining] 32.00 load_longlong [backendopt:inlining] 30.25 handle_posix_error__write [backendopt:inlining] 30.25 handle_posix_error__read [backendopt:inlining] 30.25 handle_posix_error__close [backendopt:inlining] 30.25 handle_posix_error__stat [backendopt:inlining] 30.25 handle_posix_error__open [backendopt:inlining] 30.25 handle_posix_error__lstat [backendopt:inlining] 31.87 _errno_before__v10___simple_call__function__e [backendopt:inlining] 0.00 close__Signed_star_1 [backendopt:inlining] 31.87 _errno_before__v8___simple_call__function__er [backendopt:inlining] 31.87 _errno_before__v12___simple_call__function__e [backendopt:inlining] 31.87 _errno_before__v6___simple_call__function__er [backendopt:inlining] 31.87 _errno_before__v0___simple_call__function__er [backendopt:inlining] 31.87 _errno_before__v2___simple_call__function__er [backendopt:inlining] 31.87 _errno_before__v4___simple_call__function__er [backendopt:inlining] inlined 515 callsites. [backendopt:removecasts] removed 2 cast_pointers in strtod [backendopt:malloc] starting malloc removal [backendopt:malloc] 1 simple mallocs removed in 'mini_pypy_like_entry_point' [backendopt:malloc] 1 simple mallocs removed in 'rpython_print_item' [backendopt:malloc] 1 simple mallocs removed in 'rpython_print_end' [backendopt:malloc] 3 simple mallocs removed in 'write' [backendopt:malloc] 2 simple mallocs removed in 'scoped_nonmovingbuffer.__init__' [backendopt:malloc] 1 simple mallocs removed in 'lstat__str' [backendopt:malloc] 7 simple mallocs removed in 'write__Signed_arrayPtr_Signed_star_3' [backendopt:malloc] 8 simple mallocs removed in 'lstat__SomeString_statPtr_star_2' [backendopt:malloc] 9 simple mallocs removed in 'build_stat_result' [backendopt:malloc] 1 simple mallocs removed in 'stat__str' [backendopt:malloc] 8 simple mallocs removed in 'stat__SomeString_statPtr_star_2' [backendopt:malloc] 10 simple mallocs removed in 'open__str' [backendopt:malloc] 10 simple mallocs removed in 'open__SomeString_Signed_Signed_star_3' [backendopt:malloc] 2 simple mallocs removed in 'scoped_alloc_buffer.__enter__' [backendopt:malloc] 7 simple mallocs removed in 'read__Signed_arrayPtr_Signed_star_3' [backendopt:malloc] 1 simple mallocs removed in 'close' [backendopt:malloc] 3 simple mallocs removed in 'close__Signed_star_1' [backendopt:malloc] 5 simple mallocs removed in 'getcwd' [backendopt:malloc] 5 simple mallocs removed in 'getcwd__arrayPtr_Signed_star_2' [backendopt:malloc] 1 simple mallocs removed in 'isatty' [backendopt:malloc] 1 simple mallocs removed in 'sandboxed_ll_os.ll_os_getenv__star_1' [backendopt:malloc] 3 simple mallocs removed in 'sandboxed_io' [backendopt:malloc] 3 simple mallocs removed in 'FdLoader.need_more_data' [backendopt:malloc] 2 simple mallocs removed in 'load_list_or_none' [backendopt:malloc] 3 simple mallocs removed in 'load_tuple' [backendopt:malloc] 1 simple mallocs removed in '_ll_list_resize_ge__listPtr_Signed' [backendopt:malloc] 1 simple mallocs removed in 'conditional_call__v23___simple_call__function_co_star_3' [backendopt:malloc] 1 simple mallocs removed in 'sandboxed_ll_os.ll_os_stat__star_1' [backendopt:malloc] 1 simple mallocs removed in 'sandboxed_ll_os.ll_os_stat__star_1' [backendopt:malloc] 1 simple mallocs removed in '_ll_list_resize_ge__listPtr_Signed' [backendopt:malloc] 1 simple mallocs removed in 'conditional_call__v40___simple_call__function_co_star_3' [backendopt:malloc] 1 simple mallocs removed in 'sandboxed_ll_os.ll_os_stat__star_1' [backendopt:malloc] 1 simple mallocs removed in '_ll_list_resize_le__listPtr_Signed' [backendopt:malloc] 1 simple mallocs removed in 'conditional_call__v57___simple_call__function_co_star_3' [backendopt:malloc] 19 simple mallocs removed in 'load_tuple' [backendopt:malloc] 1 simple mallocs removed in 'strtod' [backendopt:malloc] 5 simple mallocs removed in '_PyPy_dg_strtod__arrayPtr_arrayPtr_star_2' [backendopt:malloc] 7 simple mallocs removed in 'stat_result_recreate' [backendopt:malloc] removed 139 simple mallocs in total [backendopt:mergeifblocks] starting to merge if blocks [backendopt] merging blocks in sandboxed_ll_os.ll_os_getenv__star_1 [backendopt] merging blocks in reraise_error [backendopt] merging blocks in load_string_or_none [backendopt] merging blocks in load_list_or_none [backendopt] merging blocks in sandboxed_ll_os.ll_os_read__star_2 [backendopt] merging blocks in sandboxed_ll_os.ll_os_isatty__star_1 [backendopt] merging blocks in load_bool [c58165d205e7f80] translation-task} [translation:info] inserting stack checks... [c58165d205f9e80] {translation-task starting stackcheckinsertion_lltype [flowgraph] (rpython.rlib.rstack:42)stack_check [flowgraph] (rpython.rlib.rstack:67)stack_check_slowpath [rtyper] -=- specialized 8 more blocks -=- [translation:info] inserted 0 stack checks. [c58165d2172d780] translation-task} [translation:info] Creating database for generating c source... [c58165d2173cc00] {translation-task starting database_c [flowgraph] (rpython.translator.exceptiontransform:100)rpyexc_occurred [flowgraph] (rpython.translator.exceptiontransform:104)rpyexc_fetch_type [flowgraph] (rpython.translator.exceptiontransform:107)rpyexc_fetch_value [flowgraph] (rpython.translator.exceptiontransform:110)rpyexc_clear [flowgraph] (rpython.translator.exceptiontransform:114)rpyexc_raise [flowgraph] (rpython.translator.exceptiontransform:128)rpyexc_reraise [flowgraph] (rpython.translator.exceptiontransform:133)rpyexc_fetch_exception [flowgraph] (rpython.translator.exceptiontransform:138)rpyexc_restore_exception [flowgraph] (rpython.translator.exceptiontransform:539)rpyexc_get_exception_addr [flowgraph] (rpython.translator.exceptiontransform:543)rpyexc_get_exc_value_addr [flowgraph] (rpython.rtyper.rclass:1173)ll_inst_type [rtyper] -=- specialized 25 more blocks -=- [flowgraph] (rpython.memory.gctransform.transform:447)_ll_malloc_fixedsize [flowgraph] (rpython.memory.gctransform.transform:454)_ll_malloc_fixedsize_zero [flowgraph] (rpython.memory.gctransform.transform:470)_ll_malloc_varsize_no_length [flowgraph] (rpython.memory.gctransform.transform:487)ll_malloc_varsize [flowgraph] (rpython.memory.gctransform.transform:493)_ll_malloc_varsize_no_length_zero [c58165d2388b980] translation-task} (somefailed=True in sandbox/test) . pypy/module/unicodedata/test/test_hyp.py::test_composition[NFC-NFC-NFC] . pypy/module/unicodedata/test/test_hyp.py::test_composition[NFC-NFD-NFD] . pypy/module/unicodedata/test/test_hyp.py::test_composition[NFC-NFKC-NFKC] . pypy/module/unicodedata/test/test_hyp.py::test_composition[NFC-NFKD-NFKD] . pypy/module/unicodedata/test/test_hyp.py::test_composition[NFD-NFC-NFC] . pypy/module/unicodedata/test/test_hyp.py::test_composition[NFD-NFD-NFD] . pypy/module/unicodedata/test/test_hyp.py::test_composition[NFD-NFKC-NFKC] . pypy/module/unicodedata/test/test_hyp.py::test_composition[NFD-NFKD-NFKD] . pypy/module/unicodedata/test/test_hyp.py::test_composition[NFKC-NFC-NFKC] . pypy/module/unicodedata/test/test_hyp.py::test_composition[NFKC-NFD-NFKD] . pypy/module/unicodedata/test/test_hyp.py::test_composition[NFKC-NFKC-NFKC] . pypy/module/unicodedata/test/test_hyp.py::test_composition[NFKC-NFKD-NFKD] . pypy/module/unicodedata/test/test_hyp.py::test_composition[NFKD-NFC-NFKC] . pypy/module/unicodedata/test/test_hyp.py::test_composition[NFKD-NFD-NFKD] . pypy/module/unicodedata/test/test_hyp.py::test_composition[NFKD-NFKC-NFKC] . pypy/module/unicodedata/test/test_hyp.py::test_composition[NFKD-NFKD-NFKD] . pypy/module/unicodedata/test/test_unicodedata.py::AppTestUnicodeData::()::test_hangul_syllables . pypy/module/unicodedata/test/test_unicodedata.py::AppTestUnicodeData::()::test_cjk . pypy/module/unicodedata/test/test_unicodedata.py::AppTestUnicodeData::()::test_bug_1704793 . pypy/module/unicodedata/test/test_unicodedata.py::AppTestUnicodeData::()::test_no_alias_python2 . pypy/module/unicodedata/test/test_unicodedata.py::AppTestUnicodeData::()::test_normalize_bad_argcount . pypy/module/unicodedata/test/test_unicodedata.py::AppTestUnicodeData::()::test_normalize_nonunicode . pypy/module/unicodedata/test/test_unicodedata.py::AppTestUnicodeData::()::test_normalize_wide . pypy/module/unicodedata/test/test_unicodedata.py::AppTestUnicodeData::()::test_linebreaks . pypy/module/unicodedata/test/test_unicodedata.py::AppTestUnicodeData::()::test_mirrored . pypy/module/unicodedata/test/test_unicodedata.py::AppTestUnicodeData::()::test_bidirectional_not_one_character s pypy/tool/bench/test/test_benchmark_report.py /build_dir/own-linux-x86-32/build/pypy/tool/bench/test/test_benchmark_report.py:7: Skipped: No module named Image . pypy/tool/bench/test/test_pypyresult.py::test_unpickle . pypy/tool/bench/test/test_pypyresult.py::test_BenchResult_cpython . pypy/tool/bench/test/test_pypyresult.py::test_BenchResult_pypy . pypy/tool/memusage/test/test_log2gnumeric.py::test_get_clock_range . pypy/tool/memusage/test/test_log2gnumeric.py::test_gc_collect_rows . pypy/tool/memusage/test/test_log2gnumeric.py::test_tasks_rows . pypy/tool/memusage/test/test_log2gnumeric.py::test_vmrss_rows . pypy/tool/memusage/test/test_log2gnumeric.py::test_loops_rows . pypy/tool/release/test/test_package.py::TestPackaging::()::test_dir_structure . pypy/tool/release/test/test_package.py::TestPackaging::()::test_options . pypy/tool/release/test/test_package.py::TestPackaging::()::test_with_zipfile_module . pypy/tool/release/test/test_package.py::test_fix_permissions s pypy/tool/release/test/test_package.py::test_generate_license Skipped: generation of license from platform documentation is disabled . pypy/tool/release/test/test_smartstrip.py::TestSmarStrip::()::test_info_symbol . pypy/tool/release/test/test_smartstrip.py::TestSmarStrip::()::test_strip . pypy/tool/release/test/test_smartstrip.py::TestSmarStrip::()::test_keep_debug . pypy/tool/test/test_gdb_pypy.py::test_mock_objects . pypy/tool/test/test_gdb_pypy.py::test_find_field_with_suffix . pypy/tool/test/test_gdb_pypy.py::test_lookup . pypy/tool/test/test_gdb_pypy.py::test_load_typeids . pypy/tool/test/test_gdb_pypy.py::test_RPyType . pypy/tool/test/test_gdb_pypy.py::test_pprint_string . pypy/tool/test/test_gdb_pypy.py::test_pprint_list . pypy/tool/test/test_gdb_pypy.py::test_pprint_array . pypy/tool/test/test_gdb_pypy.py::test_pprint_null_list . pypy/tool/test/test_gdb_pypy.py::test_pprint_null_array . pypy/tool/test/test_gdb_pypy.py::test_typeidsmap . pypy/tool/test/test_getdocstrings.py::TestDocStringInserter::()::test_mkfilelist . pypy/tool/test/test_getdocstrings.py::TestDocStringInserter::()::test_gottestfile . pypy/tool/test/test_getdocstrings.py::TestDocStringInserter::()::test_compile_typedef . pypy/tool/test/test_isolate.py::test_init . pypy/tool/test/test_isolate.py::test_init_dir_name . pypy/tool/test/test_isolate.py::test_simple . pypy/tool/test/test_isolate.py::test_simple_dir_name . pypy/tool/test/test_isolate.py::test_raising . pypy/tool/test/test_isolate.py::test_raising_fancy . pypy/tool/test/test_isolate.py::test_bomb . pypy/tool/test/test_lib_pypy.py::test_lib_pypy_exists . pypy/tool/test/test_lib_pypy.py::test_lib_python_exists . pypy/tool/test/test_lib_pypy.py::test_import_from_lib_pypy . pypy/tool/test/test_license.py::test_license . pypy/tool/test/test_package.py::test_version . pypy/tool/test/test_tab.py::test_no_tabs . pypy/tool/test/test_tab.py::test_no_pypy_import_in_rpython . pypy/tool/test/test_template.py::test_template . pypy/tool/pytest/test/test_appsupport.py::test_pypy_collection . pypy/tool/pytest/test/test_appsupport.py::test_interp_spaceconfig . pypy/tool/pytest/test/test_appsupport.py::test_spaceconfig_param . pypy/tool/pytest/test/test_appsupport.py::test_applevel_raises_simple_display . pypy/tool/pytest/test/test_appsupport.py::test_apptest_raise . pypy/tool/pytest/test/test_appsupport.py::test_apptest_fail_plain . pypy/tool/pytest/test/test_appsupport.py::test_apptest_fail_rewrite . pypy/tool/pytest/test/test_appsupport.py::test_apptest_spaceconfig . pypy/tool/pytest/test/test_appsupport.py::test_apptest_skipif . pypy/tool/pytest/test/test_astrewrite.py::test_simple . pypy/tool/pytest/test/test_astrewrite.py::test_call . pypy/tool/pytest/test/test_astrewrite.py::test_list . pypy/tool/pytest/test/test_astrewrite.py::test_boolop . pypy/tool/pytest/test/test_astrewrite.py::test_attribute . pypy/tool/pytest/test/test_conftest1.py::TestPyPyTests::()::test_selection_by_keyword_interp . pypy/tool/pytest/test/test_conftest1.py::TestPyPyTests::()::test_selection_by_keyword_app . pypy/tool/pytest/test/test_pytestsupport.py::test_AppFrame . pypy/tool/pytest/test/test_pytestsupport.py::test_myexception . pypy/tool/pytest/test/test_pytestsupport.py::test_appexecinfo . pypy/tool/pytest/test/test_pytestsupport.py::AppTestWithWrappedInterplevelAttributes::()::test_values_arrive . pypy/tool/pytest/test/test_pytestsupport.py::AppTestWithWrappedInterplevelAttributes::()::test_values_arrive2 . pypy/tool/pytest/test/test_pytestsupport.py::AppTestWithWrappedInterplevelAttributes::()::test_equal . pypy/tool/pytest/test/test_pytestsupport.py::AppTestWithWrappedInterplevelAttributes::()::test_wrapped_function_with_different_name . pypy/tool/pytest/test/test_pytestsupport.py::test_app_test_blow . pypy/module/zipimport/test/test_undocumented.py::AppTestZipImport::()::test_inheritance . pypy/module/zipimport/test/test_undocumented.py::AppTestZipImport::()::test_nonzip . pypy/module/zipimport/test/test_undocumented.py::AppTestZipImport::()::test_root . pypy/module/zipimport/test/test_undocumented.py::AppTestZipImport::()::test_direct_path . pypy/module/zipimport/test/test_undocumented.py::AppTestZipImport::()::test_pkg_path . pypy/module/zipimport/test/test_undocumented.py::AppTestZipImport::()::test_zip_directory_cache . pypy/module/zipimport/test/test_zipimport.py::AppTestZipimport::()::test_cache . pypy/module/zipimport/test/test_zipimport.py::AppTestZipimport::()::test_cache_subdir . pypy/module/zipimport/test/test_zipimport.py::AppTestZipimport::()::test_good_bad_arguments . pypy/module/zipimport/test/test_zipimport.py::AppTestZipimport::()::test_py . pypy/module/zipimport/test/test_zipimport.py::AppTestZipimport::()::test_pyc . pypy/module/zipimport/test/test_zipimport.py::AppTestZipimport::()::test_bad_pyc . pypy/module/zipimport/test/test_zipimport.py::AppTestZipimport::()::test_short_pyc . pypy/module/zipimport/test/test_zipimport.py::AppTestZipimport::()::test_force_py . pypy/module/zipimport/test/test_zipimport.py::AppTestZipimport::()::test_sys_modules . pypy/module/zipimport/test/test_zipimport.py::AppTestZipimport::()::test_package . pypy/module/zipimport/test/test_zipimport.py::AppTestZipimport::()::test_package_bug . pypy/module/zipimport/test/test_zipimport.py::AppTestZipimport::()::test_pyc_in_package . pypy/module/zipimport/test/test_zipimport.py::AppTestZipimport::()::test_functions . pypy/module/zipimport/test/test_zipimport.py::AppTestZipimport::()::test_archive . pypy/module/zipimport/test/test_zipimport.py::AppTestZipimport::()::test_subdirectory_importer . pypy/module/zipimport/test/test_zipimport.py::AppTestZipimport::()::test_subdirectory_twice . pypy/module/zipimport/test/test_zipimport.py::AppTestZipimport::()::test_zip_directory_cache . pypy/module/zipimport/test/test_zipimport.py::AppTestZipimport::()::test_path_hooks . pypy/module/zipimport/test/test_zipimport.py::AppTestZipimport::()::test_co_filename . pypy/module/zipimport/test/test_zipimport.py::AppTestZipimport::()::test_import_exception . pypy/module/zipimport/test/test_zipimport_deflated.py::AppTestZipimportDeflated::()::test_cache . pypy/module/zipimport/test/test_zipimport_deflated.py::AppTestZipimportDeflated::()::test_cache_subdir . pypy/module/zipimport/test/test_zipimport_deflated.py::AppTestZipimportDeflated::()::test_good_bad_arguments . pypy/module/zipimport/test/test_zipimport_deflated.py::AppTestZipimportDeflated::()::test_py . pypy/module/zipimport/test/test_zipimport_deflated.py::AppTestZipimportDeflated::()::test_pyc . pypy/module/zipimport/test/test_zipimport_deflated.py::AppTestZipimportDeflated::()::test_bad_pyc . pypy/module/zipimport/test/test_zipimport_deflated.py::AppTestZipimportDeflated::()::test_short_pyc . pypy/module/zipimport/test/test_zipimport_deflated.py::AppTestZipimportDeflated::()::test_force_py . pypy/module/zipimport/test/test_zipimport_deflated.py::AppTestZipimportDeflated::()::test_sys_modules . pypy/module/zipimport/test/test_zipimport_deflated.py::AppTestZipimportDeflated::()::test_package . pypy/module/zipimport/test/test_zipimport_deflated.py::AppTestZipimportDeflated::()::test_package_bug . pypy/module/zipimport/test/test_zipimport_deflated.py::AppTestZipimportDeflated::()::test_pyc_in_package . pypy/module/zipimport/test/test_zipimport_deflated.py::AppTestZipimportDeflated::()::test_functions . pypy/module/zipimport/test/test_zipimport_deflated.py::AppTestZipimportDeflated::()::test_archive . pypy/module/zipimport/test/test_zipimport_deflated.py::AppTestZipimportDeflated::()::test_subdirectory_importer . pypy/module/zipimport/test/test_zipimport_deflated.py::AppTestZipimportDeflated::()::test_subdirectory_twice . pypy/module/zipimport/test/test_zipimport_deflated.py::AppTestZipimportDeflated::()::test_zip_directory_cache . pypy/module/zipimport/test/test_zipimport_deflated.py::AppTestZipimportDeflated::()::test_path_hooks . pypy/module/zipimport/test/test_zipimport_deflated.py::AppTestZipimportDeflated::()::test_co_filename . pypy/module/zipimport/test/test_zipimport_deflated.py::AppTestZipimportDeflated::()::test_import_exception . pypy/module/zipimport/test/test_zipimport_deflated.py::AppTestZipimportDeflated::()::test_zlib_error . pypy/objspace/std/test/apptest_boolobject.py::test_bool_callable . pypy/objspace/std/test/apptest_boolobject.py::test_bool_string . pypy/objspace/std/test/apptest_boolobject.py::test_bool_int . pypy/objspace/std/test/apptest_boolobject.py::test_bool_long . pypy/objspace/std/test/apptest_boolobject.py::test_bool_ops . pypy/objspace/std/test/apptest_boolobject.py::test_bool_int_ops . pypy/objspace/std/test/apptest_boolobject.py::test_new . pypy/objspace/std/test/apptest_boolobject.py::test_cant_subclass_bool . pypy/objspace/std/test/apptest_bufferobject.py::test_init . pypy/objspace/std/test/apptest_bufferobject.py::test_unicode_buffer . pypy/objspace/std/test/apptest_bufferobject.py::test_array_buffer . pypy/objspace/std/test/apptest_bufferobject.py::test_nonzero . pypy/objspace/std/test/apptest_bufferobject.py::test_str . pypy/objspace/std/test/apptest_bufferobject.py::test_repr . pypy/objspace/std/test/apptest_bufferobject.py::test_add . pypy/objspace/std/test/apptest_bufferobject.py::test_cmp . pypy/objspace/std/test/apptest_bufferobject.py::test_hash . pypy/objspace/std/test/apptest_bufferobject.py::test_mul . pypy/objspace/std/test/apptest_bufferobject.py::test_offset_size . pypy/objspace/std/test/apptest_bufferobject.py::test_rw_offset_size . pypy/objspace/std/test/apptest_bufferobject.py::test_slice . pypy/objspace/std/test/apptest_bufferobject.py::test_getitem_only_ints . pypy/objspace/std/test/apptest_bufferobject.py::test_pypy_raw_address_base . pypy/objspace/std/test/apptest_callmethod.py::test_call_method . pypy/objspace/std/test/apptest_callmethod.py::test_call_attribute . pypy/objspace/std/test/apptest_callmethod.py::test_call_module . pypy/objspace/std/test/apptest_callmethod.py::test_custom_getattr . pypy/objspace/std/test/apptest_callmethod.py::test_custom_getattribute . pypy/objspace/std/test/apptest_callmethod.py::test_builtin . pypy/objspace/std/test/apptest_callmethod.py::test_attributeerror . pypy/objspace/std/test/apptest_callmethod.py::test_kwargs . pypy/objspace/std/test/apptest_complexobject.py::test_div . pypy/objspace/std/test/apptest_complexobject.py::test_truediv . pypy/objspace/std/test/apptest_complexobject.py::test_floordiv . pypy/objspace/std/test/apptest_complexobject.py::test_coerce . pypy/objspace/std/test/apptest_complexobject.py::test_richcompare . pypy/objspace/std/test/apptest_complexobject.py::test_richcompare_numbers . pypy/objspace/std/test/apptest_complexobject.py::test_richcompare_boundaries . pypy/objspace/std/test/apptest_complexobject.py::test_mod . pypy/objspace/std/test/apptest_complexobject.py::test_divmod . pypy/objspace/std/test/apptest_complexobject.py::test_pow . pypy/objspace/std/test/apptest_complexobject.py::test_boolcontext . pypy/objspace/std/test/apptest_complexobject.py::test_conjugate . pypy/objspace/std/test/apptest_complexobject.py::test_constructor . pypy/objspace/std/test/apptest_complexobject.py::test_constructor_bad_error_message . pypy/objspace/std/test/apptest_complexobject.py::test_error_messages . pypy/objspace/std/test/apptest_complexobject.py::test___complex___returning_non_complex . pypy/objspace/std/test/apptest_complexobject.py::test_hash . pypy/objspace/std/test/apptest_complexobject.py::test_abs . pypy/objspace/std/test/apptest_complexobject.py::test_complex_subclass_ctr . pypy/objspace/std/test/apptest_complexobject.py::test_infinity . pypy/objspace/std/test/apptest_complexobject.py::test_repr . pypy/objspace/std/test/apptest_complexobject.py::test_neg . pypy/objspace/std/test/apptest_complexobject.py::test_file . pypy/objspace/std/test/apptest_complexobject.py::test_convert . pypy/objspace/std/test/apptest_complexobject.py::test_getnewargs . pypy/objspace/std/test/apptest_complexobject.py::test_method_not_found_on_newstyle_instance . pypy/objspace/std/test/apptest_complexobject.py::test_format . pypy/objspace/std/test/apptest_complexobject.py::test_complex_two_arguments . pypy/objspace/std/test/apptest_complexobject.py::test_hash_minus_one . pypy/objspace/std/test/apptest_complexobject.py::test_int_override . pypy/objspace/std/test/apptest_complexobject.py::test_parse_complex_whitespace_bug . pypy/objspace/std/test/apptest_instmethobject.py::test_callBound . pypy/objspace/std/test/apptest_instmethobject.py::test_callUnbound . pypy/objspace/std/test/apptest_instmethobject.py::test_err_format . pypy/objspace/std/test/apptest_instmethobject.py::test_getBound . pypy/objspace/std/test/apptest_instmethobject.py::test_getUnbound . pypy/objspace/std/test/apptest_iterobject.py::test_no_len_on_list_iter . pypy/objspace/std/test/apptest_iterobject.py::test_no_len_on_tuple_iter . pypy/objspace/std/test/apptest_iterobject.py::test_no_len_on_deque_iter . pypy/objspace/std/test/apptest_iterobject.py::test_no_len_on_reversed . pypy/objspace/std/test/apptest_iterobject.py::test_no_len_on_reversed_seqiter . pypy/objspace/std/test/apptest_iterobject.py::test_no_len_on_UserList_iter_reversed F pypy/objspace/std/test/apptest_iterobject.py::test_reversed_frees_empty self = func = at 0xf4272dbc>, 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, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 0xf7a3332c> hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf69d14cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf69d14cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf3bb028c> 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 0xf3bb028c> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf3bb0a0c> 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 0xf3bb0a0c> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def runtest(self): target = self.w_obj space = target.space self.check_run(space, target) > self.execute_appex(space, target) tool/pytest/apptest2.py:85: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , space = StdObjSpace w_func = def execute_appex(self, space, w_func): space.getexecutioncontext().set_sys_exc_info(None) sig = w_func.code._signature if sig.varargname or sig.kwargname: raise ValueError( 'Test functions may not use *args or **kwargs') args_w = self.get_fixtures(space, sig.argnames) try: > space.call_function(w_func, *args_w) tool/pytest/apptest2.py:114: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = , args_w = () nargs = 0, Function = Method = def call_function(self, w_func, *args_w): nargs = len(args_w) # used for pruning funccall versions if not self.config.objspace.disable_call_speedhacks and nargs < 5: # start of hack for performance from pypy.interpreter.function import Function, Method if isinstance(w_func, Method): w_inst = w_func.w_instance if w_inst is not None: if nargs < 4: func = w_func.w_function if isinstance(func, Function): return func.funccall(w_inst, *args_w) elif args_w and ( self.abstract_isinstance_w(args_w[0], w_func.w_class)): w_func = w_func.w_function if isinstance(w_func, Function): > return w_func.funccall(*args_w) interpreter/baseobjspace.py:1210: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , args_w = () gateway = PyCode = code = def funccall(self, *args_w): # speed hack from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit nargs = len(args_w) fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, args_w[0]) elif nargs == 2: assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, args_w[0], args_w[1]) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) return code.fastcall_3(self.space, self, args_w[0], args_w[1], args_w[2]) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) return code.fastcall_4(self.space, self, args_w[0], args_w[1], args_w[2], args_w[3]) elif (nargs | PyCode.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) if nargs < 5: new_frame = self.space.createframe(code, self.w_func_globals, self) for i in funccallunrolling: if i < nargs: new_frame.locals_cells_stack_w[i] = args_w[i] > return new_frame.run() interpreter/function.py:118: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 42 def run(self): """Start this frame's execution.""" if self.getcode().co_flags & pycode.CO_GENERATOR: from pypy.interpreter.generator import GeneratorIterator return GeneratorIterator(self) else: > return self.execute_frame() interpreter/pyframe.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 42 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:290: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 42 e = SyntaxError("Non-ASCII character '\\xe2' in file /build_dir/own-linux-x86-32/b..., ('/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py', 423, 0, None)) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:943: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 42 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:286: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 42 pycode = next_instr = 0L ec = def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 42 co_code = 'x\xbb\x00t\x00\x00t\x01\x00f\x02\x00D]\xad\x00}\x00\x00t\x02\x00g\x01\x00\x89\x00\x00d\x01\x00|\x00\x00f\x01\x00\x87\...}\x04\x00t\x0b\x00t\t\x00\xc9\x0c\x00|\x04\x00\xca\x01\x00\x83\x01\x00\x82\x01\x00d\x00\x00}\x03\x00q\r\x00Wd\x00\x00S' next_instr = 0L ec = def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 42 co_code = 'x\xbb\x00t\x00\x00t\x01\x00f\x02\x00D]\xad\x00}\x00\x00t\x02\x00g\x01\x00\x89\x00\x00d\x01\x00|\x00\x00f\x01\x00\x87\...}\x04\x00t\x0b\x00t\t\x00\xc9\x0c\x00|\x04\x00\xca\x01\x00\x83\x01\x00\x82\x01\x00d\x00\x00}\x03\x00q\r\x00Wd\x00\x00S' next_instr = 93L ec = @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: self.last_instr = intmask(next_instr) if jit.we_are_jitted(): if self.debugdata: ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: ec.bytecode_trace(self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) next_instr += 1 if opcode >= HAVE_ARGUMENT: lo = ord(co_code[next_instr]) hi = ord(co_code[next_instr+1]) next_instr += 2 oparg = (hi * 256) | lo else: oparg = 0 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into a switch(). while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption lo = ord(co_code[next_instr+1]) hi = ord(co_code[next_instr+2]) next_instr += 3 oparg = (oparg * 65536) | (hi * 256) | lo if opcode == opcodedesc.RETURN_VALUE.index: if not self.blockstack_non_empty(): self.frame_finished_execution = True # for generators raise Return w_returnvalue = self.popvalue() block = self.unrollstack(SReturnValue.kind) if block is None: self.pushvalue(w_returnvalue) raise Return else: unroller = SReturnValue(w_returnvalue) next_instr = block.handle(self, unroller) return next_instr # now inside a 'finally' block elif opcode == opcodedesc.END_FINALLY.index: unroller = self.end_finally() if isinstance(unroller, SuspendedUnroller): # go on unrolling the stack block = self.unrollstack(unroller.kind) if block is None: w_result = unroller.nomoreblocks() self.pushvalue(w_result) raise Return else: next_instr = block.handle(self, unroller) return next_instr elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, ec) elif opcode == opcodedesc.BREAK_LOOP.index: next_instr = self.BREAK_LOOP(oparg, next_instr) elif opcode == opcodedesc.CONTINUE_LOOP.index: return self.CONTINUE_LOOP(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: next_instr = self.JUMP_IF_FALSE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_DEBUG.index: next_instr = self.JUMP_IF_NOT_DEBUG(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: next_instr = self.JUMP_IF_TRUE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: next_instr = self.POP_JUMP_IF_FALSE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: next_instr = self.POP_JUMP_IF_TRUE(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_DIVIDE.index: self.BINARY_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CLASS.index: self.BUILD_CLASS(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR.index: self.CALL_FUNCTION_VAR(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR_KW.index: self.CALL_FUNCTION_VAR_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: self.CALL_METHOD(oparg, next_instr) elif opcode == opcodedesc.COMPARE_OP.index: self.COMPARE_OP(oparg, next_instr) elif opcode == opcodedesc.DELETE_ATTR.index: self.DELETE_ATTR(oparg, next_instr) elif opcode == opcodedesc.DELETE_FAST.index: self.DELETE_FAST(oparg, next_instr) elif opcode == opcodedesc.DELETE_GLOBAL.index: self.DELETE_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.DELETE_NAME.index: self.DELETE_NAME(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_0.index: self.DELETE_SLICE_0(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_1.index: self.DELETE_SLICE_1(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_2.index: self.DELETE_SLICE_2(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_3.index: self.DELETE_SLICE_3(oparg, next_instr) elif opcode == opcodedesc.DELETE_SUBSCR.index: self.DELETE_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.DUP_TOP.index: self.DUP_TOP(oparg, next_instr) elif opcode == opcodedesc.DUP_TOPX.index: self.DUP_TOPX(oparg, next_instr) elif opcode == opcodedesc.EXEC_STMT.index: self.EXEC_STMT(oparg, next_instr) elif opcode == opcodedesc.GET_ITER.index: self.GET_ITER(oparg, next_instr) elif opcode == opcodedesc.IMPORT_FROM.index: self.IMPORT_FROM(oparg, next_instr) elif opcode == opcodedesc.IMPORT_NAME.index: self.IMPORT_NAME(oparg, next_instr) elif opcode == opcodedesc.IMPORT_STAR.index: self.IMPORT_STAR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_ADD.index: self.INPLACE_ADD(oparg, next_instr) elif opcode == opcodedesc.INPLACE_AND.index: self.INPLACE_AND(oparg, next_instr) elif opcode == opcodedesc.INPLACE_DIVIDE.index: self.INPLACE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_FLOOR_DIVIDE.index: self.INPLACE_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_LSHIFT.index: self.INPLACE_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MODULO.index: self.INPLACE_MODULO(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MULTIPLY.index: self.INPLACE_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.INPLACE_OR.index: self.INPLACE_OR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_POWER.index: self.INPLACE_POWER(oparg, next_instr) elif opcode == opcodedesc.INPLACE_RSHIFT.index: self.INPLACE_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_SUBTRACT.index: self.INPLACE_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_TRUE_DIVIDE.index: self.INPLACE_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_XOR.index: self.INPLACE_XOR(oparg, next_instr) elif opcode == opcodedesc.LIST_APPEND.index: self.LIST_APPEND(oparg, next_instr) elif opcode == opcodedesc.LOAD_ATTR.index: self.LOAD_ATTR(oparg, next_instr) elif opcode == opcodedesc.LOAD_CLOSURE.index: self.LOAD_CLOSURE(oparg, next_instr) elif opcode == opcodedesc.LOAD_CONST.index: self.LOAD_CONST(oparg, next_instr) elif opcode == opcodedesc.LOAD_DEREF.index: self.LOAD_DEREF(oparg, next_instr) elif opcode == opcodedesc.LOAD_FAST.index: self.LOAD_FAST(oparg, next_instr) elif opcode == opcodedesc.LOAD_GLOBAL.index: self.LOAD_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.LOAD_LOCALS.index: self.LOAD_LOCALS(oparg, next_instr) elif opcode == opcodedesc.LOAD_NAME.index: self.LOAD_NAME(oparg, next_instr) elif opcode == opcodedesc.LOOKUP_METHOD.index: > self.LOOKUP_METHOD(oparg, next_instr) interpreter/pyopcode.py:356: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = at line 42 nameindex = 8, ignored = (93L,) MutableCell = space = StdObjSpace w_obj = def LOOKUP_METHOD(f, nameindex, *ignored): from pypy.objspace.std.typeobject import MutableCell # stack before after # -------------- --fast-method----fallback-case------------ # # w_object None # w_object => w_function w_boundmethod_or_whatever # (more stuff) (more stuff) (more stuff) # space = f.space w_obj = f.popvalue() if not jit.we_are_jitted(): # mapdict has an extra-fast version of this function if LOOKUP_METHOD_mapdict(f, nameindex, w_obj): return w_name = f.getname_w(nameindex) w_value = None w_type = space.type(w_obj) if w_type.has_object_getattribute(): name = space.text_w(w_name) # bit of a mess to use these internal functions, but it allows the # mapdict caching below to work without an additional lookup version_tag = w_type.version_tag() if version_tag is None: _, w_descr = w_type._lookup_where(name) w_descr_cell = None else: _, w_descr_cell = w_type._pure_lookup_where_with_method_cache( name, version_tag) w_descr = w_descr_cell if isinstance(w_descr, MutableCell): w_descr = w_descr.unwrap_cell(space) if w_descr is None: # this handles directly the common case # module.function(args..) > w_value = w_obj.getdictvalue(space, name) objspace/std/callmethod.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def getdictvalue(self, space, name): w_value = space.finditem_str(self.w_dict, name) if self.lazy and w_value is None: > return self._load_lazily(space, name) interpreter/mixedmodule.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def _load_lazily(self, space, name): w_name = space.new_interned_str(name) try: loader = self.loaders[name] except KeyError: return None else: > w_value = loader(space) interpreter/mixedmodule.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace def ifileloader(space): d = {'space':space} # EVIL HACK (but it works, and this is not RPython :-) while 1: try: value = eval(spec, d) except NameError as ex: name = ex.args[0].split("'")[1] # super-Evil if name in d: raise # propagate the NameError try: > d[name] = __import__(pkgroot+'.'+name, None, None, [name]) interpreter/mixedmodule.py:182: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from pypy.interpreter.gateway import unwrap_spec from pypy.interpreter.error import oefmt from rpython.rlib import rgc > from pypy.module.gc.hook import W_GcCollectStepStats module/gc/interp_gc.py:4: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from rpython.memory.gc.hook import GcHooks > from rpython.memory.gc import incminimark module/gc/hook.py:2: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ # XXX Should find a way to bound the major collection threshold by the # XXX total addressable size. Maybe by keeping some minimarkpage arenas # XXX pre-reserved, enough for a few nursery collections? What about # XXX raw-malloced memory? # XXX try merging old_objects_pointing_to_pinned into # XXX old_objects_pointing_to_young (IRC 2014-10-22, fijal and gregor_w) import sys import os import time from rpython.rtyper.lltypesystem import lltype, llmemory, llarena, llgroup from rpython.rtyper.lltypesystem.lloperation import llop from rpython.rtyper.lltypesystem.llmemory import raw_malloc_usage from rpython.memory.gc.base import GCBase, MovingGCBase > from rpython.memory.gc import env E File "/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py", line 423 E SyntaxError: Non-ASCII character '\xe2' in file /build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py on line 423, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details ../rpython/memory/gc/incminimark.py:70: SyntaxError . pypy/objspace/std/test/apptest_iterobject.py::test_reversed_mutation . pypy/objspace/std/test/apptest_iterobject.py::test_no_len_on_set_iter . pypy/objspace/std/test/apptest_iterobject.py::test_no_len_on_xrange . pypy/objspace/std/test/apptest_iterobject.py::test_contains . pypy/objspace/std/test/apptest_iterobject.py::test_user_iter . pypy/objspace/std/test/apptest_iterobject.py::test_iter_getitem . pypy/objspace/std/test/apptest_iterobject.py::test_iter_fail_noseq . pypy/objspace/std/test/apptest_operation.py::test_int_vs_long . pypy/objspace/std/test/apptest_operation.py::test_int_vs_float . pypy/objspace/std/test/apptest_operation.py::test_long_vs_float . pypy/objspace/std/test/apptest_stringformat.py::test_format_item_dict . pypy/objspace/std/test/apptest_stringformat.py::test_format_two_items . pypy/objspace/std/test/apptest_stringformat.py::test_format_percent_dict . pypy/objspace/std/test/apptest_stringformat.py::test_format_empty_key . pypy/objspace/std/test/apptest_stringformat.py::test_format_wrong_char_dict . pypy/objspace/std/test/apptest_stringformat.py::test_format_missing . pypy/objspace/std/test/apptest_stringformat.py::test_format_error . pypy/objspace/std/test/apptest_stringformat.py::test_format_item_string . pypy/objspace/std/test/apptest_stringformat.py::test_format_percent_tuple . pypy/objspace/std/test/apptest_stringformat.py::test_format_too_much . pypy/objspace/std/test/apptest_stringformat.py::test_format_not_enough . pypy/objspace/std/test/apptest_stringformat.py::test_format_string . pypy/objspace/std/test/apptest_stringformat.py::test_format_float . pypy/objspace/std/test/apptest_stringformat.py::test_format_int . pypy/objspace/std/test/apptest_stringformat.py::test_format_long s pypy/objspace/std/test/apptest_stringformat.py::test_format_subclass_with_str Skipped: the rest of this test is serious nonsense imho, changed only on 2.7.13, and is different on 3.x anyway. We could reproduce it by writing lengthy logic, then get again the reasonable performance by special-casing the exact type 'long'. And all for 2.7.13 only. Let's give up. . pypy/objspace/std/test/apptest_stringformat.py::test_format_list . pypy/objspace/std/test/apptest_stringformat.py::test_format_tuple . pypy/objspace/std/test/apptest_stringformat.py::test_format_dict . pypy/objspace/std/test/apptest_stringformat.py::test_format_wrong_char . pypy/objspace/std/test/apptest_stringformat.py::test_incomplete_format . pypy/objspace/std/test/apptest_stringformat.py::test_format_char . pypy/objspace/std/test/apptest_stringformat.py::test_broken_unicode . pypy/objspace/std/test/apptest_stringformat.py::test_force_unicode_uses_default_encoding . pypy/objspace/std/test/apptest_stringformat.py::test_force_unicode_doesnt_force_random_objects . pypy/objspace/std/test/apptest_stringformat.py::test___int__ . pypy/objspace/std/test/apptest_stringformat.py::test_format_retry_with_long_if_int_fails . pypy/objspace/std/test/apptest_stringformat.py::test_formatting_huge_precision . pypy/objspace/std/test/apptest_stringformat.py::test_formatting_huge_width . pypy/objspace/std/test/apptest_stringformat.py::test_wrong_formatchar_error_not_masked_by_not_enough_args . pypy/objspace/std/test/apptest_stringformat.py::test_width . pypy/objspace/std/test/apptest_stringformat.py::test_prec_cornercase . pypy/objspace/std/test/apptest_stringformat.py::test_prec_string . pypy/objspace/std/test/apptest_stringformat.py::test_prec_width_string . pypy/objspace/std/test/apptest_stringformat.py::test_zero_pad . pypy/objspace/std/test/apptest_stringformat.py::test_star_width . pypy/objspace/std/test/apptest_stringformat.py::test_star_prec . pypy/objspace/std/test/apptest_stringformat.py::test_star_width_prec . pypy/objspace/std/test/apptest_stringformat.py::test_long_format . pypy/objspace/std/test/apptest_stringformat.py::test_subnormal . pypy/objspace/std/test/apptest_stringformat.py::test_unicode_convert . pypy/objspace/std/test/apptest_stringformat.py::test_unicode_nonascii . pypy/objspace/std/test/apptest_stringformat.py::test_unicode_d s pypy/objspace/std/test/apptest_stringformat.py::test_unicode_overflow Skipped: nicely passes on top of CPython but requires > 2GB of RAM . pypy/objspace/std/test/apptest_stringformat.py::test_unicode_format_a . pypy/objspace/std/test/apptest_stringformat.py::test_long_no_overflow . pypy/objspace/std/test/apptest_stringformat.py::test_missing_cases . pypy/objspace/std/test/apptest_stringformat.py::test_invalid_char . pypy/objspace/std/test/apptest_stringformat.py::test_formatting_huge_precision_u . pypy/objspace/std/test/apptest_stringformat.py::test_formatting_huge_width_u . pypy/objspace/std/test/apptest_stringformat.py::test_unicode_error_position . pypy/objspace/std/test/apptest_stringformat.py::test_g_strip_trailing_zero_bug . pypy/objspace/std/test/apptest_userobject.py::test_emptyclass . pypy/objspace/std/test/apptest_userobject.py::test_method . pypy/objspace/std/test/apptest_userobject.py::test_unboundmethod . pypy/objspace/std/test/apptest_userobject.py::test_subclassing . pypy/objspace/std/test/apptest_userobject.py::test_subclasstuple . pypy/objspace/std/test/apptest_userobject.py::test_subsubclass . pypy/objspace/std/test/apptest_userobject.py::test_descr_get . pypy/objspace/std/test/apptest_userobject.py::test_descr_set . pypy/objspace/std/test/apptest_userobject.py::test_descr_delete . pypy/objspace/std/test/apptest_userobject.py::test_class_setattr . pypy/objspace/std/test/apptest_userobject.py::test_add . pypy/objspace/std/test/apptest_userobject.py::test_call . pypy/objspace/std/test/apptest_userobject.py::test_getattribute . pypy/objspace/std/test/apptest_userobject.py::test_getattr . pypy/objspace/std/test/apptest_userobject.py::test_dict F pypy/objspace/std/test/apptest_userobject.py::test_del self = func = at 0xf38cc17c>, 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, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 0xf7a3332c> hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf69d14cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf69d14cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf363f28c> 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 0xf363f28c> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf363f2ec> 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 0xf363f2ec> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def runtest(self): target = self.w_obj space = target.space self.check_run(space, target) > self.execute_appex(space, target) tool/pytest/apptest2.py:85: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , space = StdObjSpace w_func = def execute_appex(self, space, w_func): space.getexecutioncontext().set_sys_exc_info(None) sig = w_func.code._signature if sig.varargname or sig.kwargname: raise ValueError( 'Test functions may not use *args or **kwargs') args_w = self.get_fixtures(space, sig.argnames) try: > space.call_function(w_func, *args_w) tool/pytest/apptest2.py:114: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = , args_w = (), nargs = 0 Function = Method = def call_function(self, w_func, *args_w): nargs = len(args_w) # used for pruning funccall versions if not self.config.objspace.disable_call_speedhacks and nargs < 5: # start of hack for performance from pypy.interpreter.function import Function, Method if isinstance(w_func, Method): w_inst = w_func.w_instance if w_inst is not None: if nargs < 4: func = w_func.w_function if isinstance(func, Function): return func.funccall(w_inst, *args_w) elif args_w and ( self.abstract_isinstance_w(args_w[0], w_func.w_class)): w_func = w_func.w_function if isinstance(w_func, Function): > return w_func.funccall(*args_w) interpreter/baseobjspace.py:1210: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , args_w = () gateway = PyCode = code = def funccall(self, *args_w): # speed hack from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit nargs = len(args_w) fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, args_w[0]) elif nargs == 2: assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, args_w[0], args_w[1]) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) return code.fastcall_3(self.space, self, args_w[0], args_w[1], args_w[2]) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) return code.fastcall_4(self.space, self, args_w[0], args_w[1], args_w[2], args_w[3]) elif (nargs | PyCode.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) if nargs < 5: new_frame = self.space.createframe(code, self.w_func_globals, self) for i in funccallunrolling: if i < nargs: new_frame.locals_cells_stack_w[i] = args_w[i] > return new_frame.run() interpreter/function.py:118: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 142 def run(self): """Start this frame's execution.""" if self.getcode().co_flags & pycode.CO_GENERATOR: from pypy.interpreter.generator import GeneratorIterator return GeneratorIterator(self) else: > return self.execute_frame() interpreter/pyframe.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 142 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:290: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 142 e = SyntaxError("Non-ASCII character '\\xe2' in file /build_dir/own-linux-x86-32/b..., ('/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py', 423, 0, None)) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:943: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 142 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:286: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 142 pycode = next_instr = 0L ec = def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 142 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x00\x00g\x00\x00\x89\x00\x00d\x02\x00t\x01\x00f\x01\x00\x87\x00\x00f\x01\x00d\x03\x00\x8...05\x00t\t\x00t\x03\x00\xc9\n\x00|\x05\x00\xca\x01\x00\x83\x01\x00\x82\x01\x00d\x00\x00\x04}\x03\x00}\x02\x00d\x00\x00S' next_instr = 0L ec = def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 142 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x00\x00g\x00\x00\x89\x00\x00d\x02\x00t\x01\x00f\x01\x00\x87\x00\x00f\x01\x00d\x03\x00\x8...05\x00t\t\x00t\x03\x00\xc9\n\x00|\x05\x00\xca\x01\x00\x83\x01\x00\x82\x01\x00d\x00\x00\x04}\x03\x00}\x02\x00d\x00\x00S' next_instr = 59L ec = @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: self.last_instr = intmask(next_instr) if jit.we_are_jitted(): if self.debugdata: ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: ec.bytecode_trace(self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) next_instr += 1 if opcode >= HAVE_ARGUMENT: lo = ord(co_code[next_instr]) hi = ord(co_code[next_instr+1]) next_instr += 2 oparg = (hi * 256) | lo else: oparg = 0 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into a switch(). while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption lo = ord(co_code[next_instr+1]) hi = ord(co_code[next_instr+2]) next_instr += 3 oparg = (oparg * 65536) | (hi * 256) | lo if opcode == opcodedesc.RETURN_VALUE.index: if not self.blockstack_non_empty(): self.frame_finished_execution = True # for generators raise Return w_returnvalue = self.popvalue() block = self.unrollstack(SReturnValue.kind) if block is None: self.pushvalue(w_returnvalue) raise Return else: unroller = SReturnValue(w_returnvalue) next_instr = block.handle(self, unroller) return next_instr # now inside a 'finally' block elif opcode == opcodedesc.END_FINALLY.index: unroller = self.end_finally() if isinstance(unroller, SuspendedUnroller): # go on unrolling the stack block = self.unrollstack(unroller.kind) if block is None: w_result = unroller.nomoreblocks() self.pushvalue(w_result) raise Return else: next_instr = block.handle(self, unroller) return next_instr elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, ec) elif opcode == opcodedesc.BREAK_LOOP.index: next_instr = self.BREAK_LOOP(oparg, next_instr) elif opcode == opcodedesc.CONTINUE_LOOP.index: return self.CONTINUE_LOOP(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: next_instr = self.JUMP_IF_FALSE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_DEBUG.index: next_instr = self.JUMP_IF_NOT_DEBUG(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: next_instr = self.JUMP_IF_TRUE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: next_instr = self.POP_JUMP_IF_FALSE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: next_instr = self.POP_JUMP_IF_TRUE(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_DIVIDE.index: self.BINARY_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CLASS.index: self.BUILD_CLASS(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR.index: self.CALL_FUNCTION_VAR(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR_KW.index: self.CALL_FUNCTION_VAR_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: self.CALL_METHOD(oparg, next_instr) elif opcode == opcodedesc.COMPARE_OP.index: self.COMPARE_OP(oparg, next_instr) elif opcode == opcodedesc.DELETE_ATTR.index: self.DELETE_ATTR(oparg, next_instr) elif opcode == opcodedesc.DELETE_FAST.index: self.DELETE_FAST(oparg, next_instr) elif opcode == opcodedesc.DELETE_GLOBAL.index: self.DELETE_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.DELETE_NAME.index: self.DELETE_NAME(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_0.index: self.DELETE_SLICE_0(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_1.index: self.DELETE_SLICE_1(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_2.index: self.DELETE_SLICE_2(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_3.index: self.DELETE_SLICE_3(oparg, next_instr) elif opcode == opcodedesc.DELETE_SUBSCR.index: self.DELETE_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.DUP_TOP.index: self.DUP_TOP(oparg, next_instr) elif opcode == opcodedesc.DUP_TOPX.index: self.DUP_TOPX(oparg, next_instr) elif opcode == opcodedesc.EXEC_STMT.index: self.EXEC_STMT(oparg, next_instr) elif opcode == opcodedesc.GET_ITER.index: self.GET_ITER(oparg, next_instr) elif opcode == opcodedesc.IMPORT_FROM.index: self.IMPORT_FROM(oparg, next_instr) elif opcode == opcodedesc.IMPORT_NAME.index: self.IMPORT_NAME(oparg, next_instr) elif opcode == opcodedesc.IMPORT_STAR.index: self.IMPORT_STAR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_ADD.index: self.INPLACE_ADD(oparg, next_instr) elif opcode == opcodedesc.INPLACE_AND.index: self.INPLACE_AND(oparg, next_instr) elif opcode == opcodedesc.INPLACE_DIVIDE.index: self.INPLACE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_FLOOR_DIVIDE.index: self.INPLACE_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_LSHIFT.index: self.INPLACE_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MODULO.index: self.INPLACE_MODULO(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MULTIPLY.index: self.INPLACE_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.INPLACE_OR.index: self.INPLACE_OR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_POWER.index: self.INPLACE_POWER(oparg, next_instr) elif opcode == opcodedesc.INPLACE_RSHIFT.index: self.INPLACE_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_SUBTRACT.index: self.INPLACE_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_TRUE_DIVIDE.index: self.INPLACE_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_XOR.index: self.INPLACE_XOR(oparg, next_instr) elif opcode == opcodedesc.LIST_APPEND.index: self.LIST_APPEND(oparg, next_instr) elif opcode == opcodedesc.LOAD_ATTR.index: self.LOAD_ATTR(oparg, next_instr) elif opcode == opcodedesc.LOAD_CLOSURE.index: self.LOAD_CLOSURE(oparg, next_instr) elif opcode == opcodedesc.LOAD_CONST.index: self.LOAD_CONST(oparg, next_instr) elif opcode == opcodedesc.LOAD_DEREF.index: self.LOAD_DEREF(oparg, next_instr) elif opcode == opcodedesc.LOAD_FAST.index: self.LOAD_FAST(oparg, next_instr) elif opcode == opcodedesc.LOAD_GLOBAL.index: self.LOAD_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.LOAD_LOCALS.index: self.LOAD_LOCALS(oparg, next_instr) elif opcode == opcodedesc.LOAD_NAME.index: self.LOAD_NAME(oparg, next_instr) elif opcode == opcodedesc.LOOKUP_METHOD.index: > self.LOOKUP_METHOD(oparg, next_instr) interpreter/pyopcode.py:356: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = at line 142 nameindex = 2, ignored = (59L,) MutableCell = space = StdObjSpace w_obj = def LOOKUP_METHOD(f, nameindex, *ignored): from pypy.objspace.std.typeobject import MutableCell # stack before after # -------------- --fast-method----fallback-case------------ # # w_object None # w_object => w_function w_boundmethod_or_whatever # (more stuff) (more stuff) (more stuff) # space = f.space w_obj = f.popvalue() if not jit.we_are_jitted(): # mapdict has an extra-fast version of this function if LOOKUP_METHOD_mapdict(f, nameindex, w_obj): return w_name = f.getname_w(nameindex) w_value = None w_type = space.type(w_obj) if w_type.has_object_getattribute(): name = space.text_w(w_name) # bit of a mess to use these internal functions, but it allows the # mapdict caching below to work without an additional lookup version_tag = w_type.version_tag() if version_tag is None: _, w_descr = w_type._lookup_where(name) w_descr_cell = None else: _, w_descr_cell = w_type._pure_lookup_where_with_method_cache( name, version_tag) w_descr = w_descr_cell if isinstance(w_descr, MutableCell): w_descr = w_descr.unwrap_cell(space) if w_descr is None: # this handles directly the common case # module.function(args..) > w_value = w_obj.getdictvalue(space, name) objspace/std/callmethod.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def getdictvalue(self, space, name): w_value = space.finditem_str(self.w_dict, name) if self.lazy and w_value is None: > return self._load_lazily(space, name) interpreter/mixedmodule.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def _load_lazily(self, space, name): w_name = space.new_interned_str(name) try: loader = self.loaders[name] except KeyError: return None else: > w_value = loader(space) interpreter/mixedmodule.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace def ifileloader(space): d = {'space':space} # EVIL HACK (but it works, and this is not RPython :-) while 1: try: value = eval(spec, d) except NameError as ex: name = ex.args[0].split("'")[1] # super-Evil if name in d: raise # propagate the NameError try: > d[name] = __import__(pkgroot+'.'+name, None, None, [name]) interpreter/mixedmodule.py:182: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from pypy.interpreter.gateway import unwrap_spec from pypy.interpreter.error import oefmt from rpython.rlib import rgc > from pypy.module.gc.hook import W_GcCollectStepStats module/gc/interp_gc.py:4: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from rpython.memory.gc.hook import GcHooks > from rpython.memory.gc import incminimark module/gc/hook.py:2: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ # XXX Should find a way to bound the major collection threshold by the # XXX total addressable size. Maybe by keeping some minimarkpage arenas # XXX pre-reserved, enough for a few nursery collections? What about # XXX raw-malloced memory? # XXX try merging old_objects_pointing_to_pinned into # XXX old_objects_pointing_to_young (IRC 2014-10-22, fijal and gregor_w) import sys import os import time from rpython.rtyper.lltypesystem import lltype, llmemory, llarena, llgroup from rpython.rtyper.lltypesystem.lloperation import llop from rpython.rtyper.lltypesystem.llmemory import raw_malloc_usage from rpython.memory.gc.base import GCBase, MovingGCBase > from rpython.memory.gc import env E File "/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py", line 423 E SyntaxError: Non-ASCII character '\xe2' in file /build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py on line 423, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details ../rpython/memory/gc/incminimark.py:70: SyntaxError F pypy/objspace/std/test/apptest_userobject.py::test_del_exception self = func = at 0xf3f758b4>, 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, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 0xf7a3332c> hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf69d14cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf69d14cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf37fd2ac> 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 0xf37fd2ac> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf37fd3cc> 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 0xf37fd3cc> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def runtest(self): target = self.w_obj space = target.space self.check_run(space, target) > self.execute_appex(space, target) tool/pytest/apptest2.py:85: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , space = StdObjSpace w_func = def execute_appex(self, space, w_func): space.getexecutioncontext().set_sys_exc_info(None) sig = w_func.code._signature if sig.varargname or sig.kwargname: raise ValueError( 'Test functions may not use *args or **kwargs') args_w = self.get_fixtures(space, sig.argnames) try: > space.call_function(w_func, *args_w) tool/pytest/apptest2.py:114: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = , args_w = () nargs = 0, Function = Method = def call_function(self, w_func, *args_w): nargs = len(args_w) # used for pruning funccall versions if not self.config.objspace.disable_call_speedhacks and nargs < 5: # start of hack for performance from pypy.interpreter.function import Function, Method if isinstance(w_func, Method): w_inst = w_func.w_instance if w_inst is not None: if nargs < 4: func = w_func.w_function if isinstance(func, Function): return func.funccall(w_inst, *args_w) elif args_w and ( self.abstract_isinstance_w(args_w[0], w_func.w_class)): w_func = w_func.w_function if isinstance(w_func, Function): > return w_func.funccall(*args_w) interpreter/baseobjspace.py:1210: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , args_w = () gateway = PyCode = code = def funccall(self, *args_w): # speed hack from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit nargs = len(args_w) fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, args_w[0]) elif nargs == 2: assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, args_w[0], args_w[1]) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) return code.fastcall_3(self.space, self, args_w[0], args_w[1], args_w[2]) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) return code.fastcall_4(self.space, self, args_w[0], args_w[1], args_w[2], args_w[3]) elif (nargs | PyCode.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) if nargs < 5: new_frame = self.space.createframe(code, self.w_func_globals, self) for i in funccallunrolling: if i < nargs: new_frame.locals_cells_stack_w[i] = args_w[i] > return new_frame.run() interpreter/function.py:118: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 154 def run(self): """Start this frame's execution.""" if self.getcode().co_flags & pycode.CO_GENERATOR: from pypy.interpreter.generator import GeneratorIterator return GeneratorIterator(self) else: > return self.execute_frame() interpreter/pyframe.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 154 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:290: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 154 e = SyntaxError("Non-ASCII character '\\xe2' in file /build_dir/own-linux-x86-32/b..., ('/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py', 423, 0, None)) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:943: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 154 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:286: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 154 pycode = next_instr = 0L ec = def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 154 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x00\x00d\x01\x00d\x00\x00l\x01\x00}\x01\x00d\x01\x00d\x00\x00l\x02\x00}\x02\x00d\x02\x00...0e\x00t\r\x00t\n\x00\xc9\x0e\x00|\x0e\x00\xca\x01\x00\x83\x01\x00\x82\x01\x00d\x00\x00\x04}\x0b\x00}\x0c\x00d\x00\x00S' next_instr = 0L ec = def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 154 co_code = 'd\x01\x00d\x00\x00l\x00\x00}\x00\x00d\x01\x00d\x00\x00l\x01\x00}\x01\x00d\x01\x00d\x00\x00l\x02\x00}\x02\x00d\x02\x00...0e\x00t\r\x00t\n\x00\xc9\x0e\x00|\x0e\x00\xca\x01\x00\x83\x01\x00\x82\x01\x00d\x00\x00\x04}\x0b\x00}\x0c\x00d\x00\x00S' next_instr = 98L ec = @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: self.last_instr = intmask(next_instr) if jit.we_are_jitted(): if self.debugdata: ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: ec.bytecode_trace(self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) next_instr += 1 if opcode >= HAVE_ARGUMENT: lo = ord(co_code[next_instr]) hi = ord(co_code[next_instr+1]) next_instr += 2 oparg = (hi * 256) | lo else: oparg = 0 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into a switch(). while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption lo = ord(co_code[next_instr+1]) hi = ord(co_code[next_instr+2]) next_instr += 3 oparg = (oparg * 65536) | (hi * 256) | lo if opcode == opcodedesc.RETURN_VALUE.index: if not self.blockstack_non_empty(): self.frame_finished_execution = True # for generators raise Return w_returnvalue = self.popvalue() block = self.unrollstack(SReturnValue.kind) if block is None: self.pushvalue(w_returnvalue) raise Return else: unroller = SReturnValue(w_returnvalue) next_instr = block.handle(self, unroller) return next_instr # now inside a 'finally' block elif opcode == opcodedesc.END_FINALLY.index: unroller = self.end_finally() if isinstance(unroller, SuspendedUnroller): # go on unrolling the stack block = self.unrollstack(unroller.kind) if block is None: w_result = unroller.nomoreblocks() self.pushvalue(w_result) raise Return else: next_instr = block.handle(self, unroller) return next_instr elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, ec) elif opcode == opcodedesc.BREAK_LOOP.index: next_instr = self.BREAK_LOOP(oparg, next_instr) elif opcode == opcodedesc.CONTINUE_LOOP.index: return self.CONTINUE_LOOP(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: next_instr = self.JUMP_IF_FALSE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_DEBUG.index: next_instr = self.JUMP_IF_NOT_DEBUG(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: next_instr = self.JUMP_IF_TRUE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: next_instr = self.POP_JUMP_IF_FALSE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: next_instr = self.POP_JUMP_IF_TRUE(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_DIVIDE.index: self.BINARY_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CLASS.index: self.BUILD_CLASS(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR.index: self.CALL_FUNCTION_VAR(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR_KW.index: self.CALL_FUNCTION_VAR_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: self.CALL_METHOD(oparg, next_instr) elif opcode == opcodedesc.COMPARE_OP.index: self.COMPARE_OP(oparg, next_instr) elif opcode == opcodedesc.DELETE_ATTR.index: self.DELETE_ATTR(oparg, next_instr) elif opcode == opcodedesc.DELETE_FAST.index: self.DELETE_FAST(oparg, next_instr) elif opcode == opcodedesc.DELETE_GLOBAL.index: self.DELETE_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.DELETE_NAME.index: self.DELETE_NAME(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_0.index: self.DELETE_SLICE_0(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_1.index: self.DELETE_SLICE_1(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_2.index: self.DELETE_SLICE_2(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_3.index: self.DELETE_SLICE_3(oparg, next_instr) elif opcode == opcodedesc.DELETE_SUBSCR.index: self.DELETE_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.DUP_TOP.index: self.DUP_TOP(oparg, next_instr) elif opcode == opcodedesc.DUP_TOPX.index: self.DUP_TOPX(oparg, next_instr) elif opcode == opcodedesc.EXEC_STMT.index: self.EXEC_STMT(oparg, next_instr) elif opcode == opcodedesc.GET_ITER.index: self.GET_ITER(oparg, next_instr) elif opcode == opcodedesc.IMPORT_FROM.index: self.IMPORT_FROM(oparg, next_instr) elif opcode == opcodedesc.IMPORT_NAME.index: self.IMPORT_NAME(oparg, next_instr) elif opcode == opcodedesc.IMPORT_STAR.index: self.IMPORT_STAR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_ADD.index: self.INPLACE_ADD(oparg, next_instr) elif opcode == opcodedesc.INPLACE_AND.index: self.INPLACE_AND(oparg, next_instr) elif opcode == opcodedesc.INPLACE_DIVIDE.index: self.INPLACE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_FLOOR_DIVIDE.index: self.INPLACE_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_LSHIFT.index: self.INPLACE_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MODULO.index: self.INPLACE_MODULO(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MULTIPLY.index: self.INPLACE_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.INPLACE_OR.index: self.INPLACE_OR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_POWER.index: self.INPLACE_POWER(oparg, next_instr) elif opcode == opcodedesc.INPLACE_RSHIFT.index: self.INPLACE_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_SUBTRACT.index: self.INPLACE_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_TRUE_DIVIDE.index: self.INPLACE_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_XOR.index: self.INPLACE_XOR(oparg, next_instr) elif opcode == opcodedesc.LIST_APPEND.index: self.LIST_APPEND(oparg, next_instr) elif opcode == opcodedesc.LOAD_ATTR.index: self.LOAD_ATTR(oparg, next_instr) elif opcode == opcodedesc.LOAD_CLOSURE.index: self.LOAD_CLOSURE(oparg, next_instr) elif opcode == opcodedesc.LOAD_CONST.index: self.LOAD_CONST(oparg, next_instr) elif opcode == opcodedesc.LOAD_DEREF.index: self.LOAD_DEREF(oparg, next_instr) elif opcode == opcodedesc.LOAD_FAST.index: self.LOAD_FAST(oparg, next_instr) elif opcode == opcodedesc.LOAD_GLOBAL.index: self.LOAD_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.LOAD_LOCALS.index: self.LOAD_LOCALS(oparg, next_instr) elif opcode == opcodedesc.LOAD_NAME.index: self.LOAD_NAME(oparg, next_instr) elif opcode == opcodedesc.LOOKUP_METHOD.index: > self.LOOKUP_METHOD(oparg, next_instr) interpreter/pyopcode.py:356: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = at line 154 nameindex = 5, ignored = (98L,) MutableCell = space = StdObjSpace w_obj = def LOOKUP_METHOD(f, nameindex, *ignored): from pypy.objspace.std.typeobject import MutableCell # stack before after # -------------- --fast-method----fallback-case------------ # # w_object None # w_object => w_function w_boundmethod_or_whatever # (more stuff) (more stuff) (more stuff) # space = f.space w_obj = f.popvalue() if not jit.we_are_jitted(): # mapdict has an extra-fast version of this function if LOOKUP_METHOD_mapdict(f, nameindex, w_obj): return w_name = f.getname_w(nameindex) w_value = None w_type = space.type(w_obj) if w_type.has_object_getattribute(): name = space.text_w(w_name) # bit of a mess to use these internal functions, but it allows the # mapdict caching below to work without an additional lookup version_tag = w_type.version_tag() if version_tag is None: _, w_descr = w_type._lookup_where(name) w_descr_cell = None else: _, w_descr_cell = w_type._pure_lookup_where_with_method_cache( name, version_tag) w_descr = w_descr_cell if isinstance(w_descr, MutableCell): w_descr = w_descr.unwrap_cell(space) if w_descr is None: # this handles directly the common case # module.function(args..) > w_value = w_obj.getdictvalue(space, name) objspace/std/callmethod.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def getdictvalue(self, space, name): w_value = space.finditem_str(self.w_dict, name) if self.lazy and w_value is None: > return self._load_lazily(space, name) interpreter/mixedmodule.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def _load_lazily(self, space, name): w_name = space.new_interned_str(name) try: loader = self.loaders[name] except KeyError: return None else: > w_value = loader(space) interpreter/mixedmodule.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace def ifileloader(space): d = {'space':space} # EVIL HACK (but it works, and this is not RPython :-) while 1: try: value = eval(spec, d) except NameError as ex: name = ex.args[0].split("'")[1] # super-Evil if name in d: raise # propagate the NameError try: > d[name] = __import__(pkgroot+'.'+name, None, None, [name]) interpreter/mixedmodule.py:182: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from pypy.interpreter.gateway import unwrap_spec from pypy.interpreter.error import oefmt from rpython.rlib import rgc > from pypy.module.gc.hook import W_GcCollectStepStats module/gc/interp_gc.py:4: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from rpython.memory.gc.hook import GcHooks > from rpython.memory.gc import incminimark module/gc/hook.py:2: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ # XXX Should find a way to bound the major collection threshold by the # XXX total addressable size. Maybe by keeping some minimarkpage arenas # XXX pre-reserved, enough for a few nursery collections? What about # XXX raw-malloced memory? # XXX try merging old_objects_pointing_to_pinned into # XXX old_objects_pointing_to_young (IRC 2014-10-22, fijal and gregor_w) import sys import os import time from rpython.rtyper.lltypesystem import lltype, llmemory, llarena, llgroup from rpython.rtyper.lltypesystem.lloperation import llop from rpython.rtyper.lltypesystem.llmemory import raw_malloc_usage from rpython.memory.gc.base import GCBase, MovingGCBase > from rpython.memory.gc import env E File "/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py", line 423 E SyntaxError: Non-ASCII character '\xe2' in file /build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py on line 423, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details ../rpython/memory/gc/incminimark.py:70: SyntaxError . pypy/objspace/std/test/apptest_userobject.py::test_instance_overrides_meth . pypy/objspace/std/test/apptest_userobject.py::test_override_builtin_methods . pypy/objspace/std/test/apptest_userobject.py::test_repr . pypy/objspace/std/test/apptest_userobject.py::test_del_attr . pypy/objspace/std/test/apptest_userobject.py::test_del_attr_class . pypy/objspace/std/test/test_boolobject.py::TestW_BoolObject::()::test_init . pypy/objspace/std/test/test_boolobject.py::TestW_BoolObject::()::test_repr . pypy/objspace/std/test/test_boolobject.py::TestW_BoolObject::()::test_true . pypy/objspace/std/test/test_boolobject.py::TestW_BoolObject::()::test_false . pypy/objspace/std/test/test_boolobject.py::TestW_BoolObject::()::test_int_w . pypy/objspace/std/test/test_boolobject.py::TestW_BoolObject::()::test_uint_w . pypy/objspace/std/test/test_boolobject.py::TestW_BoolObject::()::test_rbigint_w . pypy/objspace/std/test/test_bytearrayobject.py::AppTestBytesArray::()::test_basics . pypy/objspace/std/test/test_bytearrayobject.py::AppTestBytesArray::()::test_constructor . pypy/objspace/std/test/test_bytearrayobject.py::AppTestBytesArray::()::test_init_override . pypy/objspace/std/test/test_bytearrayobject.py::AppTestBytesArray::()::test_encoding . pypy/objspace/std/test/test_bytearrayobject.py::AppTestBytesArray::()::test_encoding_with_ignore_errors . pypy/objspace/std/test/test_bytearrayobject.py::AppTestBytesArray::()::test_len . pypy/objspace/std/test/test_bytearrayobject.py::AppTestBytesArray::()::test_nohash . pypy/objspace/std/test/test_bytearrayobject.py::AppTestBytesArray::()::test_repr . pypy/objspace/std/test/test_bytearrayobject.py::AppTestBytesArray::()::test_str . pypy/objspace/std/test/test_bytearrayobject.py::AppTestBytesArray::()::test_getitem . pypy/objspace/std/test/test_bytearrayobject.py::AppTestBytesArray::()::test_arithmetic . pypy/objspace/std/test/test_bytearrayobject.py::AppTestBytesArray::()::test_contains . pypy/objspace/std/test/test_bytearrayobject.py::AppTestBytesArray::()::test_splitlines . pypy/objspace/std/test/test_bytearrayobject.py::AppTestBytesArray::()::test_ord . pypy/objspace/std/test/test_bytearrayobject.py::AppTestBytesArray::()::test_translate . pypy/objspace/std/test/test_bytearrayobject.py::AppTestBytesArray::()::test_strip . pypy/objspace/std/test/test_bytearrayobject.py::AppTestBytesArray::()::test_iter . pypy/objspace/std/test/test_bytearrayobject.py::AppTestBytesArray::()::test_compare . pypy/objspace/std/test/test_bytearrayobject.py::AppTestBytesArray::()::test_compare_str . pypy/objspace/std/test/test_bytearrayobject.py::AppTestBytesArray::()::test_stringlike_operations . pypy/objspace/std/test/test_bytearrayobject.py::AppTestBytesArray::()::test_startswith_too_large . pypy/objspace/std/test/test_bytearrayobject.py::AppTestBytesArray::()::test_startswith_self . pypy/objspace/std/test/test_bytearrayobject.py::AppTestBytesArray::()::test_stringlike_conversions . pypy/objspace/std/test/test_bytearrayobject.py::AppTestBytesArray::()::test_xjust_no_mutate . pypy/objspace/std/test/test_bytearrayobject.py::AppTestBytesArray::()::test_split . pypy/objspace/std/test/test_bytearrayobject.py::AppTestBytesArray::()::test_append . pypy/objspace/std/test/test_bytearrayobject.py::AppTestBytesArray::()::test_insert . pypy/objspace/std/test/test_bytearrayobject.py::AppTestBytesArray::()::test_pop . pypy/objspace/std/test/test_bytearrayobject.py::AppTestBytesArray::()::test_remove . pypy/objspace/std/test/test_bytearrayobject.py::AppTestBytesArray::()::test_reverse . pypy/objspace/std/test/test_bytearrayobject.py::AppTestBytesArray::()::test_delitem_from_front . pypy/objspace/std/test/test_bytearrayobject.py::AppTestBytesArray::()::test_delitem . pypy/objspace/std/test/test_bytearrayobject.py::AppTestBytesArray::()::test_iadd . pypy/objspace/std/test/test_bytearrayobject.py::AppTestBytesArray::()::test_add . pypy/objspace/std/test/test_bytearrayobject.py::AppTestBytesArray::()::test_fromhex . pypy/objspace/std/test/test_bytearrayobject.py::AppTestBytesArray::()::test_extend . pypy/objspace/std/test/test_bytearrayobject.py::AppTestBytesArray::()::test_extend_calls_len_or_lengthhint . pypy/objspace/std/test/test_bytearrayobject.py::AppTestBytesArray::()::test_setitem_from_front . pypy/objspace/std/test/test_bytearrayobject.py::AppTestBytesArray::()::test_setslice . pypy/objspace/std/test/test_bytearrayobject.py::AppTestBytesArray::()::test_delitem_slice . pypy/objspace/std/test/test_bytearrayobject.py::AppTestBytesArray::()::test_setitem . pypy/objspace/std/test/test_bytearrayobject.py::AppTestBytesArray::()::test_setitem_errmsg . pypy/objspace/std/test/test_bytearrayobject.py::AppTestBytesArray::()::test_setitem_slice . pypy/objspace/std/test/test_bytearrayobject.py::AppTestBytesArray::()::test_buffer . pypy/objspace/std/test/test_bytearrayobject.py::AppTestBytesArray::()::test_decode . pypy/objspace/std/test/test_bytearrayobject.py::AppTestBytesArray::()::test_int . pypy/objspace/std/test/test_bytearrayobject.py::AppTestBytesArray::()::test_float . pypy/objspace/std/test/test_bytearrayobject.py::AppTestBytesArray::()::test_reduce . pypy/objspace/std/test/test_bytearrayobject.py::AppTestBytesArray::()::test_setitem_slice_performance . pypy/objspace/std/test/test_bytearrayobject.py::AppTestBytesArray::()::test_partition_return_copy . pypy/objspace/std/test/test_bytearrayobject.py::AppTestBytesArray::()::test_split_whitespace . pypy/objspace/std/test/test_bytearrayobject.py::AppTestBytesArray::()::test_dont_force_offset . pypy/objspace/std/test/test_bytearrayobject.py::AppTestBytesArray::()::test_fromobject___index__ . pypy/objspace/std/test/test_bytearrayobject.py::AppTestBytesArray::()::test_fromobject___int__ . pypy/objspace/std/test/test_bytearrayobject.py::AppTestBytesArray::()::test_mutate_while_slice . pypy/objspace/std/test/test_bytesobject.py::TestW_BytesObject::()::test_bytes_w . pypy/objspace/std/test/test_bytesobject.py::TestW_BytesObject::()::test_equality . pypy/objspace/std/test/test_bytesobject.py::TestW_BytesObject::()::test_order_cmp . pypy/objspace/std/test/test_bytesobject.py::TestW_BytesObject::()::test_truth . pypy/objspace/std/test/test_bytesobject.py::TestW_BytesObject::()::test_getitem . pypy/objspace/std/test/test_bytesobject.py::TestW_BytesObject::()::test_slice . pypy/objspace/std/test/test_bytesobject.py::TestW_BytesObject::()::test_extended_slice . pypy/objspace/std/test/test_bytesobject.py::TestW_BytesObject::()::test_listview_bytes . pypy/objspace/std/test/test_bytesobject.py::test_hypo_index_find . pypy/objspace/std/test/test_bytesobject.py::AppTestBytesObject::()::test_format_wrongchar . pypy/objspace/std/test/test_bytesobject.py::AppTestBytesObject::()::test_format . pypy/objspace/std/test/test_bytesobject.py::AppTestBytesObject::()::test_format_c_overflow . pypy/objspace/std/test/test_bytesobject.py::AppTestBytesObject::()::test_format_wrongtype . pypy/objspace/std/test/test_bytesobject.py::AppTestBytesObject::()::test_split . pypy/objspace/std/test/test_bytesobject.py::AppTestBytesObject::()::test_rsplit . pypy/objspace/std/test/test_bytesobject.py::AppTestBytesObject::()::test_split_splitchar . pypy/objspace/std/test/test_bytesobject.py::AppTestBytesObject::()::test_title . pypy/objspace/std/test/test_bytesobject.py::AppTestBytesObject::()::test_istitle . pypy/objspace/std/test/test_bytesobject.py::AppTestBytesObject::()::test_capitalize . pypy/objspace/std/test/test_bytesobject.py::AppTestBytesObject::()::test_rjust . pypy/objspace/std/test/test_bytesobject.py::AppTestBytesObject::()::test_ljust . pypy/objspace/std/test/test_bytesobject.py::AppTestBytesObject::()::test_replace . pypy/objspace/std/test/test_bytesobject.py::AppTestBytesObject::()::test_replace_buffer . pypy/objspace/std/test/test_bytesobject.py::AppTestBytesObject::()::test_replace_no_occurrence . pypy/objspace/std/test/test_bytesobject.py::AppTestBytesObject::()::test_strip . pypy/objspace/std/test/test_bytesobject.py::AppTestBytesObject::()::test_zfill . pypy/objspace/std/test/test_bytesobject.py::AppTestBytesObject::()::test_center . pypy/objspace/std/test/test_bytesobject.py::AppTestBytesObject::()::test_count . pypy/objspace/std/test/test_bytesobject.py::AppTestBytesObject::()::test_startswith . pypy/objspace/std/test/test_bytesobject.py::AppTestBytesObject::()::test_startswith_more . pypy/objspace/std/test/test_bytesobject.py::AppTestBytesObject::()::test_startswith_too_large . pypy/objspace/std/test/test_bytesobject.py::AppTestBytesObject::()::test_startswith_tuples . pypy/objspace/std/test/test_bytesobject.py::AppTestBytesObject::()::test_endswith . pypy/objspace/std/test/test_bytesobject.py::AppTestBytesObject::()::test_endswith_more . pypy/objspace/std/test/test_bytesobject.py::AppTestBytesObject::()::test_endswith_tuple . pypy/objspace/std/test/test_bytesobject.py::AppTestBytesObject::()::test_expandtabs . pypy/objspace/std/test/test_bytesobject.py::AppTestBytesObject::()::test_expandtabs_overflows_gracefully . pypy/objspace/std/test/test_bytesobject.py::AppTestBytesObject::()::test_expandtabs_0 . pypy/objspace/std/test/test_bytesobject.py::AppTestBytesObject::()::test_splitlines . pypy/objspace/std/test/test_bytesobject.py::AppTestBytesObject::()::test_find . pypy/objspace/std/test/test_bytesobject.py::AppTestBytesObject::()::test_index . pypy/objspace/std/test/test_bytesobject.py::AppTestBytesObject::()::test_rfind . pypy/objspace/std/test/test_bytesobject.py::AppTestBytesObject::()::test_rindex . pypy/objspace/std/test/test_bytesobject.py::AppTestBytesObject::()::test_partition . pypy/objspace/std/test/test_bytesobject.py::AppTestBytesObject::()::test_rpartition . pypy/objspace/std/test/test_bytesobject.py::AppTestBytesObject::()::test_split_maxsplit . pypy/objspace/std/test/test_bytesobject.py::AppTestBytesObject::()::test_join . pypy/objspace/std/test/test_bytesobject.py::AppTestBytesObject::()::test_unicode_join_str_arg_ascii . pypy/objspace/std/test/test_bytesobject.py::AppTestBytesObject::()::test_unicode_join_str_arg_utf8 . pypy/objspace/std/test/test_bytesobject.py::AppTestBytesObject::()::test_unicode_join_endcase . pypy/objspace/std/test/test_bytesobject.py::AppTestBytesObject::()::test_lower . pypy/objspace/std/test/test_bytesobject.py::AppTestBytesObject::()::test_upper . pypy/objspace/std/test/test_bytesobject.py::AppTestBytesObject::()::test_isalnum . pypy/objspace/std/test/test_bytesobject.py::AppTestBytesObject::()::test_isalpha . pypy/objspace/std/test/test_bytesobject.py::AppTestBytesObject::()::test_isdigit . pypy/objspace/std/test/test_bytesobject.py::AppTestBytesObject::()::test_isspace . pypy/objspace/std/test/test_bytesobject.py::AppTestBytesObject::()::test_islower . pypy/objspace/std/test/test_bytesobject.py::AppTestBytesObject::()::test_isupper . pypy/objspace/std/test/test_bytesobject.py::AppTestBytesObject::()::test_swapcase . pypy/objspace/std/test/test_bytesobject.py::AppTestBytesObject::()::test_translate . pypy/objspace/std/test/test_bytesobject.py::AppTestBytesObject::()::test_iter . pypy/objspace/std/test/test_bytesobject.py::AppTestBytesObject::()::test_repr . pypy/objspace/std/test/test_bytesobject.py::AppTestBytesObject::()::test_contains . pypy/objspace/std/test/test_bytesobject.py::AppTestBytesObject::()::test_decode . pypy/objspace/std/test/test_bytesobject.py::AppTestBytesObject::()::test_encode . pypy/objspace/std/test/test_bytesobject.py::AppTestBytesObject::()::test_hash . pypy/objspace/std/test/test_bytesobject.py::AppTestBytesObject::()::test_buffer . pypy/objspace/std/test/test_bytesobject.py::AppTestBytesObject::()::test_getnewargs . pypy/objspace/std/test/test_bytesobject.py::AppTestBytesObject::()::test_subclass . pypy/objspace/std/test/test_bytesobject.py::AppTestBytesObject::()::test_str_unicode_interchangeable . pypy/objspace/std/test/test_bytesobject.py::AppTestBytesObject::()::test_replace_overflow . pypy/objspace/std/test/test_bytesobject.py::AppTestBytesObject::()::test_replace_issue2448 . pypy/objspace/std/test/test_bytesobject.py::AppTestBytesObject::()::test_getslice . pypy/objspace/std/test/test_bytesobject.py::AppTestBytesObject::()::test_no_len_on_str_iter . pypy/objspace/std/test/test_bytesobject.py::AppTestBytesObject::()::test___radd__ . pypy/objspace/std/test/test_bytesobject.py::AppTestBytesObject::()::test_add . pypy/objspace/std/test/test_bytesobject.py::AppTestBytesObject::()::test_error_message_wrong_self . pypy/objspace/std/test/test_bytesobject.py::AppTestBytesObject::()::test_is_bug . pypy/objspace/std/test/test_callmethod.py::TestCallMethod::()::test_space_call_method . pypy/objspace/std/test/test_callmethod.py::TestCallMethod::()::test_fallback_case . pypy/objspace/std/test/test_callmethod.py::TestCallMethod::()::test_optimizations_enabled . pypy/objspace/std/test/test_celldict.py::TestCellDict::()::test_basic_property_cells . pypy/objspace/std/test/test_celldict.py::TestCellDict::()::test_same_key_set_twice . pypy/objspace/std/test/test_celldict.py::AppTestModuleDict::()::test_check_module_uses_module_dict . pypy/objspace/std/test/test_celldict.py::AppTestModuleDict::()::test_key_not_there . pypy/objspace/std/test/test_celldict.py::AppTestModuleDict::()::test_fallback_evil_key . pypy/objspace/std/test/test_celldict.py::AppTestModuleDict::()::test_copy . pypy/objspace/std/test/test_celldict.py::TestModuleDictImplementation::()::test_popitem . pypy/objspace/std/test/test_celldict.py::TestModuleDictImplementation::()::test_setitem . pypy/objspace/std/test/test_celldict.py::TestModuleDictImplementation::()::test_setitem_str . pypy/objspace/std/test/test_celldict.py::TestModuleDictImplementation::()::test_delitem . pypy/objspace/std/test/test_celldict.py::TestModuleDictImplementation::()::test_clear . pypy/objspace/std/test/test_celldict.py::TestModuleDictImplementation::()::test_keys . pypy/objspace/std/test/test_celldict.py::TestModuleDictImplementation::()::test_values . pypy/objspace/std/test/test_celldict.py::TestModuleDictImplementation::()::test_items . pypy/objspace/std/test/test_celldict.py::TestModuleDictImplementation::()::test_iter . pypy/objspace/std/test/test_celldict.py::TestModuleDictImplementation::()::test_devolve . pypy/objspace/std/test/test_celldict.py::TestModuleDictImplementation::()::test_setdefault_fast . pypy/objspace/std/test/test_celldict.py::TestModuleDictImplementation::()::test_fallback_evil_key . pypy/objspace/std/test/test_celldict.py::TestDevolvedModuleDictImplementation::()::test_popitem . pypy/objspace/std/test/test_celldict.py::TestDevolvedModuleDictImplementation::()::test_setitem . pypy/objspace/std/test/test_celldict.py::TestDevolvedModuleDictImplementation::()::test_setitem_str . pypy/objspace/std/test/test_celldict.py::TestDevolvedModuleDictImplementation::()::test_delitem . pypy/objspace/std/test/test_celldict.py::TestDevolvedModuleDictImplementation::()::test_clear . pypy/objspace/std/test/test_celldict.py::TestDevolvedModuleDictImplementation::()::test_keys . pypy/objspace/std/test/test_celldict.py::TestDevolvedModuleDictImplementation::()::test_values . pypy/objspace/std/test/test_celldict.py::TestDevolvedModuleDictImplementation::()::test_items . pypy/objspace/std/test/test_celldict.py::TestDevolvedModuleDictImplementation::()::test_iter . pypy/objspace/std/test/test_celldict.py::TestDevolvedModuleDictImplementation::()::test_devolve . pypy/objspace/std/test/test_celldict.py::TestDevolvedModuleDictImplementation::()::test_setdefault_fast . pypy/objspace/std/test/test_celldict.py::TestDevolvedModuleDictImplementation::()::test_fallback_evil_key . pypy/objspace/std/test/test_celldict.py::AppTestCellDict::()::test_popitem . pypy/objspace/std/test/test_celldict.py::AppTestCellDict::()::test_degenerate . pypy/objspace/std/test/test_celldict.py::TestCellCache::()::test_basic_property_cache . pypy/objspace/std/test/test_celldict.py::TestCellCache::()::test_delitem . pypy/objspace/std/test/test_celldict.py::TestCellCache::()::test_getcache_and_builtins . pypy/objspace/std/test/test_celldict.py::TestCellCache::()::test_devolve . pypy/objspace/std/test/test_celldict.py::TestCellCache::()::test_bytecode_load . pypy/objspace/std/test/test_celldict.py::TestCellCache::()::test_bytecode_load_works_with_debugdata . pypy/objspace/std/test/test_celldict.py::TestCellCache::()::test_bytecode_store . pypy/objspace/std/test/test_complexobject.py::TestW_ComplexObject::()::test_instantiation . pypy/objspace/std/test/test_complexobject.py::TestW_ComplexObject::()::test_parse_complex . pypy/objspace/std/test/test_complexobject.py::TestW_ComplexObject::()::test_unpackcomplex . pypy/objspace/std/test/test_complexobject.py::TestW_ComplexObject::()::test_pow . pypy/objspace/std/test/test_dictmultiobject.py::TestW_DictObject::()::test_empty . pypy/objspace/std/test/test_dictmultiobject.py::TestW_DictObject::()::test_nonempty . pypy/objspace/std/test/test_dictmultiobject.py::TestW_DictObject::()::test_setitem . pypy/objspace/std/test/test_dictmultiobject.py::TestW_DictObject::()::test_delitem . pypy/objspace/std/test/test_dictmultiobject.py::TestW_DictObject::()::test_wrap_dict . pypy/objspace/std/test/test_dictmultiobject.py::TestW_DictObject::()::test_dict_compare . pypy/objspace/std/test/test_dictmultiobject.py::TestW_DictObject::()::test_dict_call . pypy/objspace/std/test/test_dictmultiobject.py::TestW_DictObject::()::test_dict_pop . pypy/objspace/std/test/test_dictmultiobject.py::TestW_DictObject::()::test_get . pypy/objspace/std/test/test_dictmultiobject.py::TestW_DictObject::()::test_fromkeys_fastpath . pypy/objspace/std/test/test_dictmultiobject.py::TestW_DictObject::()::test_listview_bytes_dict s pypy/objspace/std/test/test_dictmultiobject.py::TestW_DictObject::()::test_listview_unicode_dict Skipped: possible re-enable later? . pypy/objspace/std/test/test_dictmultiobject.py::TestW_DictObject::()::test_listview_int_dict . pypy/objspace/std/test/test_dictmultiobject.py::TestW_DictObject::()::test_keys_on_string_unicode_int_dict . pypy/objspace/std/test/test_dictmultiobject.py::TestW_DictObject::()::test_update_empty_does_copy . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictObject::()::test_equality . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictObject::()::test_clear . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictObject::()::test_copy . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictObject::()::test_get . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictObject::()::test_pop . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictObject::()::test_pop_empty_bug . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictObject::()::test_pop_kwargs . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictObject::()::test_has_key . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictObject::()::test_items . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictObject::()::test_iteritems . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictObject::()::test_iterkeys . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictObject::()::test_itervalues . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictObject::()::test_reversed_dict . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictObject::()::test_reversed_dict_runtimeerror . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictObject::()::test_dict_popitem_first . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictObject::()::test_delitem_if_value_is . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictObject::()::test_move_to_end . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictObject::()::test_keys . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictObject::()::test_popitem . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictObject::()::test_popitem_2 . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictObject::()::test_popitem3 . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictObject::()::test_setdefault . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictObject::()::test_setdefault_fast . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictObject::()::test_update . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictObject::()::test_update_iterable . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictObject::()::test_update_nop . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictObject::()::test_update_kwargs . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictObject::()::test_update_dict_and_kwargs . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictObject::()::test_update_keys_method . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictObject::()::test_values . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictObject::()::test_eq . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictObject::()::test_lt . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictObject::()::test_lt2 . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictObject::()::test_other_rich_cmp . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictObject::()::test_str_repr . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictObject::()::test_new . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictObject::()::test_fromkeys . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictObject::()::test_str_uses_repr . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictObject::()::test_overridden_setitem . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictObject::()::test_overridden_setitem_customkey . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictObject::()::test_repr_with_overridden_items . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictObject::()::test_popitem_with_overridden_delitem . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictObject::()::test_dict_update_overridden_getitem . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictObject::()::test_index_keyerror_unpacking . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictObject::()::test_del_keyerror_unpacking . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictObject::()::test_pop_keyerror_unpacking . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictObject::()::test_pop_switching_strategy . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictObject::()::test_no_len_on_dict_iter . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictObject::()::test_missing . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictObject::()::test_missing_more . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictObject::()::test_empty_dict . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictObject::()::test_cmp_with_noncmp . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictMultiObject::()::test_equality . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictMultiObject::()::test_clear . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictMultiObject::()::test_copy . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictMultiObject::()::test_get . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictMultiObject::()::test_pop . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictMultiObject::()::test_pop_empty_bug . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictMultiObject::()::test_pop_kwargs . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictMultiObject::()::test_has_key . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictMultiObject::()::test_items . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictMultiObject::()::test_iteritems . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictMultiObject::()::test_iterkeys . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictMultiObject::()::test_itervalues . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictMultiObject::()::test_reversed_dict . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictMultiObject::()::test_reversed_dict_runtimeerror . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictMultiObject::()::test_dict_popitem_first . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictMultiObject::()::test_delitem_if_value_is . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictMultiObject::()::test_move_to_end . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictMultiObject::()::test_keys . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictMultiObject::()::test_popitem . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictMultiObject::()::test_popitem_2 . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictMultiObject::()::test_popitem3 . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictMultiObject::()::test_setdefault . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictMultiObject::()::test_setdefault_fast . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictMultiObject::()::test_update . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictMultiObject::()::test_update_iterable . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictMultiObject::()::test_update_nop . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictMultiObject::()::test_update_kwargs . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictMultiObject::()::test_update_dict_and_kwargs . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictMultiObject::()::test_update_keys_method . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictMultiObject::()::test_values . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictMultiObject::()::test_eq . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictMultiObject::()::test_lt . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictMultiObject::()::test_lt2 . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictMultiObject::()::test_other_rich_cmp . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictMultiObject::()::test_str_repr . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictMultiObject::()::test_new . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictMultiObject::()::test_fromkeys . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictMultiObject::()::test_str_uses_repr . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictMultiObject::()::test_overridden_setitem . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictMultiObject::()::test_overridden_setitem_customkey . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictMultiObject::()::test_repr_with_overridden_items . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictMultiObject::()::test_popitem_with_overridden_delitem . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictMultiObject::()::test_dict_update_overridden_getitem . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictMultiObject::()::test_index_keyerror_unpacking . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictMultiObject::()::test_del_keyerror_unpacking . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictMultiObject::()::test_pop_keyerror_unpacking . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictMultiObject::()::test_pop_switching_strategy . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictMultiObject::()::test_no_len_on_dict_iter . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictMultiObject::()::test_missing . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictMultiObject::()::test_missing_more . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictMultiObject::()::test_empty_dict . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictMultiObject::()::test_cmp_with_noncmp . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictMultiObject::()::test_emptydict_unhashable . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictMultiObject::()::test_string_subclass_via_setattr . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictMultiObject::()::test_setattr_string_identify . pypy/objspace/std/test/test_dictmultiobject.py::AppTest_DictMultiObject::()::test_internal_delitem . pypy/objspace/std/test/test_dictmultiobject.py::AppTestDictViews::()::test_dictview . pypy/objspace/std/test/test_dictmultiobject.py::AppTestDictViews::()::test_constructors_not_callable . pypy/objspace/std/test/test_dictmultiobject.py::AppTestDictViews::()::test_dict_keys . pypy/objspace/std/test/test_dictmultiobject.py::AppTestDictViews::()::test_dict_items . pypy/objspace/std/test/test_dictmultiobject.py::AppTestDictViews::()::test_dict_items_contains_with_identity . pypy/objspace/std/test/test_dictmultiobject.py::AppTestDictViews::()::test_dict_mixed_keys_items . pypy/objspace/std/test/test_dictmultiobject.py::AppTestDictViews::()::test_dict_values . pypy/objspace/std/test/test_dictmultiobject.py::AppTestDictViews::()::test_dict_repr . pypy/objspace/std/test/test_dictmultiobject.py::AppTestDictViews::()::test_recursive_repr . pypy/objspace/std/test/test_dictmultiobject.py::AppTestDictViews::()::test_keys_set_operations . pypy/objspace/std/test/test_dictmultiobject.py::AppTestDictViews::()::test_items_set_operations . pypy/objspace/std/test/test_dictmultiobject.py::AppTestDictViews::()::test_keys_set_operations_any_type . pypy/objspace/std/test/test_dictmultiobject.py::AppTestDictViews::()::test_items_set_operations_any_type . pypy/objspace/std/test/test_dictmultiobject.py::AppTestDictViews::()::test_dictviewset_unhashable_values . pypy/objspace/std/test/test_dictmultiobject.py::AppTestDictViews::()::test_compare_keys_and_items . pypy/objspace/std/test/test_dictmultiobject.py::AppTestDictViews::()::test_keys_items_contained . pypy/objspace/std/test/test_dictmultiobject.py::AppTestDictViews::()::test_contains . pypy/objspace/std/test/test_dictmultiobject.py::AppTestDictViews::()::test_pickle . pypy/objspace/std/test/test_dictmultiobject.py::AppTestStrategies::()::test_empty_to_string . pypy/objspace/std/test/test_dictmultiobject.py::AppTestStrategies::()::test_empty_to_unicode . pypy/objspace/std/test/test_dictmultiobject.py::AppTestStrategies::()::test_empty_to_int . pypy/objspace/std/test/test_dictmultiobject.py::AppTestStrategies::()::test_iter_dict_length_change . pypy/objspace/std/test/test_dictmultiobject.py::AppTestStrategies::()::test_iter_dict_strategy_only_change_1 . pypy/objspace/std/test/test_dictmultiobject.py::AppTestStrategies::()::test_iter_dict_strategy_only_change_2 . pypy/objspace/std/test/test_dictmultiobject.py::TestDictImplementation::()::test_stressdict . pypy/objspace/std/test/test_dictmultiobject.py::TestBytesDictImplementation::()::test_popitem . pypy/objspace/std/test/test_dictmultiobject.py::TestBytesDictImplementation::()::test_setitem . pypy/objspace/std/test/test_dictmultiobject.py::TestBytesDictImplementation::()::test_setitem_str . pypy/objspace/std/test/test_dictmultiobject.py::TestBytesDictImplementation::()::test_delitem . pypy/objspace/std/test/test_dictmultiobject.py::TestBytesDictImplementation::()::test_clear . pypy/objspace/std/test/test_dictmultiobject.py::TestBytesDictImplementation::()::test_keys . pypy/objspace/std/test/test_dictmultiobject.py::TestBytesDictImplementation::()::test_values . pypy/objspace/std/test/test_dictmultiobject.py::TestBytesDictImplementation::()::test_items . pypy/objspace/std/test/test_dictmultiobject.py::TestBytesDictImplementation::()::test_iter . pypy/objspace/std/test/test_dictmultiobject.py::TestBytesDictImplementation::()::test_devolve . pypy/objspace/std/test/test_dictmultiobject.py::TestBytesDictImplementation::()::test_setdefault_fast . pypy/objspace/std/test/test_dictmultiobject.py::TestBytesDictImplementation::()::test_fallback_evil_key . pypy/objspace/std/test/test_dictmultiobject.py::TestBytesDictImplementation::()::test_str_shortcut . pypy/objspace/std/test/test_dictmultiobject.py::TestBytesDictImplementation::()::test_view_as_kwargs . pypy/objspace/std/test/test_dictmultiobject.py::TestDevolvedBytesDictImplementation::()::test_popitem . pypy/objspace/std/test/test_dictmultiobject.py::TestDevolvedBytesDictImplementation::()::test_setitem . pypy/objspace/std/test/test_dictmultiobject.py::TestDevolvedBytesDictImplementation::()::test_setitem_str . pypy/objspace/std/test/test_dictmultiobject.py::TestDevolvedBytesDictImplementation::()::test_delitem . pypy/objspace/std/test/test_dictmultiobject.py::TestDevolvedBytesDictImplementation::()::test_clear . pypy/objspace/std/test/test_dictmultiobject.py::TestDevolvedBytesDictImplementation::()::test_keys . pypy/objspace/std/test/test_dictmultiobject.py::TestDevolvedBytesDictImplementation::()::test_values . pypy/objspace/std/test/test_dictmultiobject.py::TestDevolvedBytesDictImplementation::()::test_items . pypy/objspace/std/test/test_dictmultiobject.py::TestDevolvedBytesDictImplementation::()::test_iter . pypy/objspace/std/test/test_dictmultiobject.py::TestDevolvedBytesDictImplementation::()::test_devolve . pypy/objspace/std/test/test_dictmultiobject.py::TestDevolvedBytesDictImplementation::()::test_setdefault_fast . pypy/objspace/std/test/test_dictmultiobject.py::TestDevolvedBytesDictImplementation::()::test_fallback_evil_key . pypy/objspace/std/test/test_dictmultiobject.py::test_module_uses_strdict . pypy/objspace/std/test/test_dictproxy.py::AppTestUserObject::()::test_dictproxy_getitem . pypy/objspace/std/test/test_dictproxy.py::AppTestUserObject::()::test_dictproxyeq . pypy/objspace/std/test/test_dictproxy.py::AppTestUserObject::()::test_str_repr . pypy/objspace/std/test/test_dictproxy.py::AppTestUserObject::()::test_immutable_dict_on_builtin_type . pypy/objspace/std/test/test_dictproxy.py::AppTestUserObject::()::test_dictproxy . pypy/objspace/std/test/test_dictproxy.py::AppTestUserObjectMethodCache::()::test_dictproxy_getitem . pypy/objspace/std/test/test_dictproxy.py::AppTestUserObjectMethodCache::()::test_dictproxyeq . pypy/objspace/std/test/test_dictproxy.py::AppTestUserObjectMethodCache::()::test_str_repr . pypy/objspace/std/test/test_dictproxy.py::AppTestUserObjectMethodCache::()::test_immutable_dict_on_builtin_type . pypy/objspace/std/test/test_dictproxy.py::AppTestUserObjectMethodCache::()::test_dictproxy . pypy/objspace/std/test/test_floatobject.py::TestW_FloatObject::()::test_pow_fff . pypy/objspace/std/test/test_floatobject.py::TestW_FloatObject::()::test_pow_ffn . pypy/objspace/std/test/test_floatobject.py::TestW_FloatObject::()::test_dont_use_long_impl . pypy/objspace/std/test/test_floatobject.py::AppTestAppFloatTest::()::test_isinteger . pypy/objspace/std/test/test_floatobject.py::AppTestAppFloatTest::()::test_conjugate . pypy/objspace/std/test/test_floatobject.py::AppTestAppFloatTest::()::test_negatives . pypy/objspace/std/test/test_floatobject.py::AppTestAppFloatTest::()::test_float_callable . pypy/objspace/std/test/test_floatobject.py::AppTestAppFloatTest::()::test_float_int . pypy/objspace/std/test/test_floatobject.py::AppTestAppFloatTest::()::test_float_hash . pypy/objspace/std/test/test_floatobject.py::AppTestAppFloatTest::()::test_int_float . pypy/objspace/std/test/test_floatobject.py::AppTestAppFloatTest::()::test_float_string . pypy/objspace/std/test/test_floatobject.py::AppTestAppFloatTest::()::test_float_unicode . pypy/objspace/std/test/test_floatobject.py::AppTestAppFloatTest::()::test_float_long . pypy/objspace/std/test/test_floatobject.py::AppTestAppFloatTest::()::test_as_integer_ratio . pypy/objspace/std/test/test_floatobject.py::AppTestAppFloatTest::()::test_float_conversion . pypy/objspace/std/test/test_floatobject.py::AppTestAppFloatTest::()::test_round . pypy/objspace/std/test/test_floatobject.py::AppTestAppFloatTest::()::test_special_float_method . pypy/objspace/std/test/test_floatobject.py::AppTestAppFloatTest::()::test_getnewargs . pypy/objspace/std/test/test_floatobject.py::AppTestAppFloatTest::()::test_pow . pypy/objspace/std/test/test_floatobject.py::AppTestAppFloatTest::()::test_pow_neg_base . pypy/objspace/std/test/test_floatobject.py::AppTestAppFloatTest::()::test_float_cmp . pypy/objspace/std/test/test_floatobject.py::AppTestAppFloatTest::()::test_comparison_more . pypy/objspace/std/test/test_floatobject.py::AppTestAppFloatTest::()::test___getformat__ . pypy/objspace/std/test/test_floatobject.py::AppTestAppFloatTest::()::test_trunc . pypy/objspace/std/test/test_floatobject.py::AppTestAppFloatTest::()::test_call_special . pypy/objspace/std/test/test_floatobject.py::AppTestAppFloatTest::()::test_from_string . pypy/objspace/std/test/test_floatobject.py::AppTestAppFloatTest::()::test_format . pypy/objspace/std/test/test_floatobject.py::AppTestAppFloatTest::()::test_format_thousands . pypy/objspace/std/test/test_floatobject.py::AppTestAppFloatTest::()::test_format_bug_inf_float . pypy/objspace/std/test/test_floatobject.py::AppTestAppFloatTest::()::test_float_real . pypy/objspace/std/test/test_floatobject.py::AppTestAppFloatTest::()::test_invalid_literal_message . pypy/objspace/std/test/test_floatobject.py::AppTestAppFloatTest::()::test_hash_minus_one . pypy/objspace/std/test/test_floatobject.py::AppTestFloatHex::()::test_from_hex . pypy/objspace/std/test/test_floatobject.py::AppTestFloatHex::()::test_roundtrip . pypy/objspace/std/test/test_floatobject.py::AppTestFloatHex::()::test_invalid . pypy/objspace/std/test/test_floatobject.py::AppTestFloatHex::()::test_division_edgecases . pypy/objspace/std/test/test_floatobject.py::AppTestFloatHex::()::test_modulo_edgecases . pypy/objspace/std/test/test_floatobject.py::AppTestFloatHex::()::test_equality_rounding . pypy/objspace/std/test/test_identitydict.py::AppTestIdentityDict::()::test_use_strategy . pypy/objspace/std/test/test_identitydict.py::AppTestIdentityDict::()::test_bad_item . pypy/objspace/std/test/test_identitydict.py::AppTestIdentityDict::()::test_bad_key . pypy/objspace/std/test/test_identitydict.py::AppTestIdentityDict::()::test_iter . pypy/objspace/std/test/test_identitydict.py::AppTestIdentityDict::()::test_mutate_class_and_then_compare . pypy/objspace/std/test/test_identitydict.py::AppTestIdentityDict::()::test_old_style_classes . pypy/objspace/std/test/test_identityset.py::AppTestIdentitySet::()::test_use_identity_strategy . pypy/objspace/std/test/test_identityset.py::AppTestIdentitySet::()::test_use_identity_strategy_list . pypy/objspace/std/test/test_identityset.py::AppTestIdentitySet::()::test_identity_strategy_add . pypy/objspace/std/test/test_identityset.py::AppTestIdentitySet::()::test_identity_strategy_sanity . pypy/objspace/std/test/test_identityset.py::AppTestIdentitySet::()::test_identity_strategy_iterators . pypy/objspace/std/test/test_identityset.py::AppTestIdentitySet::()::test_identity_strategy_other_cmp . pypy/objspace/std/test/test_identityset.py::AppTestIdentitySet::()::test_class_monkey_patch . pypy/objspace/std/test/test_index.py::AppTest_IndexProtocol::()::test_basic . pypy/objspace/std/test/test_index.py::AppTest_IndexProtocol::()::test_slice . pypy/objspace/std/test/test_index.py::AppTest_IndexProtocol::()::test_in_methods . pypy/objspace/std/test/test_index.py::AppTest_IndexProtocol::()::test_wrappers . pypy/objspace/std/test/test_index.py::AppTest_IndexProtocol::()::test_subclasses . pypy/objspace/std/test/test_index.py::AppTest_IndexProtocol::()::test_error . pypy/objspace/std/test/test_index.py::AppTest_ListTestCase::()::test_index . pypy/objspace/std/test/test_index.py::AppTest_ListTestCase::()::test_slice . pypy/objspace/std/test/test_index.py::AppTest_ListTestCase::()::test_repeat . pypy/objspace/std/test/test_index.py::AppTest_ListTestCase::()::test_wrappers . pypy/objspace/std/test/test_index.py::AppTest_ListTestCase::()::test_subclasses . pypy/objspace/std/test/test_index.py::AppTest_ListTestCase::()::test_error . pypy/objspace/std/test/test_index.py::AppTest_ListTestCase::()::test_setdelitem . pypy/objspace/std/test/test_index.py::AppTest_ListTestCase::()::test_inplace_repeat . pypy/objspace/std/test/test_index.py::AppTest_TupleTestCase::()::test_index . pypy/objspace/std/test/test_index.py::AppTest_TupleTestCase::()::test_slice . pypy/objspace/std/test/test_index.py::AppTest_TupleTestCase::()::test_repeat . pypy/objspace/std/test/test_index.py::AppTest_TupleTestCase::()::test_wrappers . pypy/objspace/std/test/test_index.py::AppTest_TupleTestCase::()::test_subclasses . pypy/objspace/std/test/test_index.py::AppTest_TupleTestCase::()::test_error . pypy/objspace/std/test/test_index.py::AppTest_StringTestCase::()::test_index . pypy/objspace/std/test/test_index.py::AppTest_StringTestCase::()::test_slice . pypy/objspace/std/test/test_index.py::AppTest_StringTestCase::()::test_repeat . pypy/objspace/std/test/test_index.py::AppTest_StringTestCase::()::test_wrappers . pypy/objspace/std/test/test_index.py::AppTest_StringTestCase::()::test_subclasses . pypy/objspace/std/test/test_index.py::AppTest_StringTestCase::()::test_error . pypy/objspace/std/test/test_index.py::AppTest_StringTestCase::()::test_startswith . pypy/objspace/std/test/test_index.py::AppTest_StringTestCase::()::test_endswith . pypy/objspace/std/test/test_index.py::AppTest_StringTestCase::()::test_find . pypy/objspace/std/test/test_index.py::AppTest_StringTestCase::()::test_count . pypy/objspace/std/test/test_index.py::AppTest_UnicodeTestCase::()::test_index . pypy/objspace/std/test/test_index.py::AppTest_UnicodeTestCase::()::test_slice . pypy/objspace/std/test/test_index.py::AppTest_UnicodeTestCase::()::test_repeat . pypy/objspace/std/test/test_index.py::AppTest_UnicodeTestCase::()::test_wrappers . pypy/objspace/std/test/test_index.py::AppTest_UnicodeTestCase::()::test_subclasses . pypy/objspace/std/test/test_index.py::AppTest_UnicodeTestCase::()::test_error . pypy/objspace/std/test/test_index.py::AppTest_UnicodeTestCase::()::test_startswith . pypy/objspace/std/test/test_index.py::AppTest_UnicodeTestCase::()::test_endswith . pypy/objspace/std/test/test_index.py::AppTest_UnicodeTestCase::()::test_find . pypy/objspace/std/test/test_index.py::AppTest_UnicodeTestCase::()::test_count . pypy/objspace/std/test/test_index.py::AppTest_XRangeTestCase::()::test_xrange . pypy/objspace/std/test/test_index.py::AppTest_OverflowTestCase::()::test_large_longs . pypy/objspace/std/test/test_index.py::AppTest_OverflowTestCase::()::test_getitem . pypy/objspace/std/test/test_index.py::AppTest_OverflowTestCase::()::test_getslice_nolength . pypy/objspace/std/test/test_index.py::AppTest_OverflowTestCase::()::test_getitem_classic . pypy/objspace/std/test/test_index.py::AppTest_OverflowTestCase::()::test_sequence_repeat . pypy/objspace/std/test/test_intobject.py::TestW_IntObject::()::test_int_w . pypy/objspace/std/test/test_intobject.py::TestW_IntObject::()::test_uint_w . pypy/objspace/std/test/test_intobject.py::TestW_IntObject::()::test_bigint_w . pypy/objspace/std/test/test_intobject.py::TestW_IntObject::()::test_repr . pypy/objspace/std/test/test_intobject.py::TestW_IntObject::()::test_str . pypy/objspace/std/test/test_intobject.py::TestW_IntObject::()::test_hash . pypy/objspace/std/test/test_intobject.py::TestW_IntObject::()::test_compare . pypy/objspace/std/test/test_intobject.py::TestW_IntObject::()::test_add . pypy/objspace/std/test/test_intobject.py::TestW_IntObject::()::test_add_ovf_int_op_shortcut . pypy/objspace/std/test/test_intobject.py::TestW_IntObject::()::test_sub . pypy/objspace/std/test/test_intobject.py::TestW_IntObject::()::test_sub_ovf_int_op_shortcut . pypy/objspace/std/test/test_intobject.py::TestW_IntObject::()::test_mul . pypy/objspace/std/test/test_intobject.py::TestW_IntObject::()::test_div . pypy/objspace/std/test/test_intobject.py::TestW_IntObject::()::test_mod . pypy/objspace/std/test/test_intobject.py::TestW_IntObject::()::test_divmod . pypy/objspace/std/test/test_intobject.py::TestW_IntObject::()::test_pow_iii . pypy/objspace/std/test/test_intobject.py::TestW_IntObject::()::test_pow_iin . pypy/objspace/std/test/test_intobject.py::TestW_IntObject::()::test_pow_ovf_without_fromint . pypy/objspace/std/test/test_intobject.py::TestW_IntObject::()::test_hypot_pow . pypy/objspace/std/test/test_intobject.py::TestW_IntObject::()::test_hypot_pow_nomod . pypy/objspace/std/test/test_intobject.py::TestW_IntObject::()::test_neg . pypy/objspace/std/test/test_intobject.py::TestW_IntObject::()::test_pos . pypy/objspace/std/test/test_intobject.py::TestW_IntObject::()::test_abs . pypy/objspace/std/test/test_intobject.py::TestW_IntObject::()::test_invert . pypy/objspace/std/test/test_intobject.py::TestW_IntObject::()::test_lshift F pypy/objspace/std/test/test_intobject.py::TestW_IntObject::()::test_lshift_without_fromint self = monkeypatch = <_pytest.monkeypatch.monkeypatch instance at 0xf2e40f4c> def test_lshift_without_fromint(self, monkeypatch): space = self.space monkeypatch.setattr(rbigint, 'fromint', None) x = sys.maxint // 4 y = 16 f1 = iobj.W_IntObject(x) f2 = iobj.W_IntObject(y) > v = f1.descr_lshift(space, f2) objspace/std/test/test_intobject.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ objspace/std/intobject.py:620: in descr_binop return ovf2long(space, x, self, y, w_other) objspace/std/intobject.py:645: in _ovf2long_lshift return space.newlong_from_rbigint(rbigint.lshift_int_int_bigint_result(x, y)) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ iself = 536870911, int_other = 16 @staticmethod @jit.elidable def lshift_int_int_bigint_result(iself, int_other): if not SUPPORT_INT128 or SHIFT != 63 or not int_in_valid_range(iself): > return rbigint.fromint(iself).lshift(int_other) E TypeError: 'NoneType' object is not callable ../rpython/rlib/rbigint.py:1383: TypeError . pypy/objspace/std/test/test_intobject.py::TestW_IntObject::()::test_rshift . pypy/objspace/std/test/test_intobject.py::TestW_IntObject::()::test_and . pypy/objspace/std/test/test_intobject.py::TestW_IntObject::()::test_xor . pypy/objspace/std/test/test_intobject.py::TestW_IntObject::()::test_or . pypy/objspace/std/test/test_intobject.py::TestW_IntObject::()::test_int . pypy/objspace/std/test/test_intobject.py::TestW_IntObject::()::test_oct . pypy/objspace/std/test/test_intobject.py::TestW_IntObject::()::test_hex . pypy/objspace/std/test/test_intobject.py::AppTestInt::()::test_hash . pypy/objspace/std/test/test_intobject.py::AppTestInt::()::test_conjugate . pypy/objspace/std/test/test_intobject.py::AppTestInt::()::test_inplace . pypy/objspace/std/test/test_intobject.py::AppTestInt::()::test_trunc . pypy/objspace/std/test/test_intobject.py::AppTestInt::()::test_int_callable . pypy/objspace/std/test/test_intobject.py::AppTestInt::()::test_numerator_denominator . pypy/objspace/std/test/test_intobject.py::AppTestInt::()::test_int_string . pypy/objspace/std/test/test_intobject.py::AppTestInt::()::test_int_unicode . pypy/objspace/std/test/test_intobject.py::AppTestInt::()::test_int_float . pypy/objspace/std/test/test_intobject.py::AppTestInt::()::test_int_str_repr . pypy/objspace/std/test/test_intobject.py::AppTestInt::()::test_int_two_param . pypy/objspace/std/test/test_intobject.py::AppTestInt::()::test_int_largenums . pypy/objspace/std/test/test_intobject.py::AppTestInt::()::test_shift_zeros . pypy/objspace/std/test/test_intobject.py::AppTestInt::()::test_overflow . pypy/objspace/std/test/test_intobject.py::AppTestInt::()::test_pow . pypy/objspace/std/test/test_intobject.py::AppTestInt::()::test_int_w_long_arg . pypy/objspace/std/test/test_intobject.py::AppTestInt::()::test_int_subclass_ctr . pypy/objspace/std/test/test_intobject.py::AppTestInt::()::test_int_subclass_ops . pypy/objspace/std/test/test_intobject.py::AppTestInt::()::test_int_subclass_int . pypy/objspace/std/test/test_intobject.py::AppTestInt::()::test_special_int . pypy/objspace/std/test/test_intobject.py::AppTestInt::()::test_special_long . pypy/objspace/std/test/test_intobject.py::AppTestInt::()::test_just_trunc . pypy/objspace/std/test/test_intobject.py::AppTestInt::()::test_override___int__ . pypy/objspace/std/test/test_intobject.py::AppTestInt::()::test_trunc_returns_non_int . pypy/objspace/std/test/test_intobject.py::AppTestInt::()::test_trunc_returns_int_subclass . pypy/objspace/std/test/test_intobject.py::AppTestInt::()::test_int_before_string . pypy/objspace/std/test/test_intobject.py::AppTestInt::()::test_getnewargs s pypy/objspace/std/test/test_intobject.py::AppTestInt::()::test_cmp Skipped: This is a 'wont fix' case . pypy/objspace/std/test/test_intobject.py::AppTestInt::()::test_bit_length . pypy/objspace/std/test/test_intobject.py::AppTestInt::()::test_bit_length_max . pypy/objspace/std/test/test_intobject.py::AppTestInt::()::test_int_real . pypy/objspace/std/test/test_intobject.py::AppTestInt::()::test_int_error_msg . pypy/objspace/std/test/test_intobject.py::AppTestInt::()::test_invalid_literal_message . pypy/objspace/std/test/test_intobject.py::AppTestInt::()::test_coerce . pypy/objspace/std/test/test_intobject.py::AppTestInt::()::test_fake_int_as_base . pypy/objspace/std/test/test_intobject.py::AppTestInt::()::test_truediv . pypy/objspace/std/test/test_intobject.py::AppTestInt::()::test_truediv_future . pypy/objspace/std/test/test_intobject.py::AppTestInt::()::test_int_of_bool . pypy/objspace/std/test/test_intobject.py::AppTestInt::()::test_binop_overflow . pypy/objspace/std/test/test_intobject.py::AppTestInt::()::test_rbinop_overflow . pypy/objspace/std/test/test_intobject.py::AppTestInt::()::test_some_rops . pypy/objspace/std/test/test_intobject.py::AppTestInt::()::test_error_message_wrong_self . pypy/objspace/std/test/test_intobject.py::AppTestIntShortcut::()::test_hash . pypy/objspace/std/test/test_intobject.py::AppTestIntShortcut::()::test_conjugate . pypy/objspace/std/test/test_intobject.py::AppTestIntShortcut::()::test_trunc . pypy/objspace/std/test/test_intobject.py::AppTestIntShortcut::()::test_int_callable . pypy/objspace/std/test/test_intobject.py::AppTestIntShortcut::()::test_numerator_denominator . pypy/objspace/std/test/test_intobject.py::AppTestIntShortcut::()::test_int_string . pypy/objspace/std/test/test_intobject.py::AppTestIntShortcut::()::test_int_unicode . pypy/objspace/std/test/test_intobject.py::AppTestIntShortcut::()::test_int_float . pypy/objspace/std/test/test_intobject.py::AppTestIntShortcut::()::test_int_str_repr . pypy/objspace/std/test/test_intobject.py::AppTestIntShortcut::()::test_int_two_param . pypy/objspace/std/test/test_intobject.py::AppTestIntShortcut::()::test_int_largenums . pypy/objspace/std/test/test_intobject.py::AppTestIntShortcut::()::test_shift_zeros . pypy/objspace/std/test/test_intobject.py::AppTestIntShortcut::()::test_overflow . pypy/objspace/std/test/test_intobject.py::AppTestIntShortcut::()::test_pow . pypy/objspace/std/test/test_intobject.py::AppTestIntShortcut::()::test_int_w_long_arg . pypy/objspace/std/test/test_intobject.py::AppTestIntShortcut::()::test_int_subclass_ctr . pypy/objspace/std/test/test_intobject.py::AppTestIntShortcut::()::test_int_subclass_ops . pypy/objspace/std/test/test_intobject.py::AppTestIntShortcut::()::test_int_subclass_int . pypy/objspace/std/test/test_intobject.py::AppTestIntShortcut::()::test_special_int . pypy/objspace/std/test/test_intobject.py::AppTestIntShortcut::()::test_special_long . pypy/objspace/std/test/test_intobject.py::AppTestIntShortcut::()::test_just_trunc . pypy/objspace/std/test/test_intobject.py::AppTestIntShortcut::()::test_override___int__ . pypy/objspace/std/test/test_intobject.py::AppTestIntShortcut::()::test_trunc_returns_non_int . pypy/objspace/std/test/test_intobject.py::AppTestIntShortcut::()::test_trunc_returns_int_subclass . pypy/objspace/std/test/test_intobject.py::AppTestIntShortcut::()::test_int_before_string . pypy/objspace/std/test/test_intobject.py::AppTestIntShortcut::()::test_getnewargs s pypy/objspace/std/test/test_intobject.py::AppTestIntShortcut::()::test_cmp Skipped: This is a 'wont fix' case . pypy/objspace/std/test/test_intobject.py::AppTestIntShortcut::()::test_bit_length . pypy/objspace/std/test/test_intobject.py::AppTestIntShortcut::()::test_bit_length_max . pypy/objspace/std/test/test_intobject.py::AppTestIntShortcut::()::test_int_real . pypy/objspace/std/test/test_intobject.py::AppTestIntShortcut::()::test_int_error_msg . pypy/objspace/std/test/test_intobject.py::AppTestIntShortcut::()::test_invalid_literal_message . pypy/objspace/std/test/test_intobject.py::AppTestIntShortcut::()::test_coerce . pypy/objspace/std/test/test_intobject.py::AppTestIntShortcut::()::test_fake_int_as_base . pypy/objspace/std/test/test_intobject.py::AppTestIntShortcut::()::test_truediv . pypy/objspace/std/test/test_intobject.py::AppTestIntShortcut::()::test_truediv_future . pypy/objspace/std/test/test_intobject.py::AppTestIntShortcut::()::test_int_of_bool . pypy/objspace/std/test/test_intobject.py::AppTestIntShortcut::()::test_binop_overflow . pypy/objspace/std/test/test_intobject.py::AppTestIntShortcut::()::test_rbinop_overflow . pypy/objspace/std/test/test_intobject.py::AppTestIntShortcut::()::test_some_rops . pypy/objspace/std/test/test_intobject.py::AppTestIntShortcut::()::test_error_message_wrong_self . pypy/objspace/std/test/test_intobject.py::AppTestIntShortcut::()::test_inplace . pypy/objspace/std/test/test_iterobject.py::TestW_IterObject::()::test_iter . pypy/objspace/std/test/test_iterobject.py::TestW_IterObject::()::test_iter_builtin . pypy/objspace/std/test/test_iterobject.py::TestW_IterObject::()::test_emptyiter . pypy/objspace/std/test/test_iterobject.py::TestW_IterObject::()::test_emptyiter_builtin . pypy/objspace/std/test/test_jsondict.py::AppTest::()::test_check_strategy . pypy/objspace/std/test/test_jsondict.py::AppTest::()::test_simple . pypy/objspace/std/test/test_jsondict.py::AppTest::()::test_setdefault . pypy/objspace/std/test/test_jsondict.py::AppTest::()::test_delitem . pypy/objspace/std/test/test_jsondict.py::AppTest::()::test_popitem . pypy/objspace/std/test/test_jsondict.py::AppTest::()::test_keys_value_items . pypy/objspace/std/test/test_jsondict.py::AppTest::()::test_iter_keys_value_items . pypy/objspace/std/test/test_jsondict.py::AppTest::()::test_dict_order_retained_when_switching_strategies . pypy/objspace/std/test/test_jsondict.py::AppTest::()::test_bug . pypy/objspace/std/test/test_jsondict.py::AppTest::()::test_objdict_bug . pypy/objspace/std/test/test_jsondict.py::AppTest::()::test_copy . pypy/objspace/std/test/test_kwargsdict.py::test_create . pypy/objspace/std/test/test_kwargsdict.py::test_set_existing . pypy/objspace/std/test/test_kwargsdict.py::test_set_new . pypy/objspace/std/test/test_kwargsdict.py::test_limit_size . pypy/objspace/std/test/test_kwargsdict.py::test_keys_doesnt_wrap . pypy/objspace/std/test/test_kwargsdict.py::test_view_as_kwargs . pypy/objspace/std/test/test_kwargsdict.py::test_from_empty_to_kwargs . pypy/objspace/std/test/test_kwargsdict.py::TestKwargsDictImplementation::()::test_popitem . pypy/objspace/std/test/test_kwargsdict.py::TestKwargsDictImplementation::()::test_setitem . pypy/objspace/std/test/test_kwargsdict.py::TestKwargsDictImplementation::()::test_setitem_str . pypy/objspace/std/test/test_kwargsdict.py::TestKwargsDictImplementation::()::test_clear . pypy/objspace/std/test/test_kwargsdict.py::TestKwargsDictImplementation::()::test_keys . pypy/objspace/std/test/test_kwargsdict.py::TestKwargsDictImplementation::()::test_values . pypy/objspace/std/test/test_kwargsdict.py::TestKwargsDictImplementation::()::test_items . pypy/objspace/std/test/test_kwargsdict.py::TestKwargsDictImplementation::()::test_iter . pypy/objspace/std/test/test_kwargsdict.py::TestKwargsDictImplementation::()::test_devolve . pypy/objspace/std/test/test_kwargsdict.py::TestKwargsDictImplementation::()::test_fallback_evil_key . pypy/objspace/std/test/test_kwargsdict.py::TestKwargsDictImplementation::()::test_delitem . pypy/objspace/std/test/test_kwargsdict.py::TestKwargsDictImplementation::()::test_setdefault_fast . pypy/objspace/std/test/test_kwargsdict.py::TestDevolvedKwargsDictImplementation::()::test_popitem . pypy/objspace/std/test/test_kwargsdict.py::TestDevolvedKwargsDictImplementation::()::test_setitem . pypy/objspace/std/test/test_kwargsdict.py::TestDevolvedKwargsDictImplementation::()::test_setitem_str . pypy/objspace/std/test/test_kwargsdict.py::TestDevolvedKwargsDictImplementation::()::test_delitem . pypy/objspace/std/test/test_kwargsdict.py::TestDevolvedKwargsDictImplementation::()::test_clear . pypy/objspace/std/test/test_kwargsdict.py::TestDevolvedKwargsDictImplementation::()::test_keys . pypy/objspace/std/test/test_kwargsdict.py::TestDevolvedKwargsDictImplementation::()::test_values . pypy/objspace/std/test/test_kwargsdict.py::TestDevolvedKwargsDictImplementation::()::test_items . pypy/objspace/std/test/test_kwargsdict.py::TestDevolvedKwargsDictImplementation::()::test_iter . pypy/objspace/std/test/test_kwargsdict.py::TestDevolvedKwargsDictImplementation::()::test_devolve . pypy/objspace/std/test/test_kwargsdict.py::TestDevolvedKwargsDictImplementation::()::test_fallback_evil_key . pypy/objspace/std/test/test_kwargsdict.py::TestDevolvedKwargsDictImplementation::()::test_setdefault_fast . pypy/objspace/std/test/test_kwargsdict.py::AppTestKwargsDictStrategy::()::test_create . pypy/objspace/std/test/test_kwargsdict.py::AppTestKwargsDictStrategy::()::test_iterator . pypy/objspace/std/test/test_kwargsdict.py::AppTestKwargsDictStrategy::()::test_setdefault . pypy/objspace/std/test/test_kwargsdict.py::AppTestKwargsDictStrategy::()::test_iteritems_bug . pypy/objspace/std/test/test_kwargsdict.py::AppTestKwargsDictStrategy::()::test_popitem_bug . pypy/objspace/std/test/test_lengthhint.py::TestLengthHint::()::test_bytearray . pypy/objspace/std/test/test_lengthhint.py::TestLengthHint::()::test_dict . pypy/objspace/std/test/test_lengthhint.py::TestLengthHint::()::test_dict_iterkeys . pypy/objspace/std/test/test_lengthhint.py::TestLengthHint::()::test_dict_values . pypy/objspace/std/test/test_lengthhint.py::TestLengthHint::()::test_frozenset . pypy/objspace/std/test/test_lengthhint.py::TestLengthHint::()::test_set . pypy/objspace/std/test/test_lengthhint.py::TestLengthHint::()::test_list . pypy/objspace/std/test/test_lengthhint.py::TestLengthHint::()::test_str . pypy/objspace/std/test/test_lengthhint.py::TestLengthHint::()::test_unicode . pypy/objspace/std/test/test_lengthhint.py::TestLengthHint::()::test_tuple . pypy/objspace/std/test/test_lengthhint.py::TestLengthHint::()::test_reversed . pypy/objspace/std/test/test_lengthhint.py::TestLengthHint::()::test_reversedsequenceiterator . pypy/objspace/std/test/test_lengthhint.py::TestLengthHint::()::test_xrange . pypy/objspace/std/test/test_lengthhint.py::TestLengthHint::()::test_itertools_repeat . pypy/objspace/std/test/test_lengthhint.py::TestLengthHint::()::test_collections_deque . pypy/objspace/std/test/test_lengthhint.py::TestLengthHint::()::test_collections_deque_rev . pypy/objspace/std/test/test_lengthhint.py::TestLengthHint::()::test_default . pypy/objspace/std/test/test_lengthhint.py::TestLengthHint::()::test_NotImplemented . pypy/objspace/std/test/test_lengthhint.py::TestLengthHint::()::test_invalid_hint . pypy/objspace/std/test/test_lengthhint.py::TestLengthHint::()::test_exc . pypy/objspace/std/test/test_listobject.py::TestW_ListObject::()::test_is_true . pypy/objspace/std/test/test_listobject.py::TestW_ListObject::()::test_len . pypy/objspace/std/test/test_listobject.py::TestW_ListObject::()::test_getitem . pypy/objspace/std/test/test_listobject.py::TestW_ListObject::()::test_getitems . pypy/objspace/std/test/test_listobject.py::TestW_ListObject::()::test_getitems_fixedsize . pypy/objspace/std/test/test_listobject.py::TestW_ListObject::()::test_random_getitem . pypy/objspace/std/test/test_listobject.py::TestW_ListObject::()::test_iter . pypy/objspace/std/test/test_listobject.py::TestW_ListObject::()::test_contains . pypy/objspace/std/test/test_listobject.py::TestW_ListObject::()::test_getslice . pypy/objspace/std/test/test_listobject.py::TestW_ListObject::()::test_setslice . pypy/objspace/std/test/test_listobject.py::TestW_ListObject::()::test_add . pypy/objspace/std/test/test_listobject.py::TestW_ListObject::()::test_mul . pypy/objspace/std/test/test_listobject.py::TestW_ListObject::()::test_mul_does_not_clone . pypy/objspace/std/test/test_listobject.py::TestW_ListObject::()::test_setitem . pypy/objspace/std/test/test_listobject.py::TestW_ListObject::()::test_random_setitem_delitem . pypy/objspace/std/test/test_listobject.py::TestW_ListObject::()::test_eq . pypy/objspace/std/test/test_listobject.py::TestW_ListObject::()::test_ne . pypy/objspace/std/test/test_listobject.py::TestW_ListObject::()::test_lt . pypy/objspace/std/test/test_listobject.py::TestW_ListObject::()::test_ge . pypy/objspace/std/test/test_listobject.py::TestW_ListObject::()::test_gt . pypy/objspace/std/test/test_listobject.py::TestW_ListObject::()::test_le . pypy/objspace/std/test/test_listobject.py::TestW_ListObject::()::test_sizehint . pypy/objspace/std/test/test_listobject.py::TestW_ListObject::()::test_newlist_hint . pypy/objspace/std/test/test_listobject.py::TestW_ListObject::()::test_find_fast_on_intlist . pypy/objspace/std/test/test_listobject.py::TestW_ListObject::()::test_count_fast_on_intlist . pypy/objspace/std/test/test_listobject.py::TestW_ListObject::()::test_intlist_to_object_too_much_wrapping . pypy/objspace/std/test/test_listobject.py::TestW_ListObject::()::test_floatlist_to_object_too_much_wrapping . pypy/objspace/std/test/test_listobject.py::TestW_ListObject::()::test_intorfloatlist_to_object_too_much_wrapping . pypy/objspace/std/test/test_listobject.py::TestW_ListObject::()::test_byteslist_to_object_too_much_wrapping . pypy/objspace/std/test/test_listobject.py::TestW_ListObject::()::test_asciilist_to_object_too_much_wrapping . pypy/objspace/std/test/test_listobject.py::TestW_ListObject::()::test_tuple_extend_shortcut . pypy/objspace/std/test/test_listobject.py::AppTestListObject::()::test_doc . pypy/objspace/std/test/test_listobject.py::AppTestListObject::()::test_getstrategyfromlist_w . pypy/objspace/std/test/test_listobject.py::AppTestListObject::()::test_notequals . pypy/objspace/std/test/test_listobject.py::AppTestListObject::()::test_contains . pypy/objspace/std/test/test_listobject.py::AppTestListObject::()::test_call_list . pypy/objspace/std/test/test_listobject.py::AppTestListObject::()::test_explicit_new_init . pypy/objspace/std/test/test_listobject.py::AppTestListObject::()::test_explicit_new_init_more_cases . pypy/objspace/std/test/test_listobject.py::AppTestListObject::()::test_range_init . pypy/objspace/std/test/test_listobject.py::AppTestListObject::()::test_extend_list . pypy/objspace/std/test/test_listobject.py::AppTestListObject::()::test_extend_tuple . pypy/objspace/std/test/test_listobject.py::AppTestListObject::()::test_extend_iterable . pypy/objspace/std/test/test_listobject.py::AppTestListObject::()::test_extend_iterable_length_hint_overflow . pypy/objspace/std/test/test_listobject.py::AppTestListObject::()::test_sort . pypy/objspace/std/test/test_listobject.py::AppTestListObject::()::test_sort_cmp . pypy/objspace/std/test/test_listobject.py::AppTestListObject::()::test_sort_key . pypy/objspace/std/test/test_listobject.py::AppTestListObject::()::test_sort_reversed . pypy/objspace/std/test/test_listobject.py::AppTestListObject::()::test_sort_cmp_key_reverse . pypy/objspace/std/test/test_listobject.py::AppTestListObject::()::test_sort_simple_string . pypy/objspace/std/test/test_listobject.py::AppTestListObject::()::test_sort_range . pypy/objspace/std/test/test_listobject.py::AppTestListObject::()::test_getitem . pypy/objspace/std/test/test_listobject.py::AppTestListObject::()::test_getitem_range . pypy/objspace/std/test/test_listobject.py::AppTestListObject::()::test_setitem . pypy/objspace/std/test/test_listobject.py::AppTestListObject::()::test_delitem . pypy/objspace/std/test/test_listobject.py::AppTestListObject::()::test_getitem_slice . pypy/objspace/std/test/test_listobject.py::AppTestListObject::()::test_getslice_invalid . pypy/objspace/std/test/test_listobject.py::AppTestListObject::()::test_getslice_range_backwards . pypy/objspace/std/test/test_listobject.py::AppTestListObject::()::test_delall . pypy/objspace/std/test/test_listobject.py::AppTestListObject::()::test_iadd . pypy/objspace/std/test/test_listobject.py::AppTestListObject::()::test_iadd_iterable . pypy/objspace/std/test/test_listobject.py::AppTestListObject::()::test_iadd_subclass . pypy/objspace/std/test/test_listobject.py::AppTestListObject::()::test_add_lists . pypy/objspace/std/test/test_listobject.py::AppTestListObject::()::test_imul . pypy/objspace/std/test/test_listobject.py::AppTestListObject::()::test_mul_errors . pypy/objspace/std/test/test_listobject.py::AppTestListObject::()::test_mul___index__ . pypy/objspace/std/test/test_listobject.py::AppTestListObject::()::test_index . pypy/objspace/std/test/test_listobject.py::AppTestListObject::()::test_index_cpython_bug . pypy/objspace/std/test/test_listobject.py::AppTestListObject::()::test_ass_slice . pypy/objspace/std/test/test_listobject.py::AppTestListObject::()::test_assign_extended_slice . pypy/objspace/std/test/test_listobject.py::AppTestListObject::()::test_setslice_with_self . pypy/objspace/std/test/test_listobject.py::AppTestListObject::()::test_setitem_slice_performance . pypy/objspace/std/test/test_listobject.py::AppTestListObject::()::test_setslice_full . pypy/objspace/std/test/test_listobject.py::AppTestListObject::()::test_setslice_full_bug . pypy/objspace/std/test/test_listobject.py::AppTestListObject::()::test_recursive_repr . pypy/objspace/std/test/test_listobject.py::AppTestListObject::()::test_repr_strategies . pypy/objspace/std/test/test_listobject.py::AppTestListObject::()::test_append . pypy/objspace/std/test/test_listobject.py::AppTestListObject::()::test_count . pypy/objspace/std/test/test_listobject.py::AppTestListObject::()::test_insert . pypy/objspace/std/test/test_listobject.py::AppTestListObject::()::test_pop . pypy/objspace/std/test/test_listobject.py::AppTestListObject::()::test_pop_custom_int . pypy/objspace/std/test/test_listobject.py::AppTestListObject::()::test_pop_negative . pypy/objspace/std/test/test_listobject.py::AppTestListObject::()::test_remove . pypy/objspace/std/test/test_listobject.py::AppTestListObject::()::test_reverse . pypy/objspace/std/test/test_listobject.py::AppTestListObject::()::test_reversed . pypy/objspace/std/test/test_listobject.py::AppTestListObject::()::test_mutate_while_remove . pypy/objspace/std/test/test_listobject.py::AppTestListObject::()::test_mutate_while_contains . pypy/objspace/std/test/test_listobject.py::AppTestListObject::()::test_mutate_while_extend . pypy/objspace/std/test/test_listobject.py::AppTestListObject::()::test_mutate_while_slice . pypy/objspace/std/test/test_listobject.py::AppTestListObject::()::test_mutate_while_slice_delete . pypy/objspace/std/test/test_listobject.py::AppTestListObject::()::test_mutate_while_repr . pypy/objspace/std/test/test_listobject.py::AppTestListObject::()::test_mutate_while_eq . pypy/objspace/std/test/test_listobject.py::AppTestListObject::()::test___getslice__ . pypy/objspace/std/test/test_listobject.py::AppTestListObject::()::test___setslice__ . pypy/objspace/std/test/test_listobject.py::AppTestListObject::()::test___delslice__ . pypy/objspace/std/test/test_listobject.py::AppTestListObject::()::test_unicode . pypy/objspace/std/test/test_listobject.py::AppTestListObject::()::test_unicode_bug_in_listview_utf8 . pypy/objspace/std/test/test_listobject.py::AppTestListObject::()::test_list_from_set . pypy/objspace/std/test/test_listobject.py::AppTestListObject::()::test_list_from_generator . pypy/objspace/std/test/test_listobject.py::AppTestListObject::()::test_uses_custom_iterator . pypy/objspace/std/test/test_listobject.py::AppTestListObject::()::test_comparison . pypy/objspace/std/test/test_listobject.py::AppTestListObject::()::test_resizelist_hint . pypy/objspace/std/test/test_listobject.py::AppTestListObject::()::test_use_method_for_wrong_object . pypy/objspace/std/test/test_listobject.py::AppTestListObject::()::test_ne_NotImplemented . pypy/objspace/std/test/test_listobject.py::AppTestListObject::()::test_extend_from_empty_list_with_subclasses . pypy/objspace/std/test/test_listobject.py::AppTestListObject::()::test_extend_from_nonempty_list_with_subclasses . pypy/objspace/std/test/test_listobject.py::AppTestListObject::()::test_no_len_on_range_iter . pypy/objspace/std/test/test_listobject.py::AppTestListObject::()::test_reduce . pypy/objspace/std/test/test_listobject.py::AppTestListObject::()::test_issue1266 . pypy/objspace/std/test/test_listobject.py::AppTestListObject::()::test_issue1266_ovf . pypy/objspace/std/test/test_listobject.py::AppTestListObject::()::test_bug_list_of_nans . pypy/objspace/std/test/test_listobject.py::AppTestRangeListForcing::()::test_simple . pypy/objspace/std/test/test_listobject.py::AppTestRangeListForcing::()::test_getitem_slice . pypy/objspace/std/test/test_listobject.py::AppTestRangeListForcing::()::test_getitem_extended_slice . pypy/objspace/std/test/test_listobject.py::AppTestRangeListForcing::()::test_repr . pypy/objspace/std/test/test_listobject.py::AppTestRangeListForcing::()::test_force . pypy/objspace/std/test/test_listobject.py::AppTestRangeListForcing::()::test_reverse . pypy/objspace/std/test/test_listobject.py::AppTestRangeListForcing::()::test_pop . pypy/objspace/std/test/test_listobject.py::AppTestWithoutStrategies::()::test_no_shared_empty_list . pypy/objspace/std/test/test_listobject.py::AppTestListFastSubscr::()::test_getitem . pypy/objspace/std/test/test_liststrategies.py::TestW_ListObject::()::test_is_true . pypy/objspace/std/test/test_liststrategies.py::TestW_ListObject::()::test_len . pypy/objspace/std/test/test_liststrategies.py::TestW_ListObject::()::test_getitem . pypy/objspace/std/test/test_liststrategies.py::TestW_ListObject::()::test_getitems . pypy/objspace/std/test/test_liststrategies.py::TestW_ListObject::()::test_getitems_fixedsize . pypy/objspace/std/test/test_liststrategies.py::TestW_ListObject::()::test_random_getitem . pypy/objspace/std/test/test_liststrategies.py::TestW_ListObject::()::test_iter . pypy/objspace/std/test/test_liststrategies.py::TestW_ListObject::()::test_contains . pypy/objspace/std/test/test_liststrategies.py::TestW_ListObject::()::test_getslice . pypy/objspace/std/test/test_liststrategies.py::TestW_ListObject::()::test_setslice . pypy/objspace/std/test/test_liststrategies.py::TestW_ListObject::()::test_add . pypy/objspace/std/test/test_liststrategies.py::TestW_ListObject::()::test_mul . pypy/objspace/std/test/test_liststrategies.py::TestW_ListObject::()::test_mul_does_not_clone . pypy/objspace/std/test/test_liststrategies.py::TestW_ListObject::()::test_setitem . pypy/objspace/std/test/test_liststrategies.py::TestW_ListObject::()::test_random_setitem_delitem . pypy/objspace/std/test/test_liststrategies.py::TestW_ListObject::()::test_eq . pypy/objspace/std/test/test_liststrategies.py::TestW_ListObject::()::test_ne . pypy/objspace/std/test/test_liststrategies.py::TestW_ListObject::()::test_lt . pypy/objspace/std/test/test_liststrategies.py::TestW_ListObject::()::test_ge . pypy/objspace/std/test/test_liststrategies.py::TestW_ListObject::()::test_gt . pypy/objspace/std/test/test_liststrategies.py::TestW_ListObject::()::test_le . pypy/objspace/std/test/test_liststrategies.py::TestW_ListObject::()::test_sizehint . pypy/objspace/std/test/test_liststrategies.py::TestW_ListObject::()::test_newlist_hint . pypy/objspace/std/test/test_liststrategies.py::TestW_ListObject::()::test_find_fast_on_intlist . pypy/objspace/std/test/test_liststrategies.py::TestW_ListObject::()::test_count_fast_on_intlist . pypy/objspace/std/test/test_liststrategies.py::TestW_ListObject::()::test_intlist_to_object_too_much_wrapping . pypy/objspace/std/test/test_liststrategies.py::TestW_ListObject::()::test_floatlist_to_object_too_much_wrapping . pypy/objspace/std/test/test_liststrategies.py::TestW_ListObject::()::test_intorfloatlist_to_object_too_much_wrapping . pypy/objspace/std/test/test_liststrategies.py::TestW_ListObject::()::test_byteslist_to_object_too_much_wrapping . pypy/objspace/std/test/test_liststrategies.py::TestW_ListObject::()::test_asciilist_to_object_too_much_wrapping . pypy/objspace/std/test/test_liststrategies.py::TestW_ListObject::()::test_tuple_extend_shortcut . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_is_true . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_len . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_getitem . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_getitems . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_getitems_fixedsize . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_random_getitem . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_iter . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_contains . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_getslice . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_add . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_mul_does_not_clone . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_random_setitem_delitem . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_eq . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_ne . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_lt . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_ge . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_gt . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_le . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_sizehint . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_newlist_hint . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_find_fast_on_intlist . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_count_fast_on_intlist . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_intlist_to_object_too_much_wrapping . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_floatlist_to_object_too_much_wrapping . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_intorfloatlist_to_object_too_much_wrapping . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_byteslist_to_object_too_much_wrapping . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_asciilist_to_object_too_much_wrapping . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_tuple_extend_shortcut . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_check_strategy . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_empty_to_any . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_int_to_any . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_string_to_any . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_unicode_to_any . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_float_to_any . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_setitem . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_insert s pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_list_empty_after_delete Skipped: return to emptyliststrategy is not supported anymore . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_setslice . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_setslice_int_range . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_setslice_List . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_empty_setslice_with_objectlist . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_extend . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_empty_extend_with_any . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_extend_other_with_empty . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_rangelist . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_simplerangelist . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_keep_range . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_empty_range . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_range_getslice_ovf . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_range_setslice . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_range_reverse_ovf . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_copy_list . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_getitems_does_not_copy_object_list . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_clone . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_add_does_not_use_getitems . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_add_of_range_and_int . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_mul . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_mul_same_strategy_but_different_object . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_weird_rangelist_bug . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_add_to_rangelist . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_unicode . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_listview_bytes . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_listview_ascii . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_string_join_uses_listview_bytes . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_string_join_returns_same_instance . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_newlist_bytes . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_string_uses_newlist_bytes . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_unicode_uses_newlist_ascii . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_pop_without_argument_is_fast . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_create_list_from_set . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_listview_bytes_list . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_listview_ascii_list . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_listview_int_list . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_listview_float_list . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_unpackiterable_int_list . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_int_or_float_special_nan s pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_int_or_float_int_overflow Skipped: only on 64-bit . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_int_or_float_base . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_int_or_float_from_integer s pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_int_or_float_from_integer_overflow Skipped: only on 64-bit . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_int_or_float_from_integer_special_nan . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_int_or_float_from_float s pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_int_or_float_from_float_int_overflow Skipped: only on 64-bit . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_int_or_float_from_float_special_nan . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_int_or_float_extend . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_int_or_float_extend_mixed_1 . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_int_or_float_extend_mixed_2 . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_int_or_float_extend_mixed_3 . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_int_or_float_extend_mixed_4 . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_int_or_float_extend_mixed_5 s pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_int_or_float_extend_mixed_5_overflow Skipped: only on 64-bit . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_int_or_float_extend_mixed_6 . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_int_or_float_setslice . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_int_or_float_setslice_mixed_1 . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_int_or_float_setslice_mixed_2 . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_int_or_float_setslice_mixed_3 . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_int_or_float_setslice_mixed_4 . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_int_or_float_setslice_mixed_5 s pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_int_or_float_setslice_mixed_5_overflow Skipped: only on 64-bit . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_int_or_float_setslice_mixed_6 . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_int_or_float_sort . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategies::()::test_stringstrategy_wraps_bytes . pypy/objspace/std/test/test_liststrategies.py::TestW_ListStrategiesDisabled::()::test_check_strategy . pypy/objspace/std/test/test_longobject.py::TestW_LongObject::()::test_bigint_w . pypy/objspace/std/test/test_longobject.py::TestW_LongObject::()::test_overflow_error . pypy/objspace/std/test/test_longobject.py::TestW_LongObject::()::test_rint_variants . pypy/objspace/std/test/test_longobject.py::AppTestLong::()::test_trunc . pypy/objspace/std/test/test_longobject.py::AppTestLong::()::test_add . pypy/objspace/std/test/test_longobject.py::AppTestLong::()::test_sub . pypy/objspace/std/test/test_longobject.py::AppTestLong::()::test_mul . pypy/objspace/std/test/test_longobject.py::AppTestLong::()::test_truediv . pypy/objspace/std/test/test_longobject.py::AppTestLong::()::test_floordiv . pypy/objspace/std/test/test_longobject.py::AppTestLong::()::test_int_floordiv . pypy/objspace/std/test/test_longobject.py::AppTestLong::()::test_numerator_denominator . pypy/objspace/std/test/test_longobject.py::AppTestLong::()::test_compare . pypy/objspace/std/test/test_longobject.py::AppTestLong::()::test_conversion . pypy/objspace/std/test/test_longobject.py::AppTestLong::()::test_shift . pypy/objspace/std/test/test_longobject.py::AppTestLong::()::test_pow . pypy/objspace/std/test/test_longobject.py::AppTestLong::()::test_int_pow . pypy/objspace/std/test/test_longobject.py::AppTestLong::()::test_getnewargs . pypy/objspace/std/test/test_longobject.py::AppTestLong::()::test_divmod . pypy/objspace/std/test/test_longobject.py::AppTestLong::()::test_int_divmod . pypy/objspace/std/test/test_longobject.py::AppTestLong::()::test_format . pypy/objspace/std/test/test_longobject.py::AppTestLong::()::test_bits . pypy/objspace/std/test/test_longobject.py::AppTestLong::()::test_hash . pypy/objspace/std/test/test_longobject.py::AppTestLong::()::test_math_log . pypy/objspace/std/test/test_longobject.py::AppTestLong::()::test_long . pypy/objspace/std/test/test_longobject.py::AppTestLong::()::test_huge_longs . pypy/objspace/std/test/test_longobject.py::AppTestLong::()::test_just_trunc . pypy/objspace/std/test/test_longobject.py::AppTestLong::()::test_override___long__ . pypy/objspace/std/test/test_longobject.py::AppTestLong::()::test___long__ . pypy/objspace/std/test/test_longobject.py::AppTestLong::()::test_trunc_returns . pypy/objspace/std/test/test_longobject.py::AppTestLong::()::test_long_before_string . pypy/objspace/std/test/test_longobject.py::AppTestLong::()::test_long_errors . pypy/objspace/std/test/test_longobject.py::AppTestLong::()::test_conjugate . pypy/objspace/std/test/test_longobject.py::AppTestLong::()::test_bit_length . pypy/objspace/std/test/test_longobject.py::AppTestLong::()::test_negative_zero . pypy/objspace/std/test/test_longobject.py::AppTestLong::()::test_mix_int_and_long . pypy/objspace/std/test/test_longobject.py::AppTestLong::()::test_long_real . pypy/objspace/std/test/test_longobject.py::AppTestLong::()::test__int__ . pypy/objspace/std/test/test_longobject.py::AppTestLong::()::test_long_error_msg . pypy/objspace/std/test/test_longobject.py::AppTestLong::()::test_coerce . pypy/objspace/std/test/test_longobject.py::AppTestLong::()::test_linear_long_base_16 . pypy/objspace/std/test/test_longobject.py::AppTestLong::()::test_error_message_wrong_self . pypy/objspace/std/test/test_mapdict.py::test_plain_attribute . pypy/objspace/std/test/test_mapdict.py::test_huge_chain . pypy/objspace/std/test/test_mapdict.py::test_search . pypy/objspace/std/test/test_mapdict.py::test_add_attribute . pypy/objspace/std/test/test_mapdict.py::test_add_attribute_limit . pypy/objspace/std/test/test_mapdict.py::test_insert_different_orders . pypy/objspace/std/test/test_mapdict.py::test_insert_different_orders_2 . pypy/objspace/std/test/test_mapdict.py::test_insert_different_orders_3 . pypy/objspace/std/test/test_mapdict.py::test_insert_different_orders_4 . pypy/objspace/std/test/test_mapdict.py::test_insert_different_orders_5 . pypy/objspace/std/test/test_mapdict.py::test_bug_stack_overflow_insert_attributes . pypy/objspace/std/test/test_mapdict.py::test_insert_different_orders_perm . pypy/objspace/std/test/test_mapdict.py::test_bug_infinite_loop . pypy/objspace/std/test/test_mapdict.py::test_attr_immutability . pypy/objspace/std/test/test_mapdict.py::test_attr_immutability_delete . pypy/objspace/std/test/test_mapdict.py::test_delete . pypy/objspace/std/test/test_mapdict.py::test_class . pypy/objspace/std/test/test_mapdict.py::test_special . pypy/objspace/std/test/test_mapdict.py::test_slots . pypy/objspace/std/test/test_mapdict.py::test_slots_no_dict . pypy/objspace/std/test/test_mapdict.py::test_getdict . pypy/objspace/std/test/test_mapdict.py::test_materialize_r_dict . pypy/objspace/std/test/test_mapdict.py::test_unboxed_compute_indices . pypy/objspace/std/test/test_mapdict.py::test_unboxed_storage_needed s pypy/objspace/std/test/test_mapdict.py::test_unboxed_write_int Skipped: int unboxing disabled on 32bit . pypy/objspace/std/test/test_mapdict.py::test_unboxed_write_float s pypy/objspace/std/test/test_mapdict.py::test_unboxed_write_mixed Skipped: int unboxing disabled on 32bit s pypy/objspace/std/test/test_mapdict.py::test_no_int_unboxing Skipped: int unboxing disabled on 32bit . pypy/objspace/std/test/test_mapdict.py::test_unboxed_type_change . pypy/objspace/std/test/test_mapdict.py::test_unboxed_type_change_other_object . pypy/objspace/std/test/test_mapdict.py::test_unboxed_mixed_two_different_instances . pypy/objspace/std/test/test_mapdict.py::test_unboxed_attr_immutability . pypy/objspace/std/test/test_mapdict.py::test_unboxed_bug . pypy/objspace/std/test/test_mapdict.py::test_unboxed_reorder_add_bug . pypy/objspace/std/test/test_mapdict.py::test_unboxed_reorder_add_bug2 . pypy/objspace/std/test/test_mapdict.py::test_unbox_reorder_bug3 . pypy/objspace/std/test/test_mapdict.py::test_unbox_reorder_bug4 . pypy/objspace/std/test/test_mapdict.py::test_unbox_reorder_bug5 . pypy/objspace/std/test/test_mapdict.py::test_boxed_reorder_bug . pypy/objspace/std/test/test_mapdict.py::test_unboxed_insert_different_orders_perm . pypy/objspace/std/test/test_mapdict.py::TestMapDictImplementation::()::test_popitem . pypy/objspace/std/test/test_mapdict.py::TestMapDictImplementation::()::test_setitem . pypy/objspace/std/test/test_mapdict.py::TestMapDictImplementation::()::test_setitem_str . pypy/objspace/std/test/test_mapdict.py::TestMapDictImplementation::()::test_delitem . pypy/objspace/std/test/test_mapdict.py::TestMapDictImplementation::()::test_clear . pypy/objspace/std/test/test_mapdict.py::TestMapDictImplementation::()::test_keys . pypy/objspace/std/test/test_mapdict.py::TestMapDictImplementation::()::test_values . pypy/objspace/std/test/test_mapdict.py::TestMapDictImplementation::()::test_items . pypy/objspace/std/test/test_mapdict.py::TestMapDictImplementation::()::test_iter . pypy/objspace/std/test/test_mapdict.py::TestMapDictImplementation::()::test_devolve . pypy/objspace/std/test/test_mapdict.py::TestMapDictImplementation::()::test_fallback_evil_key . pypy/objspace/std/test/test_mapdict.py::TestMapDictImplementation::()::test_setdefault_fast . pypy/objspace/std/test/test_mapdict.py::TestDevolvedMapDictImplementation::()::test_popitem . pypy/objspace/std/test/test_mapdict.py::TestDevolvedMapDictImplementation::()::test_setitem . pypy/objspace/std/test/test_mapdict.py::TestDevolvedMapDictImplementation::()::test_setitem_str . pypy/objspace/std/test/test_mapdict.py::TestDevolvedMapDictImplementation::()::test_delitem . pypy/objspace/std/test/test_mapdict.py::TestDevolvedMapDictImplementation::()::test_clear . pypy/objspace/std/test/test_mapdict.py::TestDevolvedMapDictImplementation::()::test_keys . pypy/objspace/std/test/test_mapdict.py::TestDevolvedMapDictImplementation::()::test_values . pypy/objspace/std/test/test_mapdict.py::TestDevolvedMapDictImplementation::()::test_items . pypy/objspace/std/test/test_mapdict.py::TestDevolvedMapDictImplementation::()::test_iter . pypy/objspace/std/test/test_mapdict.py::TestDevolvedMapDictImplementation::()::test_devolve . pypy/objspace/std/test/test_mapdict.py::TestDevolvedMapDictImplementation::()::test_fallback_evil_key . pypy/objspace/std/test/test_mapdict.py::TestDevolvedMapDictImplementation::()::test_setdefault_fast . pypy/objspace/std/test/test_mapdict.py::test_get_setdictvalue_after_devolve . pypy/objspace/std/test/test_mapdict.py::test_setdict . pypy/objspace/std/test/test_mapdict.py::test_specialized_class . pypy/objspace/std/test/test_mapdict.py::test_specialized_class_overflow . pypy/objspace/std/test/test_mapdict.py::AppTestWithMapDict::()::test_simple . pypy/objspace/std/test/test_mapdict.py::AppTestWithMapDict::()::test_read_write_dict . pypy/objspace/std/test/test_mapdict.py::AppTestWithMapDict::()::test_popitem . pypy/objspace/std/test/test_mapdict.py::AppTestWithMapDict::()::test_slot_name_conflict . pypy/objspace/std/test/test_mapdict.py::AppTestWithMapDict::()::test_change_class . pypy/objspace/std/test/test_mapdict.py::AppTestWithMapDict::()::test_dict_devolved_bug . pypy/objspace/std/test/test_mapdict.py::AppTestWithMapDict::()::test_dict_clear_bug . pypy/objspace/std/test/test_mapdict.py::AppTestWithMapDict::()::test_change_class_slots . pypy/objspace/std/test/test_mapdict.py::AppTestWithMapDict::()::test_change_class_slots_dict . pypy/objspace/std/test/test_mapdict.py::AppTestWithMapDict::()::test_setdict . pypy/objspace/std/test/test_mapdict.py::AppTestWithMapDict::()::test_delete_slot . pypy/objspace/std/test/test_mapdict.py::AppTestWithMapDict::()::test_reversed_dict . pypy/objspace/std/test/test_mapdict.py::AppTestWithMapDict::()::test_bug_materialize_huge_dict . pypy/objspace/std/test/test_mapdict.py::AppTestWithMapDict::()::test_bug_iter_checks_map_is_wrong . pypy/objspace/std/test/test_mapdict.py::AppTestWithMapDict::()::test_copy . pypy/objspace/std/test/test_mapdict.py::AppTestWithMapDict::()::test_dict_equality . pypy/objspace/std/test/test_mapdict.py::AppTestWithMapDictAndCounters::()::test_simple . pypy/objspace/std/test/test_mapdict.py::AppTestWithMapDictAndCounters::()::test_property . pypy/objspace/std/test/test_mapdict.py::AppTestWithMapDictAndCounters::()::test_slots . pypy/objspace/std/test/test_mapdict.py::AppTestWithMapDictAndCounters::()::test_two_attributes . pypy/objspace/std/test/test_mapdict.py::AppTestWithMapDictAndCounters::()::test_two_maps . pypy/objspace/std/test/test_mapdict.py::AppTestWithMapDictAndCounters::()::test_custom_metaclass . pypy/objspace/std/test/test_mapdict.py::AppTestWithMapDictAndCounters::()::test_old_style_base . pypy/objspace/std/test/test_mapdict.py::AppTestWithMapDictAndCounters::()::test_call_method_uses_cache . pypy/objspace/std/test/test_mapdict.py::AppTestWithMapDictAndCounters::()::test_mix_cache_bug F pypy/objspace/std/test/test_mapdict.py::AppTestWithMapDictAndCounters::()::test_dont_keep_class_alive self = func = at 0xf28dae9c>, 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, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 0xf7a3332c> hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf69d14cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf69d14cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf28191ac> 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 0xf28191ac> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf28191ec> 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 0xf28191ec> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def runtest(self): target = self.obj if self.config.option.runappdirect: return target() space = target.im_self.space filename = self._getdynfilename(target) func = app2interp_temp(target.im_func, filename=filename) w_instance = self.parent.w_instance > self.execute_appex(space, func, space, w_instance) tool/pytest/apptest.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , space = StdObjSpace target = args = (StdObjSpace, ) def execute_appex(self, space, target, *args): self.space = space try: > target(*args) tool/pytest/apptest.py:30: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace args_w = (,) w_func = args = def appcaller(space, *args_w): if not isinstance(space, ObjSpace): raise TypeError("first argument must be a space instance.") # the last argument can be an Arguments w_func = self.wget(space, name) if not args_w: return space.call_function(w_func) else: args = args_w[-1] assert args is not None if not isinstance(args, Arguments): > return space.call_function(w_func, *args_w) interpreter/gateway.py:1227: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = args_w = (,) nargs = 1, Function = Method = def call_function(self, w_func, *args_w): nargs = len(args_w) # used for pruning funccall versions if not self.config.objspace.disable_call_speedhacks and nargs < 5: # start of hack for performance from pypy.interpreter.function import Function, Method if isinstance(w_func, Method): w_inst = w_func.w_instance if w_inst is not None: if nargs < 4: func = w_func.w_function if isinstance(func, Function): return func.funccall(w_inst, *args_w) elif args_w and ( self.abstract_isinstance_w(args_w[0], w_func.w_class)): w_func = w_func.w_function if isinstance(w_func, Function): > return w_func.funccall(*args_w) interpreter/baseobjspace.py:1210: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = args_w = (,) gateway = PyCode = code = def funccall(self, *args_w): # speed hack from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit nargs = len(args_w) fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, args_w[0]) elif nargs == 2: assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, args_w[0], args_w[1]) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) return code.fastcall_3(self.space, self, args_w[0], args_w[1], args_w[2]) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) return code.fastcall_4(self.space, self, args_w[0], args_w[1], args_w[2], args_w[3]) elif (nargs | PyCode.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) if nargs < 5: new_frame = self.space.createframe(code, self.w_func_globals, self) for i in funccallunrolling: if i < nargs: new_frame.locals_cells_stack_w[i] = args_w[i] > return new_frame.run() interpreter/function.py:118: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 15 def run(self): """Start this frame's execution.""" if self.getcode().co_flags & pycode.CO_GENERATOR: from pypy.interpreter.generator import GeneratorIterator return GeneratorIterator(self) else: > return self.execute_frame() interpreter/pyframe.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 15 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:290: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 15 e = SyntaxError("Non-ASCII character '\\xe2' in file /build_dir/own-linux-x86-32/b..., ('/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py', 423, 0, None)) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:943: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 15 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:286: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 15 pycode = next_instr = 0L ec = def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 15 co_code = 'd\x01\x00d\x00\x00l\x00\x00\x89\x01\x00d\x01\x00d\x00\x00l\x01\x00\x89\x00\x00\x87\x00\x00\x87\x01\x00f\x02\x00d\x02\x00\x86\x00\x00}\x01\x00|\x01\x00\x83\x00\x00\x01d\x00\x00S' next_instr = 0L ec = def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 15 co_code = 'd\x01\x00d\x00\x00l\x00\x00\x89\x01\x00d\x01\x00d\x00\x00l\x01\x00\x89\x00\x00\x87\x00\x00\x87\x01\x00f\x02\x00d\x02\x00\x86\x00\x00}\x01\x00|\x01\x00\x83\x00\x00\x01d\x00\x00S' next_instr = 48L ec = @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: self.last_instr = intmask(next_instr) if jit.we_are_jitted(): if self.debugdata: ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: ec.bytecode_trace(self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) next_instr += 1 if opcode >= HAVE_ARGUMENT: lo = ord(co_code[next_instr]) hi = ord(co_code[next_instr+1]) next_instr += 2 oparg = (hi * 256) | lo else: oparg = 0 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into a switch(). while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption lo = ord(co_code[next_instr+1]) hi = ord(co_code[next_instr+2]) next_instr += 3 oparg = (oparg * 65536) | (hi * 256) | lo if opcode == opcodedesc.RETURN_VALUE.index: if not self.blockstack_non_empty(): self.frame_finished_execution = True # for generators raise Return w_returnvalue = self.popvalue() block = self.unrollstack(SReturnValue.kind) if block is None: self.pushvalue(w_returnvalue) raise Return else: unroller = SReturnValue(w_returnvalue) next_instr = block.handle(self, unroller) return next_instr # now inside a 'finally' block elif opcode == opcodedesc.END_FINALLY.index: unroller = self.end_finally() if isinstance(unroller, SuspendedUnroller): # go on unrolling the stack block = self.unrollstack(unroller.kind) if block is None: w_result = unroller.nomoreblocks() self.pushvalue(w_result) raise Return else: next_instr = block.handle(self, unroller) return next_instr elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, ec) elif opcode == opcodedesc.BREAK_LOOP.index: next_instr = self.BREAK_LOOP(oparg, next_instr) elif opcode == opcodedesc.CONTINUE_LOOP.index: return self.CONTINUE_LOOP(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: next_instr = self.JUMP_IF_FALSE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_DEBUG.index: next_instr = self.JUMP_IF_NOT_DEBUG(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: next_instr = self.JUMP_IF_TRUE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: next_instr = self.POP_JUMP_IF_FALSE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: next_instr = self.POP_JUMP_IF_TRUE(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_DIVIDE.index: self.BINARY_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CLASS.index: self.BUILD_CLASS(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: > self.CALL_FUNCTION(oparg, next_instr) interpreter/pyopcode.py:268: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 15 oparg = 0, next_instr = 48L def CALL_FUNCTION(self, oparg, next_instr): # XXX start of hack for performance if (oparg >> 8) & 0xff == 0: # Only positional arguments nargs = oparg & 0xff w_function = self.peekvalue(nargs) > w_result = self.space.call_valuestack(w_function, nargs, self, dropvalues=nargs+1) interpreter/pyopcode.py:1233: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = , nargs = 0 frame = at line 15 dropvalues = 1, methodcall = False def call_valuestack(self, w_func, nargs, frame, dropvalues, methodcall=False): # methodcall is only used for better error messages in argument.py from pypy.interpreter.function import Function, Method, is_builtin_code if frame.get_is_being_profiled() and is_builtin_code(w_func): # XXX: this code is copied&pasted :-( from the slow path below # call_valuestack(). args = frame.make_arguments(nargs) frame.dropvalues(dropvalues) return self.call_args_and_c_profile(frame, w_func, args) if not self.config.objspace.disable_call_speedhacks: # start of hack for performance if isinstance(w_func, Method): w_inst = w_func.w_instance if w_inst is not None: w_func = w_func.w_function # reuse callable stack place for w_inst frame.settopvalue(w_inst, nargs) nargs += 1 methodcall = True elif nargs > 0 and ( self.abstract_isinstance_w(frame.peekvalue(nargs-1), # :-( w_func.w_class)): w_func = w_func.w_function if isinstance(w_func, Function): return w_func.funccall_valuestack( > nargs, frame, methodcall=methodcall, dropvalues=dropvalues) interpreter/baseobjspace.py:1243: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , nargs = 0 frame = at line 15 dropvalues = 1, methodcall = False def funccall_valuestack(self, nargs, frame, dropvalues, methodcall=False): # speed hack # methodcall is only for better error messages from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit # if (jit.we_are_jitted() and code is self.space._code_of_sys_exc_info and nargs == 0): frame.dropvalues(dropvalues) from pypy.module.sys.vm import exc_info_direct return exc_info_direct(self.space, frame) # fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: f_0 = frame.peekvalue(0) frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, f_0) elif nargs == 2: f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, f_1, f_0) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) f_2 = frame.peekvalue(2) frame.dropvalues(dropvalues) return code.fastcall_3(self.space, self, f_2, f_1, f_0) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) f_2 = frame.peekvalue(2) f_3 = frame.peekvalue(3) frame.dropvalues(dropvalues) return code.fastcall_4(self.space, self, f_3, f_2, f_1, f_0) elif (nargs | Code.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) > return self._flat_pycall(code, nargs, frame, dropvalues) interpreter/function.py:174: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = code = nargs = 0 frame = at line 15 dropvalues = 1 @jit.unroll_safe def _flat_pycall(self, code, nargs, frame, dropvalues): # code is a PyCode new_frame = self.space.createframe(code, self.w_func_globals, self) for i in xrange(nargs): new_frame.locals_cells_stack_w[i] = frame.peekvalue(nargs-1-i) frame.dropvalues(dropvalues) > return new_frame.run() interpreter/function.py:201: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 12 def run(self): """Start this frame's execution.""" if self.getcode().co_flags & pycode.CO_GENERATOR: from pypy.interpreter.generator import GeneratorIterator return GeneratorIterator(self) else: > return self.execute_frame() interpreter/pyframe.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 12 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:290: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 12 e = SyntaxError("Non-ASCII character '\\xe2' in file /build_dir/own-linux-x86-32/b..., ('/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py', 423, 0, None)) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:943: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 12 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:286: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 12 pycode = next_instr = 0L ec = def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 12 co_code = 'd\x01\x00t\x00\x00f\x01\x00d\x02\x00\x84\x00\x00\x83\x00\x00Y}\x00\x00\x88\x01\x00\xc9\x01\x00|\x00\x00\xca\x01\x00}\...\x01\xcc\x15\x00|\x01\x00\x83\x00\x00d\x00\x00k\x08\x00sk\x00t\x04\x00\x82\x01\x00d\x03\x00S\x00\x82\x01\x00d\x03\x00S' next_instr = 0L ec = def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 12 co_code = 'd\x01\x00t\x00\x00f\x01\x00d\x02\x00\x84\x00\x00\x83\x00\x00Y}\x00\x00\x88\x01\x00\xc9\x01\x00|\x00\x00\xca\x01\x00}\...\x01\xcc\x15\x00|\x01\x00\x83\x00\x00d\x00\x00k\x08\x00sk\x00t\x04\x00\x82\x01\x00d\x03\x00S\x00\x82\x01\x00d\x03\x00S' next_instr = 59L ec = @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: self.last_instr = intmask(next_instr) if jit.we_are_jitted(): if self.debugdata: ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: ec.bytecode_trace(self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) next_instr += 1 if opcode >= HAVE_ARGUMENT: lo = ord(co_code[next_instr]) hi = ord(co_code[next_instr+1]) next_instr += 2 oparg = (hi * 256) | lo else: oparg = 0 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into a switch(). while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption lo = ord(co_code[next_instr+1]) hi = ord(co_code[next_instr+2]) next_instr += 3 oparg = (oparg * 65536) | (hi * 256) | lo if opcode == opcodedesc.RETURN_VALUE.index: if not self.blockstack_non_empty(): self.frame_finished_execution = True # for generators raise Return w_returnvalue = self.popvalue() block = self.unrollstack(SReturnValue.kind) if block is None: self.pushvalue(w_returnvalue) raise Return else: unroller = SReturnValue(w_returnvalue) next_instr = block.handle(self, unroller) return next_instr # now inside a 'finally' block elif opcode == opcodedesc.END_FINALLY.index: unroller = self.end_finally() if isinstance(unroller, SuspendedUnroller): # go on unrolling the stack block = self.unrollstack(unroller.kind) if block is None: w_result = unroller.nomoreblocks() self.pushvalue(w_result) raise Return else: next_instr = block.handle(self, unroller) return next_instr elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, ec) elif opcode == opcodedesc.BREAK_LOOP.index: next_instr = self.BREAK_LOOP(oparg, next_instr) elif opcode == opcodedesc.CONTINUE_LOOP.index: return self.CONTINUE_LOOP(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: next_instr = self.JUMP_IF_FALSE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_DEBUG.index: next_instr = self.JUMP_IF_NOT_DEBUG(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: next_instr = self.JUMP_IF_TRUE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: next_instr = self.POP_JUMP_IF_FALSE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: next_instr = self.POP_JUMP_IF_TRUE(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_DIVIDE.index: self.BINARY_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CLASS.index: self.BUILD_CLASS(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR.index: self.CALL_FUNCTION_VAR(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR_KW.index: self.CALL_FUNCTION_VAR_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: self.CALL_METHOD(oparg, next_instr) elif opcode == opcodedesc.COMPARE_OP.index: self.COMPARE_OP(oparg, next_instr) elif opcode == opcodedesc.DELETE_ATTR.index: self.DELETE_ATTR(oparg, next_instr) elif opcode == opcodedesc.DELETE_FAST.index: self.DELETE_FAST(oparg, next_instr) elif opcode == opcodedesc.DELETE_GLOBAL.index: self.DELETE_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.DELETE_NAME.index: self.DELETE_NAME(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_0.index: self.DELETE_SLICE_0(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_1.index: self.DELETE_SLICE_1(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_2.index: self.DELETE_SLICE_2(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_3.index: self.DELETE_SLICE_3(oparg, next_instr) elif opcode == opcodedesc.DELETE_SUBSCR.index: self.DELETE_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.DUP_TOP.index: self.DUP_TOP(oparg, next_instr) elif opcode == opcodedesc.DUP_TOPX.index: self.DUP_TOPX(oparg, next_instr) elif opcode == opcodedesc.EXEC_STMT.index: self.EXEC_STMT(oparg, next_instr) elif opcode == opcodedesc.GET_ITER.index: self.GET_ITER(oparg, next_instr) elif opcode == opcodedesc.IMPORT_FROM.index: self.IMPORT_FROM(oparg, next_instr) elif opcode == opcodedesc.IMPORT_NAME.index: self.IMPORT_NAME(oparg, next_instr) elif opcode == opcodedesc.IMPORT_STAR.index: self.IMPORT_STAR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_ADD.index: self.INPLACE_ADD(oparg, next_instr) elif opcode == opcodedesc.INPLACE_AND.index: self.INPLACE_AND(oparg, next_instr) elif opcode == opcodedesc.INPLACE_DIVIDE.index: self.INPLACE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_FLOOR_DIVIDE.index: self.INPLACE_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_LSHIFT.index: self.INPLACE_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MODULO.index: self.INPLACE_MODULO(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MULTIPLY.index: self.INPLACE_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.INPLACE_OR.index: self.INPLACE_OR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_POWER.index: self.INPLACE_POWER(oparg, next_instr) elif opcode == opcodedesc.INPLACE_RSHIFT.index: self.INPLACE_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_SUBTRACT.index: self.INPLACE_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_TRUE_DIVIDE.index: self.INPLACE_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_XOR.index: self.INPLACE_XOR(oparg, next_instr) elif opcode == opcodedesc.LIST_APPEND.index: self.LIST_APPEND(oparg, next_instr) elif opcode == opcodedesc.LOAD_ATTR.index: self.LOAD_ATTR(oparg, next_instr) elif opcode == opcodedesc.LOAD_CLOSURE.index: self.LOAD_CLOSURE(oparg, next_instr) elif opcode == opcodedesc.LOAD_CONST.index: self.LOAD_CONST(oparg, next_instr) elif opcode == opcodedesc.LOAD_DEREF.index: self.LOAD_DEREF(oparg, next_instr) elif opcode == opcodedesc.LOAD_FAST.index: self.LOAD_FAST(oparg, next_instr) elif opcode == opcodedesc.LOAD_GLOBAL.index: self.LOAD_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.LOAD_LOCALS.index: self.LOAD_LOCALS(oparg, next_instr) elif opcode == opcodedesc.LOAD_NAME.index: self.LOAD_NAME(oparg, next_instr) elif opcode == opcodedesc.LOOKUP_METHOD.index: > self.LOOKUP_METHOD(oparg, next_instr) interpreter/pyopcode.py:356: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = at line 12 nameindex = 3, ignored = (59L,) MutableCell = space = StdObjSpace w_obj = def LOOKUP_METHOD(f, nameindex, *ignored): from pypy.objspace.std.typeobject import MutableCell # stack before after # -------------- --fast-method----fallback-case------------ # # w_object None # w_object => w_function w_boundmethod_or_whatever # (more stuff) (more stuff) (more stuff) # space = f.space w_obj = f.popvalue() if not jit.we_are_jitted(): # mapdict has an extra-fast version of this function if LOOKUP_METHOD_mapdict(f, nameindex, w_obj): return w_name = f.getname_w(nameindex) w_value = None w_type = space.type(w_obj) if w_type.has_object_getattribute(): name = space.text_w(w_name) # bit of a mess to use these internal functions, but it allows the # mapdict caching below to work without an additional lookup version_tag = w_type.version_tag() if version_tag is None: _, w_descr = w_type._lookup_where(name) w_descr_cell = None else: _, w_descr_cell = w_type._pure_lookup_where_with_method_cache( name, version_tag) w_descr = w_descr_cell if isinstance(w_descr, MutableCell): w_descr = w_descr.unwrap_cell(space) if w_descr is None: # this handles directly the common case # module.function(args..) > w_value = w_obj.getdictvalue(space, name) objspace/std/callmethod.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def getdictvalue(self, space, name): w_value = space.finditem_str(self.w_dict, name) if self.lazy and w_value is None: > return self._load_lazily(space, name) interpreter/mixedmodule.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def _load_lazily(self, space, name): w_name = space.new_interned_str(name) try: loader = self.loaders[name] except KeyError: return None else: > w_value = loader(space) interpreter/mixedmodule.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace def ifileloader(space): d = {'space':space} # EVIL HACK (but it works, and this is not RPython :-) while 1: try: value = eval(spec, d) except NameError as ex: name = ex.args[0].split("'")[1] # super-Evil if name in d: raise # propagate the NameError try: > d[name] = __import__(pkgroot+'.'+name, None, None, [name]) interpreter/mixedmodule.py:182: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from pypy.interpreter.gateway import unwrap_spec from pypy.interpreter.error import oefmt from rpython.rlib import rgc > from pypy.module.gc.hook import W_GcCollectStepStats module/gc/interp_gc.py:4: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from rpython.memory.gc.hook import GcHooks > from rpython.memory.gc import incminimark module/gc/hook.py:2: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ # XXX Should find a way to bound the major collection threshold by the # XXX total addressable size. Maybe by keeping some minimarkpage arenas # XXX pre-reserved, enough for a few nursery collections? What about # XXX raw-malloced memory? # XXX try merging old_objects_pointing_to_pinned into # XXX old_objects_pointing_to_young (IRC 2014-10-22, fijal and gregor_w) import sys import os import time from rpython.rtyper.lltypesystem import lltype, llmemory, llarena, llgroup from rpython.rtyper.lltypesystem.lloperation import llop from rpython.rtyper.lltypesystem.llmemory import raw_malloc_usage from rpython.memory.gc.base import GCBase, MovingGCBase > from rpython.memory.gc import env E File "/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py", line 423 E SyntaxError: Non-ASCII character '\xe2' in file /build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py on line 423, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details ../rpython/memory/gc/incminimark.py:70: SyntaxError F pypy/objspace/std/test/test_mapdict.py::AppTestWithMapDictAndCounters::()::test_instance_keeps_class_alive self = func = at 0xf292f17c>, 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, 1 meths, kwargs={'item': , '...lticall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 0xf7a3332c> hook = <_HookCaller 'pytest_runtest_call'> methods = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf69d14cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '...lticall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } 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 = [<_pytest.vendored_packages.pluggy.HookImpl instance at 0xf69d14cc>] kwargs = {'__multicall__': <_MultiCall 0 results, 1 meths, kwargs={'item': , '...lticall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>, 'item': } self._inner_hookexec = lambda hook, methods, kwargs: \ > _MultiCall(methods, kwargs, hook.spec_opts).execute() ../_pytest/vendored_packages/pluggy.py:333: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf293956c> 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 0xf293956c> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = func = , '__multicall__': <_MultiCall 0 results, 1 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 0xf293996c> 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 0xf293996c> func = , '__multicall__': <_MultiCall 0 results, 1 meths, kwargs={...}>}>> def __init__(self, func): try: > self.result = func() ../_pytest/vendored_packages/pluggy.py:264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_MultiCall 0 results, 1 meths, kwargs={'item': , '__multicall__': <_MultiCall 0 results, 1 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 = def pytest_runtest_call(item): try: > item.runtest() ../_pytest/runner.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def runtest(self): target = self.obj if self.config.option.runappdirect: return target() space = target.im_self.space filename = self._getdynfilename(target) func = app2interp_temp(target.im_func, filename=filename) w_instance = self.parent.w_instance > self.execute_appex(space, func, space, w_instance) tool/pytest/apptest.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , space = StdObjSpace target = args = (StdObjSpace, ) def execute_appex(self, space, target, *args): self.space = space try: > target(*args) tool/pytest/apptest.py:30: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace args_w = (,) w_func = args = def appcaller(space, *args_w): if not isinstance(space, ObjSpace): raise TypeError("first argument must be a space instance.") # the last argument can be an Arguments w_func = self.wget(space, name) if not args_w: return space.call_function(w_func) else: args = args_w[-1] assert args is not None if not isinstance(args, Arguments): > return space.call_function(w_func, *args_w) interpreter/gateway.py:1227: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = args_w = (,) nargs = 1, Function = Method = def call_function(self, w_func, *args_w): nargs = len(args_w) # used for pruning funccall versions if not self.config.objspace.disable_call_speedhacks and nargs < 5: # start of hack for performance from pypy.interpreter.function import Function, Method if isinstance(w_func, Method): w_inst = w_func.w_instance if w_inst is not None: if nargs < 4: func = w_func.w_function if isinstance(func, Function): return func.funccall(w_inst, *args_w) elif args_w and ( self.abstract_isinstance_w(args_w[0], w_func.w_class)): w_func = w_func.w_function if isinstance(w_func, Function): > return w_func.funccall(*args_w) interpreter/baseobjspace.py:1210: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = args_w = (,) gateway = PyCode = code = def funccall(self, *args_w): # speed hack from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit nargs = len(args_w) fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, args_w[0]) elif nargs == 2: assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, args_w[0], args_w[1]) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) return code.fastcall_3(self.space, self, args_w[0], args_w[1], args_w[2]) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) return code.fastcall_4(self.space, self, args_w[0], args_w[1], args_w[2], args_w[3]) elif (nargs | PyCode.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) if nargs < 5: new_frame = self.space.createframe(code, self.w_func_globals, self) for i in funccallunrolling: if i < nargs: new_frame.locals_cells_stack_w[i] = args_w[i] > return new_frame.run() interpreter/function.py:118: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 13 def run(self): """Start this frame's execution.""" if self.getcode().co_flags & pycode.CO_GENERATOR: from pypy.interpreter.generator import GeneratorIterator return GeneratorIterator(self) else: > return self.execute_frame() interpreter/pyframe.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 13 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:290: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 13 e = SyntaxError("Non-ASCII character '\\xe2' in file /build_dir/own-linux-x86-32/b..., ('/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py', 423, 0, None)) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:943: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 13 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:286: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 13 pycode = next_instr = 0L ec = def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 13 co_code = 'd\x01\x00d\x00\x00l\x00\x00\x89\x01\x00d\x01\x00d\x00\x00l\x01\x00\x89\x00\x00\x87\x00\x00\x87\x01\x00f\x02\x00d\x02\...x00S\x00}\x02\x00\xcc\x12\x00|\x02\x00d\x03\x00k\x02\x00sH\x00t\x02\x00\x82\x01\x00|\x01\x00\x83\x00\x00\x01d\x00\x00S' next_instr = 0L ec = def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 13 co_code = 'd\x01\x00d\x00\x00l\x00\x00\x89\x01\x00d\x01\x00d\x00\x00l\x01\x00\x89\x00\x00\x87\x00\x00\x87\x01\x00f\x02\x00d\x02\...x00S\x00}\x02\x00\xcc\x12\x00|\x02\x00d\x03\x00k\x02\x00sH\x00t\x02\x00\x82\x01\x00|\x01\x00\x83\x00\x00\x01d\x00\x00S' next_instr = 48L ec = @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: self.last_instr = intmask(next_instr) if jit.we_are_jitted(): if self.debugdata: ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: ec.bytecode_trace(self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) next_instr += 1 if opcode >= HAVE_ARGUMENT: lo = ord(co_code[next_instr]) hi = ord(co_code[next_instr+1]) next_instr += 2 oparg = (hi * 256) | lo else: oparg = 0 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into a switch(). while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption lo = ord(co_code[next_instr+1]) hi = ord(co_code[next_instr+2]) next_instr += 3 oparg = (oparg * 65536) | (hi * 256) | lo if opcode == opcodedesc.RETURN_VALUE.index: if not self.blockstack_non_empty(): self.frame_finished_execution = True # for generators raise Return w_returnvalue = self.popvalue() block = self.unrollstack(SReturnValue.kind) if block is None: self.pushvalue(w_returnvalue) raise Return else: unroller = SReturnValue(w_returnvalue) next_instr = block.handle(self, unroller) return next_instr # now inside a 'finally' block elif opcode == opcodedesc.END_FINALLY.index: unroller = self.end_finally() if isinstance(unroller, SuspendedUnroller): # go on unrolling the stack block = self.unrollstack(unroller.kind) if block is None: w_result = unroller.nomoreblocks() self.pushvalue(w_result) raise Return else: next_instr = block.handle(self, unroller) return next_instr elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, ec) elif opcode == opcodedesc.BREAK_LOOP.index: next_instr = self.BREAK_LOOP(oparg, next_instr) elif opcode == opcodedesc.CONTINUE_LOOP.index: return self.CONTINUE_LOOP(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: next_instr = self.JUMP_IF_FALSE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_DEBUG.index: next_instr = self.JUMP_IF_NOT_DEBUG(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: next_instr = self.JUMP_IF_TRUE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: next_instr = self.POP_JUMP_IF_FALSE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: next_instr = self.POP_JUMP_IF_TRUE(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_DIVIDE.index: self.BINARY_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CLASS.index: self.BUILD_CLASS(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: > self.CALL_FUNCTION(oparg, next_instr) interpreter/pyopcode.py:268: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 13 oparg = 0, next_instr = 48L def CALL_FUNCTION(self, oparg, next_instr): # XXX start of hack for performance if (oparg >> 8) & 0xff == 0: # Only positional arguments nargs = oparg & 0xff w_function = self.peekvalue(nargs) > w_result = self.space.call_valuestack(w_function, nargs, self, dropvalues=nargs+1) interpreter/pyopcode.py:1233: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = StdObjSpace, w_func = , nargs = 0 frame = at line 13 dropvalues = 1, methodcall = False def call_valuestack(self, w_func, nargs, frame, dropvalues, methodcall=False): # methodcall is only used for better error messages in argument.py from pypy.interpreter.function import Function, Method, is_builtin_code if frame.get_is_being_profiled() and is_builtin_code(w_func): # XXX: this code is copied&pasted :-( from the slow path below # call_valuestack(). args = frame.make_arguments(nargs) frame.dropvalues(dropvalues) return self.call_args_and_c_profile(frame, w_func, args) if not self.config.objspace.disable_call_speedhacks: # start of hack for performance if isinstance(w_func, Method): w_inst = w_func.w_instance if w_inst is not None: w_func = w_func.w_function # reuse callable stack place for w_inst frame.settopvalue(w_inst, nargs) nargs += 1 methodcall = True elif nargs > 0 and ( self.abstract_isinstance_w(frame.peekvalue(nargs-1), # :-( w_func.w_class)): w_func = w_func.w_function if isinstance(w_func, Function): return w_func.funccall_valuestack( > nargs, frame, methodcall=methodcall, dropvalues=dropvalues) interpreter/baseobjspace.py:1243: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , nargs = 0 frame = at line 13 dropvalues = 1, methodcall = False def funccall_valuestack(self, nargs, frame, dropvalues, methodcall=False): # speed hack # methodcall is only for better error messages from pypy.interpreter import gateway from pypy.interpreter.pycode import PyCode code = self.getcode() # hook for the jit # if (jit.we_are_jitted() and code is self.space._code_of_sys_exc_info and nargs == 0): frame.dropvalues(dropvalues) from pypy.module.sys.vm import exc_info_direct return exc_info_direct(self.space, frame) # fast_natural_arity = code.fast_natural_arity if nargs == fast_natural_arity: if nargs == 0: frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode0) return code.fastcall_0(self.space, self) elif nargs == 1: f_0 = frame.peekvalue(0) frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode1) return code.fastcall_1(self.space, self, f_0) elif nargs == 2: f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) frame.dropvalues(dropvalues) assert isinstance(code, gateway.BuiltinCode2) return code.fastcall_2(self.space, self, f_1, f_0) elif nargs == 3: assert isinstance(code, gateway.BuiltinCode3) f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) f_2 = frame.peekvalue(2) frame.dropvalues(dropvalues) return code.fastcall_3(self.space, self, f_2, f_1, f_0) elif nargs == 4: assert isinstance(code, gateway.BuiltinCode4) f_0 = frame.peekvalue(0) f_1 = frame.peekvalue(1) f_2 = frame.peekvalue(2) f_3 = frame.peekvalue(3) frame.dropvalues(dropvalues) return code.fastcall_4(self.space, self, f_3, f_2, f_1, f_0) elif (nargs | Code.FLATPYCALL) == fast_natural_arity: assert isinstance(code, PyCode) > return self._flat_pycall(code, nargs, frame, dropvalues) interpreter/function.py:174: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = code = nargs = 0 frame = at line 13 dropvalues = 1 @jit.unroll_safe def _flat_pycall(self, code, nargs, frame, dropvalues): # code is a PyCode new_frame = self.space.createframe(code, self.w_func_globals, self) for i in xrange(nargs): new_frame.locals_cells_stack_w[i] = frame.peekvalue(nargs-1-i) frame.dropvalues(dropvalues) > return new_frame.run() interpreter/function.py:201: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 11 def run(self): """Start this frame's execution.""" if self.getcode().co_flags & pycode.CO_GENERATOR: from pypy.interpreter.generator import GeneratorIterator return GeneratorIterator(self) else: > return self.execute_frame() interpreter/pyframe.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 11 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, executioncontext) except OperationError: raise except Exception as e: # general fall-back > raise self._convert_unexpected_exception(e) interpreter/pyframe.py:290: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 11 e = SyntaxError("Non-ASCII character '\\xe2' in file /build_dir/own-linux-x86-32/b..., ('/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py', 423, 0, None)) def _convert_unexpected_exception(self, e): from pypy.interpreter import error > operr = error.get_converted_unexpected_exception(self.space, e) interpreter/pyframe.py:943: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 11 w_inputvalue = None, operr = None def execute_frame(self, w_inputvalue=None, operr=None): """Execute this frame. Main entry point to the interpreter. The optional arguments are there to handle a generator's frame: w_inputvalue is for generator.send() and operr is for generator.throw(). """ # the following 'assert' is an annotation hint: it hides from # the annotator all methods that are defined in PyFrame but # overridden in the {,Host}FrameClass subclasses of PyFrame. assert (isinstance(self, self.space.FrameClass) or not self.space.config.translating) executioncontext = self.space.getexecutioncontext() executioncontext.enter(self) got_exception = True w_exitvalue = self.space.w_None try: executioncontext.call_trace(self) # try: if operr is not None: next_instr = self.handle_operation_error( executioncontext, operr) self.last_instr = intmask(next_instr - 1) else: # Execution starts just after the last_instr. Initially, # last_instr is -1. After a generator suspends it points to # the YIELD_VALUE instruction. next_instr = r_uint(self.last_instr + 1) if next_instr != 0: self.pushvalue(w_inputvalue) w_exitvalue = self.dispatch(self.pycode, next_instr, > executioncontext) interpreter/pyframe.py:286: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 11 pycode = next_instr = 0L ec = def dispatch(self, pycode, next_instr, ec): # For the sequel, force 'next_instr' to be unsigned for performance next_instr = r_uint(next_instr) co_code = pycode.co_code try: while True: > next_instr = self.handle_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 11 co_code = 'd\x01\x00t\x00\x00f\x01\x00d\x02\x00\x84\x00\x00\x83\x00\x00Y}\x00\x00\x88\x01\x00\xc9\x01\x00|\x00\x00\xca\x01\x00}\...x00S\x88\x00\x00\xc9\x02\x00\xca\x00\x00\x01\x88\x00\x00\xc9\x02\x00\xca\x00\x00\x01|\x02\x00\xc9\x03\x00\xca\x00\x00S' next_instr = 0L ec = def handle_bytecode(self, co_code, next_instr, ec): try: > next_instr = self.dispatch_bytecode(co_code, next_instr, ec) interpreter/pyopcode.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = at line 11 co_code = 'd\x01\x00t\x00\x00f\x01\x00d\x02\x00\x84\x00\x00\x83\x00\x00Y}\x00\x00\x88\x01\x00\xc9\x01\x00|\x00\x00\xca\x01\x00}\...x00S\x88\x00\x00\xc9\x02\x00\xca\x00\x00\x01\x88\x00\x00\xc9\x02\x00\xca\x00\x00\x01|\x02\x00\xc9\x03\x00\xca\x00\x00S' next_instr = 55L ec = @jit.unroll_safe def dispatch_bytecode(self, co_code, next_instr, ec): while True: self.last_instr = intmask(next_instr) if jit.we_are_jitted(): if self.debugdata: ec.bytecode_only_trace(self) next_instr = r_uint(self.last_instr) else: ec.bytecode_trace(self) next_instr = r_uint(self.last_instr) opcode = ord(co_code[next_instr]) next_instr += 1 if opcode >= HAVE_ARGUMENT: lo = ord(co_code[next_instr]) hi = ord(co_code[next_instr+1]) next_instr += 2 oparg = (hi * 256) | lo else: oparg = 0 # note: the structure of the code here is such that it makes # (after translation) a big "if/elif" chain, which is then # turned into a switch(). while opcode == opcodedesc.EXTENDED_ARG.index: opcode = ord(co_code[next_instr]) if opcode < HAVE_ARGUMENT: raise BytecodeCorruption lo = ord(co_code[next_instr+1]) hi = ord(co_code[next_instr+2]) next_instr += 3 oparg = (oparg * 65536) | (hi * 256) | lo if opcode == opcodedesc.RETURN_VALUE.index: if not self.blockstack_non_empty(): self.frame_finished_execution = True # for generators raise Return w_returnvalue = self.popvalue() block = self.unrollstack(SReturnValue.kind) if block is None: self.pushvalue(w_returnvalue) raise Return else: unroller = SReturnValue(w_returnvalue) next_instr = block.handle(self, unroller) return next_instr # now inside a 'finally' block elif opcode == opcodedesc.END_FINALLY.index: unroller = self.end_finally() if isinstance(unroller, SuspendedUnroller): # go on unrolling the stack block = self.unrollstack(unroller.kind) if block is None: w_result = unroller.nomoreblocks() self.pushvalue(w_result) raise Return else: next_instr = block.handle(self, unroller) return next_instr elif opcode == opcodedesc.JUMP_ABSOLUTE.index: return self.jump_absolute(oparg, ec) elif opcode == opcodedesc.BREAK_LOOP.index: next_instr = self.BREAK_LOOP(oparg, next_instr) elif opcode == opcodedesc.CONTINUE_LOOP.index: return self.CONTINUE_LOOP(oparg, next_instr) elif opcode == opcodedesc.FOR_ITER.index: next_instr = self.FOR_ITER(oparg, next_instr) elif opcode == opcodedesc.JUMP_FORWARD.index: next_instr = self.JUMP_FORWARD(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_FALSE_OR_POP.index: next_instr = self.JUMP_IF_FALSE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_NOT_DEBUG.index: next_instr = self.JUMP_IF_NOT_DEBUG(oparg, next_instr) elif opcode == opcodedesc.JUMP_IF_TRUE_OR_POP.index: next_instr = self.JUMP_IF_TRUE_OR_POP(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_FALSE.index: next_instr = self.POP_JUMP_IF_FALSE(oparg, next_instr) elif opcode == opcodedesc.POP_JUMP_IF_TRUE.index: next_instr = self.POP_JUMP_IF_TRUE(oparg, next_instr) elif opcode == opcodedesc.BINARY_ADD.index: self.BINARY_ADD(oparg, next_instr) elif opcode == opcodedesc.BINARY_AND.index: self.BINARY_AND(oparg, next_instr) elif opcode == opcodedesc.BINARY_DIVIDE.index: self.BINARY_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_FLOOR_DIVIDE.index: self.BINARY_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_LSHIFT.index: self.BINARY_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_MODULO.index: self.BINARY_MODULO(oparg, next_instr) elif opcode == opcodedesc.BINARY_MULTIPLY.index: self.BINARY_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.BINARY_OR.index: self.BINARY_OR(oparg, next_instr) elif opcode == opcodedesc.BINARY_POWER.index: self.BINARY_POWER(oparg, next_instr) elif opcode == opcodedesc.BINARY_RSHIFT.index: self.BINARY_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBSCR.index: self.BINARY_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.BINARY_SUBTRACT.index: self.BINARY_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.BINARY_TRUE_DIVIDE.index: self.BINARY_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.BINARY_XOR.index: self.BINARY_XOR(oparg, next_instr) elif opcode == opcodedesc.BUILD_CLASS.index: self.BUILD_CLASS(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST.index: self.BUILD_LIST(oparg, next_instr) elif opcode == opcodedesc.BUILD_LIST_FROM_ARG.index: self.BUILD_LIST_FROM_ARG(oparg, next_instr) elif opcode == opcodedesc.BUILD_MAP.index: self.BUILD_MAP(oparg, next_instr) elif opcode == opcodedesc.BUILD_SET.index: self.BUILD_SET(oparg, next_instr) elif opcode == opcodedesc.BUILD_SLICE.index: self.BUILD_SLICE(oparg, next_instr) elif opcode == opcodedesc.BUILD_TUPLE.index: self.BUILD_TUPLE(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION.index: self.CALL_FUNCTION(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_KW.index: self.CALL_FUNCTION_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR.index: self.CALL_FUNCTION_VAR(oparg, next_instr) elif opcode == opcodedesc.CALL_FUNCTION_VAR_KW.index: self.CALL_FUNCTION_VAR_KW(oparg, next_instr) elif opcode == opcodedesc.CALL_METHOD.index: self.CALL_METHOD(oparg, next_instr) elif opcode == opcodedesc.COMPARE_OP.index: self.COMPARE_OP(oparg, next_instr) elif opcode == opcodedesc.DELETE_ATTR.index: self.DELETE_ATTR(oparg, next_instr) elif opcode == opcodedesc.DELETE_FAST.index: self.DELETE_FAST(oparg, next_instr) elif opcode == opcodedesc.DELETE_GLOBAL.index: self.DELETE_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.DELETE_NAME.index: self.DELETE_NAME(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_0.index: self.DELETE_SLICE_0(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_1.index: self.DELETE_SLICE_1(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_2.index: self.DELETE_SLICE_2(oparg, next_instr) elif opcode == opcodedesc.DELETE_SLICE_3.index: self.DELETE_SLICE_3(oparg, next_instr) elif opcode == opcodedesc.DELETE_SUBSCR.index: self.DELETE_SUBSCR(oparg, next_instr) elif opcode == opcodedesc.DUP_TOP.index: self.DUP_TOP(oparg, next_instr) elif opcode == opcodedesc.DUP_TOPX.index: self.DUP_TOPX(oparg, next_instr) elif opcode == opcodedesc.EXEC_STMT.index: self.EXEC_STMT(oparg, next_instr) elif opcode == opcodedesc.GET_ITER.index: self.GET_ITER(oparg, next_instr) elif opcode == opcodedesc.IMPORT_FROM.index: self.IMPORT_FROM(oparg, next_instr) elif opcode == opcodedesc.IMPORT_NAME.index: self.IMPORT_NAME(oparg, next_instr) elif opcode == opcodedesc.IMPORT_STAR.index: self.IMPORT_STAR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_ADD.index: self.INPLACE_ADD(oparg, next_instr) elif opcode == opcodedesc.INPLACE_AND.index: self.INPLACE_AND(oparg, next_instr) elif opcode == opcodedesc.INPLACE_DIVIDE.index: self.INPLACE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_FLOOR_DIVIDE.index: self.INPLACE_FLOOR_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_LSHIFT.index: self.INPLACE_LSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MODULO.index: self.INPLACE_MODULO(oparg, next_instr) elif opcode == opcodedesc.INPLACE_MULTIPLY.index: self.INPLACE_MULTIPLY(oparg, next_instr) elif opcode == opcodedesc.INPLACE_OR.index: self.INPLACE_OR(oparg, next_instr) elif opcode == opcodedesc.INPLACE_POWER.index: self.INPLACE_POWER(oparg, next_instr) elif opcode == opcodedesc.INPLACE_RSHIFT.index: self.INPLACE_RSHIFT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_SUBTRACT.index: self.INPLACE_SUBTRACT(oparg, next_instr) elif opcode == opcodedesc.INPLACE_TRUE_DIVIDE.index: self.INPLACE_TRUE_DIVIDE(oparg, next_instr) elif opcode == opcodedesc.INPLACE_XOR.index: self.INPLACE_XOR(oparg, next_instr) elif opcode == opcodedesc.LIST_APPEND.index: self.LIST_APPEND(oparg, next_instr) elif opcode == opcodedesc.LOAD_ATTR.index: self.LOAD_ATTR(oparg, next_instr) elif opcode == opcodedesc.LOAD_CLOSURE.index: self.LOAD_CLOSURE(oparg, next_instr) elif opcode == opcodedesc.LOAD_CONST.index: self.LOAD_CONST(oparg, next_instr) elif opcode == opcodedesc.LOAD_DEREF.index: self.LOAD_DEREF(oparg, next_instr) elif opcode == opcodedesc.LOAD_FAST.index: self.LOAD_FAST(oparg, next_instr) elif opcode == opcodedesc.LOAD_GLOBAL.index: self.LOAD_GLOBAL(oparg, next_instr) elif opcode == opcodedesc.LOAD_LOCALS.index: self.LOAD_LOCALS(oparg, next_instr) elif opcode == opcodedesc.LOAD_NAME.index: self.LOAD_NAME(oparg, next_instr) elif opcode == opcodedesc.LOOKUP_METHOD.index: > self.LOOKUP_METHOD(oparg, next_instr) interpreter/pyopcode.py:356: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f = at line 11 nameindex = 2, ignored = (55L,) MutableCell = space = StdObjSpace w_obj = def LOOKUP_METHOD(f, nameindex, *ignored): from pypy.objspace.std.typeobject import MutableCell # stack before after # -------------- --fast-method----fallback-case------------ # # w_object None # w_object => w_function w_boundmethod_or_whatever # (more stuff) (more stuff) (more stuff) # space = f.space w_obj = f.popvalue() if not jit.we_are_jitted(): # mapdict has an extra-fast version of this function if LOOKUP_METHOD_mapdict(f, nameindex, w_obj): return w_name = f.getname_w(nameindex) w_value = None w_type = space.type(w_obj) if w_type.has_object_getattribute(): name = space.text_w(w_name) # bit of a mess to use these internal functions, but it allows the # mapdict caching below to work without an additional lookup version_tag = w_type.version_tag() if version_tag is None: _, w_descr = w_type._lookup_where(name) w_descr_cell = None else: _, w_descr_cell = w_type._pure_lookup_where_with_method_cache( name, version_tag) w_descr = w_descr_cell if isinstance(w_descr, MutableCell): w_descr = w_descr.unwrap_cell(space) if w_descr is None: # this handles directly the common case # module.function(args..) > w_value = w_obj.getdictvalue(space, name) objspace/std/callmethod.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def getdictvalue(self, space, name): w_value = space.finditem_str(self.w_dict, name) if self.lazy and w_value is None: > return self._load_lazily(space, name) interpreter/mixedmodule.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = space = StdObjSpace, name = 'collect' def _load_lazily(self, space, name): w_name = space.new_interned_str(name) try: loader = self.loaders[name] except KeyError: return None else: > w_value = loader(space) interpreter/mixedmodule.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ space = StdObjSpace def ifileloader(space): d = {'space':space} # EVIL HACK (but it works, and this is not RPython :-) while 1: try: value = eval(spec, d) except NameError as ex: name = ex.args[0].split("'")[1] # super-Evil if name in d: raise # propagate the NameError try: > d[name] = __import__(pkgroot+'.'+name, None, None, [name]) interpreter/mixedmodule.py:182: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from pypy.interpreter.gateway import unwrap_spec from pypy.interpreter.error import oefmt from rpython.rlib import rgc > from pypy.module.gc.hook import W_GcCollectStepStats module/gc/interp_gc.py:4: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from rpython.memory.gc.hook import GcHooks > from rpython.memory.gc import incminimark module/gc/hook.py:2: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ """ # XXX Should find a way to bound the major collection threshold by the # XXX total addressable size. Maybe by keeping some minimarkpage arenas # XXX pre-reserved, enough for a few nursery collections? What about # XXX raw-malloced memory? # XXX try merging old_objects_pointing_to_pinned into # XXX old_objects_pointing_to_young (IRC 2014-10-22, fijal and gregor_w) import sys import os import time from rpython.rtyper.lltypesystem import lltype, llmemory, llarena, llgroup from rpython.rtyper.lltypesystem.lloperation import llop from rpython.rtyper.lltypesystem.llmemory import raw_malloc_usage from rpython.memory.gc.base import GCBase, MovingGCBase > from rpython.memory.gc import env E File "/build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py", line 423 E SyntaxError: Non-ASCII character '\xe2' in file /build_dir/own-linux-x86-32/build/rpython/memory/gc/env.py on line 423, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details ../rpython/memory/gc/incminimark.py:70: SyntaxError . pypy/objspace/std/test/test_mapdict.py::AppTestWithMapDictAndCounters::()::test_bug_lookup_method_devolved_dict_caching . pypy/objspace/std/test/test_mapdict.py::AppTestWithMapDictAndCounters::()::test_dict_order . pypy/objspace/std/test/test_mapdict.py::AppTestWithMapDictAndCounters::()::test_bug_method_change . pypy/objspace/std/test/test_mapdict.py::AppTestWithMapDictAndCounters::()::test_bug_slot_via_changing_member_descr . pypy/objspace/std/test/test_mapdict.py::AppTestWithMapDictAndCounters::()::test_bug_builtin_types_callmethod . pypy/objspace/std/test/test_mapdict.py::AppTestWithMapDictAndCounters::()::test_bug_builtin_types_load_attr . pypy/objspace/std/test/test_mapdict.py::AppTestWithMapDictAndCounters::()::test_load_attr_bug_class_name_turns_into_descriptor . pypy/objspace/std/test/test_mapdict.py::AppTestWithMapDictAndCounters::()::test_store_attr_simple . pypy/objspace/std/test/test_mapdict.py::AppTestWithMapDictAndCounters::()::test_store_attr_simple_shared_with_load . pypy/objspace/std/test/test_mapdict.py::AppTestWithMapDictAndCounters::()::test_store_attr_slots . pypy/objspace/std/test/test_mapdict.py::AppTestWithMapDictAndCounters::()::test_store_attr_load_attr_interaction_bug . pypy/objspace/std/test/test_mapdict.py::AppTestWithMapDictAndCounters::()::test_store_attr_immutability_bug . pypy/objspace/std/test/test_mapdict.py::AppTestWithMapDictAndCounters::()::test_store_cache_init . pypy/objspace/std/test/test_mapdict.py::AppTestWithMapDictAndCounters::()::test_store_cache_unboxing_problem . pypy/objspace/std/test/test_mapdict.py::AppTestWithMapDictAndCounters::()::test_bug_jit_hint_on_reordering . pypy/objspace/std/test/test_mapdict.py::AppTestGlobalCaching::()::test_simple . pypy/objspace/std/test/test_mapdict.py::AppTestGlobalCaching::()::test_read_write_dict . pypy/objspace/std/test/test_mapdict.py::AppTestGlobalCaching::()::test_popitem . pypy/objspace/std/test/test_mapdict.py::AppTestGlobalCaching::()::test_slot_name_conflict . pypy/objspace/std/test/test_mapdict.py::AppTestGlobalCaching::()::test_change_class . pypy/objspace/std/test/test_mapdict.py::AppTestGlobalCaching::()::test_dict_devolved_bug . pypy/objspace/std/test/test_mapdict.py::AppTestGlobalCaching::()::test_dict_clear_bug . pypy/objspace/std/test/test_mapdict.py::AppTestGlobalCaching::()::test_change_class_slots . pypy/objspace/std/test/test_mapdict.py::AppTestGlobalCaching::()::test_change_class_slots_dict . pypy/objspace/std/test/test_mapdict.py::AppTestGlobalCaching::()::test_setdict . pypy/objspace/std/test/test_mapdict.py::AppTestGlobalCaching::()::test_delete_slot . pypy/objspace/std/test/test_mapdict.py::AppTestGlobalCaching::()::test_reversed_dict . pypy/objspace/std/test/test_mapdict.py::AppTestGlobalCaching::()::test_bug_materialize_huge_dict . pypy/objspace/std/test/test_mapdict.py::AppTestGlobalCaching::()::test_bug_iter_checks_map_is_wrong . pypy/objspace/std/test/test_mapdict.py::AppTestGlobalCaching::()::test_copy . pypy/objspace/std/test/test_mapdict.py::AppTestGlobalCaching::()::test_dict_equality . pypy/objspace/std/test/test_mapdict.py::AppTestGlobalCaching::()::test_mix_classes . pypy/objspace/std/test/test_mapdict.py::AppTestGlobalCaching::()::test_mix_classes_attribute . pypy/objspace/std/test/test_mapdict.py::TestDictSubclassShortcutBug::()::test_bug . pypy/objspace/std/test/test_mapdict.py::test_newdict_instance . pypy/objspace/std/test/test_mapdict.py::TestMapDictImplementationUsingnewdict::()::test_popitem . pypy/objspace/std/test/test_mapdict.py::TestMapDictImplementationUsingnewdict::()::test_setitem . pypy/objspace/std/test/test_mapdict.py::TestMapDictImplementationUsingnewdict::()::test_setitem_str . pypy/objspace/std/test/test_mapdict.py::TestMapDictImplementationUsingnewdict::()::test_delitem . pypy/objspace/std/test/test_mapdict.py::TestMapDictImplementationUsingnewdict::()::test_clear . pypy/objspace/std/test/test_mapdict.py::TestMapDictImplementationUsingnewdict::()::test_keys . pypy/objspace/std/test/test_mapdict.py::TestMapDictImplementationUsingnewdict::()::test_values . pypy/objspace/std/test/test_mapdict.py::TestMapDictImplementationUsingnewdict::()::test_items . pypy/objspace/std/test/test_mapdict.py::TestMapDictImplementationUsingnewdict::()::test_iter . pypy/objspace/std/test/test_mapdict.py::TestMapDictImplementationUsingnewdict::()::test_devolve . pypy/objspace/std/test/test_mapdict.py::TestMapDictImplementationUsingnewdict::()::test_fallback_evil_key . pypy/objspace/std/test/test_mapdict.py::TestMapDictImplementationUsingnewdict::()::test_setdefault_fast . pypy/objspace/std/test/test_mapdict.py::test_correct_method_sharing . pypy/objspace/std/test/test_memoryobject.py::AppTestMemoryView::()::test_basic . pypy/objspace/std/test/test_memoryobject.py::AppTestMemoryView::()::test_rw . pypy/objspace/std/test/test_memoryobject.py::AppTestMemoryView::()::test_memoryview_attrs . pypy/objspace/std/test/test_memoryobject.py::AppTestMemoryView::()::test_suboffsets . pypy/objspace/std/test/test_memoryobject.py::AppTestMemoryView::()::test_compare . pypy/objspace/std/test/test_memoryobject.py::AppTestMemoryView::()::test_pypy_raw_address_base . pypy/objspace/std/test/test_memoryobject.py::AppTestMemoryView::()::test_mutate_memoryview_while_indexing . pypy/objspace/std/test/test_methodcache.py::AppTestMethodCaching::()::test_mix_classes . pypy/objspace/std/test/test_methodcache.py::AppTestMethodCaching::()::test_class_that_cannot_be_cached . pypy/objspace/std/test/test_methodcache.py::AppTestMethodCaching::()::test_subclasses . pypy/objspace/std/test/test_methodcache.py::AppTestMethodCaching::()::test_many_names . pypy/objspace/std/test/test_methodcache.py::AppTestMethodCaching::()::test_mutating_bases . pypy/objspace/std/test/test_methodcache.py::AppTestMethodCaching::()::test_custom_metaclass . pypy/objspace/std/test/test_methodcache.py::AppTestMethodCaching::()::test_mutate_class . pypy/objspace/std/test/test_methodcache.py::AppTestMethodCaching::()::test_abstract_methods . pypy/objspace/std/test/test_methodcache.py::AppTestMethodCaching::()::test_attribute_error . pypy/objspace/std/test/test_methodcache.py::AppTestMethodCaching::()::test_call_type . pypy/objspace/std/test/test_methodcache.py::AppTestMethodCaching::()::test_call_type_subclass . pypy/objspace/std/test/test_methodcache.py::AppTestMethodCaching::()::test_bases . pypy/objspace/std/test/test_methodcache.py::AppTestMethodCaching::()::test_mutable_bases . pypy/objspace/std/test/test_methodcache.py::AppTestMethodCaching::()::test_mutable_bases_with_failing_mro . pypy/objspace/std/test/test_methodcache.py::AppTestMethodCaching::()::test_mutable_bases_catch_mro_conflict . pypy/objspace/std/test/test_methodcache.py::AppTestMethodCaching::()::test_mutable_bases_versus_nonheap_types . pypy/objspace/std/test/test_methodcache.py::AppTestMethodCaching::()::test_mutable_bases_versus_slots . pypy/objspace/std/test/test_methodcache.py::AppTestMethodCaching::()::test_mutable_bases_versus_weakref . pypy/objspace/std/test/test_methodcache.py::AppTestMethodCaching::()::test_mutable_bases_same_slots . pypy/objspace/std/test/test_methodcache.py::AppTestMethodCaching::()::test_mutable_bases_versus_slots_2 . pypy/objspace/std/test/test_methodcache.py::AppTestMethodCaching::()::test_mutable_bases_keeping_slots . pypy/objspace/std/test/test_methodcache.py::AppTestMethodCaching::()::test_compatible_slot_layout . pypy/objspace/std/test/test_methodcache.py::AppTestMethodCaching::()::test_builtin_add . pypy/objspace/std/test/test_methodcache.py::AppTestMethodCaching::()::test_builtin_call . pypy/objspace/std/test/test_methodcache.py::AppTestMethodCaching::()::test_builtin_call_kwds . pypy/objspace/std/test/test_methodcache.py::AppTestMethodCaching::()::test_multipleinheritance_fail . pypy/objspace/std/test/test_methodcache.py::AppTestMethodCaching::()::test_outer_metaclass . pypy/objspace/std/test/test_methodcache.py::AppTestMethodCaching::()::test_inner_metaclass . pypy/objspace/std/test/test_methodcache.py::AppTestMethodCaching::()::test_implicit_metaclass . pypy/objspace/std/test/test_methodcache.py::AppTestMethodCaching::()::test_mro . pypy/objspace/std/test/test_methodcache.py::AppTestMethodCaching::()::test_mro_mutation_interaction_bug . pypy/objspace/std/test/test_methodcache.py::AppTestMethodCaching::()::test_abstract_mro . pypy/objspace/std/test/test_methodcache.py::AppTestMethodCaching::()::test_nodoc . pypy/objspace/std/test/test_methodcache.py::AppTestMethodCaching::()::test_explicitdoc . pypy/objspace/std/test/test_methodcache.py::AppTestMethodCaching::()::test_implicitdoc . pypy/objspace/std/test/test_methodcache.py::AppTestMethodCaching::()::test_immutabledoc . pypy/objspace/std/test/test_methodcache.py::AppTestMethodCaching::()::test_metaclass_conflict . pypy/objspace/std/test/test_methodcache.py::AppTestMethodCaching::()::test_metaclass_choice . pypy/objspace/std/test/test_methodcache.py::AppTestMethodCaching::()::test_descr_typecheck . pypy/objspace/std/test/test_methodcache.py::AppTestMethodCaching::()::test_slots_simple . pypy/objspace/std/test/test_methodcache.py::AppTestMethodCaching::()::test_slot_mangling . pypy/objspace/std/test/test_methodcache.py::AppTestMethodCaching::()::test_slots_multiple_inheritance . pypy/objspace/std/test/test_methodcache.py::AppTestMethodCaching::()::test_string_slots . pypy/objspace/std/test/test_methodcache.py::AppTestMethodCaching::()::test_base_attr . pypy/objspace/std/test/test_methodcache.py::AppTestMethodCaching::()::test_cannot_subclass . pypy/objspace/std/test/test_methodcache.py::AppTestMethodCaching::()::test_slot_conflict . pypy/objspace/std/test/test_methodcache.py::AppTestMethodCaching::()::test_repr . pypy/objspace/std/test/test_methodcache.py::AppTestMethodCaching::()::test_repr_issue1292 . pypy/objspace/std/test/test_methodcache.py::AppTestMethodCaching::()::test_invalid_mro . pypy/objspace/std/test/test_methodcache.py::AppTestMethodCaching::()::test_data_descriptor_without_get . pypy/objspace/std/test/test_methodcache.py::AppTestMethodCaching::()::test_user_defined_mro_cls_access . pypy/objspace/std/test/test_methodcache.py::AppTestMethodCaching::()::test_only_classic_bases_fails . pypy/objspace/std/test/test_methodcache.py::AppTestMethodCaching::()::test_set___class__ . pypy/objspace/std/test/test_methodcache.py::AppTestMethodCaching::()::test_name . pypy/objspace/std/test/test_methodcache.py::AppTestMethodCaching::()::test_compare . pypy/objspace/std/test/test_methodcache.py::AppTestMethodCaching::()::test_class_variations . pypy/objspace/std/test/test_methodcache.py::AppTestMethodCaching::()::test_module . pypy/objspace/std/test/test_methodcache.py::AppTestMethodCaching::()::test_immutable_builtin . pypy/objspace/std/test/test_methodcache.py::AppTestMethodCaching::()::test_nontype_in_mro . pypy/objspace/std/test/test_methodcache.py::AppTestMethodCaching::()::test_init_must_return_none . pypy/objspace/std/test/test_methodcache.py::AppTestMethodCaching::()::test_dictproxy_is_updated . pypy/objspace/std/test/test_methodcache.py::AppTestMethodCaching::()::test_type_descriptors_overridden . pypy/objspace/std/test/test_methodcache.py::AppTestMethodCaching::()::test_change_dict . pypy/objspace/std/test/test_methodcache.py::AppTestMethodCaching::()::test_mutate_dict . pypy/objspace/std/test/test_methodcache.py::AppTestMethodCaching::()::test_we_already_got_one_1 . pypy/objspace/std/test/test_methodcache.py::AppTestMethodCaching::()::test_we_already_got_one_2 . pypy/objspace/std/test/test_methodcache.py::AppTestMethodCaching::()::test_crash_mro_without_object_1 . pypy/objspace/std/test/test_methodcache.py::AppTestMethodCaching::()::test_crash_mro_without_object_2 . pypy/objspace/std/test/test_methodcache.py::AppTestMethodCaching::()::test_instancecheck . pypy/objspace/std/test/test_methodcache.py::AppTestMethodCaching::()::test_subclasscheck . pypy/objspace/std/test/test_methodcache.py::AppTestMethodCaching::()::test_bad_args . pypy/objspace/std/test/test_newformat.py::AppTestUnicodeFormat::()::test_escape . pypy/objspace/std/test/test_newformat.py::AppTestUnicodeFormat::()::test_empty . pypy/objspace/std/test/test_newformat.py::AppTestUnicodeFormat::()::test_several . pypy/objspace/std/test/test_newformat.py::AppTestUnicodeFormat::()::test_stray_brackets . pypy/objspace/std/test/test_newformat.py::AppTestUnicodeFormat::()::test_auto_numbering . pypy/objspace/std/test/test_newformat.py::AppTestUnicodeFormat::()::test_positional_args . pypy/objspace/std/test/test_newformat.py::AppTestUnicodeFormat::()::test_kwargs . pypy/objspace/std/test/test_newformat.py::AppTestUnicodeFormat::()::test_attr . pypy/objspace/std/test/test_newformat.py::AppTestUnicodeFormat::()::test_index . pypy/objspace/std/test/test_newformat.py::AppTestUnicodeFormat::()::test_getitem . pypy/objspace/std/test/test_newformat.py::AppTestUnicodeFormat::()::test_chained . pypy/objspace/std/test/test_newformat.py::AppTestUnicodeFormat::()::test_invalid_field_name . pypy/objspace/std/test/test_newformat.py::AppTestUnicodeFormat::()::test_repr_conversion . pypy/objspace/std/test/test_newformat.py::AppTestUnicodeFormat::()::test_format_spec . pypy/objspace/std/test/test_newformat.py::AppTestUnicodeFormat::()::test_invalid_conversion . pypy/objspace/std/test/test_newformat.py::AppTestUnicodeFormat::()::test_recursive . pypy/objspace/std/test/test_newformat.py::AppTestUnicodeFormat::()::test_presentation . pypy/objspace/std/test/test_newformat.py::AppTestUnicodeFormat::()::test_padding . pypy/objspace/std/test/test_newformat.py::AppTestUnicodeFormat::()::test_precision . pypy/objspace/std/test/test_newformat.py::AppTestUnicodeFormat::()::test_non_ascii_presentation . pypy/objspace/std/test/test_newformat.py::AppTestUnicodeFormat::()::test_oldstyle_custom_format . pypy/objspace/std/test/test_newformat.py::AppTestUnicodeFormat::()::test_bogus_cases . pypy/objspace/std/test/test_newformat.py::AppTestUnicodeFormat::()::test_format_huge_precision . pypy/objspace/std/test/test_newformat.py::AppTestUnicodeFormat::()::test_format_huge_width . pypy/objspace/std/test/test_newformat.py::AppTestUnicodeFormat::()::test_format_huge_item_number . pypy/objspace/std/test/test_newformat.py::AppTestUnicodeFormat::()::test_format_null_fill_char . pypy/objspace/std/test/test_newformat.py::AppTestUnicodeFormat::()::test_issue3100 . pypy/objspace/std/test/test_newformat.py::AppTestUnicodeFormat::()::test_string_conversion . pypy/objspace/std/test/test_newformat.py::AppTestUnicodeFormat::()::test_non_latin1_key . pypy/objspace/std/test/test_newformat.py::AppTestUnicodeFormat::()::test_padding_utf8_bug . pypy/objspace/std/test/test_newformat.py::AppTestUnicodeFormat::()::test_precision_utf8_bug . pypy/objspace/std/test/test_newformat.py::AppTestStringFormat::()::test_escape . pypy/objspace/std/test/test_newformat.py::AppTestStringFormat::()::test_empty . pypy/objspace/std/test/test_newformat.py::AppTestStringFormat::()::test_several . pypy/objspace/std/test/test_newformat.py::AppTestStringFormat::()::test_stray_brackets . pypy/objspace/std/test/test_newformat.py::AppTestStringFormat::()::test_auto_numbering . pypy/objspace/std/test/test_newformat.py::AppTestStringFormat::()::test_positional_args . pypy/objspace/std/test/test_newformat.py::AppTestStringFormat::()::test_kwargs . pypy/objspace/std/test/test_newformat.py::AppTestStringFormat::()::test_attr . pypy/objspace/std/test/test_newformat.py::AppTestStringFormat::()::test_index . pypy/objspace/std/test/test_newformat.py::AppTestStringFormat::()::test_getitem . pypy/objspace/std/test/test_newformat.py::AppTestStringFormat::()::test_chained . pypy/objspace/std/test/test_newformat.py::AppTestStringFormat::()::test_invalid_field_name . pypy/objspace/std/test/test_newformat.py::AppTestStringFormat::()::test_repr_conversion . pypy/objspace/std/test/test_newformat.py::AppTestStringFormat::()::test_format_spec . pypy/objspace/std/test/test_newformat.py::AppTestStringFormat::()::test_invalid_conversion . pypy/objspace/std/test/test_newformat.py::AppTestStringFormat::()::test_recursive . pypy/objspace/std/test/test_newformat.py::AppTestStringFormat::()::test_presentation . pypy/objspace/std/test/test_newformat.py::AppTestStringFormat::()::test_padding . pypy/objspace/std/test/test_newformat.py::AppTestStringFormat::()::test_precision . pypy/objspace/std/test/test_newformat.py::AppTestStringFormat::()::test_non_ascii_presentation . pypy/objspace/std/test/test_newformat.py::AppTestStringFormat::()::test_oldstyle_custom_format . pypy/objspace/std/test/test_newformat.py::AppTestStringFormat::()::test_bogus_cases . pypy/objspace/std/test/test_newformat.py::AppTestStringFormat::()::test_format_huge_precision . pypy/objspace/std/test/test_newformat.py::AppTestStringFormat::()::test_format_huge_width . pypy/objspace/std/test/test_newformat.py::AppTestStringFormat::()::test_format_huge_item_number . pypy/objspace/std/test/test_newformat.py::AppTestStringFormat::()::test_format_null_fill_char . pypy/objspace/std/test/test_newformat.py::AppTestStringFormat::()::test_issue3100 . pypy/objspace/std/test/test_newformat.py::AppTestStringFormat::()::test_string_conversion . pypy/objspace/std/test/test_newformat.py::AppTestBoolFormat::()::test_str_format . pypy/objspace/std/test/test_newformat.py::AppTestBoolFormat::()::test_int_delegation_format . pypy/objspace/std/test/test_newformat.py::AppTestIntFormatting::()::test_simple . pypy/objspace/std/test/test_newformat.py::AppTestIntFormatting::()::test_invalid . pypy/objspace/std/test/test_newformat.py::AppTestIntFormatting::()::test_c . pypy/objspace/std/test/test_newformat.py::AppTestIntFormatting::()::test_binary . pypy/objspace/std/test/test_newformat.py::AppTestIntFormatting::()::test_octal . pypy/objspace/std/test/test_newformat.py::AppTestIntFormatting::()::test_hex . pypy/objspace/std/test/test_newformat.py::AppTestIntFormatting::()::test_padding . pypy/objspace/std/test/test_newformat.py::AppTestIntFormatting::()::test_width_overflow . pypy/objspace/std/test/test_newformat.py::AppTestIntFormatting::()::test_sign . pypy/objspace/std/test/test_newformat.py::AppTestIntFormatting::()::test_thousands_separator . pypy/objspace/std/test/test_newformat.py::AppTestLongFormatting::()::test_simple . pypy/objspace/std/test/test_newformat.py::AppTestLongFormatting::()::test_invalid . pypy/objspace/std/test/test_newformat.py::AppTestLongFormatting::()::test_c . pypy/objspace/std/test/test_newformat.py::AppTestLongFormatting::()::test_binary . pypy/objspace/std/test/test_newformat.py::AppTestLongFormatting::()::test_octal . pypy/objspace/std/test/test_newformat.py::AppTestLongFormatting::()::test_hex . pypy/objspace/std/test/test_newformat.py::AppTestLongFormatting::()::test_padding . pypy/objspace/std/test/test_newformat.py::AppTestLongFormatting::()::test_width_overflow . pypy/objspace/std/test/test_newformat.py::AppTestLongFormatting::()::test_sign . pypy/objspace/std/test/test_newformat.py::AppTestLongFormatting::()::test_thousands_separator . pypy/objspace/std/test/test_newformat.py::AppTestFloatFormatting::()::test_alternate . pypy/objspace/std/test/test_newformat.py::AppTestFloatFormatting::()::test_simple . pypy/objspace/std/test/test_newformat.py::AppTestFloatFormatting::()::test_sign . pypy/objspace/std/test/test_newformat.py::AppTestFloatFormatting::()::test_digit_separator . pypy/objspace/std/test/test_newformat.py::AppTestFloatFormatting::()::test_locale s pypy/objspace/std/test/test_newformat.py::AppTestFloatFormatting::()::test_locale_german Skipped: no german locale s pypy/objspace/std/test/test_newformat.py::AppTestFloatFormatting::()::test_dont_switch_to_g Skipped: must fix when float formatting is figured out . pypy/objspace/std/test/test_newformat.py::AppTestFloatFormatting::()::test_infinite . pypy/objspace/std/test/test_newformat.py::AppTestInternalMethods::()::test_formatter_parser . pypy/objspace/std/test/test_newformat.py::AppTestInternalMethods::()::test_u_formatter_parser . pypy/objspace/std/test/test_newformat.py::AppTestInternalMethods::()::test_formatter_parser_escape . pypy/objspace/std/test/test_newformat.py::AppTestInternalMethods::()::test_formatter_field_name_split . pypy/objspace/std/test/test_newformat.py::AppTestInternalMethods::()::test_u_formatter_field_name_split . pypy/objspace/std/test/test_newformat.py::AppTestInternalMethods::()::test_format_char . pypy/objspace/std/test/test_newformat.py::AppTestInternalMethods::()::test_format_unicode_nonutf8_bytestring . pypy/objspace/std/test/test_noneobject.py::TestW_NoneObject::()::test_equality . pypy/objspace/std/test/test_noneobject.py::TestW_NoneObject::()::test_inequality . pypy/objspace/std/test/test_noneobject.py::TestW_NoneObject::()::test_false . pypy/objspace/std/test/test_obj.py::AppTestObject::()::test_hash_method . pypy/objspace/std/test/test_obj.py::AppTestObject::()::test_hash_list . pypy/objspace/std/test/test_obj.py::AppTestObject::()::test_no_getnewargs . pypy/objspace/std/test/test_obj.py::AppTestObject::()::test_hash_subclass . pypy/objspace/std/test/test_obj.py::AppTestObject::()::test_reduce_recursion_bug . pypy/objspace/std/test/test_obj.py::AppTestObject::()::test_default_format . pypy/objspace/std/test/test_obj.py::AppTestObject::()::test_subclasshook . pypy/objspace/std/test/test_obj.py::AppTestObject::()::test_object_init . pypy/objspace/std/test/test_obj.py::AppTestObject::()::test_object_str . pypy/objspace/std/test/test_obj.py::AppTestObject::()::test_is_on_primitives . pypy/objspace/std/test/test_obj.py::AppTestObject::()::test_is_on_strs . pypy/objspace/std/test/test_obj.py::AppTestObject::()::test_is_by_value . pypy/objspace/std/test/test_obj.py::AppTestObject::()::test_is_on_subclasses . pypy/objspace/std/test/test_obj.py::AppTestObject::()::test_id_on_primitives . pypy/objspace/std/test/test_obj.py::AppTestObject::()::test_id_on_strs . pypy/objspace/std/test/test_obj.py::AppTestObject::()::test_id_of_tuples . pypy/objspace/std/test/test_obj.py::AppTestObject::()::test_id_of_frozensets . pypy/objspace/std/test/test_obj.py::AppTestObject::()::test_identity_vs_id_primitives . pypy/objspace/std/test/test_obj.py::AppTestObject::()::test_identity_vs_id_str . pypy/objspace/std/test/test_obj.py::AppTestObject::()::test_identity_bug . pypy/objspace/std/test/test_obj.py::AppTestObject::()::test_id_must_be_int . pypy/objspace/std/test/test_obj.py::AppTestObject::()::test_object_hash_immutable . pypy/objspace/std/test/test_obj.py::test_isinstance_shortcut . pypy/objspace/std/test/test_prebuiltint.py::AppTestInt::()::test_hash . pypy/objspace/std/test/test_prebuiltint.py::AppTestInt::()::test_conjugate . pypy/objspace/std/test/test_prebuiltint.py::AppTestInt::()::test_inplace . pypy/objspace/std/test/test_prebuiltint.py::AppTestInt::()::test_trunc . pypy/objspace/std/test/test_prebuiltint.py::AppTestInt::()::test_int_callable . pypy/objspace/std/test/test_prebuiltint.py::AppTestInt::()::test_numerator_denominator . pypy/objspace/std/test/test_prebuiltint.py::AppTestInt::()::test_int_string . pypy/objspace/std/test/test_prebuiltint.py::AppTestInt::()::test_int_unicode . pypy/objspace/std/test/test_prebuiltint.py::AppTestInt::()::test_int_float . pypy/objspace/std/test/test_prebuiltint.py::AppTestInt::()::test_int_str_repr . pypy/objspace/std/test/test_prebuiltint.py::AppTestInt::()::test_int_two_param . pypy/objspace/std/test/test_prebuiltint.py::AppTestInt::()::test_int_largenums . pypy/objspace/std/test/test_prebuiltint.py::AppTestInt::()::test_shift_zeros . pypy/objspace/std/test/test_prebuiltint.py::AppTestInt::()::test_overflow . pypy/objspace/std/test/test_prebuiltint.py::AppTestInt::()::test_pow . pypy/objspace/std/test/test_prebuiltint.py::AppTestInt::()::test_int_w_long_arg . pypy/objspace/std/test/test_prebuiltint.py::AppTestInt::()::test_int_subclass_ctr . pypy/objspace/std/test/test_prebuiltint.py::AppTestInt::()::test_int_subclass_ops . pypy/objspace/std/test/test_prebuiltint.py::AppTestInt::()::test_int_subclass_int . pypy/objspace/std/test/test_prebuiltint.py::AppTestInt::()::test_special_int . pypy/objspace/std/test/test_prebuiltint.py::AppTestInt::()::test_special_long . pypy/objspace/std/test/test_prebuiltint.py::AppTestInt::()::test_just_trunc . pypy/objspace/std/test/test_prebuiltint.py::AppTestInt::()::test_override___int__ . pypy/objspace/std/test/test_prebuiltint.py::AppTestInt::()::test_trunc_returns_non_int . pypy/objspace/std/test/test_prebuiltint.py::AppTestInt::()::test_trunc_returns_int_subclass . pypy/objspace/std/test/test_prebuiltint.py::AppTestInt::()::test_int_before_string . pypy/objspace/std/test/test_prebuiltint.py::AppTestInt::()::test_getnewargs s pypy/objspace/std/test/test_prebuiltint.py::AppTestInt::()::test_cmp Skipped: This is a 'wont fix' case . pypy/objspace/std/test/test_prebuiltint.py::AppTestInt::()::test_bit_length . pypy/objspace/std/test/test_prebuiltint.py::AppTestInt::()::test_bit_length_max . pypy/objspace/std/test/test_prebuiltint.py::AppTestInt::()::test_int_real . pypy/objspace/std/test/test_prebuiltint.py::AppTestInt::()::test_int_error_msg . pypy/objspace/std/test/test_prebuiltint.py::AppTestInt::()::test_invalid_literal_message . pypy/objspace/std/test/test_prebuiltint.py::AppTestInt::()::test_coerce . pypy/objspace/std/test/test_prebuiltint.py::AppTestInt::()::test_fake_int_as_base . pypy/objspace/std/test/test_prebuiltint.py::AppTestInt::()::test_truediv . pypy/objspace/std/test/test_prebuiltint.py::AppTestInt::()::test_truediv_future . pypy/objspace/std/test/test_prebuiltint.py::AppTestInt::()::test_int_of_bool . pypy/objspace/std/test/test_prebuiltint.py::AppTestInt::()::test_binop_overflow . pypy/objspace/std/test/test_prebuiltint.py::AppTestInt::()::test_rbinop_overflow . pypy/objspace/std/test/test_prebuiltint.py::AppTestInt::()::test_some_rops . pypy/objspace/std/test/test_prebuiltint.py::AppTestInt::()::test_error_message_wrong_self . pypy/objspace/std/test/test_prebuiltint.py::AppTestInt::()::test_prebuiltint s pypy/objspace/std/test/test_proxy.py::AppTestListProxy::()::test_proxy Skipped: removed support for lists s pypy/objspace/std/test/test_proxy.py::AppTestListProxy::()::test_proxy_repr Skipped: removed support for lists s pypy/objspace/std/test/test_proxy.py::AppTestListProxy::()::test_proxy_append Skipped: removed support for lists s pypy/objspace/std/test/test_proxy.py::AppTestListProxy::()::test_gt_lt_list Skipped: removed support for lists s pypy/objspace/std/test/test_proxy.py::AppTestListProxy::()::test_add_list Skipped: removed support for lists s pypy/objspace/std/test/test_proxy.py::AppTestListProxy::()::test_list_getitem Skipped: removed support for lists s pypy/objspace/std/test/test_proxy.py::AppTestListProxy::()::test_list_setitem Skipped: removed support for lists s pypy/objspace/std/test/test_proxy.py::AppTestListProxy::()::test_list_inplace_add Skipped: removed support for lists s pypy/objspace/std/test/test_proxy.py::AppTestListProxy::()::test_list_reverse_add Skipped: removed support for lists s pypy/objspace/std/test/test_proxy.py::AppTestDictProxy::()::test_dict Skipped: removed support for dicts s pypy/objspace/std/test/test_proxy.py::AppTestDictProxy::()::test_dict_pop Skipped: removed support for dicts s pypy/objspace/std/test/test_proxy.py::AppTestDictProxy::()::test_dict_iter Skipped: removed support for dicts . pypy/objspace/std/test/test_proxy_function.py::AppTestProxyFunction::()::test_function_noargs . pypy/objspace/std/test/test_proxy_function.py::AppTestProxyFunction::()::test_simple_function . pypy/objspace/std/test/test_proxy_function.py::AppTestProxyFunction::()::test_function_args . pypy/objspace/std/test/test_proxy_function.py::AppTestProxyFunction::()::test_method_bind . pypy/objspace/std/test/test_proxy_function.py::AppTestProxyFunction::()::test_function_repr . pypy/objspace/std/test/test_proxy_function.py::AppTestProxyFunction::()::test_func_code . pypy/objspace/std/test/test_proxy_function.py::AppTestProxyFunction::()::test_funct_prop_setter_del . pypy/objspace/std/test/test_proxy_function.py::AppTestProxyFunction::()::test_proxy_bind_method . pypy/objspace/std/test/test_proxy_internals.py::AppTestProxyInterpOnly::()::test_unproxyable . pypy/objspace/std/test/test_proxy_internals.py::AppTestProxyInternals::()::test_traceback_basic . pypy/objspace/std/test/test_proxy_internals.py::AppTestProxyInternals::()::test_traceback_catch . pypy/objspace/std/test/test_proxy_internals.py::AppTestProxyInternals::()::test_traceback_reraise . pypy/objspace/std/test/test_proxy_internals.py::AppTestProxyInternals::()::test_simple_frame . pypy/objspace/std/test/test_proxy_internals.py::AppTestProxyTracebackController::()::test_controller . pypy/objspace/std/test/test_proxy_internals.py::AppTestProxyTracebackController::()::test_proxy_get . pypy/objspace/std/test/test_proxy_internals.py::AppTestProxyTracebackController::()::test_proxy_file . pypy/objspace/std/test/test_proxy_iter.py::AppTestProxyIter::()::test_generator . pypy/objspace/std/test/test_proxy_object.py::AppTestProxyNoDict::()::test_write_dict . pypy/objspace/std/test/test_proxy_object.py::AppTestProxyObj::()::test_simple_obj . pypy/objspace/std/test/test_proxy_object.py::AppTestProxyObj::()::test__class__override . pypy/objspace/std/test/test_proxy_object.py::AppTestProxyObj::()::test_attribute_access . pypy/objspace/std/test/test_proxy_object.py::AppTestProxyObj::()::test_nonexistant_attribuite_access . pypy/objspace/std/test/test_proxy_object.py::AppTestProxyObj::()::test_setattr . pypy/objspace/std/test/test_proxy_object.py::AppTestProxyObj::()::test_delattr . pypy/objspace/std/test/test_proxy_object.py::AppTestProxyObj::()::test__dict__ . pypy/objspace/std/test/test_proxy_object.py::AppTestProxyObj::()::test_set__dict__ . pypy/objspace/std/test/test_proxy_object.py::AppTestProxyObj::()::test_repr . pypy/objspace/std/test/test_proxy_usercreated.py::AppTestProxyNewtype::()::test_one . pypy/objspace/std/test/test_random_attr.py::test_random_attrs . pypy/objspace/std/test/test_random_attr.py::test_random_attrs_lowlevel_objclass . pypy/objspace/std/test/test_random_attr.py::test_random_attrs_lowlevel_generic . pypy/objspace/std/test/test_random_attr.py::test_bug1 . pypy/objspace/std/test/test_random_attr.py::test_bug2 . pypy/objspace/std/test/test_setobject.py::TestW_SetObject::()::test_and . pypy/objspace/std/test/test_setobject.py::TestW_SetObject::()::test_compare . pypy/objspace/std/test/test_setobject.py::TestW_SetObject::()::test_space_newset . pypy/objspace/std/test/test_setobject.py::TestW_SetObject::()::test_intersection_order . pypy/objspace/std/test/test_setobject.py::TestW_SetObject::()::test_create_set_from_list . pypy/objspace/std/test/test_setobject.py::TestW_SetObject::()::test_listview_bytes_int_on_set . pypy/objspace/std/test/test_setobject.py::AppTestAppSetTest::()::test_fakeint . pypy/objspace/std/test/test_setobject.py::AppTestAppSetTest::()::test_simple . pypy/objspace/std/test/test_setobject.py::AppTestAppSetTest::()::test_generator . pypy/objspace/std/test/test_setobject.py::AppTestAppSetTest::()::test_generator2 . pypy/objspace/std/test/test_setobject.py::AppTestAppSetTest::()::test_or . pypy/objspace/std/test/test_setobject.py::AppTestAppSetTest::()::test_clear . pypy/objspace/std/test/test_setobject.py::AppTestAppSetTest::()::test_sub . pypy/objspace/std/test/test_setobject.py::AppTestAppSetTest::()::test_issubset . pypy/objspace/std/test/test_setobject.py::AppTestAppSetTest::()::test_issuperset . pypy/objspace/std/test/test_setobject.py::AppTestAppSetTest::()::test_inplace_and . pypy/objspace/std/test/test_setobject.py::AppTestAppSetTest::()::test_discard_remove . pypy/objspace/std/test/test_setobject.py::AppTestAppSetTest::()::test_pop . pypy/objspace/std/test/test_setobject.py::AppTestAppSetTest::()::test_symmetric_difference . pypy/objspace/std/test/test_setobject.py::AppTestAppSetTest::()::test_symmetric_difference_update . pypy/objspace/std/test/test_setobject.py::AppTestAppSetTest::()::test_subtype . pypy/objspace/std/test/test_setobject.py::AppTestAppSetTest::()::test_init_new_behavior . pypy/objspace/std/test/test_setobject.py::AppTestAppSetTest::()::test_subtype_bug . pypy/objspace/std/test/test_setobject.py::AppTestAppSetTest::()::test_union . pypy/objspace/std/test/test_setobject.py::AppTestAppSetTest::()::test_compare . pypy/objspace/std/test/test_setobject.py::AppTestAppSetTest::()::test_libpython_equality . pypy/objspace/std/test/test_setobject.py::AppTestAppSetTest::()::test_copy . pypy/objspace/std/test/test_setobject.py::AppTestAppSetTest::()::test_update . pypy/objspace/std/test/test_setobject.py::AppTestAppSetTest::()::test_update_not_iterable_error . pypy/objspace/std/test/test_setobject.py::AppTestAppSetTest::()::test_recursive_repr . pypy/objspace/std/test/test_setobject.py::AppTestAppSetTest::()::test_recursive_repr_frozenset . pypy/objspace/std/test/test_setobject.py::AppTestAppSetTest::()::test_keyerror_has_key . pypy/objspace/std/test/test_setobject.py::AppTestAppSetTest::()::test_subclass_with_hash . pypy/objspace/std/test/test_setobject.py::AppTestAppSetTest::()::test_autoconvert_to_frozen__contains . pypy/objspace/std/test/test_setobject.py::AppTestAppSetTest::()::test_autoconvert_to_frozen_remove . pypy/objspace/std/test/test_setobject.py::AppTestAppSetTest::()::test_autoconvert_to_frozen_discard . pypy/objspace/std/test/test_setobject.py::AppTestAppSetTest::()::test_autoconvert_to_frozen_onlyon_type_error . pypy/objspace/std/test/test_setobject.py::AppTestAppSetTest::()::test_autoconvert_key_error . pypy/objspace/std/test/test_setobject.py::AppTestAppSetTest::()::test_contains . pypy/objspace/std/test/test_setobject.py::AppTestAppSetTest::()::test_remove . pypy/objspace/std/test/test_setobject.py::AppTestAppSetTest::()::test_remove_keyerror_unpacking . pypy/objspace/std/test/test_setobject.py::AppTestAppSetTest::()::test_singleton_empty_frozenset . pypy/objspace/std/test/test_setobject.py::AppTestAppSetTest::()::test_subclass_union . pypy/objspace/std/test/test_setobject.py::AppTestAppSetTest::()::test_reverse_ops . pypy/objspace/std/test/test_setobject.py::AppTestAppSetTest::()::test_isdisjoint . pypy/objspace/std/test/test_setobject.py::AppTestAppSetTest::()::test_intersection . pypy/objspace/std/test/test_setobject.py::AppTestAppSetTest::()::test_intersection_swap . pypy/objspace/std/test/test_setobject.py::AppTestAppSetTest::()::test_intersection_generator . pypy/objspace/std/test/test_setobject.py::AppTestAppSetTest::()::test_intersection_string . pypy/objspace/std/test/test_setobject.py::AppTestAppSetTest::()::test_intersection_float . pypy/objspace/std/test/test_setobject.py::AppTestAppSetTest::()::test_difference . pypy/objspace/std/test/test_setobject.py::AppTestAppSetTest::()::test_difference_bug . pypy/objspace/std/test/test_setobject.py::AppTestAppSetTest::()::test_intersection_update . pypy/objspace/std/test/test_setobject.py::AppTestAppSetTest::()::test_difference_update . pypy/objspace/std/test/test_setobject.py::AppTestAppSetTest::()::test_empty_empty . pypy/objspace/std/test/test_setobject.py::AppTestAppSetTest::()::test_empty_difference . pypy/objspace/std/test/test_setobject.py::AppTestAppSetTest::()::test_fastpath_with_strategies . pypy/objspace/std/test/test_setobject.py::AppTestAppSetTest::()::test_empty_intersect . pypy/objspace/std/test/test_setobject.py::AppTestAppSetTest::()::test_empty_issuper . pypy/objspace/std/test/test_setobject.py::AppTestAppSetTest::()::test_empty_issubset . pypy/objspace/std/test/test_setobject.py::AppTestAppSetTest::()::test_empty_isdisjoint . pypy/objspace/std/test/test_setobject.py::AppTestAppSetTest::()::test_empty_unhashable . pypy/objspace/std/test/test_setobject.py::AppTestAppSetTest::()::test_super_with_generator . pypy/objspace/std/test/test_setobject.py::AppTestAppSetTest::()::test_isdisjoint_with_generator . pypy/objspace/std/test/test_setobject.py::AppTestAppSetTest::()::test_fakeint_and_equals . pypy/objspace/std/test/test_setobject.py::AppTestAppSetTest::()::test_fakeint_and_discard . pypy/objspace/std/test/test_setobject.py::AppTestAppSetTest::()::test_fakeobject_and_has_key . pypy/objspace/std/test/test_setobject.py::AppTestAppSetTest::()::test_fakeobject_and_pop . pypy/objspace/std/test/test_setobject.py::AppTestAppSetTest::()::test_fakeobject_and_difference . pypy/objspace/std/test/test_setobject.py::AppTestAppSetTest::()::test_frozenset_behavior . pypy/objspace/std/test/test_setobject.py::AppTestAppSetTest::()::test_discard_unhashable . pypy/objspace/std/test/test_setobject.py::AppTestAppSetTest::()::test_discard_evil_compare . pypy/objspace/std/test/test_setobject.py::AppTestAppSetTest::()::test_create_set_from_set . pypy/objspace/std/test/test_setobject.py::AppTestAppSetTest::()::test_never_change_frozenset . pypy/objspace/std/test/test_setobject.py::AppTestAppSetTest::()::test_intersection_obj . pypy/objspace/std/test/test_setobject.py::AppTestAppSetTest::()::test_iter_set_length_change . pypy/objspace/std/test/test_setobject.py::AppTestAppSetTest::()::test_iter_set_strategy_only_change_1 . pypy/objspace/std/test/test_setobject.py::AppTestAppSetTest::()::test_iter_set_strategy_only_change_2 . pypy/objspace/std/test/test_setobject.py::AppTestAppSetTest::()::test_intersect_frozenset_set . pypy/objspace/std/test/test_setobject.py::AppTestAppSetTest::()::test_update_bug_strategy . pypy/objspace/std/test/test_setobject.py::AppTestAppSetTest::()::test_weird_exception_from_iterable . pypy/objspace/std/test/test_setobject.py::AppTestAppSetTest::()::test_frozenset_init_does_nothing . pypy/objspace/std/test/test_setobject.py::AppTestAppSetTest::()::test_error_message_wrong_self . pypy/objspace/std/test/test_setobject.py::AppTestAppSetTest::()::test_cant_mutate_frozenset_via_set . pypy/objspace/std/test/test_setstrategies.py::TestW_SetStrategies::()::test_from_list . pypy/objspace/std/test/test_setstrategies.py::TestW_SetStrategies::()::test_switch_to_object . pypy/objspace/std/test/test_setstrategies.py::TestW_SetStrategies::()::test_switch_to_unicode . pypy/objspace/std/test/test_setstrategies.py::TestW_SetStrategies::()::test_symmetric_difference s pypy/objspace/std/test/test_setstrategies.py::TestW_SetStrategies::()::test_intersection Skipped: for now intersection with ObjectStrategy always results in another ObjectStrategy . pypy/objspace/std/test/test_setstrategies.py::TestW_SetStrategies::()::test_clear . pypy/objspace/std/test/test_setstrategies.py::TestW_SetStrategies::()::test_remove . pypy/objspace/std/test/test_setstrategies.py::TestW_SetStrategies::()::test_union s pypy/objspace/std/test/test_setstrategies.py::TestW_SetStrategies::()::test_discard Skipped: currently not supported s pypy/objspace/std/test/test_setstrategies.py::TestW_SetStrategies::()::test_has_key Skipped: currently not supported . pypy/objspace/std/test/test_setstrategies.py::TestW_SetStrategies::()::test_iter . pypy/objspace/std/test/test_setstrategies.py::TestW_SetStrategies::()::test_listview . pypy/objspace/std/test/test_sliceobject.py::TestW_SliceObject::()::test_unpack . pypy/objspace/std/test/test_sliceobject.py::TestW_SliceObject::()::test_indices . pypy/objspace/std/test/test_sliceobject.py::TestW_SliceObject::()::test_indices_fail . pypy/objspace/std/test/test_sliceobject.py::TestW_SliceObject::()::test_normalize_simple_slice . pypy/objspace/std/test/test_sliceobject.py::TestW_SliceObject::()::test_indexes4 . pypy/objspace/std/test/test_sliceobject.py::AppTest_SliceObject::()::test_new . pypy/objspace/std/test/test_sliceobject.py::AppTest_SliceObject::()::test_indices . pypy/objspace/std/test/test_sliceobject.py::AppTest_SliceObject::()::test_repr . pypy/objspace/std/test/test_sliceobject.py::AppTest_SliceObject::()::test_eq . pypy/objspace/std/test/test_sliceobject.py::AppTest_SliceObject::()::test_lt . pypy/objspace/std/test/test_sliceobject.py::AppTest_SliceObject::()::test_long_indices . pypy/objspace/std/test/test_sliceobject.py::AppTest_SliceObject::()::test_reduce . pypy/objspace/std/test/test_smalllongobject.py::TestW_IntObject::()::test_int_w . pypy/objspace/std/test/test_smalllongobject.py::TestW_IntObject::()::test_uint_w . pypy/objspace/std/test/test_smalllongobject.py::TestW_IntObject::()::test_bigint_w . pypy/objspace/std/test/test_smalllongobject.py::TestW_IntObject::()::test_repr . pypy/objspace/std/test/test_smalllongobject.py::TestW_IntObject::()::test_str . pypy/objspace/std/test/test_smalllongobject.py::TestW_IntObject::()::test_hash . pypy/objspace/std/test/test_smalllongobject.py::TestW_IntObject::()::test_compare . pypy/objspace/std/test/test_smalllongobject.py::TestW_IntObject::()::test_add . pypy/objspace/std/test/test_smalllongobject.py::TestW_IntObject::()::test_add_ovf_int_op_shortcut . pypy/objspace/std/test/test_smalllongobject.py::TestW_IntObject::()::test_sub . pypy/objspace/std/test/test_smalllongobject.py::TestW_IntObject::()::test_sub_ovf_int_op_shortcut . pypy/objspace/std/test/test_smalllongobject.py::TestW_IntObject::()::test_mul . pypy/objspace/std/test/test_smalllongobject.py::TestW_IntObject::()::test_div . pypy/objspace/std/test/test_smalllongobject.py::TestW_IntObject::()::test_mod . pypy/objspace/std/test/test_smalllongobject.py::TestW_IntObject::()::test_divmod . pypy/objspace/std/test/test_smalllongobject.py::TestW_IntObject::()::test_pow_iii . pypy/objspace/std/test/test_smalllongobject.py::TestW_IntObject::()::test_pow_iin . pypy/objspace/std/test/test_smalllongobject.py::TestW_IntObject::()::test_pow_ovf_without_fromint . pypy/objspace/std/test/test_smalllongobject.py::TestW_IntObject::()::test_hypot_pow . pypy/objspace/std/test/test_smalllongobject.py::TestW_IntObject::()::test_hypot_pow_nomod . pypy/objspace/std/test/test_smalllongobject.py::TestW_IntObject::()::test_neg . pypy/objspace/std/test/test_smalllongobject.py::TestW_IntObject::()::test_pos . pypy/objspace/std/test/test_smalllongobject.py::TestW_IntObject::()::test_abs . pypy/objspace/std/test/test_smalllongobject.py::TestW_IntObject::()::test_invert . pypy/objspace/std/test/test_smalllongobject.py::TestW_IntObject::()::test_lshift F pypy/objspace/std/test/test_smalllongobject.py::TestW_IntObject::()::test_lshift_without_fromint self = monkeypatch = <_pytest.monkeypatch.monkeypatch instance at 0xf1ab6a0c> def test_lshift_without_fromint(self, monkeypatch): space = self.space monkeypatch.setattr(rbigint, 'fromint', None) x = sys.maxint // 4 y = 16 f1 = iobj.W_IntObject(x) f2 = iobj.W_IntObject(y) > v = f1.descr_lshift(space, f2) objspace/std/test/test_intobject.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ objspace/std/intobject.py:620: in descr_binop return ovf2long(space, x, self, y, w_other) objspace/std/intobject.py:645: in _ovf2long_lshift return space.newlong_from_rbigint(rbigint.lshift_int_int_bigint_result(x, y)) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ iself = 536870911, int_other = 16 @staticmethod @jit.elidable def lshift_int_int_bigint_result(iself, int_other): if not SUPPORT_INT128 or SHIFT != 63 or not int_in_valid_range(iself): > return rbigint.fromint(iself).lshift(int_other) E TypeError: 'NoneType' object is not callable ../rpython/rlib/rbigint.py:1383: TypeError . pypy/objspace/std/test/test_smalllongobject.py::TestW_IntObject::()::test_rshift . pypy/objspace/std/test/test_smalllongobject.py::TestW_IntObject::()::test_and . pypy/objspace/std/test/test_smalllongobject.py::TestW_IntObject::()::test_xor . pypy/objspace/std/test/test_smalllongobject.py::TestW_IntObject::()::test_or . pypy/objspace/std/test/test_smalllongobject.py::TestW_IntObject::()::test_int . pypy/objspace/std/test/test_smalllongobject.py::TestW_IntObject::()::test_oct . pypy/objspace/std/test/test_smalllongobject.py::TestW_IntObject::()::test_hex . pypy/objspace/std/test/test_smalllongobject.py::AppTestInt::()::test_hash . pypy/objspace/std/test/test_smalllongobject.py::AppTestInt::()::test_conjugate . pypy/objspace/std/test/test_smalllongobject.py::AppTestInt::()::test_inplace . pypy/objspace/std/test/test_smalllongobject.py::AppTestInt::()::test_trunc . pypy/objspace/std/test/test_smalllongobject.py::AppTestInt::()::test_int_callable . pypy/objspace/std/test/test_smalllongobject.py::AppTestInt::()::test_numerator_denominator . pypy/objspace/std/test/test_smalllongobject.py::AppTestInt::()::test_int_string . pypy/objspace/std/test/test_smalllongobject.py::AppTestInt::()::test_int_unicode . pypy/objspace/std/test/test_smalllongobject.py::AppTestInt::()::test_int_float . pypy/objspace/std/test/test_smalllongobject.py::AppTestInt::()::test_int_str_repr . pypy/objspace/std/test/test_smalllongobject.py::AppTestInt::()::test_int_two_param . pypy/objspace/std/test/test_smalllongobject.py::AppTestInt::()::test_int_largenums . pypy/objspace/std/test/test_smalllongobject.py::AppTestInt::()::test_shift_zeros . pypy/objspace/std/test/test_smalllongobject.py::AppTestInt::()::test_overflow . pypy/objspace/std/test/test_smalllongobject.py::AppTestInt::()::test_pow . pypy/objspace/std/test/test_smalllongobject.py::AppTestInt::()::test_int_w_long_arg . pypy/objspace/std/test/test_smalllongobject.py::AppTestInt::()::test_int_subclass_ctr . pypy/objspace/std/test/test_smalllongobject.py::AppTestInt::()::test_int_subclass_ops . pypy/objspace/std/test/test_smalllongobject.py::AppTestInt::()::test_int_subclass_int . pypy/objspace/std/test/test_smalllongobject.py::AppTestInt::()::test_special_int . pypy/objspace/std/test/test_smalllongobject.py::AppTestInt::()::test_special_long . pypy/objspace/std/test/test_smalllongobject.py::AppTestInt::()::test_just_trunc . pypy/objspace/std/test/test_smalllongobject.py::AppTestInt::()::test_override___int__ . pypy/objspace/std/test/test_smalllongobject.py::AppTestInt::()::test_trunc_returns_non_int . pypy/objspace/std/test/test_smalllongobject.py::AppTestInt::()::test_trunc_returns_int_subclass . pypy/objspace/std/test/test_smalllongobject.py::AppTestInt::()::test_int_before_string . pypy/objspace/std/test/test_smalllongobject.py::AppTestInt::()::test_getnewargs s pypy/objspace/std/test/test_smalllongobject.py::AppTestInt::()::test_cmp Skipped: This is a 'wont fix' case . pypy/objspace/std/test/test_smalllongobject.py::AppTestInt::()::test_bit_length . pypy/objspace/std/test/test_smalllongobject.py::AppTestInt::()::test_bit_length_max . pypy/objspace/std/test/test_smalllongobject.py::AppTestInt::()::test_int_real . pypy/objspace/std/test/test_smalllongobject.py::AppTestInt::()::test_int_error_msg . pypy/objspace/std/test/test_smalllongobject.py::AppTestInt::()::test_invalid_literal_message . pypy/objspace/std/test/test_smalllongobject.py::AppTestInt::()::test_coerce . pypy/objspace/std/test/test_smalllongobject.py::AppTestInt::()::test_fake_int_as_base . pypy/objspace/std/test/test_smalllongobject.py::AppTestInt::()::test_truediv . pypy/objspace/std/test/test_smalllongobject.py::AppTestInt::()::test_truediv_future . pypy/objspace/std/test/test_smalllongobject.py::AppTestInt::()::test_int_of_bool . pypy/objspace/std/test/test_smalllongobject.py::AppTestInt::()::test_binop_overflow . pypy/objspace/std/test/test_smalllongobject.py::AppTestInt::()::test_rbinop_overflow . pypy/objspace/std/test/test_smalllongobject.py::AppTestInt::()::test_some_rops . pypy/objspace/std/test/test_smalllongobject.py::AppTestInt::()::test_error_message_wrong_self . pypy/objspace/std/test/test_smalllongobject.py::test_direct[spaceconfig0] . pypy/objspace/std/test/test_smalllongobject.py::AppTestSmallLong::()::test_trunc . pypy/objspace/std/test/test_smalllongobject.py::AppTestSmallLong::()::test_add . pypy/objspace/std/test/test_smalllongobject.py::AppTestSmallLong::()::test_sub . pypy/objspace/std/test/test_smalllongobject.py::AppTestSmallLong::()::test_mul . pypy/objspace/std/test/test_smalllongobject.py::AppTestSmallLong::()::test_truediv . pypy/objspace/std/test/test_smalllongobject.py::AppTestSmallLong::()::test_floordiv . pypy/objspace/std/test/test_smalllongobject.py::AppTestSmallLong::()::test_int_floordiv . pypy/objspace/std/test/test_smalllongobject.py::AppTestSmallLong::()::test_numerator_denominator . pypy/objspace/std/test/test_smalllongobject.py::AppTestSmallLong::()::test_compare . pypy/objspace/std/test/test_smalllongobject.py::AppTestSmallLong::()::test_conversion . pypy/objspace/std/test/test_smalllongobject.py::AppTestSmallLong::()::test_shift . pypy/objspace/std/test/test_smalllongobject.py::AppTestSmallLong::()::test_pow . pypy/objspace/std/test/test_smalllongobject.py::AppTestSmallLong::()::test_int_pow . pypy/objspace/std/test/test_smalllongobject.py::AppTestSmallLong::()::test_getnewargs . pypy/objspace/std/test/test_smalllongobject.py::AppTestSmallLong::()::test_divmod . pypy/objspace/std/test/test_smalllongobject.py::AppTestSmallLong::()::test_int_divmod . pypy/objspace/std/test/test_smalllongobject.py::AppTestSmallLong::()::test_format . pypy/objspace/std/test/test_smalllongobject.py::AppTestSmallLong::()::test_bits . pypy/objspace/std/test/test_smalllongobject.py::AppTestSmallLong::()::test_hash . pypy/objspace/std/test/test_smalllongobject.py::AppTestSmallLong::()::test_math_log . pypy/objspace/std/test/test_smalllongobject.py::AppTestSmallLong::()::test_long . pypy/objspace/std/test/test_smalllongobject.py::AppTestSmallLong::()::test_huge_longs . pypy/objspace/std/test/test_smalllongobject.py::AppTestSmallLong::()::test_just_trunc . pypy/objspace/std/test/test_smalllongobject.py::AppTestSmallLong::()::test_override___long__ . pypy/objspace/std/test/test_smalllongobject.py::AppTestSmallLong::()::test___long__ . pypy/objspace/std/test/test_smalllongobject.py::AppTestSmallLong::()::test_trunc_returns . pypy/objspace/std/test/test_smalllongobject.py::AppTestSmallLong::()::test_long_before_string . pypy/objspace/std/test/test_smalllongobject.py::AppTestSmallLong::()::test_long_errors . pypy/objspace/std/test/test_smalllongobject.py::AppTestSmallLong::()::test_conjugate . pypy/objspace/std/test/test_smalllongobject.py::AppTestSmallLong::()::test_bit_length . pypy/objspace/std/test/test_smalllongobject.py::AppTestSmallLong::()::test_negative_zero . pypy/objspace/std/test/test_smalllongobject.py::AppTestSmallLong::()::test_mix_int_and_long . pypy/objspace/std/test/test_smalllongobject.py::AppTestSmallLong::()::test_long_real . pypy/objspace/std/test/test_smalllongobject.py::AppTestSmallLong::()::test__int__ . pypy/objspace/std/test/test_smalllongobject.py::AppTestSmallLong::()::test_long_error_msg . pypy/objspace/std/test/test_smalllongobject.py::AppTestSmallLong::()::test_coerce . pypy/objspace/std/test/test_smalllongobject.py::AppTestSmallLong::()::test_linear_long_base_16 . pypy/objspace/std/test/test_smalllongobject.py::AppTestSmallLong::()::test_error_message_wrong_self . pypy/objspace/std/test/test_smalllongobject.py::AppTestSmallLong::()::test_sl_simple . pypy/objspace/std/test/test_smalllongobject.py::AppTestSmallLong::()::test_sl_hash . pypy/objspace/std/test/test_smalllongobject.py::AppTestSmallLong::()::test_sl_int . pypy/objspace/std/test/test_smalllongobject.py::AppTestSmallLong::()::test_sl_long . pypy/objspace/std/test/test_smalllongobject.py::AppTestSmallLong::()::test_sl_add . pypy/objspace/std/test/test_smalllongobject.py::AppTestSmallLong::()::test_sl_add_32 . pypy/objspace/std/test/test_smalllongobject.py::AppTestSmallLong::()::test_sl_lshift . pypy/objspace/std/test/test_smalllongobject.py::TestW_IntObjectWithSmallLong::()::test_int_w . pypy/objspace/std/test/test_smalllongobject.py::TestW_IntObjectWithSmallLong::()::test_uint_w . pypy/objspace/std/test/test_smalllongobject.py::TestW_IntObjectWithSmallLong::()::test_bigint_w . pypy/objspace/std/test/test_smalllongobject.py::TestW_IntObjectWithSmallLong::()::test_repr . pypy/objspace/std/test/test_smalllongobject.py::TestW_IntObjectWithSmallLong::()::test_str . pypy/objspace/std/test/test_smalllongobject.py::TestW_IntObjectWithSmallLong::()::test_hash . pypy/objspace/std/test/test_smalllongobject.py::TestW_IntObjectWithSmallLong::()::test_compare . pypy/objspace/std/test/test_smalllongobject.py::TestW_IntObjectWithSmallLong::()::test_add . pypy/objspace/std/test/test_smalllongobject.py::TestW_IntObjectWithSmallLong::()::test_add_ovf_int_op_shortcut . pypy/objspace/std/test/test_smalllongobject.py::TestW_IntObjectWithSmallLong::()::test_sub . pypy/objspace/std/test/test_smalllongobject.py::TestW_IntObjectWithSmallLong::()::test_sub_ovf_int_op_shortcut . pypy/objspace/std/test/test_smalllongobject.py::TestW_IntObjectWithSmallLong::()::test_mul . pypy/objspace/std/test/test_smalllongobject.py::TestW_IntObjectWithSmallLong::()::test_div . pypy/objspace/std/test/test_smalllongobject.py::TestW_IntObjectWithSmallLong::()::test_mod . pypy/objspace/std/test/test_smalllongobject.py::TestW_IntObjectWithSmallLong::()::test_divmod . pypy/objspace/std/test/test_smalllongobject.py::TestW_IntObjectWithSmallLong::()::test_pow_iii . pypy/objspace/std/test/test_smalllongobject.py::TestW_IntObjectWithSmallLong::()::test_pow_iin . pypy/objspace/std/test/test_smalllongobject.py::TestW_IntObjectWithSmallLong::()::test_pow_ovf_without_fromint . pypy/objspace/std/test/test_smalllongobject.py::TestW_IntObjectWithSmallLong::()::test_hypot_pow . pypy/objspace/std/test/test_smalllongobject.py::TestW_IntObjectWithSmallLong::()::test_hypot_pow_nomod . pypy/objspace/std/test/test_smalllongobject.py::TestW_IntObjectWithSmallLong::()::test_neg . pypy/objspace/std/test/test_smalllongobject.py::TestW_IntObjectWithSmallLong::()::test_pos . pypy/objspace/std/test/test_smalllongobject.py::TestW_IntObjectWithSmallLong::()::test_abs . pypy/objspace/std/test/test_smalllongobject.py::TestW_IntObjectWithSmallLong::()::test_invert . pypy/objspace/std/test/test_smalllongobject.py::TestW_IntObjectWithSmallLong::()::test_lshift . pypy/objspace/std/test/test_smalllongobject.py::TestW_IntObjectWithSmallLong::()::test_lshift_without_fromint . pypy/objspace/std/test/test_smalllongobject.py::TestW_IntObjectWithSmallLong::()::test_rshift . pypy/objspace/std/test/test_smalllongobject.py::TestW_IntObjectWithSmallLong::()::test_and . pypy/objspace/std/test/test_smalllongobject.py::TestW_IntObjectWithSmallLong::()::test_xor . pypy/objspace/std/test/test_smalllongobject.py::TestW_IntObjectWithSmallLong::()::test_or . pypy/objspace/std/test/test_smalllongobject.py::TestW_IntObjectWithSmallLong::()::test_int . pypy/objspace/std/test/test_smalllongobject.py::TestW_IntObjectWithSmallLong::()::test_oct . pypy/objspace/std/test/test_smalllongobject.py::TestW_IntObjectWithSmallLong::()::test_hex . pypy/objspace/std/test/test_smalllongobject.py::AppTestIntWithSmallLong::()::test_hash . pypy/objspace/std/test/test_smalllongobject.py::AppTestIntWithSmallLong::()::test_conjugate . pypy/objspace/std/test/test_smalllongobject.py::AppTestIntWithSmallLong::()::test_inplace . pypy/objspace/std/test/test_smalllongobject.py::AppTestIntWithSmallLong::()::test_trunc . pypy/objspace/std/test/test_smalllongobject.py::AppTestIntWithSmallLong::()::test_int_callable . pypy/objspace/std/test/test_smalllongobject.py::AppTestIntWithSmallLong::()::test_numerator_denominator . pypy/objspace/std/test/test_smalllongobject.py::AppTestIntWithSmallLong::()::test_int_string . pypy/objspace/std/test/test_smalllongobject.py::AppTestIntWithSmallLong::()::test_int_unicode . pypy/objspace/std/test/test_smalllongobject.py::AppTestIntWithSmallLong::()::test_int_float . pypy/objspace/std/test/test_smalllongobject.py::AppTestIntWithSmallLong::()::test_int_str_repr . pypy/objspace/std/test/test_smalllongobject.py::AppTestIntWithSmallLong::()::test_int_two_param . pypy/objspace/std/test/test_smalllongobject.py::AppTestIntWithSmallLong::()::test_int_largenums . pypy/objspace/std/test/test_smalllongobject.py::AppTestIntWithSmallLong::()::test_shift_zeros . pypy/objspace/std/test/test_smalllongobject.py::AppTestIntWithSmallLong::()::test_overflow . pypy/objspace/std/test/test_smalllongobject.py::AppTestIntWithSmallLong::()::test_pow . pypy/objspace/std/test/test_smalllongobject.py::AppTestIntWithSmallLong::()::test_int_w_long_arg . pypy/objspace/std/test/test_smalllongobject.py::AppTestIntWithSmallLong::()::test_int_subclass_ctr . pypy/objspace/std/test/test_smalllongobject.py::AppTestIntWithSmallLong::()::test_int_subclass_ops . pypy/objspace/std/test/test_smalllongobject.py::AppTestIntWithSmallLong::()::test_int_subclass_int . pypy/objspace/std/test/test_smalllongobject.py::AppTestIntWithSmallLong::()::test_special_int . pypy/objspace/std/test/test_smalllongobject.py::AppTestIntWithSmallLong::()::test_special_long . pypy/objspace/std/test/test_smalllongobject.py::AppTestIntWithSmallLong::()::test_just_trunc . pypy/objspace/std/test/test_smalllongobject.py::AppTestIntWithSmallLong::()::test_override___int__ . pypy/objspace/std/test/test_smalllongobject.py::AppTestIntWithSmallLong::()::test_trunc_returns_non_int . pypy/objspace/std/test/test_smalllongobject.py::AppTestIntWithSmallLong::()::test_trunc_returns_int_subclass . pypy/objspace/std/test/test_smalllongobject.py::AppTestIntWithSmallLong::()::test_int_before_string . pypy/objspace/std/test/test_smalllongobject.py::AppTestIntWithSmallLong::()::test_getnewargs s pypy/objspace/std/test/test_smalllongobject.py::AppTestIntWithSmallLong::()::test_cmp Skipped: This is a 'wont fix' case . pypy/objspace/std/test/test_smalllongobject.py::AppTestIntWithSmallLong::()::test_bit_length . pypy/objspace/std/test/test_smalllongobject.py::AppTestIntWithSmallLong::()::test_bit_length_max . pypy/objspace/std/test/test_smalllongobject.py::AppTestIntWithSmallLong::()::test_int_real . pypy/objspace/std/test/test_smalllongobject.py::AppTestIntWithSmallLong::()::test_int_error_msg . pypy/objspace/std/test/test_smalllongobject.py::AppTestIntWithSmallLong::()::test_invalid_literal_message . pypy/objspace/std/test/test_smalllongobject.py::AppTestIntWithSmallLong::()::test_coerce . pypy/objspace/std/test/test_smalllongobject.py::AppTestIntWithSmallLong::()::test_fake_int_as_base . pypy/objspace/std/test/test_smalllongobject.py::AppTestIntWithSmallLong::()::test_truediv . pypy/objspace/std/test/test_smalllongobject.py::AppTestIntWithSmallLong::()::test_truediv_future . pypy/objspace/std/test/test_smalllongobject.py::AppTestIntWithSmallLong::()::test_int_of_bool . pypy/objspace/std/test/test_smalllongobject.py::AppTestIntWithSmallLong::()::test_binop_overflow . pypy/objspace/std/test/test_smalllongobject.py::AppTestIntWithSmallLong::()::test_rbinop_overflow . pypy/objspace/std/test/test_smalllongobject.py::AppTestIntWithSmallLong::()::test_some_rops . pypy/objspace/std/test/test_smalllongobject.py::AppTestIntWithSmallLong::()::test_error_message_wrong_self . pypy/objspace/std/test/test_specialisedtupleobject.py::TestW_SpecialisedTupleObject::()::test_isspecialisedtupleobjectintint . pypy/objspace/std/test/test_specialisedtupleobject.py::TestW_SpecialisedTupleObject::()::test_isnotspecialisedtupleobject . pypy/objspace/std/test/test_specialisedtupleobject.py::TestW_SpecialisedTupleObject::()::test_specialisedtupleclassname . pypy/objspace/std/test/test_specialisedtupleobject.py::TestW_SpecialisedTupleObject::()::test_hash_against_normal_tuple . pypy/objspace/std/test/test_specialisedtupleobject.py::TestW_SpecialisedTupleObject::()::test_hash_with_hypothesis . pypy/objspace/std/test/test_specialisedtupleobject.py::AppTestW_SpecialisedTupleObject::()::test_createspecialisedtuple . pypy/objspace/std/test/test_specialisedtupleobject.py::AppTestW_SpecialisedTupleObject::()::test_len . pypy/objspace/std/test/test_specialisedtupleobject.py::AppTestW_SpecialisedTupleObject::()::test_notspecialisedtuple . pypy/objspace/std/test/test_specialisedtupleobject.py::AppTestW_SpecialisedTupleObject::()::test_slicing_to_specialised . pypy/objspace/std/test/test_specialisedtupleobject.py::AppTestW_SpecialisedTupleObject::()::test_adding_to_specialised . pypy/objspace/std/test/test_specialisedtupleobject.py::AppTestW_SpecialisedTupleObject::()::test_multiply_to_specialised . pypy/objspace/std/test/test_specialisedtupleobject.py::AppTestW_SpecialisedTupleObject::()::test_slicing_from_specialised . pypy/objspace/std/test/test_specialisedtupleobject.py::AppTestW_SpecialisedTupleObject::()::test_eq_no_delegation . pypy/objspace/std/test/test_specialisedtupleobject.py::AppTestW_SpecialisedTupleObject::()::test_eq_can_delegate . pypy/objspace/std/test/test_specialisedtupleobject.py::AppTestW_SpecialisedTupleObject::()::test_neq . pypy/objspace/std/test/test_specialisedtupleobject.py::AppTestW_SpecialisedTupleObject::()::test_ordering . pypy/objspace/std/test/test_specialisedtupleobject.py::AppTestW_SpecialisedTupleObject::()::test_hash . pypy/objspace/std/test/test_specialisedtupleobject.py::AppTestW_SpecialisedTupleObject::()::test_getitem s pypy/objspace/std/test/test_specialisedtupleobject.py::AppTestW_SpecialisedTupleObject::()::test_three_tuples Skipped: don't have specialization for 3-tuples s pypy/objspace/std/test/test_specialisedtupleobject.py::AppTestW_SpecialisedTupleObject::()::test_mongrel Skipped: don't have specialization for 3-tuples . pypy/objspace/std/test/test_specialisedtupleobject.py::AppTestW_SpecialisedTupleObject::()::test_subclasses . pypy/objspace/std/test/test_specialisedtupleobject.py::AppTestW_SpecialisedTupleObject::()::test_bug_tuples_of_nans . pypy/objspace/std/test/test_specialisedtupleobject.py::AppTestAll::()::test_is_true . pypy/objspace/std/test/test_specialisedtupleobject.py::AppTestAll::()::test_len . pypy/objspace/std/test/test_specialisedtupleobject.py::AppTestAll::()::test_getitem . pypy/objspace/std/test/test_specialisedtupleobject.py::AppTestAll::()::test_iter . pypy/objspace/std/test/test_specialisedtupleobject.py::AppTestAll::()::test_contains . pypy/objspace/std/test/test_specialisedtupleobject.py::AppTestAll::()::test_add . pypy/objspace/std/test/test_specialisedtupleobject.py::AppTestAll::()::test_mul . pypy/objspace/std/test/test_specialisedtupleobject.py::AppTestAll::()::test_mul_identity . pypy/objspace/std/test/test_specialisedtupleobject.py::AppTestAll::()::test_mul_subtype . pypy/objspace/std/test/test_specialisedtupleobject.py::AppTestAll::()::test_getslice_2 . pypy/objspace/std/test/test_specialisedtupleobject.py::AppTestAll::()::test_eq . pypy/objspace/std/test/test_specialisedtupleobject.py::AppTestAll::()::test_hash . pypy/objspace/std/test/test_specialisedtupleobject.py::AppTestAll::()::test_getnewargs . pypy/objspace/std/test/test_specialisedtupleobject.py::AppTestAll::()::test_repr . pypy/objspace/std/test/test_specialisedtupleobject.py::AppTestAll::()::test_getslice . pypy/objspace/std/test/test_specialisedtupleobject.py::AppTestAll::()::test_count . pypy/objspace/std/test/test_specialisedtupleobject.py::AppTestAll::()::test_index . pypy/objspace/std/test/test_specialisedtupleobject.py::AppTestAll::()::test_comparison . pypy/objspace/std/test/test_specialisedtupleobject.py::AppTestAll::()::test_eq_other_type . pypy/objspace/std/test/test_specialisedtupleobject.py::AppTestAll::()::test_zip_two_lists . pypy/objspace/std/test/test_specialisedtupleobject.py::AppTestAll::()::test_error_message_wrong_self s pypy/objspace/std/test/test_stdobjspace.py::TestW_StdObjSpace::()::test_wrap_wrap Skipped: maybe unskip in the future . pypy/objspace/std/test/test_stdobjspace.py::TestW_StdObjSpace::()::test_str_w_non_str . pypy/objspace/std/test/test_stdobjspace.py::TestW_StdObjSpace::()::test_int_w_non_int . pypy/objspace/std/test/test_stdobjspace.py::TestW_StdObjSpace::()::test_uint_w_non_int . pypy/objspace/std/test/test_stdobjspace.py::TestW_StdObjSpace::()::test_sliceindices . pypy/objspace/std/test/test_stdobjspace.py::TestW_StdObjSpace::()::test_fastpath_isinstance . pypy/objspace/std/test/test_stdobjspace.py::TestW_StdObjSpace::()::test_wrap_various_unsigned_types . pypy/objspace/std/test/test_tupleobject.py::TestW_TupleObject::()::test_is_true . pypy/objspace/std/test/test_tupleobject.py::TestW_TupleObject::()::test_len . pypy/objspace/std/test/test_tupleobject.py::TestW_TupleObject::()::test_getitem . pypy/objspace/std/test/test_tupleobject.py::TestW_TupleObject::()::test_iter . pypy/objspace/std/test/test_tupleobject.py::TestW_TupleObject::()::test_contains . pypy/objspace/std/test/test_tupleobject.py::TestW_TupleObject::()::test_add . pypy/objspace/std/test/test_tupleobject.py::TestW_TupleObject::()::test_mul . pypy/objspace/std/test/test_tupleobject.py::TestW_TupleObject::()::test_getslice . pypy/objspace/std/test/test_tupleobject.py::TestW_TupleObject::()::test_eq . pypy/objspace/std/test/test_tupleobject.py::TestW_TupleObject::()::test_ne . pypy/objspace/std/test/test_tupleobject.py::TestW_TupleObject::()::test_lt . pypy/objspace/std/test/test_tupleobject.py::TestW_TupleObject::()::test_ge . pypy/objspace/std/test/test_tupleobject.py::TestW_TupleObject::()::test_gt . pypy/objspace/std/test/test_tupleobject.py::TestW_TupleObject::()::test_le . pypy/objspace/std/test/test_tupleobject.py::AppTestW_TupleObject::()::test_is_true . pypy/objspace/std/test/test_tupleobject.py::AppTestW_TupleObject::()::test_len . pypy/objspace/std/test/test_tupleobject.py::AppTestW_TupleObject::()::test_getitem . pypy/objspace/std/test/test_tupleobject.py::AppTestW_TupleObject::()::test_iter . pypy/objspace/std/test/test_tupleobject.py::AppTestW_TupleObject::()::test_contains . pypy/objspace/std/test/test_tupleobject.py::AppTestW_TupleObject::()::test_add . pypy/objspace/std/test/test_tupleobject.py::AppTestW_TupleObject::()::test_mul . pypy/objspace/std/test/test_tupleobject.py::AppTestW_TupleObject::()::test_mul_identity . pypy/objspace/std/test/test_tupleobject.py::AppTestW_TupleObject::()::test_mul_subtype . pypy/objspace/std/test/test_tupleobject.py::AppTestW_TupleObject::()::test_getslice_2 . pypy/objspace/std/test/test_tupleobject.py::AppTestW_TupleObject::()::test_eq . pypy/objspace/std/test/test_tupleobject.py::AppTestW_TupleObject::()::test_hash . pypy/objspace/std/test/test_tupleobject.py::AppTestW_TupleObject::()::test_getnewargs . pypy/objspace/std/test/test_tupleobject.py::AppTestW_TupleObject::()::test_repr . pypy/objspace/std/test/test_tupleobject.py::AppTestW_TupleObject::()::test_getslice . pypy/objspace/std/test/test_tupleobject.py::AppTestW_TupleObject::()::test_count . pypy/objspace/std/test/test_tupleobject.py::AppTestW_TupleObject::()::test_index . pypy/objspace/std/test/test_tupleobject.py::AppTestW_TupleObject::()::test_comparison . pypy/objspace/std/test/test_tupleobject.py::AppTestW_TupleObject::()::test_eq_other_type . pypy/objspace/std/test/test_tupleobject.py::AppTestW_TupleObject::()::test_zip_two_lists . pypy/objspace/std/test/test_tupleobject.py::AppTestW_TupleObject::()::test_error_message_wrong_self . pypy/objspace/std/test/test_typeobject.py::TestTypeObject::()::test_not_acceptable_as_base_class . pypy/objspace/std/test/test_typeobject.py::TestTypeObject::()::test_del_warning . pypy/objspace/std/test/test_typeobject.py::TestTypeObject::()::test_setattr_if_not_from_object . pypy/objspace/std/test/test_typeobject.py::AppTestTypeObject::()::test_abstract_methods . pypy/objspace/std/test/test_typeobject.py::AppTestTypeObject::()::test_attribute_error . pypy/objspace/std/test/test_typeobject.py::AppTestTypeObject::()::test_call_type . pypy/objspace/std/test/test_typeobject.py::AppTestTypeObject::()::test_call_type_subclass . pypy/objspace/std/test/test_typeobject.py::AppTestTypeObject::()::test_bases . pypy/objspace/std/test/test_typeobject.py::AppTestTypeObject::()::test_mutable_bases . pypy/objspace/std/test/test_typeobject.py::AppTestTypeObject::()::test_mutable_bases_with_failing_mro . pypy/objspace/std/test/test_typeobject.py::AppTestTypeObject::()::test_mutable_bases_catch_mro_conflict . pypy/objspace/std/test/test_typeobject.py::AppTestTypeObject::()::test_mutable_bases_versus_nonheap_types . pypy/objspace/std/test/test_typeobject.py::AppTestTypeObject::()::test_mutable_bases_versus_slots . pypy/objspace/std/test/test_typeobject.py::AppTestTypeObject::()::test_mutable_bases_versus_weakref . pypy/objspace/std/test/test_typeobject.py::AppTestTypeObject::()::test_mutable_bases_same_slots . pypy/objspace/std/test/test_typeobject.py::AppTestTypeObject::()::test_mutable_bases_versus_slots_2 . pypy/objspace/std/test/test_typeobject.py::AppTestTypeObject::()::test_mutable_bases_keeping_slots . pypy/objspace/std/test/test_typeobject.py::AppTestTypeObject::()::test_compatible_slot_layout . pypy/objspace/std/test/test_typeobject.py::AppTestTypeObject::()::test_builtin_add . pypy/objspace/std/test/test_typeobject.py::AppTestTypeObject::()::test_builtin_call . pypy/objspace/std/test/test_typeobject.py::AppTestTypeObject::()::test_builtin_call_kwds . pypy/objspace/std/test/test_typeobject.py::AppTestTypeObject::()::test_multipleinheritance_fail . pypy/objspace/std/test/test_typeobject.py::AppTestTypeObject::()::test_outer_metaclass . pypy/objspace/std/test/test_typeobject.py::AppTestTypeObject::()::test_inner_metaclass . pypy/objspace/std/test/test_typeobject.py::AppTestTypeObject::()::test_implicit_metaclass . pypy/objspace/std/test/test_typeobject.py::AppTestTypeObject::()::test_mro . pypy/objspace/std/test/test_typeobject.py::AppTestTypeObject::()::test_mro_mutation_interaction_bug . pypy/objspace/std/test/test_typeobject.py::AppTestTypeObject::()::test_abstract_mro . pypy/objspace/std/test/test_typeobject.py::AppTestTypeObject::()::test_nodoc . pypy/objspace/std/test/test_typeobject.py::AppTestTypeObject::()::test_explicitdoc . pypy/objspace/std/test/test_typeobject.py::AppTestTypeObject::()::test_implicitdoc . pypy/objspace/std/test/test_typeobject.py::AppTestTypeObject::()::test_immutabledoc . pypy/objspace/std/test/test_typeobject.py::AppTestTypeObject::()::test_metaclass_conflict . pypy/objspace/std/test/test_typeobject.py::AppTestTypeObject::()::test_metaclass_choice . pypy/objspace/std/test/test_typeobject.py::AppTestTypeObject::()::test_descr_typecheck . pypy/objspace/std/test/test_typeobject.py::AppTestTypeObject::()::test_slots_simple . pypy/objspace/std/test/test_typeobject.py::AppTestTypeObject::()::test_slot_mangling . pypy/objspace/std/test/test_typeobject.py::AppTestTypeObject::()::test_slots_multiple_inheritance . pypy/objspace/std/test/test_typeobject.py::AppTestTypeObject::()::test_string_slots . pypy/objspace/std/test/test_typeobject.py::AppTestTypeObject::()::test_base_attr . pypy/objspace/std/test/test_typeobject.py::AppTestTypeObject::()::test_cannot_subclass . pypy/objspace/std/test/test_typeobject.py::AppTestTypeObject::()::test_slot_conflict . pypy/objspace/std/test/test_typeobject.py::AppTestTypeObject::()::test_repr . pypy/objspace/std/test/test_typeobject.py::AppTestTypeObject::()::test_repr_issue1292 . pypy/objspace/std/test/test_typeobject.py::AppTestTypeObject::()::test_invalid_mro . pypy/objspace/std/test/test_typeobject.py::AppTestTypeObject::()::test_data_descriptor_without_get . pypy/objspace/std/test/test_typeobject.py::AppTestTypeObject::()::test_user_defined_mro_cls_access . pypy/objspace/std/test/test_typeobject.py::AppTestTypeObject::()::test_only_classic_bases_fails . pypy/objspace/std/test/test_typeobject.py::AppTestTypeObject::()::test_set___class__ . pypy/objspace/std/test/test_typeobject.py::AppTestTypeObject::()::test_name . pypy/objspace/std/test/test_typeobject.py::AppTestTypeObject::()::test_compare . pypy/objspace/std/test/test_typeobject.py::AppTestTypeObject::()::test_class_variations . pypy/objspace/std/test/test_typeobject.py::AppTestTypeObject::()::test_module . pypy/objspace/std/test/test_typeobject.py::AppTestTypeObject::()::test_immutable_builtin . pypy/objspace/std/test/test_typeobject.py::AppTestTypeObject::()::test_nontype_in_mro . pypy/objspace/std/test/test_typeobject.py::AppTestTypeObject::()::test_init_must_return_none . pypy/objspace/std/test/test_typeobject.py::AppTestTypeObject::()::test_dictproxy_is_updated . pypy/objspace/std/test/test_typeobject.py::AppTestTypeObject::()::test_type_descriptors_overridden . pypy/objspace/std/test/test_typeobject.py::AppTestTypeObject::()::test_change_dict . pypy/objspace/std/test/test_typeobject.py::AppTestTypeObject::()::test_mutate_dict . pypy/objspace/std/test/test_typeobject.py::AppTestTypeObject::()::test_we_already_got_one_1 . pypy/objspace/std/test/test_typeobject.py::AppTestTypeObject::()::test_we_already_got_one_2 . pypy/objspace/std/test/test_typeobject.py::AppTestTypeObject::()::test_crash_mro_without_object_1 . pypy/objspace/std/test/test_typeobject.py::AppTestTypeObject::()::test_crash_mro_without_object_2 . pypy/objspace/std/test/test_typeobject.py::AppTestTypeObject::()::test_instancecheck . pypy/objspace/std/test/test_typeobject.py::AppTestTypeObject::()::test_subclasscheck . pypy/objspace/std/test/test_typeobject.py::AppTestTypeObject::()::test_bad_args . pypy/objspace/std/test/test_typeobject.py::AppTestWithMethodCacheCounter::()::test_module_from_handbuilt_type . pypy/objspace/std/test/test_typeobject.py::AppTestGetattributeShortcut::()::test_reset_logic . pypy/objspace/std/test/test_typeobject.py::TestNewShortcut::()::test_mechanics . pypy/objspace/std/test/test_typeobject.py::AppTestNewShortcut::()::test_reset_logic . pypy/objspace/std/test/test_typeobject.py::AppTestNewShortcut::()::test_dont_explode_on_non_types . pypy/objspace/std/test/test_typeobject.py::AppTestNewShortcut::()::test_slots_with_method_in_class . pypy/objspace/std/test/test_typeobject.py::AppTestNewShortcut::()::test_eq_returns_notimplemented . pypy/objspace/std/test/test_typeobject.py::AppTestNewShortcut::()::test_cmp_on_types . pypy/objspace/std/test/test_typeobject.py::AppTestComparesByIdentity::()::test_compares_by_identity . pypy/objspace/std/test/test_typeobject.py::AppTestComparesByIdentity::()::test_modify_class . pypy/objspace/std/test/test_typeobject.py::AppTestComparesByIdentity::()::test_descriptor_objclass . pypy/objspace/std/test/test_unicodeobject.py::TestUnicodeObject::()::test_comparison_warning . pypy/objspace/std/test/test_unicodeobject.py::TestUnicodeObject::()::test_listview_ascii . pypy/objspace/std/test/test_unicodeobject.py::TestUnicodeObject::()::test_new_shortcut . pypy/objspace/std/test/test_unicodeobject.py::TestUnicodeObject::()::test_fast_iter . pypy/objspace/std/test/test_unicodeobject.py::TestUnicodeObject::()::test_hypo_index_find . pypy/objspace/std/test/test_unicodeobject.py::TestUnicodeObject::()::test_getitem_constant_index_jit . pypy/objspace/std/test/test_unicodeobject.py::TestUnicodeObject::()::test_getslice_constant_index_jit . pypy/objspace/std/test/test_unicodeobject.py::TestUnicodeObject::()::test_lower_upper_ascii . pypy/objspace/std/test/test_unicodeobject.py::TestUnicodeObject::()::test_latin1_ascii_encode_shortcut_ascii . pypy/objspace/std/test/test_unicodeobject.py::TestUnicodeObject::()::test_utf8_ascii_encode_shortcut_ascii . pypy/objspace/std/test/test_unicodeobject.py::TestUnicodeObject::()::test_split_shortcut_ascii . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeStringStdOnly::()::test_compares . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_addition . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_getitem . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_join . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_contains_ex . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_contains . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_splitlines . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_zfill . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_split . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_rsplit . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_rsplit_bug . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_split_rsplit_str_unicode . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_center . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_title . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_istitle . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_islower_isupper_with_titlecase . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_lower_upper . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_capitalize . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_rjust . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_ljust . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_replace . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_replace_buffer . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_replace_overflow . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_strip . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_strip_nonascii . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_strip_str_unicode . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_rstrip_bug . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_long_from_unicode . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_int_from_unicode . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_float_from_unicode . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_repr_16bits . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_repr . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_getnewargs . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_call_unicode . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_call_unicode_2 . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_startswith . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_startswith_more . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_startswith_too_large . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_startswith_tuples . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_startswith_endswith_convert . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_endswith . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_endswith_more . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_endswith_tuple . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_expandtabs . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_expandtabs_overflows_gracefully . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_expandtabs_0 . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_expandtabs_bug . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_translate . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_unicode_from_encoded_object . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_unicode_startswith_tuple . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_missing_cases . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_codecs_utf7 . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_codecs_utf8 . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_codecs_errors . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_repr_bug . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_partition . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_rpartition . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_partition_str_unicode . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_mul . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_index . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_rindex . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_rfind . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_rfind_corner_case . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_find_index_str_unicode . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_count_unicode . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_count_str_unicode . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_swapcase . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_buffer . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_call_special_methods . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_str_unicode_concat_overrides . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_returns_subclass . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_getslice . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_getitem_slice . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_no_len_on_str_iter . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_encode_raw_unicode_escape . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_decode_from_buffer . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_unicode_conversion_with__unicode__ . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_unicode_conversion_with__str__ . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_formatting_unicode__str__ s pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_formatting_unicode__str__2 Skipped: but this case here is completely insane . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_formatting_unicode__str__3 . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_format_repeat . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_formatting_char . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_str_subclass . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_class_with_both_str_and_unicode . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_format_unicode_subclass . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_format_c_overflow . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_replace_with_buffer . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_unicode_subclass . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_isdecimal . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_isnumeric . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_replace_str_unicode . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_join_subclass . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_encoding_and_errors_cant_be_none . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_unicode_constructor_misc . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_newlist_utf8_non_ascii . pypy/objspace/std/test/test_unicodeobject.py::AppTestUnicodeString::()::test_replace_no_occurrence . pypy/objspace/std/test/test_userobject.py::AppTestUserObject::()::test_hash . pypy/objspace/std/test/test_versionedtype.py::TestVersionedType::()::test_not_acceptable_as_base_class . pypy/objspace/std/test/test_versionedtype.py::TestVersionedType::()::test_del_warning . pypy/objspace/std/test/test_versionedtype.py::TestVersionedType::()::test_setattr_if_not_from_object . pypy/objspace/std/test/test_versionedtype.py::TestVersionedType::()::test_tag_changes . pypy/objspace/std/test/test_versionedtype.py::TestVersionedType::()::test_tag_changes_when_bases_change . pypy/objspace/std/test/test_versionedtype.py::TestVersionedType::()::test_tag_changes_only_when_dict_changes . pypy/objspace/std/test/test_versionedtype.py::TestVersionedType::()::test_tag_changes_When_module_changes . pypy/objspace/std/test/test_versionedtype.py::TestVersionedType::()::test_version_tag_of_builtin_types . pypy/objspace/std/test/test_versionedtype.py::TestVersionedType::()::test_version_tag_of_subclasses_of_builtin_types . pypy/objspace/std/test/test_versionedtype.py::TestVersionedType::()::test_version_tag_mixes_oldnew . pypy/objspace/std/test/test_versionedtype.py::TestVersionedType::()::test_version_tag_of_modules . pypy/objspace/std/test/test_versionedtype.py::TestVersionedType::()::test_version_tag_when_changing_a_lot . pypy/objspace/std/test/test_versionedtype.py::TestVersionedType::()::test_no_cell_when_writing_same_value . pypy/objspace/std/test/test_versionedtype.py::TestVersionedType::()::test_int_cells . pypy/objspace/std/test/test_versionedtype.py::TestVersionedType::()::test_int_cell_turns_into_cell (somefailed=True in objspace/std/test)