From 2eb9b516b8d40f7423a4bca02b1af5036596d756 Mon Sep 17 00:00:00 2001 From: Manuel Barkhau Date: Sun, 4 Oct 2020 21:17:20 +0000 Subject: [PATCH] fix tests --- src/pycalver/__main__.py | 7 ++--- src/pycalver/config.py | 2 +- test/test_cli.py | 67 ++++++++++++++++++++++++++-------------- 3 files changed, 47 insertions(+), 29 deletions(-) diff --git a/src/pycalver/__main__.py b/src/pycalver/__main__.py index 0d6a677..08072ea 100755 --- a/src/pycalver/__main__.py +++ b/src/pycalver/__main__.py @@ -180,7 +180,7 @@ def test( def _grep_text(pattern: patterns.Pattern, text: str, color: bool) -> typ.Iterable[str]: - all_lines = text.splitlines() + all_lines = text.splitlines() for match in pattern.regexp.finditer(text): match_start, match_end = match.span() @@ -210,10 +210,7 @@ def _grep_text(pattern: patterns.Pattern, text: str, color: bool) -> typ.Iterabl else: lines[1] = matched_line - prefixed_lines = [ - f"{lines_offset + i:>4}: {line}" - for i, line in enumerate(lines) - ] + prefixed_lines = [f"{lines_offset + i:>4}: {line}" for i, line in enumerate(lines)] yield "\n".join(prefixed_lines) diff --git a/src/pycalver/config.py b/src/pycalver/config.py index 39eeab9..a88dd72 100644 --- a/src/pycalver/config.py +++ b/src/pycalver/config.py @@ -417,7 +417,7 @@ def parse(ctx: ProjectContext, cfg_missing_ok: bool = False) -> MaybeConfig: def init( - project_path: typ.Union[str, pl.Path, None] = ".", + project_path : typ.Union[str, pl.Path, None] = ".", cfg_missing_ok: bool = False, ) -> typ.Tuple[ProjectContext, MaybeConfig]: ctx = init_project_ctx(project_path) diff --git a/test/test_cli.py b/test/test_cli.py index 99d79f5..99a1e69 100644 --- a/test/test_cli.py +++ b/test/test_cli.py @@ -252,22 +252,10 @@ def test_novcs_nocfg_init(runner, caplog): assert result.exit_code == 0 assert not os.path.exists("pycalver.toml") - # check logging - assert len(caplog.records) == 1 - log = caplog.records[0] - assert log.levelname == 'WARNING' - assert "File not found" in log.message - # non dry mode result = runner.invoke(cli, ['init', "-vv"]) assert result.exit_code == 0 - # check logging - assert len(caplog.records) == 2 - log = caplog.records[1] - assert log.levelname == 'WARNING' - assert "File not found" in log.message - assert os.path.exists("pycalver.toml") with pl.Path("pycalver.toml").open(mode="r", encoding="utf-8") as fobj: cfg_content = fobj.read() @@ -285,8 +273,8 @@ def test_novcs_nocfg_init(runner, caplog): assert result.exit_code == 1 # check logging - assert len(caplog.records) == 3 - log = caplog.records[2] + assert len(caplog.records) == 1 + log = caplog.records[0] assert log.levelname == 'ERROR' assert "Configuration already initialized" in log.message @@ -747,19 +735,52 @@ def test_git_commit_message(runner, caplog): def test_grep(runner): _add_project_files("README.md") - result = runner.invoke(cli, ['grep', r"vYYYY0M.BUILD[-RELEASE]", "README.md"]) - assert result.exit_code == 0 - assert "Found 1 match for pattern" in result.output - + # search_re = r"^\s+2:\s+Hello World v201701\.1002-alpha !" - assert re.search(search_re, result.output, flags=re.MULTILINE) - result = runner.invoke(cli, ['grep', r"\[aka. YYYY0M.BLD[PYTAGNUM] \!\]", "README.md"]) - assert result.exit_code == 0 - assert "Found 1 match for pattern" in result.output + result1 = runner.invoke(cli, ['grep', r"vYYYY0M.BUILD[-RELEASE]", "README.md"]) + assert result1.exit_code == 0 + assert "README.md" in result1.output + assert re.search(search_re, result1.output, flags=re.MULTILINE) + + result2 = runner.invoke( + cli, + [ + 'grep', + "--version-pattern", + r"vYYYY0M.BUILD[-RELEASE]", + "{version}", + "README.md", + ], + ) + assert result2.exit_code == 0 + assert "README.md" in result2.output + assert re.search(search_re, result2.output, flags=re.MULTILINE) + + assert result1.output == result2.output search_re = r"^\s+3:\s+\[aka\. 201701\.1002a0 \!\]" - assert re.search(search_re, result.output, flags=re.MULTILINE) + + result3 = runner.invoke(cli, ['grep', r"\[aka. YYYY0M.BLD[PYTAGNUM] \!\]", "README.md"]) + assert result3.exit_code == 0 + assert "README.md" in result3.output + assert re.search(search_re, result3.output, flags=re.MULTILINE) + + result4 = runner.invoke( + cli, + [ + 'grep', + "--version-pattern", + r"vYYYY0M.BUILD[-RELEASE]", + r"\[aka. {pep440_version} \!\]", + "README.md", + ], + ) + assert result4.exit_code == 0 + assert "README.md" in result4.output + assert re.search(search_re, result4.output, flags=re.MULTILINE) + + assert result3.output == result4.output SETUP_CFG_MULTIMATCH_FILE_PATTERNS_FIXTURE = r"""