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.

Reply via email to