pycalver -> bumpver

This commit is contained in:
Manuel Barkhau 2020-10-18 20:47:35 +00:00
parent 2c01699b99
commit bbf5bfa31c
35 changed files with 764 additions and 1235 deletions

View file

@ -1,12 +1,12 @@
[calver]
[bumpver]
current_version = "v2017.0123-alpha"
version_pattern = "vYYYY.BUILD[-TAG]"
commit = true
tag = true
push = true
[calver.file_patterns]
"calver.toml" = [
[bumpver.file_patterns]
"bumpver.toml" = [
'current_version = "{version}"',
]

View file

@ -1,11 +1,11 @@
[calver]
[bumpver]
current_version = v201307.0456-beta
version_pattern = {pycalver}
commit = True
tag = True
push = True
[calver:file_patterns]
[bumpver:file_patterns]
setup.cfg =
current_version = {version}
setup.py =

View file

@ -1,4 +1,4 @@
[calver]
[bumpver]
current_version = "v2017q1.54321"
version_pattern = "v{year}q{quarter}.{build_no}"
commit = true

View file

@ -17,9 +17,9 @@ import pytest
import pathlib2 as pl
from click.testing import CliRunner
from pycalver2 import cli
from pycalver2 import config
from pycalver2 import v2patterns
from bumpver import cli
from bumpver import config
from bumpver import v2patterns
# pylint:disable=redefined-outer-name ; pytest fixtures
# pylint:disable=protected-access ; allowed for test code
@ -51,11 +51,11 @@ requires = ["setuptools", "wheel"]
"""
ENV = {
'GIT_AUTHOR_NAME' : "calver_tester",
'GIT_COMMITTER_NAME' : "calver_tester",
'GIT_AUTHOR_EMAIL' : "calver_tester@nowhere.com",
'GIT_COMMITTER_EMAIL': "calver_tester@nowhere.com",
'HGUSER' : "calver_tester",
'GIT_AUTHOR_NAME' : "bumpver_tester",
'GIT_COMMITTER_NAME' : "bumpver_tester",
'GIT_AUTHOR_EMAIL' : "bumpver_tester@nowhere.com",
'GIT_COMMITTER_EMAIL': "bumpver_tester@nowhere.com",
'HGUSER' : "bumpver_tester",
'PATH' : os.environ['PATH'],
}
@ -81,7 +81,7 @@ def runner(tmpdir):
_debug = 0
if _debug:
tmpdir = pl.Path("..") / "tmp_test_pycalver_project"
tmpdir = pl.Path("..") / "tmp_test_bumpver_project"
if tmpdir.exists():
time.sleep(0.2)
shutil.rmtree(str(tmpdir))
@ -101,7 +101,7 @@ def test_help(runner):
result = runner.invoke(cli.cli, ['--help', "-vv"])
assert result.exit_code == 0
assert "CalVer" in result.output
assert "bump " in result.output
assert "update " in result.output
assert "test " in result.output
assert "init " in result.output
assert "show " in result.output
@ -110,8 +110,8 @@ def test_help(runner):
def test_version(runner):
result = runner.invoke(cli.cli, ['--version', "-vv"])
assert result.exit_code == 0
assert " version v20" in result.output
pattern = v2patterns.compile_pattern("vYYYY.BUILD[-TAG]")
assert " version 20" in result.output
pattern = v2patterns.compile_pattern("YYYY.BUILD[-TAG]")
match = pattern.regexp.search(result.output)
assert match
@ -186,25 +186,23 @@ def test_incr_semver_invalid(runner, caplog):
def test_incr_to_beta(runner):
pattern = "vYYYY.BUILD[-TAG]"
old_version = "v2017.1999-alpha"
initial_version = config._initial_version()
pattern = "vYYYY.BUILD[-TAG]"
old_version = "v2017.1999-alpha"
new_version = dt.datetime.utcnow().strftime("v%Y.22000-beta")
result = runner.invoke(cli.cli, ['test', "-vv", old_version, pattern, "--tag", "beta"])
assert result.exit_code == 0
new_version = initial_version.replace(".1001-alpha", ".22000-beta")
assert f"Version: {new_version}\n" in result.output
def test_incr_to_final(runner, caplog):
pattern = "vYYYY.BUILD[-TAG]"
old_version = "v2017.1999-alpha"
initial_version = config._initial_version()
pattern = "vYYYY.BUILD[-TAG]"
old_version = "v2017.1999-alpha"
new_version = dt.datetime.utcnow().strftime("v%Y.22000")
result = runner.invoke(cli.cli, ['test', "-vv", old_version, pattern, "--tag", "final"])
_debug_records(caplog)
assert result.exit_code == 0
new_version = initial_version.replace(".1001-alpha", ".22000")
assert f"Version: {new_version}\n" in result.output
@ -252,14 +250,14 @@ def _add_project_files(*files):
with pl.Path("pycalver.toml").open(mode="wt", encoding="utf-8") as fobj:
fobj.write(CALVER_TOML_FIXTURE)
if "calver.toml" in files:
with pl.Path("calver.toml").open(mode="wt", encoding="utf-8") as fobj:
fobj.write(CALVER_TOML_FIXTURE)
if "pyproject.toml" in files:
with pl.Path("pyproject.toml").open(mode="wt", encoding="utf-8") as fobj:
fobj.write(PYPROJECT_TOML_FIXTURE)
if "bumpver.toml" in files:
with pl.Path("bumpver.toml").open(mode="wt", encoding="utf-8") as fobj:
fobj.write(CALVER_TOML_FIXTURE)
def _update_config_val(filename, **kwargs):
with io.open(filename, mode="r", encoding="utf-8") as fobj:
@ -281,7 +279,8 @@ def test_nocfg(runner, caplog):
_add_project_files("README.md")
result = runner.invoke(cli.cli, ['show', "-vv"])
assert result.exit_code == 1
expected_msg = "Could not parse configuration. Perhaps try 'calver init'."
expected_msg = "Could not parse configuration. Perhaps try 'bumpver init'."
_debug_records(caplog)
assert any(expected_msg in r.message for r in caplog.records)
@ -290,14 +289,14 @@ def test_novcs_nocfg_init(runner, caplog):
# dry mode test
result = runner.invoke(cli.cli, ['init', "-vv", "--dry"])
assert result.exit_code == 0
assert not os.path.exists("calver.toml")
assert not os.path.exists("bumpver.toml")
# non dry mode
result = runner.invoke(cli.cli, ['init', "-vv"])
assert result.exit_code == 0
assert os.path.exists("calver.toml")
with pl.Path("calver.toml").open(mode="r", encoding="utf-8") as fobj:
assert os.path.exists("bumpver.toml")
with pl.Path("bumpver.toml").open(mode="r", encoding="utf-8") as fobj:
cfg_content = fobj.read()
base_str = config.DEFAULT_TOML_BASE_TMPL.format(initial_version=config._initial_version())
@ -305,6 +304,7 @@ def test_novcs_nocfg_init(runner, caplog):
assert config.DEFAULT_TOML_README_MD_STR in cfg_content
result = runner.invoke(cli.cli, ['show', "-vv"])
_debug_records(caplog)
assert result.exit_code == 0
assert f"Current Version: {config._initial_version()}\n" in result.output
assert f"PEP440 : {config._initial_version_pep440()}\n" in result.output
@ -390,7 +390,7 @@ def test_git_init(runner, version_pattern, cur_version, cur_pep440):
assert result.exit_code == 0
_update_config_val(
"calver.toml",
"bumpver.toml",
version_pattern=version_pattern,
current_version='"' + cur_version + '"',
)
@ -409,7 +409,7 @@ def test_hg_init(runner, version_pattern, cur_version, cur_pep440):
assert result.exit_code == 0
_update_config_val(
"calver.toml",
"bumpver.toml",
version_pattern=version_pattern,
current_version='"' + cur_version + '"',
)
@ -430,7 +430,7 @@ def test_v1_git_tag_eval(runner, version_pattern, cur_version, cur_pep440):
assert result.exit_code == 0
_update_config_val(
"calver.toml",
"bumpver.toml",
version_pattern=version_pattern,
current_version='"' + cur_version + '"',
)
@ -456,7 +456,7 @@ def test_hg_tag_eval(runner, version_pattern, cur_version, cur_pep440):
assert result.exit_code == 0
_update_config_val(
"calver.toml",
"bumpver.toml",
version_pattern=version_pattern,
current_version='"' + cur_version + '"',
)
@ -480,7 +480,7 @@ def test_novcs_bump(runner, version_pattern, cur_version, cur_pep440):
assert result.exit_code == 0
_update_config_val(
"calver.toml",
"bumpver.toml",
version_pattern=version_pattern,
current_version='"' + cur_version + '"',
)
@ -488,7 +488,7 @@ def test_novcs_bump(runner, version_pattern, cur_version, cur_pep440):
with pl.Path("README.md").open(mode="r") as fobj:
content = fobj.read()
result = runner.invoke(cli.cli, ['bump', "-vv"])
result = runner.invoke(cli.cli, ['update', "-vv"])
assert result.exit_code == 0
calver = cur_version.split(".")[0]
@ -498,7 +498,7 @@ def test_novcs_bump(runner, version_pattern, cur_version, cur_pep440):
assert calver + ".1002-alpha !\n" in content
assert calver[1:] + ".1002a0 !]\n" in content
result = runner.invoke(cli.cli, ['bump', "-vv", "--tag", "beta"])
result = runner.invoke(cli.cli, ['update', "-vv", "--tag", "beta"])
assert result.exit_code == 0
with pl.Path("README.md").open() as fobj:
@ -516,15 +516,15 @@ def test_git_bump(runner, caplog, version_pattern, cur_version, cur_pep440):
assert result.exit_code == 0
_update_config_val(
"calver.toml",
"bumpver.toml",
version_pattern=version_pattern,
current_version='"' + cur_version + '"',
)
shell("git", "add", "calver.toml")
shell("git", "add", "bumpver.toml")
shell("git", "commit", "-m", "initial commit")
result = runner.invoke(cli.cli, ['bump', "-vv"])
result = runner.invoke(cli.cli, ['update', "-vv"])
_debug_records(caplog)
assert result.exit_code == 0
@ -544,15 +544,15 @@ def test_hg_bump(runner, version_pattern, cur_version, cur_pep440):
assert result.exit_code == 0
_update_config_val(
"calver.toml",
"bumpver.toml",
version_pattern=version_pattern,
current_version='"' + cur_version + '"',
)
shell("hg", "add", "calver.toml")
shell("hg", "add", "bumpver.toml")
shell("hg", "commit", "-m", "initial commit")
result = runner.invoke(cli.cli, ['bump', "-vv"])
result = runner.invoke(cli.cli, ['update', "-vv"])
assert result.exit_code == 0
calver = cur_version.split(".")[0]
@ -573,12 +573,12 @@ def test_empty_git_bump(runner, caplog):
with pl.Path("setup.cfg").open(mode="r") as fobj:
default_cfg_data = fobj.read()
assert "[calver]\n" in default_cfg_data
assert "[bumpver]\n" in default_cfg_data
assert "\ncurrent_version = " in default_cfg_data
assert "\n[calver:file_patterns]\n" in default_cfg_data
assert "\n[bumpver:file_patterns]\n" in default_cfg_data
assert "\nsetup.cfg =\n" in default_cfg_data
result = runner.invoke(cli.cli, ['bump'])
result = runner.invoke(cli.cli, ['update'])
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)
@ -595,12 +595,12 @@ def test_empty_hg_bump(runner, caplog):
with pl.Path("setup.cfg").open(mode="r") as fobj:
default_cfg_text = fobj.read()
assert "[calver]\n" in default_cfg_text
assert "[bumpver]\n" in default_cfg_text
assert "\ncurrent_version = " in default_cfg_text
assert "\n[calver:file_patterns]\n" in default_cfg_text
assert "\n[bumpver:file_patterns]\n" in default_cfg_text
assert "\nsetup.cfg =\n" in default_cfg_text
result = runner.invoke(cli.cli, ['bump'])
result = runner.invoke(cli.cli, ['update'])
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)
@ -640,13 +640,13 @@ def test_v1_bump_semver_warning(runner, caplog, version_pattern):
_vcs_init("hg", files=["README.md", "setup.cfg"])
result = runner.invoke(cli.cli, ['bump', "-vv", "-n", "--dry"])
result = runner.invoke(cli.cli, ['update', "-vv", "-n", "--dry"])
assert result.exit_code == 1
assert any("version did not change" in r.message for r in caplog.records)
assert any("[--major/--minor/--patch] required" in r.message for r in caplog.records)
result = runner.invoke(cli.cli, ['bump', "-vv", "-n", "--dry", "--patch"])
result = runner.invoke(cli.cli, ['update', "-vv", "-n", "--dry", "--patch"])
assert result.exit_code == 0
@ -664,7 +664,7 @@ def test_v1_bump_semver_diff(runner, caplog, version_pattern):
cases = [("--major", "1.0.0"), ("--minor", "0.2.0"), ("--patch", "0.1.1")]
for flag, expected in cases:
result = runner.invoke(cli.cli, ['bump', "-vv", "-n", "--dry", flag])
result = runner.invoke(cli.cli, ['update', "-vv", "-n", "--dry", flag])
assert result.exit_code == 0
assert len(caplog.records) == 0
@ -769,13 +769,17 @@ def test_hg_commit_message(runner, caplog):
commit_message = """
"bump from {old_version} ({old_version_pep440}) to {new_version} ({new_version_pep440})"
"""
_update_config_val("setup.cfg", current_version='"v2019.1001-alpha"')
_update_config_val("setup.cfg", commit_message=commit_message.strip())
_update_config_val(
"setup.cfg",
current_version='"v2019.1001-alpha"',
version_pattern="vYYYY.BUILD[-TAG]",
commit_message=commit_message.strip(),
)
_vcs_init("hg", ["README.md", "setup.cfg"])
assert len(caplog.records) > 0
result = runner.invoke(cli.cli, ['bump', "-vv", "--pin-date", "--tag", "beta"])
result = runner.invoke(cli.cli, ['update', "-vv", "--pin-date", "--tag", "beta"])
assert result.exit_code == 0
tags = shell("hg", "tags").decode("utf-8")
@ -796,13 +800,17 @@ def test_git_commit_message(runner, caplog):
commit_message = """
"bump: {old_version} ({old_version_pep440}) -> {new_version} ({new_version_pep440})"
"""
_update_config_val("setup.cfg", current_version='"v2019.1001-alpha"')
_update_config_val("setup.cfg", commit_message=commit_message.strip())
_update_config_val(
"setup.cfg",
current_version='"v2019.1001-alpha"',
version_pattern="vYYYY.BUILD[-TAG]",
commit_message=commit_message.strip(),
)
_vcs_init("git", ["README.md", "setup.cfg"])
assert len(caplog.records) > 0
result = runner.invoke(cli.cli, ['bump', "-vv", "--pin-date", "--tag", "beta"])
result = runner.invoke(cli.cli, ['update', "-vv", "--pin-date", "--tag", "beta"])
assert result.exit_code == 0
tags = shell("git", "tag", "--list").decode("utf-8")
@ -870,7 +878,7 @@ def test_multimatch_file_patterns(runner):
with pl.Path("setup.cfg").open(mode="w", encoding="utf-8") as fobj:
fobj.write(SETUP_CFG_MULTIMATCH_FILE_PATTERNS_FIXTURE)
result = runner.invoke(cli.cli, ['bump', '--tag', 'beta', '--date', "2020-11-22"])
result = runner.invoke(cli.cli, ['update', '--tag', 'beta', '--date', "2020-11-22"])
assert result.exit_code == 0
with pl.Path("README.md").open(mode="r", encoding="utf-8") as fobj:
@ -921,20 +929,20 @@ def test_get_latest_vcs_version_tag(runner):
result = runner.invoke(cli.cli, ['init', "-vv"])
assert result.exit_code == 0
_update_config_val("calver.toml", push="false")
_update_config_val("calver.toml", current_version='"0.1.8"')
_update_config_val("calver.toml", version_pattern='"MAJOR.MINOR.PATCH"')
_update_config_val("bumpver.toml", push="false")
_update_config_val("bumpver.toml", current_version='"0.1.8"')
_update_config_val("bumpver.toml", version_pattern='"MAJOR.MINOR.PATCH"')
_vcs_init("git", files=["calver.toml"])
_vcs_init("git", files=["bumpver.toml"])
result = runner.invoke(cli.cli, ['bump', "--patch"])
result = runner.invoke(cli.cli, ['update', "--patch"])
assert result.exit_code == 0
_, cfg = config.init()
latest_version = cli.get_latest_vcs_version_tag(cfg, fetch=False)
assert latest_version == "0.1.9"
result = runner.invoke(cli.cli, ['bump', "--patch"])
result = runner.invoke(cli.cli, ['update', "--patch"])
assert result.exit_code == 0
_, cfg = config.init()

View file

@ -7,7 +7,7 @@ from __future__ import unicode_literals
import io
from test import util
from pycalver2 import config
from bumpver import config
# pylint:disable=redefined-outer-name ; pytest fixtures
# pylint:disable=protected-access ; allowed for test code
@ -51,33 +51,33 @@ push = false
"""
CALVER_TOML_FIXTURE_3 = """
[calver]
[bumpver]
current_version = "v201808.0123-alpha"
version_pattern = "vYYYY0M.BUILD[-TAG]"
commit = true
tag = true
push = true
[calver.file_patterns]
[bumpver.file_patterns]
"README.md" = [
"{version}",
"{pep440_version}",
]
"calver.toml" = [
"bumpver.toml" = [
'current_version = "{version}"',
]
"""
SETUP_CFG_FIXTURE = """
[calver]
[bumpver]
current_version = "v201808.0456-beta"
version_pattern = "vYYYY0M.BUILD[-TAG]"
commit = True
tag = True
push = True
[calver:file_patterns]
[bumpver:file_patterns]
setup.py =
{version}
{pep440_version}
@ -87,7 +87,7 @@ setup.cfg =
NEW_PATTERN_CFG_FIXTURE = """
[calver]
[bumpver]
current_version = "v201808.1456-beta"
version_pattern = "vYYYY0M.BUILD[-TAG]"
commit_message = "bump version to {new_version}"
@ -95,7 +95,7 @@ commit = True
tag = True
push = True
[calver:file_patterns]
[bumpver:file_patterns]
setup.py =
{version}
{pep440_version}
@ -172,11 +172,11 @@ def test_parse_toml_3():
assert cfg.push is True
files = set(cfg.file_patterns)
assert "calver.toml" in files
assert "bumpver.toml" in files
raw_patterns_by_path = _parse_raw_patterns_by_filepath(cfg)
assert raw_patterns_by_path["README.md" ] == ["vYYYY0M.BUILD[-TAG]", "YYYY0M.BLD[PYTAGNUM]"]
assert raw_patterns_by_path["calver.toml"] == ['current_version = "vYYYY0M.BUILD[-TAG]"']
assert raw_patterns_by_path["README.md" ] == ["vYYYY0M.BUILD[-TAG]", "YYYY0M.BLD[PYTAGNUM]"]
assert raw_patterns_by_path["bumpver.toml"] == ['current_version = "vYYYY0M.BUILD[-TAG]"']
def test_parse_v1_cfg():
@ -247,8 +247,8 @@ def test_parse_default_cfg():
def test_parse_project_toml():
project_path = util.FIXTURES_DIR / "project_a"
config_path = util.FIXTURES_DIR / "project_a" / "calver.toml"
config_rel_path = "calver.toml"
config_path = util.FIXTURES_DIR / "project_a" / "bumpver.toml"
config_rel_path = "bumpver.toml"
with config_path.open() as fobj:
config_data = fobj.read()
@ -268,7 +268,7 @@ def test_parse_project_toml():
assert cfg.push is True
files = set(cfg.file_patterns.keys())
assert files == {"calver.toml", "README.md"}
assert files == {"bumpver.toml", "README.md"}
def test_parse_project_cfg():
@ -406,7 +406,7 @@ def test_parse_missing_version(tmpdir):
setup_path.write(
"\n".join(
(
"[calver]",
"[bumpver]",
# f"current_version = v201808.1001-dev",
"commit = False",
)
@ -422,7 +422,7 @@ def test_parse_missing_version(tmpdir):
def test_parse_invalid_version(tmpdir):
setup_path = tmpdir.mkdir("fail").join("setup.cfg")
setup_path.write("\n".join(("[calver]", "current_version = 0.1.0", "commit = False")))
setup_path.write("\n".join(("[bumpver]", "current_version = 0.1.0", "commit = False")))
ctx = config.init_project_ctx(setup_path)
assert ctx

View file

@ -4,8 +4,8 @@ from __future__ import print_function
from __future__ import absolute_import
from __future__ import unicode_literals
from pycalver2 import parse
from pycalver2 import v1patterns
from bumpver import parse
from bumpver import v1patterns
SETUP_PY_FIXTURE = """
# setup.py

View file

@ -8,8 +8,8 @@ import re
import pytest
from pycalver2 import v1patterns
from pycalver2 import v2patterns
from bumpver import v1patterns
from bumpver import v2patterns
V2_PART_PATTERN_CASES = [
(['YYYY', 'GGGG'], "2020" , "2020"),

View file

@ -8,14 +8,14 @@ import re
import copy
from test import util
from pycalver2 import config
from pycalver2 import rewrite
from pycalver2 import v1rewrite
from pycalver2 import v1version
from pycalver2 import v2rewrite
from pycalver2 import v2version
from pycalver2 import v1patterns
from pycalver2 import v2patterns
from bumpver import config
from bumpver import rewrite
from bumpver import v1rewrite
from bumpver import v1version
from bumpver import v2rewrite
from bumpver import v2version
from bumpver import v1patterns
from bumpver import v2patterns
# pylint:disable=protected-access ; allowed for test code
@ -102,7 +102,7 @@ def test_iter_file_paths():
_paths_and_patterns = rewrite.iter_path_patterns_items(cfg.file_patterns)
file_paths = {str(file_path) for file_path, patterns in _paths_and_patterns}
assert file_paths == {"calver.toml", "README.md"}
assert file_paths == {"bumpver.toml", "README.md"}
def test_iter_file_globs():
@ -217,13 +217,13 @@ def test_v2_optional_release():
def test_v1_iter_rewritten():
version_pattern = "v{year}{build}{release}"
new_vinfo = v1version.parse_version_info("v2018.0123", version_pattern)
version_pattern = "{year}{build}{release}"
new_vinfo = v1version.parse_version_info("2018.0123", version_pattern)
init_pattern = v1patterns.compile_pattern(
version_pattern, '__version__ = "v{year}{build}{release}"'
version_pattern, '__version__ = "{year}{build}{release}"'
)
file_patterns = {"src/pycalver2/__init__.py": [init_pattern]}
file_patterns = {"src/bumpver/__init__.py": [init_pattern]}
rewritten_datas = v1rewrite.iter_rewritten(file_patterns, new_vinfo)
rfd = list(rewritten_datas)[0]
expected = [
@ -232,21 +232,21 @@ def test_v1_iter_rewritten():
"#",
"# Copyright (c) 2018-2020 Manuel Barkhau (mbarkhau@gmail.com) - MIT License",
"# SPDX-License-Identifier: MIT",
'"""PyCalVer: CalVer for Python Packages."""',
'"""BumpVer: A CLI program for versioning."""',
'',
'__version__ = "v2018.0123"',
'__version__ = "2018.0123"',
'',
]
assert rfd.new_lines == expected
def test_v2_iter_rewritten():
version_pattern = "vYYYY.BUILD[-TAG]"
new_vinfo = v2version.parse_version_info("v2018.0123", version_pattern)
version_pattern = "YYYY.BUILD[-TAG]"
new_vinfo = v2version.parse_version_info("2018.0123", version_pattern)
file_patterns = {
"src/pycalver2/__init__.py": [
v2patterns.compile_pattern(version_pattern, '__version__ = "vYYYY.BUILD[-TAG]"'),
"src/bumpver/__init__.py": [
v2patterns.compile_pattern(version_pattern, '__version__ = "YYYY.BUILD[-TAG]"'),
]
}
@ -258,38 +258,41 @@ def test_v2_iter_rewritten():
"#",
"# Copyright (c) 2018-2020 Manuel Barkhau (mbarkhau@gmail.com) - MIT License",
"# SPDX-License-Identifier: MIT",
'"""PyCalVer: CalVer for Python Packages."""',
'"""BumpVer: A CLI program for versioning."""',
'',
'__version__ = "v2018.0123"',
'__version__ = "2018.0123"',
'',
]
assert rfd.new_lines == expected
def test_v1_diff():
version_pattern = "v{year}{build}{release}"
raw_pattern = '__version__ = "v{year}{build}{release}"'
version_pattern = "{year}{build}{release}"
raw_pattern = '__version__ = "{year}{build}{release}"'
pattern = v1patterns.compile_pattern(version_pattern, raw_pattern)
file_patterns = {"src/pycalver2/__init__.py": [pattern]}
file_patterns = {"src/bumpver/__init__.py": [pattern]}
old_vinfo = v1version.parse_version_info("v201809.0123")
new_vinfo = v1version.parse_version_info("v201911.1124")
assert new_vinfo > old_vinfo
old_vinfo = v1version.parse_version_info("v2018.0123", version_pattern)
new_vinfo = v1version.parse_version_info("v2019.1124", version_pattern)
old_vinfo = v1version.parse_version_info("2018.0123", version_pattern)
new_vinfo = v1version.parse_version_info("2019.1124", version_pattern)
diff_str = v1rewrite.diff(old_vinfo, new_vinfo, file_patterns)
lines = diff_str.split("\n")
assert lines[:2] == ["--- src/pycalver2/__init__.py", "+++ src/pycalver2/__init__.py"]
assert lines[:2] == [
"--- src/bumpver/__init__.py",
"+++ src/bumpver/__init__.py",
]
assert lines[6].startswith('-__version__ = "v20')
assert lines[7].startswith('+__version__ = "v20')
assert lines[6].startswith('-__version__ = "20')
assert lines[7].startswith('+__version__ = "20')
assert not lines[6].startswith('-__version__ = "v2018.0123"')
assert not lines[6].startswith('-__version__ = "2018.0123"')
assert lines[7] == '+__version__ = "v2019.1124"'
assert lines[7] == '+__version__ = "2019.1124"'
raw_pattern = "Copyright (c) 2018-{year}"
pattern = v1patterns.compile_pattern(version_pattern, raw_pattern)
@ -302,25 +305,28 @@ def test_v1_diff():
def test_v2_diff():
version_pattern = "vYYYY.BUILD[-TAG]"
raw_pattern = '__version__ = "vYYYY.BUILD[-TAG]"'
version_pattern = "YYYY.BUILD[-TAG]"
raw_pattern = '__version__ = "YYYY.BUILD[-TAG]"'
pattern = v2patterns.compile_pattern(version_pattern, raw_pattern)
file_patterns = {"src/pycalver2/__init__.py": [pattern]}
file_patterns = {"src/bumpver/__init__.py": [pattern]}
old_vinfo = v2version.parse_version_info("v2018.0123", version_pattern)
new_vinfo = v2version.parse_version_info("v2019.1124", version_pattern)
old_vinfo = v2version.parse_version_info("2018.0123", version_pattern)
new_vinfo = v2version.parse_version_info("2019.1124", version_pattern)
diff_str = v2rewrite.diff(old_vinfo, new_vinfo, file_patterns)
lines = diff_str.split("\n")
assert lines[:2] == ["--- src/pycalver2/__init__.py", "+++ src/pycalver2/__init__.py"]
assert lines[:2] == [
"--- src/bumpver/__init__.py",
"+++ src/bumpver/__init__.py",
]
assert lines[6].startswith('-__version__ = "v20')
assert lines[7].startswith('+__version__ = "v20')
assert lines[6].startswith('-__version__ = "20')
assert lines[7].startswith('+__version__ = "20')
assert not lines[6].startswith('-__version__ = "v2018.0123"')
assert not lines[6].startswith('-__version__ = "2018.0123"')
assert lines[7] == '+__version__ = "v2019.1124"'
assert lines[7] == '+__version__ = "2019.1124"'
raw_pattern = "Copyright (c) 2018-YYYY"
pattern = v2patterns.compile_pattern(version_pattern, raw_pattern)

View file

@ -9,11 +9,11 @@ import datetime as dt
import pytest
from pycalver2 import version
from pycalver2 import v1version
from pycalver2 import v2version
from pycalver2 import v1patterns
from pycalver2 import v2patterns
from bumpver import version
from bumpver import v1version
from bumpver import v2version
from bumpver import v1patterns
from bumpver import v2patterns
# pylint:disable=protected-access ; allowed for test code

View file

@ -29,7 +29,7 @@ FIXTURE_PATH_PARTS = [
["setup.cfg"],
["setup.py"],
["pycalver.toml"],
["calver.toml"],
["bumpver.toml"],
["src", "module_v1", "__init__.py"],
["src", "module_v2", "__init__.py"],
]
@ -41,7 +41,7 @@ class Project:
self.tmpdir = tmpdir
self.prev_cwd = os.getcwd()
self.dir = tmpdir / "pycalver_project"
self.dir = tmpdir / "bumpver_project"
self.dir.mkdir()
if project is None: