Skip to content

test_help_preview_generation fails with rich==13.8.1 #133

Closed
@mweinelt

Description

@mweinelt

Hi!

We are using rich-argparse 1.5.2 and after upgrading rich from 13.7.1 to 13.8.1 in nixpkgs the following test started failing:

_________________________ test_help_preview_generation _________________________

tmp_path = PosixPath('/build/pytest-of-nixbld/pytest-0/test_help_preview_generation0')

    def test_help_preview_generation(tmp_path):
        parser = ArgumentParser("PROG", formatter_class=RichHelpFormatter)
        parser.add_argument("--foo", help="foo help")
        preview_action = parser.add_argument("--generate", action=HelpPreviewAction)
        default_path = tmp_path / "default-preview.svg"
        parser.add_argument("--generate-with-default", action=HelpPreviewAction, path=str(default_path))
    
        # No namespace pollution
        args = parser.parse_args(["--foo", "FOO"])
        assert vars(args) == {"foo": "FOO"}
    
        # No help pollution
        assert "--generate" not in parser.format_help()
    
        # No file, error
        with pytest.raises(SystemExit) as exc_info:
            parser.parse_args(["--generate"])
        assert exc_info.value.code == 1
    
        # Default file, ok
        with pytest.raises(SystemExit) as exc_info:
            parser.parse_args(["--generate-with-default"])
        assert exc_info.value.code == 0
        assert default_path.exists()
    
        # SVG file
        svg_file = tmp_path / "preview.svg"
        with pytest.raises(SystemExit) as exc_info:
            parser.parse_args(["--generate", str(svg_file)])
        assert exc_info.value.code == 0
        assert svg_file.exists()
        assert svg_file.read_text().startswith("<svg")
    
        # HTML file
        preview_action.export_kwds = {}
        html_file = tmp_path / "preview.html"
        with pytest.raises(SystemExit) as exc_info:
            parser.parse_args(["--generate", str(html_file)])
        assert exc_info.value.code == 0
        assert html_file.exists()
        assert html_file.read_text().startswith("<!DOCTYPE html>")
    
        # TXT file
        preview_action.export_kwds = {}
        txt_file = tmp_path / "preview.txt"
        with pytest.raises(SystemExit) as exc_info:
            parser.parse_args(["--generate", str(txt_file)])
        assert exc_info.value.code == 0
        assert txt_file.exists()
>       assert txt_file.read_text().startswith("Usage:")
E       AssertionError: assert False
E        +  where False = <built-in method startswith of str object at 0x7ffff7f51c90>('Usage:')
E        +    where <built-in method startswith of str object at 0x7ffff7f51c90> = ''.startswith
E        +      where '' = read_text()
E        +        where read_text = PosixPath('/build/pytest-of-nixbld/pytest-0/test_help_preview_generation0/preview.txt').read_text

tests/test_argparse.py:992: AssertionError
----------------------------- Captured stderr call -----------------------------
error: help preview path is not provided
Help preview saved to /build/pytest-of-nixbld/pytest-0/test_help_preview_generation0/default-preview.svg
Help preview saved to /build/pytest-of-nixbld/pytest-0/test_help_preview_generation0/preview.svg
Help preview saved to /build/pytest-of-nixbld/pytest-0/test_help_preview_generation0/preview.html
Help preview saved to /build/pytest-of-nixbld/pytest-0/test_help_preview_generation0/preview.txt

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingrichConcerns rich

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions