Package: src:python-pegen Version: 0.3.0-1 Severity: serious Tags: ftbfs forky sid
Dear maintainer: During a rebuild of all packages in unstable, this package failed to build. Below you will find the last part of the build log (probably the most relevant part, but not necessarily). If required, the full build log is available here: https://people.debian.org/~sanvila/build-logs/202512/ About the archive rebuild: The build was made on virtual machines from AWS, using sbuild and a reduced chroot with only build-essential packages. If you cannot reproduce the bug please contact me privately, as I am willing to provide ssh access to a virtual machine where the bug is fully reproducible. If this is really a bug in one of the build-depends, please use reassign and add an affects on src:python-pegen, so that this is still visible in the BTS web page for this package. Thanks. -------------------------------------------------------------------------------- [...] debian/rules clean dh clean --with python3 --buildsystem=pybuild dh_auto_clean -O--buildsystem=pybuild dh_autoreconf_clean -O--buildsystem=pybuild dh_clean -O--buildsystem=pybuild debian/rules binary dh binary --with python3 --buildsystem=pybuild dh_update_autotools_config -O--buildsystem=pybuild dh_autoreconf -O--buildsystem=pybuild dh_auto_configure -O--buildsystem=pybuild dh_auto_build -O--buildsystem=pybuild I: pybuild plugin_pyproject:131: Building wheel for python3.14 with "build" module I: pybuild base:317: python3.14 -m build --skip-dependency-check --no-isolation --wheel --outdir /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_pegen * Building wheel... /usr/lib/python3/dist-packages/setuptools/config/_apply_pyprojecttoml.py:82: SetuptoolsDeprecationWarning: `project.license` as a TOML table is deprecated [... snipped ...] print(str(e.exconly())) assert message in str(e.exconly()) if start is None: return # Check start/end line/column on Python 3.10 for parser, exc in ([("Python", py_exc)] if sys.version_info >= min_python_version else []) + [ ("pegen", e.value) ]: if ( exc.lineno != start[0] or exc.offset != start[1] # Do not check end for indentation errors or ( sys.version_info >= (3, 10) and not isinstance(e, IndentationError) and exc.end_lineno != end[0] ) or ( sys.version_info >= (3, 10) and not isinstance(e, IndentationError) and (end[1] is not None and exc.end_offset != end[1]) ) ): if sys.version_info >= (3, 10): > raise ValueError( f"Expected locations of {start} and {end}, but got " f"{(exc.lineno, exc.offset)} and {(exc.end_lineno, exc.end_offset)} " f"from {parser}" ) E ValueError: Expected locations of (3, 18) and (3, 19), but got (3, 33) and (3, 34) from Python tests/python_parser/test_syntax_error_handling.py:76: ValueError ----------------------------- Captured stdout call ----------------------------- File "<unknown>", line 3 except ValueError, IndexError, a=1: ^ SyntaxError: invalid syntax File "test.py", line 3 except ValueError, IndexError, a=1: ^ SyntaxError: invalid syntax _ test_invalid_case_pattern[match a:\n\tcase 1 as 1+1:\n\t\tpass-SyntaxError-invalid pattern target-start1-end1] _ python_parse_file = <function parse_file at 0x7fcffa9ed170> python_parse_str = <function parse_string at 0x7fcffbf1c460> tmp_path = PosixPath('/tmp/pytest-of-sbuild/pytest-0/test_invalid_case_pattern_matc1') source = 'match a:\n\tcase 1 as 1+1:\n\t\tpass' exception = <class 'SyntaxError'>, message = 'invalid pattern target' start = (2, 12), end = (2, 15) @pytest.mark.skipif(sys.version_info < (3, 10), reason="Valid only in Python 3.10+") @pytest.mark.parametrize( "source, exception, message, start, end", [ # As pattern ( "match a:\n\tcase 1 as _:\n\t\tpass", SyntaxError, "cannot use '_' as a target", (2, 12), (2, 13), ), ( "match a:\n\tcase 1 as 1+1:\n\t\tpass", SyntaxError, "invalid pattern target", (2, 12), (2, 15), ), # Class pattern ( "match a:\n\tcase Foo(z=1, y=2, x):\n\t\tpass", SyntaxError, "positional patterns follow keyword patterns", (2, 21), (2, 22), ), ( "match a:\n\tcase Foo(a, z=1, y=2, x):\n\t\tpass", SyntaxError, "positional patterns follow keyword patterns", (2, 24), (2, 25), ), ( "match a:\n\tcase Foo(z=1, x, y=2):\n\t\tpass", SyntaxError, "positional patterns follow keyword patterns", (2, 16), (2, 17), ), ( "match a:\n\tcase Foo(a=b, c, d=e, f, g=h, i, j=k, ...):\n\t\tpass", SyntaxError, "positional patterns follow keyword patterns", (2, 16), (2, 17), ), ( "match x:\n\tcase -1j + 1j:\n\t\tpass", SyntaxError, "real number required in complex literal", (2, 8), (2, 10), ), ( "match x:\n\tcase -1 + 1:\n\t\tpass", SyntaxError, "imaginary number required in complex literal", (2, 12), (2, 13), ), ], ) def test_invalid_case_pattern( python_parse_file, python_parse_str, tmp_path, source, exception, message, start, end ): > parse_invalid_syntax( python_parse_file, python_parse_str, tmp_path, source, exception, message, start, end ) tests/python_parser/test_syntax_error_handling.py:1211: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ python_parse_file = <function parse_file at 0x7fcffa9ed170> python_parse_str = <function parse_string at 0x7fcffbf1c460> tmp_path = PosixPath('/tmp/pytest-of-sbuild/pytest-0/test_invalid_case_pattern_matc1') source = 'match a:\n\tcase 1 as 1+1:\n\t\tpass', exc_cls = <class 'SyntaxError'> message = 'invalid pattern target', start = (2, 12), end = (2, 15) min_python_version = (3, 10) def parse_invalid_syntax( python_parse_file, python_parse_str, tmp_path, source, exc_cls, message, start, end, min_python_version=(3, 10), ) -> None: # Check we obtain the expected error from Python try: exec(source, {}, {}) except exc_cls as py_e: py_exc = py_e except Exception as py_e: assert ( False ), f"Python produced {py_e.__class__.__name__} instead of {exc_cls.__name__}: {py_e}" else: assert False, f"Python did not throw any exception, expected {exc_cls}" # Check our parser raises both from str and file mode. with pytest.raises(exc_cls) as e: python_parse_str(source, "exec") print(str(e.exconly())) assert message in str(e.exconly()) test_file = tmp_path / "test.py" with open(test_file, "w") as f: f.write(source) with pytest.raises(exc_cls) as e: python_parse_file(str(test_file)) # Check Python message but do not expect message to match for earlier Python versions if sys.version_info >= min_python_version: # This fails for Python < 3.10.5 but keeping the fix for a patch version is not # worth it > assert message in py_exc.args[0] E AssertionError: assert 'invalid pattern target' in 'cannot use expression as pattern target' tests/python_parser/test_syntax_error_handling.py:48: AssertionError ----------------------------- Captured stdout call ----------------------------- File "<unknown>", line 2 case 1 as 1+1: ^^^ SyntaxError: invalid pattern target =============================== warnings summary =============================== tests/python_parser/test_ast_parsing.py: 56 warnings /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_pegen/build/tests/python_parser/parser_cache/py_parser.py:2989: DeprecationWarning: MatchAs.__init__ got an unexpected keyword argument 'target'. Support for arbitrary keyword arguments is deprecated and will be removed in Python 3.15. return ast . MatchAs ( pattern = None , target = None , lineno=start_lineno, col_offset=start_col_offset, end_lineno=end_lineno, end_col_offset=end_col_offset ); tests/python_parser/test_ast_parsing.py: 12 warnings /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_pegen/build/tests/python_parser/parser_cache/py_parser.py:3160: DeprecationWarning: MatchStar.__init__ got an unexpected keyword argument 'target'. Support for arbitrary keyword arguments is deprecated and will be removed in Python 3.15. return ast . MatchStar ( target = None , lineno=start_lineno, col_offset=start_col_offset, end_lineno=end_lineno, end_col_offset=end_col_offset ); tests/python_parser/test_syntax_error_handling.py::test_invalid_parameters[def foo(a,*b: int=,c):\n\tpass-var-positional argument cannot have default value-start14-end14-py_version14] tests/python_parser/test_syntax_error_handling.py::test_invalid_parameters[def foo(a,*b: int=,c):\n\tpass-var-positional argument cannot have default value-start14-end14-py_version14] /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_pegen/build/tests/python_parser/parser_cache/py_parser.py:1962: DeprecationWarning: arg.__init__ got an unexpected keyword argument 'annotations'. Support for arbitrary keyword arguments is deprecated and will be removed in Python 3.15. return ast . arg ( arg = a . string , annotations = b , lineno=start_lineno, col_offset=start_col_offset, end_lineno=end_lineno, end_col_offset=end_col_offset ); tests/test_pegen.py::test_python_expr tests/test_pegen.py::test_locations_in_alt_action_and_group <string>:29: DeprecationWarning: Expression.__init__ got an unexpected keyword argument 'lineno'. Support for arbitrary keyword arguments is deprecated and will be removed in Python 3.15. tests/test_pegen.py::test_python_expr tests/test_pegen.py::test_locations_in_alt_action_and_group <string>:29: DeprecationWarning: Expression.__init__ got an unexpected keyword argument 'col_offset'. Support for arbitrary keyword arguments is deprecated and will be removed in Python 3.15. tests/test_pegen.py::test_python_expr tests/test_pegen.py::test_locations_in_alt_action_and_group <string>:29: DeprecationWarning: Expression.__init__ got an unexpected keyword argument 'end_lineno'. Support for arbitrary keyword arguments is deprecated and will be removed in Python 3.15. tests/test_pegen.py::test_python_expr tests/test_pegen.py::test_locations_in_alt_action_and_group <string>:29: DeprecationWarning: Expression.__init__ got an unexpected keyword argument 'end_col_offset'. Support for arbitrary keyword arguments is deprecated and will be removed in Python 3.15. -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html =========================== short test summary info ============================ FAILED tests/python_parser/test_syntax_error_handling.py::test_invalid_except_stmt[try:\n\tpass\nexcept ValueError, IndexError:-SyntaxError-multiple exception types must be parenthesized-start6-end6] FAILED tests/python_parser/test_syntax_error_handling.py::test_invalid_except_stmt[try:\n\tpass\nexcept ValueError, IndexError,:-SyntaxError-multiple exception types must be parenthesized-start7-end7] FAILED tests/python_parser/test_syntax_error_handling.py::test_invalid_except_stmt[try:\n\tpass\nexcept ValueError, IndexError, a=1:-SyntaxError-invalid syntax-start8-end8] FAILED tests/python_parser/test_syntax_error_handling.py::test_invalid_case_pattern[match a:\n\tcase 1 as 1+1:\n\t\tpass-SyntaxError-invalid pattern target-start1-end1] ================== 4 failed, 332 passed, 78 warnings in 4.25s ================== E: pybuild pybuild:389: test: plugin pyproject failed with: exit code=1: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_pegen/build; python3.14 -m pytest tests I: pybuild base:317: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_pegen/build; python3.13 -m pytest tests ============================= test session starts ============================== platform linux -- Python 3.13.11, pytest-9.0.2, pluggy-1.6.0 rootdir: /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_pegen/build configfile: pyproject.toml plugins: cov-5.0.0, typeguard-4.4.4 collected 336 items tests/python_parser/test_ast_parsing.py ................... [ 5%] tests/python_parser/test_syntax_error_handling.py ...................... [ 12%] ........................................................................ [ 33%] ........................................................................ [ 55%] ...................................................... [ 71%] tests/python_parser/test_unsupported_syntax.py ....................... [ 77%] tests/test_first_sets.py ..................... [ 84%] tests/test_grammar_validator.py ... [ 85%] tests/test_grammar_visitor.py ..... [ 86%] tests/test_grammar_visualizer.py ... [ 87%] tests/test_pegen.py ...................................... [ 98%] tests/test_tokenizer.py .... [100%] =============================== warnings summary =============================== tests/python_parser/test_ast_parsing.py: 56 warnings /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_pegen/build/tests/python_parser/parser_cache/py_parser.py:2989: DeprecationWarning: MatchAs.__init__ got an unexpected keyword argument 'target'. Support for arbitrary keyword arguments is deprecated and will be removed in Python 3.15. return ast . MatchAs ( pattern = None , target = None , lineno=start_lineno, col_offset=start_col_offset, end_lineno=end_lineno, end_col_offset=end_col_offset ); tests/python_parser/test_ast_parsing.py: 12 warnings /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_pegen/build/tests/python_parser/parser_cache/py_parser.py:3160: DeprecationWarning: MatchStar.__init__ got an unexpected keyword argument 'target'. Support for arbitrary keyword arguments is deprecated and will be removed in Python 3.15. return ast . MatchStar ( target = None , lineno=start_lineno, col_offset=start_col_offset, end_lineno=end_lineno, end_col_offset=end_col_offset ); tests/python_parser/test_syntax_error_handling.py::test_invalid_parameters[def foo(a,*b: int=,c):\n\tpass-var-positional argument cannot have default value-start14-end14-py_version14] tests/python_parser/test_syntax_error_handling.py::test_invalid_parameters[def foo(a,*b: int=,c):\n\tpass-var-positional argument cannot have default value-start14-end14-py_version14] /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_pegen/build/tests/python_parser/parser_cache/py_parser.py:1962: DeprecationWarning: arg.__init__ got an unexpected keyword argument 'annotations'. Support for arbitrary keyword arguments is deprecated and will be removed in Python 3.15. return ast . arg ( arg = a . string , annotations = b , lineno=start_lineno, col_offset=start_col_offset, end_lineno=end_lineno, end_col_offset=end_col_offset ); tests/test_pegen.py::test_python_expr tests/test_pegen.py::test_locations_in_alt_action_and_group <string>:29: DeprecationWarning: Expression.__init__ got an unexpected keyword argument 'lineno'. Support for arbitrary keyword arguments is deprecated and will be removed in Python 3.15. tests/test_pegen.py::test_python_expr tests/test_pegen.py::test_locations_in_alt_action_and_group <string>:29: DeprecationWarning: Expression.__init__ got an unexpected keyword argument 'col_offset'. Support for arbitrary keyword arguments is deprecated and will be removed in Python 3.15. tests/test_pegen.py::test_python_expr tests/test_pegen.py::test_locations_in_alt_action_and_group <string>:29: DeprecationWarning: Expression.__init__ got an unexpected keyword argument 'end_lineno'. Support for arbitrary keyword arguments is deprecated and will be removed in Python 3.15. tests/test_pegen.py::test_python_expr tests/test_pegen.py::test_locations_in_alt_action_and_group <string>:29: DeprecationWarning: Expression.__init__ got an unexpected keyword argument 'end_col_offset'. Support for arbitrary keyword arguments is deprecated and will be removed in Python 3.15. -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html ======================= 336 passed, 78 warnings in 3.85s ======================= dh_auto_test: error: pybuild --test -i python{version} -p "3.14 3.13" returned exit code 13 make: *** [debian/rules:8: binary] Error 25 dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2 --------------------------------------------------------------------------------

