mirror of
https://github.com/TECHNOFAB11/bumpver.git
synced 2025-12-12 06:20:08 +01:00
reenable tests
This commit is contained in:
parent
09299f30f1
commit
76fe72da43
2 changed files with 70 additions and 49 deletions
|
|
@ -9,11 +9,11 @@ import io
|
||||||
import typing as typ
|
import typing as typ
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
|
import pycalver.rewrite as v1rewrite
|
||||||
import pycalver2.version as v2version
|
import pycalver2.version as v2version
|
||||||
import pycalver2.patterns as v2patterns
|
import pycalver2.patterns as v2patterns
|
||||||
from pycalver import parse
|
from pycalver import parse
|
||||||
from pycalver import config
|
from pycalver import config
|
||||||
from pycalver import rewrite as v1rewrite
|
|
||||||
|
|
||||||
logger = logging.getLogger("pycalver2.rewrite")
|
logger = logging.getLogger("pycalver2.rewrite")
|
||||||
|
|
||||||
|
|
@ -68,23 +68,22 @@ def rfd_from_content(
|
||||||
new_vinfo : v2version.VersionInfo,
|
new_vinfo : v2version.VersionInfo,
|
||||||
content : str,
|
content : str,
|
||||||
) -> v1rewrite.RewrittenFileData:
|
) -> v1rewrite.RewrittenFileData:
|
||||||
# TODO reenable doctest
|
r"""Rewrite pattern occurrences with version string.
|
||||||
# r"""Rewrite pattern occurrences with version string.
|
|
||||||
|
|
||||||
# >>> new_vinfo = version.parse_version_info("v201809.0123")
|
>>> new_vinfo = v2version.parse_version_info("v201809.0123")
|
||||||
# >>> pattern_strs = ['__version__ = "{pycalver}"']
|
>>> pattern_strs = ['__version__ = "vYYYY0M.BUILD[-TAG]"']
|
||||||
# >>> content = '__version__ = "v201809.0001-alpha"'
|
>>> content = '__version__ = "v201809.0001-alpha"'
|
||||||
# >>> rfd = rfd_from_content(pattern_strs, new_vinfo, content)
|
>>> rfd = rfd_from_content(pattern_strs, new_vinfo, content)
|
||||||
# >>> rfd.new_lines
|
>>> rfd.new_lines
|
||||||
# ['__version__ = "v201809.0123"']
|
['__version__ = "v201809.0123"']
|
||||||
# >>>
|
>>>
|
||||||
# >>> new_vinfo = version.parse_version_info("v1.2.3", "v{semver}")
|
>>> new_vinfo = v2version.parse_version_info("v1.2.3", "vMAJOR.MINOR.PATCH")
|
||||||
# >>> pattern_strs = ['__version__ = "v{semver}"']
|
>>> pattern_strs = ['__version__ = "vMAJOR.MINOR.PATCH"']
|
||||||
# >>> content = '__version__ = "v1.2.2"'
|
>>> content = '__version__ = "v1.2.2"'
|
||||||
# >>> rfd = rfd_from_content(pattern_strs, new_vinfo, content)
|
>>> rfd = rfd_from_content(pattern_strs, new_vinfo, content)
|
||||||
# >>> rfd.new_lines
|
>>> rfd.new_lines
|
||||||
# ['__version__ = "v1.2.3"']
|
['__version__ = "v1.2.3"']
|
||||||
# """
|
"""
|
||||||
line_sep = v1rewrite.detect_line_sep(content)
|
line_sep = v1rewrite.detect_line_sep(content)
|
||||||
old_lines = content.split(line_sep)
|
old_lines = content.split(line_sep)
|
||||||
new_lines = rewrite_lines(pattern_strs, new_vinfo, old_lines)
|
new_lines = rewrite_lines(pattern_strs, new_vinfo, old_lines)
|
||||||
|
|
@ -95,26 +94,25 @@ def iter_rewritten(
|
||||||
file_patterns: config.PatternsByGlob,
|
file_patterns: config.PatternsByGlob,
|
||||||
new_vinfo : v2version.VersionInfo,
|
new_vinfo : v2version.VersionInfo,
|
||||||
) -> typ.Iterable[v1rewrite.RewrittenFileData]:
|
) -> typ.Iterable[v1rewrite.RewrittenFileData]:
|
||||||
# TODO reenable doctest
|
r'''Iterate over files with version string replaced.
|
||||||
# r'''Iterate over files with version string replaced.
|
|
||||||
|
|
||||||
# >>> file_patterns = {"src/pycalver/__init__.py": ['__version__ = "{pycalver}"']}
|
>>> file_patterns = {"src/pycalver/__init__.py": ['__version__ = "vYYYY0M.BUILD[-TAG]"']}
|
||||||
# >>> new_vinfo = version.parse_version_info("v201809.0123")
|
>>> new_vinfo = v2version.parse_version_info("v201809.0123")
|
||||||
# >>> rewritten_datas = iter_rewritten(file_patterns, new_vinfo)
|
>>> rewritten_datas = iter_rewritten(file_patterns, new_vinfo)
|
||||||
# >>> rfd = list(rewritten_datas)[0]
|
>>> rfd = list(rewritten_datas)[0]
|
||||||
# >>> assert rfd.new_lines == [
|
>>> assert rfd.new_lines == [
|
||||||
# ... '# This file is part of the pycalver project',
|
... '# This file is part of the pycalver project',
|
||||||
# ... '# https://gitlab.com/mbarkhau/pycalver',
|
... '# https://github.com/mbarkhau/pycalver',
|
||||||
# ... '#',
|
... '#',
|
||||||
# ... '# Copyright (c) 2019 Manuel Barkhau (mbarkhau@gmail.com) - MIT License',
|
... '# Copyright (c) 2018-2020 Manuel Barkhau (mbarkhau@gmail.com) - MIT License',
|
||||||
# ... '# SPDX-License-Identifier: MIT',
|
... '# SPDX-License-Identifier: MIT',
|
||||||
# ... '"""PyCalVer: CalVer for Python Packages."""',
|
... '"""PyCalVer: CalVer for Python Packages."""',
|
||||||
# ... '',
|
... '',
|
||||||
# ... '__version__ = "v201809.0123"',
|
... '__version__ = "v201809.0123"',
|
||||||
# ... '',
|
... '',
|
||||||
# ... ]
|
... ]
|
||||||
# >>>
|
>>>
|
||||||
# '''
|
'''
|
||||||
|
|
||||||
fobj: typ.IO[str]
|
fobj: typ.IO[str]
|
||||||
|
|
||||||
|
|
@ -130,20 +128,19 @@ def diff(
|
||||||
new_vinfo : v2version.VersionInfo,
|
new_vinfo : v2version.VersionInfo,
|
||||||
file_patterns: config.PatternsByGlob,
|
file_patterns: config.PatternsByGlob,
|
||||||
) -> str:
|
) -> str:
|
||||||
# TODO reenable doctest
|
r"""Generate diffs of rewritten files.
|
||||||
# r"""Generate diffs of rewritten files.
|
|
||||||
|
|
||||||
# >>> new_vinfo = version.parse_version_info("v201809.0123")
|
>>> new_vinfo = v2version.parse_version_info("v201809.0123")
|
||||||
# >>> file_patterns = {"src/pycalver/__init__.py": ['__version__ = "{pycalver}"']}
|
>>> file_patterns = {"src/pycalver/__init__.py": ['__version__ = "vYYYY0M.BUILD[-TAG]"']}
|
||||||
# >>> diff_str = diff(new_vinfo, file_patterns)
|
>>> diff_str = diff(new_vinfo, file_patterns)
|
||||||
# >>> lines = diff_str.split("\n")
|
>>> lines = diff_str.split("\n")
|
||||||
# >>> lines[:2]
|
>>> lines[:2]
|
||||||
# ['--- src/pycalver/__init__.py', '+++ src/pycalver/__init__.py']
|
['--- src/pycalver/__init__.py', '+++ src/pycalver/__init__.py']
|
||||||
# >>> assert lines[6].startswith('-__version__ = "v2')
|
>>> assert lines[6].startswith('-__version__ = "v2')
|
||||||
# >>> assert not lines[6].startswith('-__version__ = "v201809.0123"')
|
>>> assert not lines[6].startswith('-__version__ = "v201809.0123"')
|
||||||
# >>> lines[7]
|
>>> lines[7]
|
||||||
# '+__version__ = "v201809.0123"'
|
'+__version__ = "v201809.0123"'
|
||||||
# """
|
"""
|
||||||
|
|
||||||
full_diff = ""
|
full_diff = ""
|
||||||
fobj: typ.IO[str]
|
fobj: typ.IO[str]
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@ from __future__ import absolute_import
|
||||||
from __future__ import unicode_literals
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
import copy
|
import copy
|
||||||
|
import datetime as dt
|
||||||
from test import util
|
from test import util
|
||||||
|
|
||||||
from pycalver import config
|
from pycalver import config
|
||||||
|
|
@ -135,3 +136,26 @@ def test_v1_optional_release():
|
||||||
assert len(new_lines) == len(old_lines)
|
assert len(new_lines) == len(old_lines)
|
||||||
assert "2019.0004-beta" not in "\n".join(old_lines)
|
assert "2019.0004-beta" not in "\n".join(old_lines)
|
||||||
assert "2019.0004-beta" in "\n".join(new_lines)
|
assert "2019.0004-beta" in "\n".join(new_lines)
|
||||||
|
|
||||||
|
|
||||||
|
def test_v2_optional_release():
|
||||||
|
old_lines = OPTIONAL_RELEASE_FIXTURE.splitlines()
|
||||||
|
pattern = "YYYY.BUILD[-TAG]"
|
||||||
|
patterns = ['__version__ = "YYYY.BUILD[-TAG]"']
|
||||||
|
|
||||||
|
new_vinfo = v2version.parse_version_info("2019.0003", pattern)
|
||||||
|
new_lines = v2rewrite.rewrite_lines(patterns, new_vinfo, old_lines)
|
||||||
|
|
||||||
|
assert len(new_lines) == len(old_lines)
|
||||||
|
assert "2019.0003" not in "\n".join(old_lines)
|
||||||
|
new_text = "\n".join(new_lines)
|
||||||
|
assert "2019.0003" in new_text
|
||||||
|
assert '__version__ = "2019.0003"' in new_text
|
||||||
|
|
||||||
|
new_vinfo = v2version.parse_version_info("2019.0004-beta", pattern)
|
||||||
|
new_lines = v2rewrite.rewrite_lines(patterns, new_vinfo, old_lines)
|
||||||
|
|
||||||
|
# make sure optional release tag is added back on
|
||||||
|
assert len(new_lines) == len(old_lines)
|
||||||
|
assert "2019.0004-beta" not in "\n".join(old_lines)
|
||||||
|
assert "2019.0004-beta" in "\n".join(new_lines)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue