From a2a302bce29825988c9aa0dbe71bd356523ae9c3 Mon Sep 17 00:00:00 2001 From: Dave Wapstra Date: Sun, 17 Jan 2021 19:05:30 +0100 Subject: [PATCH 1/2] check for tag if tag-num specified --- .gitignore | 5 ++++- src/bumpver/v2version.py | 5 +++++ test/test_version.py | 12 ++++++++++++ 3 files changed, 21 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index c899f50..e910e29 100644 --- a/.gitignore +++ b/.gitignore @@ -216,4 +216,7 @@ fabric.properties .idea/httpRequests # Android studio 3.1+ serialized cache file -.idea/caches/build_file_checksums.ser \ No newline at end of file +.idea/caches/build_file_checksums.ser + +# Visual Studio Code +.vscode diff --git a/src/bumpver/v2version.py b/src/bumpver/v2version.py index 39e0e1e..8cd1ec7 100644 --- a/src/bumpver/v2version.py +++ b/src/bumpver/v2version.py @@ -754,6 +754,11 @@ def incr( else: cur_vinfo = old_vinfo._replace(**cur_cinfo._asdict()) + has_tag_part = cur_vinfo.tag != "final" + if tag_num and not tag and not has_tag_part: + logger.error("Invalid arguments, non-final --tag= is needed to use --tag-num.") + return None + cur_vinfo = _incr_numeric( raw_pattern, old_vinfo, diff --git a/test/test_version.py b/test/test_version.py index 191a534..ac5a1a5 100644 --- a/test/test_version.py +++ b/test/test_version.py @@ -73,6 +73,18 @@ def test_bump_random(monkeypatch): cur_version = new_version +def test_bump_tag_num(): + raw_pattern = "MAJOR.MINOR.PATCH[PYTAGNUM]" + cur_version = "0.1.1b0" + assert v2version.incr(cur_version, raw_pattern, tag_num=True ) == "0.1.1b1" + + +def test_bump_tag_num_without_tag(): + raw_pattern = "MAJOR.MINOR.PATCH[PYTAGNUM]" + cur_version = "0.1.1" + assert v2version.incr(cur_version, raw_pattern, tag_num=True ) == None + + def test_parse_version_info(): version_str = "v201712.0001-alpha" version_info = v1version.parse_version_info(version_str) From a73ab98acbd8b8e5ed7083a427fd3b4823e0d968 Mon Sep 17 00:00:00 2001 From: Dave Wapstra Date: Sun, 17 Jan 2021 19:45:53 +0100 Subject: [PATCH 2/2] Fix linting errors --- test/test_version.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/test_version.py b/test/test_version.py index ac5a1a5..40b3da1 100644 --- a/test/test_version.py +++ b/test/test_version.py @@ -76,13 +76,13 @@ def test_bump_random(monkeypatch): def test_bump_tag_num(): raw_pattern = "MAJOR.MINOR.PATCH[PYTAGNUM]" cur_version = "0.1.1b0" - assert v2version.incr(cur_version, raw_pattern, tag_num=True ) == "0.1.1b1" + assert v2version.incr(cur_version, raw_pattern, tag_num=True) == "0.1.1b1" def test_bump_tag_num_without_tag(): raw_pattern = "MAJOR.MINOR.PATCH[PYTAGNUM]" cur_version = "0.1.1" - assert v2version.incr(cur_version, raw_pattern, tag_num=True ) == None + assert v2version.incr(cur_version, raw_pattern, tag_num=True) is None def test_parse_version_info():