Improve check for uncommitted files

Fixes #57
This commit is contained in:
Manuel Barkhau 2019-03-24 18:46:39 +01:00
parent 385521b596
commit 548fb871e0
4 changed files with 68 additions and 13 deletions

View file

@ -286,6 +286,7 @@ def test_novcs_pyproject_init(runner):
def _vcs_init(vcs):
assert vcs in ("git", "hg")
assert not pl.Path(f".{vcs}").exists()
sh(f"{vcs}", "init")
assert pl.Path(f".{vcs}").is_dir()
@ -392,6 +393,9 @@ def test_git_bump(runner):
result = runner.invoke(pycalver.cli, ['init', "--verbose"])
assert result.exit_code == 0
sh("git", "add", "pycalver.toml")
sh("git", "commit", "-m", "initial commit")
result = runner.invoke(pycalver.cli, ['bump', "--verbose"])
assert result.exit_code == 0
@ -409,6 +413,9 @@ def test_hg_bump(runner):
result = runner.invoke(pycalver.cli, ['init', "--verbose"])
assert result.exit_code == 0
sh("hg", "add", "pycalver.toml")
sh("hg", "commit", "-m", "initial commit")
result = runner.invoke(pycalver.cli, ['bump', "--verbose"])
assert result.exit_code == 0
@ -417,3 +424,45 @@ def test_hg_bump(runner):
with pl.Path("README.md").open() as fh:
content = fh.read()
assert calver + ".0002-alpha !\n" in content
def test_empty_git_bump(runner, caplog):
sh("git", "init")
with pl.Path("setup.cfg").open(mode="w") as fh:
fh.write("")
result = runner.invoke(pycalver.cli, ['init', "--verbose"])
assert result.exit_code == 0
with pl.Path("setup.cfg").open(mode="r") as fh:
default_cfg_data = fh.read()
assert "[pycalver]\n" in default_cfg_data
assert "\ncurrent_version = " in default_cfg_data
assert "\n[pycalver:file_patterns]\n" in default_cfg_data
assert "\nsetup.cfg =\n" in default_cfg_data
result = runner.invoke(pycalver.cli, ['bump'])
assert any(("working directory is not clean" in r.message) for r in caplog.records)
assert any(("setup.cfg" in r.message) for r in caplog.records)
def test_empty_hg_bump(runner, caplog):
sh("hg", "init")
with pl.Path("setup.cfg").open(mode="w") as fh:
fh.write("")
result = runner.invoke(pycalver.cli, ['init', "--verbose"])
assert result.exit_code == 0
with pl.Path("setup.cfg").open(mode="r") as fh:
default_cfg_data = fh.read()
assert "[pycalver]\n" in default_cfg_data
assert "\ncurrent_version = " in default_cfg_data
assert "\n[pycalver:file_patterns]\n" in default_cfg_data
assert "\nsetup.cfg =\n" in default_cfg_data
result = runner.invoke(pycalver.cli, ['bump'])
assert any(("working directory is not clean" in r.message) for r in caplog.records)
assert any(("setup.cfg" in r.message) for r in caplog.records)

View file

@ -34,16 +34,19 @@ FIXTURE_PATH_PARTS = [
class Project:
def __init__(self, project="a"):
if not project.startswith("project_"):
project = "project_" + project
def __init__(self, project=None):
tmpdir = pl.Path(tempfile.mkdtemp(prefix="pytest_"))
self.tmpdir = tmpdir
self.dir = tmpdir / "pycalver_project"
self.dir.mkdir()
if project is None:
return
if not project.startswith("project_"):
project = "project_" + project
fixtures_subdir = FIXTURES_DIR / project
for path_parts in FIXTURE_PATH_PARTS: