fix: patterns/replacements for "-final" releases

This commit is contained in:
Manuel Barkhau 2018-12-22 09:49:27 +01:00
parent f571d95093
commit 8dfcea90c4
7 changed files with 78 additions and 40 deletions

View file

@ -2,22 +2,30 @@ from pycalver import rewrite
REWRITE_FIXTURE = """
# This file is part of the pycalver project
# https://github.com/mbarkhau/pycalver
#
# (C) 2018 Manuel Barkhau (@mbarkhau)
# SPDX-License-Identifier: MIT
__version__ = "v201809.0002-beta"
"""
def test_rewrite_lines():
old_lines = REWRITE_FIXTURE.splitlines()
patterns = ['__version__ = "{version}"']
new_version = "v201809.0003"
new_lines = rewrite.rewrite_lines(patterns, new_version, old_lines)
old_lines = REWRITE_FIXTURE.splitlines()
patterns = ['__version__ = "{version}"']
new_lines = rewrite.rewrite_lines(patterns, "v201911.0003", old_lines)
assert len(new_lines) == len(old_lines)
assert new_version not in "\n".join(old_lines)
assert new_version in "\n".join(new_lines)
assert "v201911.0003" not in "\n".join(old_lines)
assert "v201911.0003" in "\n".join(new_lines)
def test_rewrite_final():
# Patterns written with {release_tag} placeholder preserve
# the release tag even if the new version is -final
old_lines = REWRITE_FIXTURE.splitlines()
patterns = ['__version__ = "v{year}{month}.{build_no}-{release_tag}"']
new_lines = rewrite.rewrite_lines(patterns, "v201911.0003", old_lines)
assert len(new_lines) == len(old_lines)
assert "v201911.0003" not in "\n".join(old_lines)
assert "None" not in "\n".join(new_lines)
assert "v201911.0003-final" in "\n".join(new_lines)

View file

@ -24,9 +24,13 @@ def test_bump_final():
calver = version.current_calver()
cur_version = calver + ".0001"
assert cur_version < version.incr(cur_version)
assert version.incr(cur_version).endswith(".0002")
assert version.incr(cur_version, release="alpha").endswith("-alpha")
assert version.incr(cur_version, release="final").endswith("0002")
assert version.incr(cur_version).endswith("0002")
assert version.incr(cur_version, release="final").endswith(".0002")
pre_version = cur_version + "-beta"
assert version.incr(pre_version, release="final").endswith(".0002")
def test_bump_future():
@ -65,6 +69,8 @@ def test_parse_version_info():
assert version_nfo.month == "12"
assert version_nfo.build == ".0001"
assert version_nfo.release == "-alpha"
assert version_nfo.build_no == "0001"
assert version_nfo.release_tag == "alpha"
version_str = "v201712.0001"
version_nfo = version.parse_version_info(version_str)
@ -75,7 +81,9 @@ def test_parse_version_info():
assert version_nfo.year == "2017"
assert version_nfo.month == "12"
assert version_nfo.build == ".0001"
assert version_nfo.release is None
assert version_nfo.release == "-final"
assert version_nfo.build_no == "0001"
assert version_nfo.release_tag == "final"
def test_readme_pycalver1():