--- Begin Message ---
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
--------------------------------------------------------------------------------
--- End Message ---