Source: rich Version: 13.3.1-2 Severity: serious Justification: FTBFS Tags: trixie sid ftbfs User: lu...@debian.org Usertags: ftbfs-20231212 ftbfs-trixie
Hi, During a rebuild of all packages in sid, your package failed to build on amd64. Relevant part (hopefully): > make[1]: Entering directory '/<<PKGBUILDDIR>>' > PYBUILD_SYSTEM=custom PYBUILD_TEST_ARGS="PYTHONPATH=/<<PKGBUILDDIR>> > {interpreter} -m pytest" dh_auto_test > I: pybuild base:310: PYTHONPATH=/<<PKGBUILDDIR>> python3.12 -m pytest > ============================= test session starts > ============================== > platform linux -- Python 3.12.1, pytest-7.4.3, pluggy-1.3.0 > rootdir: /<<PKGBUILDDIR>> > configfile: pyproject.toml > testpaths: tests > collected 791 items > > tests/test_align.py ................ [ > 2%] > tests/test_ansi.py .. [ > 2%] > tests/test_bar.py ....... [ > 3%] > tests/test_block_bar.py .... [ > 3%] > tests/test_box.py ...... [ > 4%] > tests/test_card.py . [ > 4%] > tests/test_cells.py ... [ > 4%] > tests/test_color.py ................. [ > 7%] > tests/test_color_triplet.py ... [ > 7%] > tests/test_columns.py . [ > 7%] > tests/test_columns_align.py . [ > 7%] > tests/test_console.py .................................................. [ > 14%] > ............................................... [ > 19%] > tests/test_constrain.py . [ > 20%] > tests/test_containers.py .... [ > 20%] > tests/test_control.py ....... [ > 21%] > tests/test_emoji.py ...... [ > 22%] > tests/test_file_proxy.py ... [ > 22%] > tests/test_filesize.py .. [ > 22%] > tests/test_getfileno.py ... [ > 23%] > tests/test_highlighter.py .............................................. [ > 29%] > ................................. [ > 33%] > tests/test_inspect.py ...F....FFF.................................. [ > 38%] > tests/test_json.py . [ > 39%] > tests/test_jupyter.py ... [ > 39%] > tests/test_layout.py ...... [ > 40%] > tests/test_live.py .......... [ > 41%] > tests/test_live_render.py .... [ > 41%] > tests/test_log.py ... [ > 42%] > tests/test_logging.py .... [ > 42%] > tests/test_markdown.py .. [ > 43%] > tests/test_markdown_no_hyperlinks.py . [ > 43%] > tests/test_markup.py .................... [ > 45%] > tests/test_measure.py .... [ > 46%] > tests/test_null_file.py . [ > 46%] > tests/test_padding.py ..... [ > 47%] > tests/test_palette.py . [ > 47%] > tests/test_panel.py .......... [ > 48%] > tests/test_pick.py . [ > 48%] > tests/test_pretty.py ...........................................F...... [ > 54%] > tests/test_progress.py ...................................... [ > 59%] > tests/test_prompt.py ...... [ > 60%] > tests/test_protocol.py ...... [ > 61%] > tests/test_ratio.py ....... [ > 62%] > tests/test_repr.py ........ [ > 63%] > tests/test_rich_print.py ....... [ > 63%] > tests/test_rule.py ................ [ > 65%] > tests/test_rule_in_table.py .... [ > 66%] > tests/test_screen.py . [ > 66%] > tests/test_segment.py ................................................. [ > 72%] > tests/test_spinner.py ..... [ > 73%] > tests/test_stack.py . [ > 73%] > tests/test_status.py .. [ > 73%] > tests/test_style.py ......................... [ > 76%] > tests/test_styled.py . [ > 77%] > tests/test_syntax.py ....................... [ > 80%] > tests/test_table.py ............... [ > 81%] > tests/test_text.py ..................................................... [ > 88%] > .................................... [ > 93%] > tests/test_theme.py ..... [ > 93%] > tests/test_tools.py .... [ > 94%] > tests/test_traceback.py ................... [ > 96%] > tests/test_tree.py .....s.s. [ > 97%] > tests/test_windows_renderer.py sssssssssssssssss > [100%] > > =================================== FAILURES > =================================== > ________________ test_inspect_builtin_function_except_python311 > ________________ > > @skip_py311 > @skip_pypy3 > def test_inspect_builtin_function_except_python311(): > # Pre-3.11 Python versions - print builtin has no signature available > expected = ( > "╭────────── <built-in function print> ───────────╮\n" > "│ def print(...) │\n" > "│ │\n" > "│ print(value, ..., sep=' ', end='\\n', │\n" > "│ file=sys.stdout, flush=False) │\n" > "│ │\n" > "│ 29 attribute(s) not shown. Run │\n" > "│ inspect(inspect) for options. │\n" > "╰────────────────────────────────────────────────╯\n" > ) > > assert render(print) == expected > E AssertionError: assert '╭────────── ...──────────╯\n' == '╭────────── > ...──────────╯\n' > E Skipping 53 identical leading characters in diff, use -v to show > E - def print(...) │ > E + def print(*args, sep=' ', end='\n', file=None, │ > E + │ flush=False): │ > E │ │ > E - │ print(value, ..., sep=' ', end='\n', │ > E - │ file=sys.stdout, flush=False) │... > E > E ...Full output truncated (9 lines hidden), use '-vv' to show > > tests/test_inspect.py:153: AssertionError > ___________ test_inspect_integer_with_methods_python38_and_python39 > ____________ > > @skip_py37 > @skip_py310 > @skip_py311 > def test_inspect_integer_with_methods_python38_and_python39(): > expected = ( > "╭──────────────── <class 'int'> ─────────────────╮\n" > "│ int([x]) -> integer │\n" > "│ int(x, base=10) -> integer │\n" > "│ │\n" > "│ denominator = 1 │\n" > "│ imag = 0 │\n" > "│ numerator = 1 │\n" > "│ real = 1 │\n" > "│ as_integer_ratio = def as_integer_ratio(): │\n" > "│ Return integer ratio. │\n" > "│ bit_length = def bit_length(): Number of │\n" > "│ bits necessary to represent │\n" > "│ self in binary. │\n" > "│ conjugate = def conjugate(...) Returns │\n" > "│ self, the complex conjugate │\n" > "│ of any int. │\n" > "│ from_bytes = def from_bytes(bytes, │\n" > "│ byteorder, *, │\n" > "│ signed=False): Return the │\n" > "│ integer represented by the │\n" > "│ given array of bytes. │\n" > "│ to_bytes = def to_bytes(length, │\n" > "│ byteorder, *, │\n" > "│ signed=False): Return an │\n" > "│ array of bytes representing │\n" > "│ an integer. │\n" > "╰────────────────────────────────────────────────╯\n" > ) > > assert render(1, methods=True) == expected > E AssertionError: assert '╭───────────...──────────╯\n' == > '╭───────────...──────────╯\n' > E Skipping 477 identical leading characters in diff, use -v to show > E - Return integer ratio. │ > E + Return a pair of integers, │ > E + │ whose ratio is equal to the │ > E + │ original int. │ > E + │ bit_count = def bit_count(): Number of │ > E + │ ones in the binary │... > E > E ...Full output truncated (32 lines hidden), use '-vv' to show > > tests/test_inspect.py:245: AssertionError > _______________ test_inspect_integer_with_methods_python310only > ________________ > > @skip_py37 > @skip_py38 > @skip_py39 > @skip_py311 > def test_inspect_integer_with_methods_python310only(): > expected = ( > "╭──────────────── <class 'int'> ─────────────────╮\n" > "│ int([x]) -> integer │\n" > "│ int(x, base=10) -> integer │\n" > "│ │\n" > "│ denominator = 1 │\n" > "│ imag = 0 │\n" > "│ numerator = 1 │\n" > "│ real = 1 │\n" > "│ as_integer_ratio = def as_integer_ratio(): │\n" > "│ Return integer ratio. │\n" > "│ bit_count = def bit_count(): Number of │\n" > "│ ones in the binary │\n" > "│ representation of the │\n" > "│ absolute value of self. │\n" > "│ bit_length = def bit_length(): Number of │\n" > "│ bits necessary to represent │\n" > "│ self in binary. │\n" > "│ conjugate = def conjugate(...) Returns │\n" > "│ self, the complex conjugate │\n" > "│ of any int. │\n" > "│ from_bytes = def from_bytes(bytes, │\n" > "│ byteorder, *, │\n" > "│ signed=False): Return the │\n" > "│ integer represented by the │\n" > "│ given array of bytes. │\n" > "│ to_bytes = def to_bytes(length, │\n" > "│ byteorder, *, │\n" > "│ signed=False): Return an │\n" > "│ array of bytes representing │\n" > "│ an integer. │\n" > "╰────────────────────────────────────────────────╯\n" > ) > > assert render(1, methods=True) == expected > E AssertionError: assert '╭───────────...──────────╯\n' == > '╭───────────...──────────╯\n' > E Skipping 477 identical leading characters in diff, use -v to show > E - Return integer ratio. │ > E + Return a pair of integers, │ > E + │ whose ratio is equal to the │ > E + │ original int. │ > E │ bit_count = def bit_count(): Number of │ > E │ ones in the binary │... > E > E ...Full output truncated (32 lines hidden), use '-vv' to show > > tests/test_inspect.py:286: AssertionError > ____________ test_inspect_integer_with_methods_python311_and_above > _____________ > > @skip_py37 > @skip_py38 > @skip_py39 > @skip_py310 > def test_inspect_integer_with_methods_python311_and_above(): > # to_bytes and from_bytes methods on int had minor signature change - > # they now, as of 3.11, have default values for all of their > parameters > expected = ( > "╭──────────────── <class 'int'> ─────────────────╮\n" > "│ int([x]) -> integer │\n" > "│ int(x, base=10) -> integer │\n" > "│ │\n" > "│ denominator = 1 │\n" > "│ imag = 0 │\n" > "│ numerator = 1 │\n" > "│ real = 1 │\n" > "│ as_integer_ratio = def as_integer_ratio(): │\n" > "│ Return integer ratio. │\n" > "│ bit_count = def bit_count(): Number of │\n" > "│ ones in the binary │\n" > "│ representation of the │\n" > "│ absolute value of self. │\n" > "│ bit_length = def bit_length(): Number of │\n" > "│ bits necessary to represent │\n" > "│ self in binary. │\n" > "│ conjugate = def conjugate(...) Returns │\n" > "│ self, the complex conjugate │\n" > "│ of any int. │\n" > "│ from_bytes = def from_bytes(bytes, │\n" > "│ byteorder='big', *, │\n" > "│ signed=False): Return the │\n" > "│ integer represented by the │\n" > "│ given array of bytes. │\n" > "│ to_bytes = def to_bytes(length=1, │\n" > "│ byteorder='big', *, │\n" > "│ signed=False): Return an │\n" > "│ array of bytes representing │\n" > "│ an integer. │\n" > "╰────────────────────────────────────────────────╯\n" > ) > > assert render(1, methods=True) == expected > E AssertionError: assert '╭───────────...──────────╯\n' == > '╭───────────...──────────╯\n' > E Skipping 477 identical leading characters in diff, use -v to show > E - Return integer ratio. │ > E + Return a pair of integers, │ > E + │ whose ratio is equal to the │ > E + │ original int. │ > E │ bit_count = def bit_count(): Number of │ > E │ ones in the binary │... > E > E ...Full output truncated (23 lines hidden), use '-vv' to show > > tests/test_inspect.py:329: AssertionError > ______________________________ test_attrs_broken > _______________________________ > > @skip_py310 > @skip_py311 > def test_attrs_broken(): > @attr.define > class Foo: > bar: int > > foo = Foo(1) > del foo.bar > result = pretty_repr(foo) > print(repr(result)) > expected = "Foo(bar=AttributeError('bar'))" > > assert result == expected > E assert 'Foo(bar=Attr...te \'bar\'"))' == > "Foo(bar=Attr...Error('bar'))" > E - Foo(bar=AttributeError('bar')) > E + Foo(bar=AttributeError("'Foo' object has no attribute 'bar'")) > > tests/test_pretty.py:626: AssertionError > ----------------------------- Captured stdout call > ----------------------------- > 'Foo(bar=AttributeError("\'Foo\' object has no attribute \'bar\'"))' > =========================== short test summary info > ============================ > FAILED tests/test_inspect.py::test_inspect_builtin_function_except_python311 > FAILED > tests/test_inspect.py::test_inspect_integer_with_methods_python38_and_python39 > FAILED tests/test_inspect.py::test_inspect_integer_with_methods_python310only > FAILED > tests/test_inspect.py::test_inspect_integer_with_methods_python311_and_above > FAILED tests/test_pretty.py::test_attrs_broken - assert 'Foo(bar=Attr...te > \'... > ================== 5 failed, 767 passed, 19 skipped in 5.68s > =================== > E: pybuild pybuild:395: test: plugin custom failed with: exit code=1: > PYTHONPATH=/<<PKGBUILDDIR>> python3.12 -m pytest > I: pybuild base:310: PYTHONPATH=/<<PKGBUILDDIR>> python3.11 -m pytest > ============================= test session starts > ============================== > platform linux -- Python 3.11.7, pytest-7.4.3, pluggy-1.3.0 > rootdir: /<<PKGBUILDDIR>> > configfile: pyproject.toml > testpaths: tests > collected 791 items > > tests/test_align.py ................ [ > 2%] > tests/test_ansi.py .. [ > 2%] > tests/test_bar.py ....... [ > 3%] > tests/test_block_bar.py .... [ > 3%] > tests/test_box.py ...... [ > 4%] > tests/test_card.py . [ > 4%] > tests/test_cells.py ... [ > 4%] > tests/test_color.py ................. [ > 7%] > tests/test_color_triplet.py ... [ > 7%] > tests/test_columns.py . [ > 7%] > tests/test_columns_align.py . [ > 7%] > tests/test_console.py .................................................. [ > 14%] > ............................................... [ > 19%] > tests/test_constrain.py . [ > 20%] > tests/test_containers.py .... [ > 20%] > tests/test_control.py ....... [ > 21%] > tests/test_emoji.py ...... [ > 22%] > tests/test_file_proxy.py ... [ > 22%] > tests/test_filesize.py .. [ > 22%] > tests/test_getfileno.py ... [ > 23%] > tests/test_highlighter.py .............................................. [ > 29%] > ................................. [ > 33%] > tests/test_inspect.py ...s....ss................................... [ > 38%] > tests/test_json.py . [ > 39%] > tests/test_jupyter.py ... [ > 39%] > tests/test_layout.py ...... [ > 40%] > tests/test_live.py .......... [ > 41%] > tests/test_live_render.py .... [ > 41%] > tests/test_log.py ... [ > 42%] > tests/test_logging.py .... [ > 42%] > tests/test_markdown.py .. [ > 43%] > tests/test_markdown_no_hyperlinks.py . [ > 43%] > tests/test_markup.py .................... [ > 45%] > tests/test_measure.py .... [ > 46%] > tests/test_null_file.py . [ > 46%] > tests/test_padding.py ..... [ > 47%] > tests/test_palette.py . [ > 47%] > tests/test_panel.py .......... [ > 48%] > tests/test_pick.py . [ > 48%] > tests/test_pretty.py ...........................................s...... [ > 54%] > tests/test_progress.py ...................................... [ > 59%] > tests/test_prompt.py ...... [ > 60%] > tests/test_protocol.py ...... [ > 61%] > tests/test_ratio.py ....... [ > 62%] > tests/test_repr.py ........ [ > 63%] > tests/test_rich_print.py ....... [ > 63%] > tests/test_rule.py ................ [ > 65%] > tests/test_rule_in_table.py .... [ > 66%] > tests/test_screen.py . [ > 66%] > tests/test_segment.py ................................................. [ > 72%] > tests/test_spinner.py ..... [ > 73%] > tests/test_stack.py . [ > 73%] > tests/test_status.py .. [ > 73%] > tests/test_style.py ......................... [ > 76%] > tests/test_styled.py . [ > 77%] > tests/test_syntax.py ....................... [ > 80%] > tests/test_table.py ............... [ > 81%] > tests/test_text.py ..................................................... [ > 88%] > .................................... [ > 93%] > tests/test_theme.py ..... [ > 93%] > tests/test_tools.py .... [ > 94%] > tests/test_traceback.py ................... [ > 96%] > tests/test_tree.py .....s.s. [ > 97%] > tests/test_windows_renderer.py sssssssssssssssss > [100%] > > ======================= 768 passed, 23 skipped in 5.44s > ======================== > dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.12 > 3.11" returned exit code 13 The full build log is available from: http://qa-logs.debian.net/2023/12/12/rich_13.3.1-2_unstable.log All bugs filed during this archive rebuild are listed at: https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-20231212;users=lu...@debian.org or: https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20231212&fusertaguser=lu...@debian.org&allbugs=1&cseverity=1&ctags=1&caffected=1#results A list of current common problems and possible solutions is available at http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute! If you reassign this bug to another package, please mark it as 'affects'-ing this package. See https://www.debian.org/Bugs/server-control#affects If you fail to reproduce this, please provide a build log and diff it with mine so that we can identify if something relevant changed in the meantime.