diff --git a/test/fixtures/project_b/README.rst b/test/fixtures/project_b/README.rst index e69de29..47c02e9 100644 --- a/test/fixtures/project_b/README.rst +++ b/test/fixtures/project_b/README.rst @@ -0,0 +1,3 @@ + +.. |badge| image:: https://img.shields.io/badge/PyCalVer-v201307.0456--beta-blue.svg + :target: https://shields.io/ diff --git a/test/fixtures/project_b/setup.cfg b/test/fixtures/project_b/setup.cfg index 3f80d12..9eb8230 100644 --- a/test/fixtures/project_b/setup.cfg +++ b/test/fixtures/project_b/setup.cfg @@ -10,6 +10,6 @@ setup.cfg = setup.py = version="{pep440_version}" README.rst = - img.shields.io/badge/PyCalVer-{calver}{build}--{release}-blue + img.shields.io/badge/PyCalVer-{calver}{build}-{release}-blue src/module_v*/__init__.py = __version__ = "{version}" diff --git a/test/test_rewrite.py b/test/test_rewrite.py index 61cad1c..39e1a45 100644 --- a/test/test_rewrite.py +++ b/test/test_rewrite.py @@ -1,3 +1,5 @@ +import copy + from pycalver import config from pycalver import rewrite @@ -67,3 +69,34 @@ def test_iter_file_globs(): "src/module_v1/__init__.py", "src/module_v2/__init__.py", } + + +def test_error_bad_path(): + with util.Project(project="b") as project: + ctx = config.init_project_ctx(project.dir) + cfg = config.parse(ctx) + assert cfg + + (project.dir / "setup.py").unlink() + try: + list(rewrite._iter_file_paths(cfg.file_patterns)) + assert False, "expected ValueError" + except ValueError as ex: + assert "setup.py" in str(ex) + + +def test_error_bad_pattern(): + with util.Project(project="b") as project: + ctx = config.init_project_ctx(project.dir) + cfg = config.parse(ctx) + assert cfg + + patterns = copy.deepcopy(cfg.file_patterns) + print(patterns) + patterns["setup.py"] = patterns["setup.py"][0] + "invalid" + + try: + list(rewrite.diff("v201809.1234", patterns)) + assert False, "expected ValueError" + except ValueError as ex: + assert "setup.py" in str(ex)