Source: rich Version: 10.16.2-1 Severity: serious Justification: FTBFS Tags: bookworm sid ftbfs
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:237: PYTHONPATH=/<<PKGBUILDDIR>> python3.10 -m pytest > ============================= test session starts > ============================== > platform linux -- Python 3.10.2, pytest-6.2.5, py-1.10.0, pluggy-0.13.0 > rootdir: /<<PKGBUILDDIR>> > collected 583 items > > tests/test_align.py ................ [ > 2%] > tests/test_ansi.py . [ > 2%] > tests/test_bar.py ....... [ > 4%] > tests/test_block_bar.py .... [ > 4%] > tests/test_box.py ...... [ > 5%] > tests/test_card.py . [ > 6%] > tests/test_cells.py .. [ > 6%] > tests/test_color.py ................. [ > 9%] > tests/test_color_triplet.py ... [ > 9%] > tests/test_columns.py . [ > 9%] > tests/test_columns_align.py . [ > 10%] > tests/test_console.py .................................................. [ > 18%] > .......................... [ > 23%] > tests/test_constrain.py . [ > 23%] > tests/test_containers.py .... [ > 24%] > tests/test_control.py ..... [ > 24%] > tests/test_emoji.py ...... [ > 25%] > tests/test_file_proxy.py .. [ > 26%] > tests/test_filesize.py .. [ > 26%] > tests/test_highlighter.py ...................................... [ > 33%] > tests/test_inspect.py ........ [ > 34%] > tests/test_json.py . [ > 34%] > tests/test_jupyter.py . [ > 34%] > tests/test_layout.py ...... [ > 35%] > tests/test_live.py .......... [ > 37%] > tests/test_live_render.py .... [ > 38%] > tests/test_log.py ... [ > 38%] > tests/test_logging.py .... [ > 39%] > tests/test_lrucache.py . [ > 39%] > tests/test_markdown.py .. [ > 39%] > tests/test_markdown_no_hyperlinks.py . [ > 40%] > tests/test_markup.py ................... [ > 43%] > tests/test_measure.py .... [ > 44%] > tests/test_padding.py ..... [ > 44%] > tests/test_palette.py . [ > 45%] > tests/test_panel.py ......... [ > 46%] > tests/test_pick.py . [ > 46%] > tests/test_pretty.py .....................s... [ > 51%] > tests/test_progress.py ......................... [ > 55%] > tests/test_prompt.py ...... [ > 56%] > tests/test_protocol.py ...... [ > 57%] > tests/test_ratio.py ....... [ > 58%] > tests/test_repr.py ........ [ > 60%] > tests/test_rich_print.py ....... [ > 61%] > tests/test_rule.py ....... [ > 62%] > tests/test_screen.py . [ > 62%] > tests/test_segment.py ............................................. [ > 70%] > tests/test_spinner.py ..... [ > 71%] > tests/test_stack.py . [ > 71%] > tests/test_status.py .. [ > 71%] > tests/test_style.py ......................... [ > 75%] > tests/test_styled.py . [ > 76%] > tests/test_syntax.py .FF..F.......... [ > 78%] > tests/test_table.py ....... [ > 80%] > tests/test_tabulate.py . [ > 80%] > tests/test_text.py ..................................................... [ > 89%] > ............................. [ > 94%] > tests/test_theme.py ..... [ > 95%] > tests/test_tools.py .... [ > 95%] > tests/test_traceback.py ............... [ > 98%] > tests/test_tree.py .....s.s. > [100%] > > =================================== FAILURES > =================================== > ______________________________ test_python_render > ______________________________ > > def test_python_render(): > syntax = Panel.fit( > Syntax( > CODE, > lexer_name="python", > line_numbers=True, > line_range=(2, 10), > theme="foo", > code_width=60, > word_wrap=True, > ), > padding=0, > ) > rendered_syntax = render(syntax) > print(repr(rendered_syntax)) > expected = > '╭────────────────────────────────────────────────────────────────╮\n│\x1b[1;38;2;24;24;24;48;2;248;248;248m > \x1b[0m\x1b[38;2;173;173;173;48;2;248;248;248m 2 > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > \x1b[0m\x1b[3;38;2;186;33;33;48;2;248;248;248m"""Iterate and generate a tuple > with a flag for first \x1b[0m\x1b[48;2;248;248;248m > \x1b[0m│\n│\x1b[48;2;248;248;248m > \x1b[0m\x1b[3;38;2;186;33;33;48;2;248;248;248mand last > value."""\x1b[0m\x1b[48;2;248;248;248m > \x1b[0m│\n│\x1b[1;38;2;24;24;24;48;2;248;248;248m > \x1b[0m\x1b[38;2;173;173;173;48;2;248;248;248m 3 > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248miter_values\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;102;102;102;48;2;248;248;248m=\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;128;0;48;2;248;248;248miter\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m(\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mvalues\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m)\x1b[0m\x1b[48;2;248;248;248m > > \x1b[0m│\n│\x1b[1;38;2;24;24;24;48;2;248;248;248m > \x1b[0m\x1b[38;2;173;173;173;48;2;248;248;248m 4 > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248mtry\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m:\x1b[0m\x1b[48;2;248;248;248m > > \x1b[0m│\n│\x1b[1;38;2;24;24;24;48;2;248;248;248m > \x1b[0m\x1b[38;2;173;173;173;48;2;248;248;248m 5 > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mprevious_value\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;102;102;102;48;2;248;248;248m=\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;128;0;48;2;248;248;248mnext\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m(\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248miter_values\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m)\x1b[0m\x1b[48;2;248;248;248m > \x1b[0m│\n│\x1b[1;38;2;24;24;24;48;2;248;248;248m > \x1b[0m\x1b[38;2;173;173;173;48;2;248;248;248m 6 > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248mexcept\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[1;38;2;210;65;58;48;2;248;248;248mStopIteration\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m:\x1b[0m\x1b[48;2;248;248;248m > > \x1b[0m│\n│\x1b[1;38;2;24;24;24;48;2;248;248;248m > \x1b[0m\x1b[38;2;173;173;173;48;2;248;248;248m 7 > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248mreturn\x1b[0m\x1b[48;2;248;248;248m > > \x1b[0m│\n│\x1b[1;38;2;24;24;24;48;2;248;248;248m > \x1b[0m\x1b[38;2;173;173;173;48;2;248;248;248m 8 > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mfirst\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;102;102;102;48;2;248;248;248m=\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248mTrue\x1b[0m\x1b[48;2;248;248;248m > > \x1b[0m│\n│\x1b[1;38;2;24;24;24;48;2;248;248;248m > \x1b[0m\x1b[38;2;173;173;173;48;2;248;248;248m 9 > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248mfor\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mvalue\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[1;38;2;170;34;255;48;2;248;248;248min\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248miter_values\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m:\x1b[0m\x1b[48;2;248;248;248m > > \x1b[0m│\n│\x1b[1;38;2;24;24;24;48;2;248;248;248m > \x1b[0m\x1b[38;2;173;173;173;48;2;248;248;248m10 > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248myield\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mfirst\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m,\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248mFalse\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m,\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mprevious_value\x1b[0m\x1b[48;2;248;248;248m > > \x1b[0m│\n╰────────────────────────────────────────────────────────────────╯\n' > > assert rendered_syntax == expected > E AssertionError: assert '╭───────────...──────────╯\n' == > '╭───────────...──────────╯\n' > E Skipping 1906 identical leading characters in diff, use -v to show > E Skipping 1814 identical trailing characters in diff, use -v to show > E - [1;38;2;210;65;58;48;2;248 > E ? - ^ ^ > E + [1;38;2;203;63;56;48;2;248 > E ? + ^ ^ > > tests/test_syntax.py:59: AssertionError > ----------------------------- Captured stdout call > ----------------------------- > '╭────────────────────────────────────────────────────────────────╮\n│\x1b[1;38;2;24;24;24;48;2;248;248;248m > \x1b[0m\x1b[38;2;173;173;173;48;2;248;248;248m 2 > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > \x1b[0m\x1b[3;38;2;186;33;33;48;2;248;248;248m"""Iterate and generate a tuple > with a flag for first \x1b[0m\x1b[48;2;248;248;248m > \x1b[0m│\n│\x1b[48;2;248;248;248m > \x1b[0m\x1b[3;38;2;186;33;33;48;2;248;248;248mand last > value."""\x1b[0m\x1b[48;2;248;248;248m > \x1b[0m│\n│\x1b[1;38;2;24;24;24;48;2;248;248;248m > \x1b[0m\x1b[38;2;173;173;173;48;2;248;248;248m 3 > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248miter_values\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;102;102;102;48;2;248;248;248m=\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;128;0;48;2;248;248;248miter\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m(\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mvalues\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m)\x1b[0m\x1b[48;2;248;248;248m > > \x1b[0m│\n│\x1b[1;38;2;24;24;24;48;2;248;248;248m > \x1b[0m\x1b[38;2;173;173;173;48;2;248;248;248m 4 > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248mtry\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m:\x1b[0m\x1b[48;2;248;248;248m > > \x1b[0m│\n│\x1b[1;38;2;24;24;24;48;2;248;248;248m > \x1b[0m\x1b[38;2;173;173;173;48;2;248;248;248m 5 > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mprevious_value\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;102;102;102;48;2;248;248;248m=\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;128;0;48;2;248;248;248mnext\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m(\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248miter_values\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m)\x1b[0m\x1b[48;2;248;248;248m > \x1b[0m│\n│\x1b[1;38;2;24;24;24;48;2;248;248;248m > \x1b[0m\x1b[38;2;173;173;173;48;2;248;248;248m 6 > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248mexcept\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[1;38;2;203;63;56;48;2;248;248;248mStopIteration\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m:\x1b[0m\x1b[48;2;248;248;248m > > \x1b[0m│\n│\x1b[1;38;2;24;24;24;48;2;248;248;248m > \x1b[0m\x1b[38;2;173;173;173;48;2;248;248;248m 7 > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248mreturn\x1b[0m\x1b[48;2;248;248;248m > > \x1b[0m│\n│\x1b[1;38;2;24;24;24;48;2;248;248;248m > \x1b[0m\x1b[38;2;173;173;173;48;2;248;248;248m 8 > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mfirst\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;102;102;102;48;2;248;248;248m=\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248mTrue\x1b[0m\x1b[48;2;248;248;248m > > \x1b[0m│\n│\x1b[1;38;2;24;24;24;48;2;248;248;248m > \x1b[0m\x1b[38;2;173;173;173;48;2;248;248;248m 9 > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248mfor\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mvalue\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[1;38;2;170;34;255;48;2;248;248;248min\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248miter_values\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m:\x1b[0m\x1b[48;2;248;248;248m > > \x1b[0m│\n│\x1b[1;38;2;24;24;24;48;2;248;248;248m > \x1b[0m\x1b[38;2;173;173;173;48;2;248;248;248m10 > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248myield\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mfirst\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m,\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248mFalse\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m,\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mprevious_value\x1b[0m\x1b[48;2;248;248;248m > > \x1b[0m│\n╰────────────────────────────────────────────────────────────────╯\n' > __________________________ test_python_render_simple > ___________________________ > > def test_python_render_simple(): > syntax = Syntax( > CODE, > lexer_name="python", > line_numbers=False, > theme="foo", > code_width=60, > word_wrap=False, > ) > rendered_syntax = render(syntax) > print(repr(rendered_syntax)) > expected = > '\x1b[1;38;2;0;128;0;48;2;248;248;248mdef\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;0;255;48;2;248;248;248mloop_first_last\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m(\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mvalues\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m:\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mIterable\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m[\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mT\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m]\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m)\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;102;102;102;48;2;248;248;248m-\x1b[0m\x1b[38;2;102;102;102;48;2;248;248;248m>\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mIterable\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m[\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mTuple\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m[\x1b[0m\x1b[38;2;0;128;0;48;2;248;248;248mb\x1b[0m\n\x1b[38;2;0;0;0;48;2;248;248;248m > \x1b[0m\x1b[3;38;2;186;33;33;48;2;248;248;248m"""Iterate and generate a > tuple with a flag for first an\x1b[0m\n\x1b[38;2;0;0;0;48;2;248;248;248m > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248miter_values\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;102;102;102;48;2;248;248;248m=\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;128;0;48;2;248;248;248miter\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m(\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mvalues\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m)\x1b[0m\x1b[48;2;248;248;248m > \x1b[0m\n\x1b[38;2;0;0;0;48;2;248;248;248m > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248mtry\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m:\x1b[0m\x1b[48;2;248;248;248m > > \x1b[0m\n\x1b[38;2;0;0;0;48;2;248;248;248m > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mprevious_value\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;102;102;102;48;2;248;248;248m=\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;128;0;48;2;248;248;248mnext\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m(\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248miter_values\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m)\x1b[0m\x1b[48;2;248;248;248m > \x1b[0m\n\x1b[38;2;0;0;0;48;2;248;248;248m > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248mexcept\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[1;38;2;210;65;58;48;2;248;248;248mStopIteration\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m:\x1b[0m\x1b[48;2;248;248;248m > \x1b[0m\n\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248mreturn\x1b[0m\x1b[48;2;248;248;248m > > \x1b[0m\n\x1b[38;2;0;0;0;48;2;248;248;248m > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mfirst\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;102;102;102;48;2;248;248;248m=\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248mTrue\x1b[0m\x1b[48;2;248;248;248m > > \x1b[0m\n\x1b[38;2;0;0;0;48;2;248;248;248m > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248mfor\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mvalue\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[1;38;2;170;34;255;48;2;248;248;248min\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248miter_values\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m:\x1b[0m\x1b[48;2;248;248;248m > \x1b[0m\n\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248myield\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mfirst\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m,\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248mFalse\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m,\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mprevious_value\x1b[0m\x1b[48;2;248;248;248m > \x1b[0m\n\x1b[38;2;0;0;0;48;2;248;248;248m > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mfirst\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;102;102;102;48;2;248;248;248m=\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248mFalse\x1b[0m\x1b[48;2;248;248;248m > > \x1b[0m\n\x1b[38;2;0;0;0;48;2;248;248;248m > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mprevious_value\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;102;102;102;48;2;248;248;248m=\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mvalue\x1b[0m\x1b[48;2;248;248;248m > \x1b[0m\n\x1b[38;2;0;0;0;48;2;248;248;248m > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248myield\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mfirst\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m,\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248mTrue\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m,\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mprevious_value\x1b[0m\x1b[48;2;248;248;248m > \x1b[0m\n' > > assert rendered_syntax == expected > E AssertionError: assert '\x1b[1;38;2;... \x1b[0m\n' == > '\x1b[1;38;2;... \x1b[0m\n' > E Skipping 2033 identical leading characters in diff, use -v to show > E Skipping 2431 identical trailing characters in diff, use -v to show > E - [1;38;2;210;65;58;48;2;248 > E ? - ^ ^ > E + [1;38;2;203;63;56;48;2;248 > E ? + ^ ^ > > tests/test_syntax.py:74: AssertionError > ----------------------------- Captured stdout call > ----------------------------- > '\x1b[1;38;2;0;128;0;48;2;248;248;248mdef\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;0;255;48;2;248;248;248mloop_first_last\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m(\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mvalues\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m:\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mIterable\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m[\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mT\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m]\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m)\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;102;102;102;48;2;248;248;248m-\x1b[0m\x1b[38;2;102;102;102;48;2;248;248;248m>\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mIterable\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m[\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mTuple\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m[\x1b[0m\x1b[38;2;0;128;0;48;2;248;248;248mb\x1b[0m\n\x1b[38;2;0;0;0;48;2;248;248;248m > \x1b[0m\x1b[3;38;2;186;33;33;48;2;248;248;248m"""Iterate and generate a > tuple with a flag for first an\x1b[0m\n\x1b[38;2;0;0;0;48;2;248;248;248m > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248miter_values\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;102;102;102;48;2;248;248;248m=\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;128;0;48;2;248;248;248miter\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m(\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mvalues\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m)\x1b[0m\x1b[48;2;248;248;248m > \x1b[0m\n\x1b[38;2;0;0;0;48;2;248;248;248m > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248mtry\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m:\x1b[0m\x1b[48;2;248;248;248m > > \x1b[0m\n\x1b[38;2;0;0;0;48;2;248;248;248m > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mprevious_value\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;102;102;102;48;2;248;248;248m=\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;128;0;48;2;248;248;248mnext\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m(\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248miter_values\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m)\x1b[0m\x1b[48;2;248;248;248m > \x1b[0m\n\x1b[38;2;0;0;0;48;2;248;248;248m > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248mexcept\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[1;38;2;203;63;56;48;2;248;248;248mStopIteration\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m:\x1b[0m\x1b[48;2;248;248;248m > \x1b[0m\n\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248mreturn\x1b[0m\x1b[48;2;248;248;248m > > \x1b[0m\n\x1b[38;2;0;0;0;48;2;248;248;248m > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mfirst\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;102;102;102;48;2;248;248;248m=\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248mTrue\x1b[0m\x1b[48;2;248;248;248m > > \x1b[0m\n\x1b[38;2;0;0;0;48;2;248;248;248m > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248mfor\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mvalue\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[1;38;2;170;34;255;48;2;248;248;248min\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248miter_values\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m:\x1b[0m\x1b[48;2;248;248;248m > \x1b[0m\n\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248myield\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mfirst\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m,\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248mFalse\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m,\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mprevious_value\x1b[0m\x1b[48;2;248;248;248m > \x1b[0m\n\x1b[38;2;0;0;0;48;2;248;248;248m > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mfirst\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;102;102;102;48;2;248;248;248m=\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248mFalse\x1b[0m\x1b[48;2;248;248;248m > > \x1b[0m\n\x1b[38;2;0;0;0;48;2;248;248;248m > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mprevious_value\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;102;102;102;48;2;248;248;248m=\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mvalue\x1b[0m\x1b[48;2;248;248;248m > \x1b[0m\n\x1b[38;2;0;0;0;48;2;248;248;248m > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248myield\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mfirst\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m,\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248mTrue\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m,\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mprevious_value\x1b[0m\x1b[48;2;248;248;248m > \x1b[0m\n' > _______________________ test_python_render_indent_guides > _______________________ > > def test_python_render_indent_guides(): > syntax = Panel.fit( > Syntax( > CODE, > lexer_name="python", > line_numbers=True, > line_range=(2, 10), > theme="foo", > code_width=60, > word_wrap=True, > indent_guides=True, > ), > padding=0, > ) > rendered_syntax = render(syntax) > print(repr(rendered_syntax)) > expected = > '╭────────────────────────────────────────────────────────────────╮\n│\x1b[1;38;2;24;24;24;48;2;248;248;248m > \x1b[0m\x1b[38;2;173;173;173;48;2;248;248;248m 2 > \x1b[0m\x1b[2;3;38;2;64;128;128;48;2;248;248;248m│ > \x1b[0m\x1b[3;38;2;186;33;33;48;2;248;248;248m"""Iterate and generate a tuple > with a flag for first \x1b[0m\x1b[48;2;248;248;248m > \x1b[0m│\n│\x1b[48;2;248;248;248m > \x1b[0m\x1b[3;38;2;186;33;33;48;2;248;248;248mand last > value."""\x1b[0m\x1b[48;2;248;248;248m > \x1b[0m│\n│\x1b[1;38;2;24;24;24;48;2;248;248;248m > \x1b[0m\x1b[38;2;173;173;173;48;2;248;248;248m 3 > \x1b[0m\x1b[2;3;38;2;64;128;128;48;2;248;248;248m│ > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248miter_values\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;102;102;102;48;2;248;248;248m=\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;128;0;48;2;248;248;248miter\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m(\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mvalues\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m)\x1b[0m\x1b[48;2;248;248;248m > > \x1b[0m│\n│\x1b[1;38;2;24;24;24;48;2;248;248;248m > \x1b[0m\x1b[38;2;173;173;173;48;2;248;248;248m 4 > \x1b[0m\x1b[2;3;38;2;64;128;128;48;2;248;248;248m│ > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248mtry\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m:\x1b[0m\x1b[48;2;248;248;248m > > \x1b[0m│\n│\x1b[1;38;2;24;24;24;48;2;248;248;248m > \x1b[0m\x1b[38;2;173;173;173;48;2;248;248;248m 5 > \x1b[0m\x1b[2;3;38;2;64;128;128;48;2;248;248;248m│ │ > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mprevious_value\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;102;102;102;48;2;248;248;248m=\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;128;0;48;2;248;248;248mnext\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m(\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248miter_values\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m)\x1b[0m\x1b[48;2;248;248;248m > \x1b[0m│\n│\x1b[1;38;2;24;24;24;48;2;248;248;248m > \x1b[0m\x1b[38;2;173;173;173;48;2;248;248;248m 6 > \x1b[0m\x1b[2;3;38;2;64;128;128;48;2;248;248;248m│ > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248mexcept\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[1;38;2;210;65;58;48;2;248;248;248mStopIteration\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m:\x1b[0m\x1b[48;2;248;248;248m > > \x1b[0m│\n│\x1b[1;38;2;24;24;24;48;2;248;248;248m > \x1b[0m\x1b[38;2;173;173;173;48;2;248;248;248m 7 > \x1b[0m\x1b[2;3;38;2;64;128;128;48;2;248;248;248m│ │ > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248mreturn\x1b[0m\x1b[48;2;248;248;248m > > \x1b[0m│\n│\x1b[1;38;2;24;24;24;48;2;248;248;248m > \x1b[0m\x1b[38;2;173;173;173;48;2;248;248;248m 8 > \x1b[0m\x1b[2;3;38;2;64;128;128;48;2;248;248;248m│ > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mfirst\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;102;102;102;48;2;248;248;248m=\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248mTrue\x1b[0m\x1b[48;2;248;248;248m > > \x1b[0m│\n│\x1b[1;38;2;24;24;24;48;2;248;248;248m > \x1b[0m\x1b[38;2;173;173;173;48;2;248;248;248m 9 > \x1b[0m\x1b[2;3;38;2;64;128;128;48;2;248;248;248m│ > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248mfor\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mvalue\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[1;38;2;170;34;255;48;2;248;248;248min\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248miter_values\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m:\x1b[0m\x1b[48;2;248;248;248m > > \x1b[0m│\n│\x1b[1;38;2;24;24;24;48;2;248;248;248m > \x1b[0m\x1b[38;2;173;173;173;48;2;248;248;248m10 > \x1b[0m\x1b[2;3;38;2;64;128;128;48;2;248;248;248m│ │ > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248myield\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mfirst\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m,\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248mFalse\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m,\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mprevious_value\x1b[0m\x1b[48;2;248;248;248m > > \x1b[0m│\n╰────────────────────────────────────────────────────────────────╯\n' > > assert rendered_syntax == expected > E assert '╭───────────...──────────╯\n' == > '╭───────────...──────────╯\n' > E Skipping 154 identical leading characters in diff, use -v to show > E Skipping 478 identical trailing characters in diff, use -v to show > E - 2;3;38;2;64;128;128;48;2;248;248;248m│ > [0m[3;38;2;186;33;33;48;2;248;248;248m"""Iterate and generate a tuple with > a flag for first [0m[48;2;248;248;248m [0m│ > E ? ^ ^ ^ > E + 2;3;38;2;61;123;123;48;2;248;248;248m│ > [0m[3;38;2;186;33;33;48;2;248;248;248m"""Iterate and generate a tuple with > a flag for first [0m[48;2;248;248;248m [0m│ > E ? ^ ^ ^ > E │[48;2;248;248;248m > [0m[3;38;2;186;33;33;48;2;248;248;248mand ... > E > E ...Full output truncated (33 lines hidden), use '-vv' to show > > tests/test_syntax.py:127: AssertionError > ----------------------------- Captured stdout call > ----------------------------- > '╭────────────────────────────────────────────────────────────────╮\n│\x1b[1;38;2;24;24;24;48;2;248;248;248m > \x1b[0m\x1b[38;2;173;173;173;48;2;248;248;248m 2 > \x1b[0m\x1b[2;3;38;2;61;123;123;48;2;248;248;248m│ > \x1b[0m\x1b[3;38;2;186;33;33;48;2;248;248;248m"""Iterate and generate a tuple > with a flag for first \x1b[0m\x1b[48;2;248;248;248m > \x1b[0m│\n│\x1b[48;2;248;248;248m > \x1b[0m\x1b[3;38;2;186;33;33;48;2;248;248;248mand last > value."""\x1b[0m\x1b[48;2;248;248;248m > \x1b[0m│\n│\x1b[1;38;2;24;24;24;48;2;248;248;248m > \x1b[0m\x1b[38;2;173;173;173;48;2;248;248;248m 3 > \x1b[0m\x1b[2;3;38;2;61;123;123;48;2;248;248;248m│ > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248miter_values\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;102;102;102;48;2;248;248;248m=\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;128;0;48;2;248;248;248miter\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m(\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mvalues\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m)\x1b[0m\x1b[48;2;248;248;248m > > \x1b[0m│\n│\x1b[1;38;2;24;24;24;48;2;248;248;248m > \x1b[0m\x1b[38;2;173;173;173;48;2;248;248;248m 4 > \x1b[0m\x1b[2;3;38;2;61;123;123;48;2;248;248;248m│ > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248mtry\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m:\x1b[0m\x1b[48;2;248;248;248m > > \x1b[0m│\n│\x1b[1;38;2;24;24;24;48;2;248;248;248m > \x1b[0m\x1b[38;2;173;173;173;48;2;248;248;248m 5 > \x1b[0m\x1b[2;3;38;2;61;123;123;48;2;248;248;248m│ │ > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mprevious_value\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;102;102;102;48;2;248;248;248m=\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;128;0;48;2;248;248;248mnext\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m(\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248miter_values\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m)\x1b[0m\x1b[48;2;248;248;248m > \x1b[0m│\n│\x1b[1;38;2;24;24;24;48;2;248;248;248m > \x1b[0m\x1b[38;2;173;173;173;48;2;248;248;248m 6 > \x1b[0m\x1b[2;3;38;2;61;123;123;48;2;248;248;248m│ > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248mexcept\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[1;38;2;203;63;56;48;2;248;248;248mStopIteration\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m:\x1b[0m\x1b[48;2;248;248;248m > > \x1b[0m│\n│\x1b[1;38;2;24;24;24;48;2;248;248;248m > \x1b[0m\x1b[38;2;173;173;173;48;2;248;248;248m 7 > \x1b[0m\x1b[2;3;38;2;61;123;123;48;2;248;248;248m│ │ > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248mreturn\x1b[0m\x1b[48;2;248;248;248m > > \x1b[0m│\n│\x1b[1;38;2;24;24;24;48;2;248;248;248m > \x1b[0m\x1b[38;2;173;173;173;48;2;248;248;248m 8 > \x1b[0m\x1b[2;3;38;2;61;123;123;48;2;248;248;248m│ > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mfirst\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;102;102;102;48;2;248;248;248m=\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248mTrue\x1b[0m\x1b[48;2;248;248;248m > > \x1b[0m│\n│\x1b[1;38;2;24;24;24;48;2;248;248;248m > \x1b[0m\x1b[38;2;173;173;173;48;2;248;248;248m 9 > \x1b[0m\x1b[2;3;38;2;61;123;123;48;2;248;248;248m│ > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248mfor\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mvalue\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[1;38;2;170;34;255;48;2;248;248;248min\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248miter_values\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m:\x1b[0m\x1b[48;2;248;248;248m > > \x1b[0m│\n│\x1b[1;38;2;24;24;24;48;2;248;248;248m > \x1b[0m\x1b[38;2;173;173;173;48;2;248;248;248m10 > \x1b[0m\x1b[2;3;38;2;61;123;123;48;2;248;248;248m│ │ > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248myield\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mfirst\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m,\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248mFalse\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m,\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mprevious_value\x1b[0m\x1b[48;2;248;248;248m > > \x1b[0m│\n╰────────────────────────────────────────────────────────────────╯\n' > =============================== warnings summary > =============================== > tests/test_tabulate.py: 17 warnings > /<<PKGBUILDDIR>>/rich/tabulate.py:32: DeprecationWarning: tabulate_mapping > will be deprecated in Rich v11 > warnings.warn("tabulate_mapping will be deprecated in Rich v11", > DeprecationWarning) > > -- Docs: https://docs.pytest.org/en/stable/warnings.html > =========================== short test summary info > ============================ > FAILED tests/test_syntax.py::test_python_render - AssertionError: assert > '╭──... > FAILED tests/test_syntax.py::test_python_render_simple - AssertionError: > asse... > FAILED tests/test_syntax.py::test_python_render_indent_guides - assert > '╭────... > ============ 3 failed, 577 passed, 3 skipped, 17 warnings in 4.70s > ============= > E: pybuild pybuild:367: test: plugin custom failed with: exit code=1: > PYTHONPATH=/<<PKGBUILDDIR>> python3.10 -m pytest > I: pybuild base:237: PYTHONPATH=/<<PKGBUILDDIR>> python3.9 -m pytest > ============================= test session starts > ============================== > platform linux -- Python 3.9.10, pytest-6.2.5, py-1.10.0, pluggy-0.13.0 > rootdir: /<<PKGBUILDDIR>> > collected 583 items > > tests/test_align.py ................ [ > 2%] > tests/test_ansi.py . [ > 2%] > tests/test_bar.py ....... [ > 4%] > tests/test_block_bar.py .... [ > 4%] > tests/test_box.py ...... [ > 5%] > tests/test_card.py . [ > 6%] > tests/test_cells.py .. [ > 6%] > tests/test_color.py ................. [ > 9%] > tests/test_color_triplet.py ... [ > 9%] > tests/test_columns.py . [ > 9%] > tests/test_columns_align.py . [ > 10%] > tests/test_console.py .................................................. [ > 18%] > .......................... [ > 23%] > tests/test_constrain.py . [ > 23%] > tests/test_containers.py .... [ > 24%] > tests/test_control.py ..... [ > 24%] > tests/test_emoji.py ...... [ > 25%] > tests/test_file_proxy.py .. [ > 26%] > tests/test_filesize.py .. [ > 26%] > tests/test_highlighter.py ...................................... [ > 33%] > tests/test_inspect.py ......s. [ > 34%] > tests/test_json.py . [ > 34%] > tests/test_jupyter.py . [ > 34%] > tests/test_layout.py ...... [ > 35%] > tests/test_live.py .......... [ > 37%] > tests/test_live_render.py .... [ > 38%] > tests/test_log.py ... [ > 38%] > tests/test_logging.py .... [ > 39%] > tests/test_lrucache.py . [ > 39%] > tests/test_markdown.py .. [ > 39%] > tests/test_markdown_no_hyperlinks.py . [ > 40%] > tests/test_markup.py ................... [ > 43%] > tests/test_measure.py .... [ > 44%] > tests/test_padding.py ..... [ > 44%] > tests/test_palette.py . [ > 45%] > tests/test_panel.py ......... [ > 46%] > tests/test_pick.py . [ > 46%] > tests/test_pretty.py ......................s.. [ > 51%] > tests/test_progress.py ......................... [ > 55%] > tests/test_prompt.py ...... [ > 56%] > tests/test_protocol.py ...... [ > 57%] > tests/test_ratio.py ....... [ > 58%] > tests/test_repr.py ........ [ > 60%] > tests/test_rich_print.py ....... [ > 61%] > tests/test_rule.py ....... [ > 62%] > tests/test_screen.py . [ > 62%] > tests/test_segment.py ............................................. [ > 70%] > tests/test_spinner.py ..... [ > 71%] > tests/test_stack.py . [ > 71%] > tests/test_status.py .. [ > 71%] > tests/test_style.py ......................... [ > 75%] > tests/test_styled.py . [ > 76%] > tests/test_syntax.py .FF..F.......... [ > 78%] > tests/test_table.py ....... [ > 80%] > tests/test_tabulate.py . [ > 80%] > tests/test_text.py ..................................................... [ > 89%] > ............................. [ > 94%] > tests/test_theme.py ..... [ > 95%] > tests/test_tools.py .... [ > 95%] > tests/test_traceback.py ............... [ > 98%] > tests/test_tree.py .....s.s. > [100%] > > =================================== FAILURES > =================================== > ______________________________ test_python_render > ______________________________ > > def test_python_render(): > syntax = Panel.fit( > Syntax( > CODE, > lexer_name="python", > line_numbers=True, > line_range=(2, 10), > theme="foo", > code_width=60, > word_wrap=True, > ), > padding=0, > ) > rendered_syntax = render(syntax) > print(repr(rendered_syntax)) > expected = > '╭────────────────────────────────────────────────────────────────╮\n│\x1b[1;38;2;24;24;24;48;2;248;248;248m > \x1b[0m\x1b[38;2;173;173;173;48;2;248;248;248m 2 > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > \x1b[0m\x1b[3;38;2;186;33;33;48;2;248;248;248m"""Iterate and generate a tuple > with a flag for first \x1b[0m\x1b[48;2;248;248;248m > \x1b[0m│\n│\x1b[48;2;248;248;248m > \x1b[0m\x1b[3;38;2;186;33;33;48;2;248;248;248mand last > value."""\x1b[0m\x1b[48;2;248;248;248m > \x1b[0m│\n│\x1b[1;38;2;24;24;24;48;2;248;248;248m > \x1b[0m\x1b[38;2;173;173;173;48;2;248;248;248m 3 > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248miter_values\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;102;102;102;48;2;248;248;248m=\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;128;0;48;2;248;248;248miter\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m(\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mvalues\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m)\x1b[0m\x1b[48;2;248;248;248m > > \x1b[0m│\n│\x1b[1;38;2;24;24;24;48;2;248;248;248m > \x1b[0m\x1b[38;2;173;173;173;48;2;248;248;248m 4 > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248mtry\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m:\x1b[0m\x1b[48;2;248;248;248m > > \x1b[0m│\n│\x1b[1;38;2;24;24;24;48;2;248;248;248m > \x1b[0m\x1b[38;2;173;173;173;48;2;248;248;248m 5 > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mprevious_value\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;102;102;102;48;2;248;248;248m=\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;128;0;48;2;248;248;248mnext\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m(\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248miter_values\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m)\x1b[0m\x1b[48;2;248;248;248m > \x1b[0m│\n│\x1b[1;38;2;24;24;24;48;2;248;248;248m > \x1b[0m\x1b[38;2;173;173;173;48;2;248;248;248m 6 > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248mexcept\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[1;38;2;210;65;58;48;2;248;248;248mStopIteration\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m:\x1b[0m\x1b[48;2;248;248;248m > > \x1b[0m│\n│\x1b[1;38;2;24;24;24;48;2;248;248;248m > \x1b[0m\x1b[38;2;173;173;173;48;2;248;248;248m 7 > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248mreturn\x1b[0m\x1b[48;2;248;248;248m > > \x1b[0m│\n│\x1b[1;38;2;24;24;24;48;2;248;248;248m > \x1b[0m\x1b[38;2;173;173;173;48;2;248;248;248m 8 > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mfirst\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;102;102;102;48;2;248;248;248m=\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248mTrue\x1b[0m\x1b[48;2;248;248;248m > > \x1b[0m│\n│\x1b[1;38;2;24;24;24;48;2;248;248;248m > \x1b[0m\x1b[38;2;173;173;173;48;2;248;248;248m 9 > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248mfor\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mvalue\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[1;38;2;170;34;255;48;2;248;248;248min\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248miter_values\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m:\x1b[0m\x1b[48;2;248;248;248m > > \x1b[0m│\n│\x1b[1;38;2;24;24;24;48;2;248;248;248m > \x1b[0m\x1b[38;2;173;173;173;48;2;248;248;248m10 > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248myield\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mfirst\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m,\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248mFalse\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m,\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mprevious_value\x1b[0m\x1b[48;2;248;248;248m > > \x1b[0m│\n╰────────────────────────────────────────────────────────────────╯\n' > > assert rendered_syntax == expected > E AssertionError: assert '╭───────────...──────────╯\n' == > '╭───────────...──────────╯\n' > E Skipping 1906 identical leading characters in diff, use -v to show > E Skipping 1814 identical trailing characters in diff, use -v to show > E - [1;38;2;210;65;58;48;2;248 > E ? - ^ ^ > E + [1;38;2;203;63;56;48;2;248 > E ? + ^ ^ > > tests/test_syntax.py:59: AssertionError > ----------------------------- Captured stdout call > ----------------------------- > '╭────────────────────────────────────────────────────────────────╮\n│\x1b[1;38;2;24;24;24;48;2;248;248;248m > \x1b[0m\x1b[38;2;173;173;173;48;2;248;248;248m 2 > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > \x1b[0m\x1b[3;38;2;186;33;33;48;2;248;248;248m"""Iterate and generate a tuple > with a flag for first \x1b[0m\x1b[48;2;248;248;248m > \x1b[0m│\n│\x1b[48;2;248;248;248m > \x1b[0m\x1b[3;38;2;186;33;33;48;2;248;248;248mand last > value."""\x1b[0m\x1b[48;2;248;248;248m > \x1b[0m│\n│\x1b[1;38;2;24;24;24;48;2;248;248;248m > \x1b[0m\x1b[38;2;173;173;173;48;2;248;248;248m 3 > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248miter_values\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;102;102;102;48;2;248;248;248m=\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;128;0;48;2;248;248;248miter\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m(\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mvalues\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m)\x1b[0m\x1b[48;2;248;248;248m > > \x1b[0m│\n│\x1b[1;38;2;24;24;24;48;2;248;248;248m > \x1b[0m\x1b[38;2;173;173;173;48;2;248;248;248m 4 > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248mtry\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m:\x1b[0m\x1b[48;2;248;248;248m > > \x1b[0m│\n│\x1b[1;38;2;24;24;24;48;2;248;248;248m > \x1b[0m\x1b[38;2;173;173;173;48;2;248;248;248m 5 > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mprevious_value\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;102;102;102;48;2;248;248;248m=\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;128;0;48;2;248;248;248mnext\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m(\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248miter_values\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m)\x1b[0m\x1b[48;2;248;248;248m > \x1b[0m│\n│\x1b[1;38;2;24;24;24;48;2;248;248;248m > \x1b[0m\x1b[38;2;173;173;173;48;2;248;248;248m 6 > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248mexcept\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[1;38;2;203;63;56;48;2;248;248;248mStopIteration\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m:\x1b[0m\x1b[48;2;248;248;248m > > \x1b[0m│\n│\x1b[1;38;2;24;24;24;48;2;248;248;248m > \x1b[0m\x1b[38;2;173;173;173;48;2;248;248;248m 7 > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248mreturn\x1b[0m\x1b[48;2;248;248;248m > > \x1b[0m│\n│\x1b[1;38;2;24;24;24;48;2;248;248;248m > \x1b[0m\x1b[38;2;173;173;173;48;2;248;248;248m 8 > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mfirst\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;102;102;102;48;2;248;248;248m=\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248mTrue\x1b[0m\x1b[48;2;248;248;248m > > \x1b[0m│\n│\x1b[1;38;2;24;24;24;48;2;248;248;248m > \x1b[0m\x1b[38;2;173;173;173;48;2;248;248;248m 9 > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248mfor\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mvalue\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[1;38;2;170;34;255;48;2;248;248;248min\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248miter_values\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m:\x1b[0m\x1b[48;2;248;248;248m > > \x1b[0m│\n│\x1b[1;38;2;24;24;24;48;2;248;248;248m > \x1b[0m\x1b[38;2;173;173;173;48;2;248;248;248m10 > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248myield\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mfirst\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m,\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248mFalse\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m,\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mprevious_value\x1b[0m\x1b[48;2;248;248;248m > > \x1b[0m│\n╰────────────────────────────────────────────────────────────────╯\n' > __________________________ test_python_render_simple > ___________________________ > > def test_python_render_simple(): > syntax = Syntax( > CODE, > lexer_name="python", > line_numbers=False, > theme="foo", > code_width=60, > word_wrap=False, > ) > rendered_syntax = render(syntax) > print(repr(rendered_syntax)) > expected = > '\x1b[1;38;2;0;128;0;48;2;248;248;248mdef\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;0;255;48;2;248;248;248mloop_first_last\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m(\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mvalues\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m:\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mIterable\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m[\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mT\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m]\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m)\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;102;102;102;48;2;248;248;248m-\x1b[0m\x1b[38;2;102;102;102;48;2;248;248;248m>\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mIterable\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m[\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mTuple\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m[\x1b[0m\x1b[38;2;0;128;0;48;2;248;248;248mb\x1b[0m\n\x1b[38;2;0;0;0;48;2;248;248;248m > \x1b[0m\x1b[3;38;2;186;33;33;48;2;248;248;248m"""Iterate and generate a > tuple with a flag for first an\x1b[0m\n\x1b[38;2;0;0;0;48;2;248;248;248m > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248miter_values\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;102;102;102;48;2;248;248;248m=\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;128;0;48;2;248;248;248miter\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m(\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mvalues\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m)\x1b[0m\x1b[48;2;248;248;248m > \x1b[0m\n\x1b[38;2;0;0;0;48;2;248;248;248m > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248mtry\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m:\x1b[0m\x1b[48;2;248;248;248m > > \x1b[0m\n\x1b[38;2;0;0;0;48;2;248;248;248m > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mprevious_value\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;102;102;102;48;2;248;248;248m=\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;128;0;48;2;248;248;248mnext\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m(\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248miter_values\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m)\x1b[0m\x1b[48;2;248;248;248m > \x1b[0m\n\x1b[38;2;0;0;0;48;2;248;248;248m > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248mexcept\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[1;38;2;210;65;58;48;2;248;248;248mStopIteration\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m:\x1b[0m\x1b[48;2;248;248;248m > \x1b[0m\n\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248mreturn\x1b[0m\x1b[48;2;248;248;248m > > \x1b[0m\n\x1b[38;2;0;0;0;48;2;248;248;248m > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mfirst\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;102;102;102;48;2;248;248;248m=\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248mTrue\x1b[0m\x1b[48;2;248;248;248m > > \x1b[0m\n\x1b[38;2;0;0;0;48;2;248;248;248m > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248mfor\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mvalue\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[1;38;2;170;34;255;48;2;248;248;248min\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248miter_values\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m:\x1b[0m\x1b[48;2;248;248;248m > \x1b[0m\n\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248myield\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mfirst\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m,\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248mFalse\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m,\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mprevious_value\x1b[0m\x1b[48;2;248;248;248m > \x1b[0m\n\x1b[38;2;0;0;0;48;2;248;248;248m > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mfirst\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;102;102;102;48;2;248;248;248m=\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248mFalse\x1b[0m\x1b[48;2;248;248;248m > > \x1b[0m\n\x1b[38;2;0;0;0;48;2;248;248;248m > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mprevious_value\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;102;102;102;48;2;248;248;248m=\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mvalue\x1b[0m\x1b[48;2;248;248;248m > \x1b[0m\n\x1b[38;2;0;0;0;48;2;248;248;248m > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248myield\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mfirst\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m,\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248mTrue\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m,\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mprevious_value\x1b[0m\x1b[48;2;248;248;248m > \x1b[0m\n' > > assert rendered_syntax == expected > E AssertionError: assert '\x1b[1;38;2;... \x1b[0m\n' == > '\x1b[1;38;2;... \x1b[0m\n' > E Skipping 2033 identical leading characters in diff, use -v to show > E Skipping 2431 identical trailing characters in diff, use -v to show > E - [1;38;2;210;65;58;48;2;248 > E ? - ^ ^ > E + [1;38;2;203;63;56;48;2;248 > E ? + ^ ^ > > tests/test_syntax.py:74: AssertionError > ----------------------------- Captured stdout call > ----------------------------- > '\x1b[1;38;2;0;128;0;48;2;248;248;248mdef\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;0;255;48;2;248;248;248mloop_first_last\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m(\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mvalues\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m:\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mIterable\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m[\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mT\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m]\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m)\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;102;102;102;48;2;248;248;248m-\x1b[0m\x1b[38;2;102;102;102;48;2;248;248;248m>\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mIterable\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m[\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mTuple\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m[\x1b[0m\x1b[38;2;0;128;0;48;2;248;248;248mb\x1b[0m\n\x1b[38;2;0;0;0;48;2;248;248;248m > \x1b[0m\x1b[3;38;2;186;33;33;48;2;248;248;248m"""Iterate and generate a > tuple with a flag for first an\x1b[0m\n\x1b[38;2;0;0;0;48;2;248;248;248m > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248miter_values\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;102;102;102;48;2;248;248;248m=\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;128;0;48;2;248;248;248miter\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m(\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mvalues\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m)\x1b[0m\x1b[48;2;248;248;248m > \x1b[0m\n\x1b[38;2;0;0;0;48;2;248;248;248m > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248mtry\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m:\x1b[0m\x1b[48;2;248;248;248m > > \x1b[0m\n\x1b[38;2;0;0;0;48;2;248;248;248m > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mprevious_value\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;102;102;102;48;2;248;248;248m=\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;128;0;48;2;248;248;248mnext\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m(\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248miter_values\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m)\x1b[0m\x1b[48;2;248;248;248m > \x1b[0m\n\x1b[38;2;0;0;0;48;2;248;248;248m > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248mexcept\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[1;38;2;203;63;56;48;2;248;248;248mStopIteration\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m:\x1b[0m\x1b[48;2;248;248;248m > \x1b[0m\n\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248mreturn\x1b[0m\x1b[48;2;248;248;248m > > \x1b[0m\n\x1b[38;2;0;0;0;48;2;248;248;248m > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mfirst\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;102;102;102;48;2;248;248;248m=\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248mTrue\x1b[0m\x1b[48;2;248;248;248m > > \x1b[0m\n\x1b[38;2;0;0;0;48;2;248;248;248m > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248mfor\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mvalue\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[1;38;2;170;34;255;48;2;248;248;248min\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248miter_values\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m:\x1b[0m\x1b[48;2;248;248;248m > \x1b[0m\n\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248myield\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mfirst\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m,\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248mFalse\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m,\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mprevious_value\x1b[0m\x1b[48;2;248;248;248m > \x1b[0m\n\x1b[38;2;0;0;0;48;2;248;248;248m > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mfirst\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;102;102;102;48;2;248;248;248m=\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248mFalse\x1b[0m\x1b[48;2;248;248;248m > > \x1b[0m\n\x1b[38;2;0;0;0;48;2;248;248;248m > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mprevious_value\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;102;102;102;48;2;248;248;248m=\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mvalue\x1b[0m\x1b[48;2;248;248;248m > \x1b[0m\n\x1b[38;2;0;0;0;48;2;248;248;248m > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248myield\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mfirst\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m,\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248mTrue\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m,\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mprevious_value\x1b[0m\x1b[48;2;248;248;248m > \x1b[0m\n' > _______________________ test_python_render_indent_guides > _______________________ > > def test_python_render_indent_guides(): > syntax = Panel.fit( > Syntax( > CODE, > lexer_name="python", > line_numbers=True, > line_range=(2, 10), > theme="foo", > code_width=60, > word_wrap=True, > indent_guides=True, > ), > padding=0, > ) > rendered_syntax = render(syntax) > print(repr(rendered_syntax)) > expected = > '╭────────────────────────────────────────────────────────────────╮\n│\x1b[1;38;2;24;24;24;48;2;248;248;248m > \x1b[0m\x1b[38;2;173;173;173;48;2;248;248;248m 2 > \x1b[0m\x1b[2;3;38;2;64;128;128;48;2;248;248;248m│ > \x1b[0m\x1b[3;38;2;186;33;33;48;2;248;248;248m"""Iterate and generate a tuple > with a flag for first \x1b[0m\x1b[48;2;248;248;248m > \x1b[0m│\n│\x1b[48;2;248;248;248m > \x1b[0m\x1b[3;38;2;186;33;33;48;2;248;248;248mand last > value."""\x1b[0m\x1b[48;2;248;248;248m > \x1b[0m│\n│\x1b[1;38;2;24;24;24;48;2;248;248;248m > \x1b[0m\x1b[38;2;173;173;173;48;2;248;248;248m 3 > \x1b[0m\x1b[2;3;38;2;64;128;128;48;2;248;248;248m│ > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248miter_values\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;102;102;102;48;2;248;248;248m=\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;128;0;48;2;248;248;248miter\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m(\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mvalues\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m)\x1b[0m\x1b[48;2;248;248;248m > > \x1b[0m│\n│\x1b[1;38;2;24;24;24;48;2;248;248;248m > \x1b[0m\x1b[38;2;173;173;173;48;2;248;248;248m 4 > \x1b[0m\x1b[2;3;38;2;64;128;128;48;2;248;248;248m│ > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248mtry\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m:\x1b[0m\x1b[48;2;248;248;248m > > \x1b[0m│\n│\x1b[1;38;2;24;24;24;48;2;248;248;248m > \x1b[0m\x1b[38;2;173;173;173;48;2;248;248;248m 5 > \x1b[0m\x1b[2;3;38;2;64;128;128;48;2;248;248;248m│ │ > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mprevious_value\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;102;102;102;48;2;248;248;248m=\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;128;0;48;2;248;248;248mnext\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m(\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248miter_values\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m)\x1b[0m\x1b[48;2;248;248;248m > \x1b[0m│\n│\x1b[1;38;2;24;24;24;48;2;248;248;248m > \x1b[0m\x1b[38;2;173;173;173;48;2;248;248;248m 6 > \x1b[0m\x1b[2;3;38;2;64;128;128;48;2;248;248;248m│ > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248mexcept\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[1;38;2;210;65;58;48;2;248;248;248mStopIteration\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m:\x1b[0m\x1b[48;2;248;248;248m > > \x1b[0m│\n│\x1b[1;38;2;24;24;24;48;2;248;248;248m > \x1b[0m\x1b[38;2;173;173;173;48;2;248;248;248m 7 > \x1b[0m\x1b[2;3;38;2;64;128;128;48;2;248;248;248m│ │ > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248mreturn\x1b[0m\x1b[48;2;248;248;248m > > \x1b[0m│\n│\x1b[1;38;2;24;24;24;48;2;248;248;248m > \x1b[0m\x1b[38;2;173;173;173;48;2;248;248;248m 8 > \x1b[0m\x1b[2;3;38;2;64;128;128;48;2;248;248;248m│ > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mfirst\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;102;102;102;48;2;248;248;248m=\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248mTrue\x1b[0m\x1b[48;2;248;248;248m > > \x1b[0m│\n│\x1b[1;38;2;24;24;24;48;2;248;248;248m > \x1b[0m\x1b[38;2;173;173;173;48;2;248;248;248m 9 > \x1b[0m\x1b[2;3;38;2;64;128;128;48;2;248;248;248m│ > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248mfor\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mvalue\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[1;38;2;170;34;255;48;2;248;248;248min\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248miter_values\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m:\x1b[0m\x1b[48;2;248;248;248m > > \x1b[0m│\n│\x1b[1;38;2;24;24;24;48;2;248;248;248m > \x1b[0m\x1b[38;2;173;173;173;48;2;248;248;248m10 > \x1b[0m\x1b[2;3;38;2;64;128;128;48;2;248;248;248m│ │ > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248myield\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mfirst\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m,\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248mFalse\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m,\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mprevious_value\x1b[0m\x1b[48;2;248;248;248m > > \x1b[0m│\n╰────────────────────────────────────────────────────────────────╯\n' > > assert rendered_syntax == expected > E assert '╭───────────...──────────╯\n' == > '╭───────────...──────────╯\n' > E Skipping 154 identical leading characters in diff, use -v to show > E Skipping 478 identical trailing characters in diff, use -v to show > E - 2;3;38;2;64;128;128;48;2;248;248;248m│ > [0m[3;38;2;186;33;33;48;2;248;248;248m"""Iterate and generate a tuple with > a flag for first [0m[48;2;248;248;248m [0m│ > E ? ^ ^ ^ > E + 2;3;38;2;61;123;123;48;2;248;248;248m│ > [0m[3;38;2;186;33;33;48;2;248;248;248m"""Iterate and generate a tuple with > a flag for first [0m[48;2;248;248;248m [0m│ > E ? ^ ^ ^ > E │[48;2;248;248;248m > [0m[3;38;2;186;33;33;48;2;248;248;248mand ... > E > E ...Full output truncated (33 lines hidden), use '-vv' to show > > tests/test_syntax.py:127: AssertionError > ----------------------------- Captured stdout call > ----------------------------- > '╭────────────────────────────────────────────────────────────────╮\n│\x1b[1;38;2;24;24;24;48;2;248;248;248m > \x1b[0m\x1b[38;2;173;173;173;48;2;248;248;248m 2 > \x1b[0m\x1b[2;3;38;2;61;123;123;48;2;248;248;248m│ > \x1b[0m\x1b[3;38;2;186;33;33;48;2;248;248;248m"""Iterate and generate a tuple > with a flag for first \x1b[0m\x1b[48;2;248;248;248m > \x1b[0m│\n│\x1b[48;2;248;248;248m > \x1b[0m\x1b[3;38;2;186;33;33;48;2;248;248;248mand last > value."""\x1b[0m\x1b[48;2;248;248;248m > \x1b[0m│\n│\x1b[1;38;2;24;24;24;48;2;248;248;248m > \x1b[0m\x1b[38;2;173;173;173;48;2;248;248;248m 3 > \x1b[0m\x1b[2;3;38;2;61;123;123;48;2;248;248;248m│ > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248miter_values\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;102;102;102;48;2;248;248;248m=\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;128;0;48;2;248;248;248miter\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m(\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mvalues\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m)\x1b[0m\x1b[48;2;248;248;248m > > \x1b[0m│\n│\x1b[1;38;2;24;24;24;48;2;248;248;248m > \x1b[0m\x1b[38;2;173;173;173;48;2;248;248;248m 4 > \x1b[0m\x1b[2;3;38;2;61;123;123;48;2;248;248;248m│ > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248mtry\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m:\x1b[0m\x1b[48;2;248;248;248m > > \x1b[0m│\n│\x1b[1;38;2;24;24;24;48;2;248;248;248m > \x1b[0m\x1b[38;2;173;173;173;48;2;248;248;248m 5 > \x1b[0m\x1b[2;3;38;2;61;123;123;48;2;248;248;248m│ │ > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mprevious_value\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;102;102;102;48;2;248;248;248m=\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;128;0;48;2;248;248;248mnext\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m(\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248miter_values\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m)\x1b[0m\x1b[48;2;248;248;248m > \x1b[0m│\n│\x1b[1;38;2;24;24;24;48;2;248;248;248m > \x1b[0m\x1b[38;2;173;173;173;48;2;248;248;248m 6 > \x1b[0m\x1b[2;3;38;2;61;123;123;48;2;248;248;248m│ > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248mexcept\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[1;38;2;203;63;56;48;2;248;248;248mStopIteration\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m:\x1b[0m\x1b[48;2;248;248;248m > > \x1b[0m│\n│\x1b[1;38;2;24;24;24;48;2;248;248;248m > \x1b[0m\x1b[38;2;173;173;173;48;2;248;248;248m 7 > \x1b[0m\x1b[2;3;38;2;61;123;123;48;2;248;248;248m│ │ > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248mreturn\x1b[0m\x1b[48;2;248;248;248m > > \x1b[0m│\n│\x1b[1;38;2;24;24;24;48;2;248;248;248m > \x1b[0m\x1b[38;2;173;173;173;48;2;248;248;248m 8 > \x1b[0m\x1b[2;3;38;2;61;123;123;48;2;248;248;248m│ > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mfirst\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;102;102;102;48;2;248;248;248m=\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248mTrue\x1b[0m\x1b[48;2;248;248;248m > > \x1b[0m│\n│\x1b[1;38;2;24;24;24;48;2;248;248;248m > \x1b[0m\x1b[38;2;173;173;173;48;2;248;248;248m 9 > \x1b[0m\x1b[2;3;38;2;61;123;123;48;2;248;248;248m│ > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248mfor\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mvalue\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[1;38;2;170;34;255;48;2;248;248;248min\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248miter_values\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m:\x1b[0m\x1b[48;2;248;248;248m > > \x1b[0m│\n│\x1b[1;38;2;24;24;24;48;2;248;248;248m > \x1b[0m\x1b[38;2;173;173;173;48;2;248;248;248m10 > \x1b[0m\x1b[2;3;38;2;61;123;123;48;2;248;248;248m│ │ > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248myield\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mfirst\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m,\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[1;38;2;0;128;0;48;2;248;248;248mFalse\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m,\x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248m > > \x1b[0m\x1b[38;2;0;0;0;48;2;248;248;248mprevious_value\x1b[0m\x1b[48;2;248;248;248m > > \x1b[0m│\n╰────────────────────────────────────────────────────────────────╯\n' > =============================== warnings summary > =============================== > tests/test_tabulate.py: 17 warnings > /<<PKGBUILDDIR>>/rich/tabulate.py:32: DeprecationWarning: tabulate_mapping > will be deprecated in Rich v11 > warnings.warn("tabulate_mapping will be deprecated in Rich v11", > DeprecationWarning) > > -- Docs: https://docs.pytest.org/en/stable/warnings.html > =========================== short test summary info > ============================ > FAILED tests/test_syntax.py::test_python_render - AssertionError: assert > '╭──... > FAILED tests/test_syntax.py::test_python_render_simple - AssertionError: > asse... > FAILED tests/test_syntax.py::test_python_render_indent_guides - assert > '╭────... > ============ 3 failed, 576 passed, 4 skipped, 17 warnings in 4.75s > ============= > E: pybuild pybuild:367: test: plugin custom failed with: exit code=1: > PYTHONPATH=/<<PKGBUILDDIR>> python3.9 -m pytest > dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.10 > 3.9" returned exit code 13 The full build log is available from: http://qa-logs.debian.net/2022/02/18/rich_10.16.2-1_unstable.log 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 marking 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.