fix(cmd-version): prevent regular expression errors on `tag_format` by codejedi365 · Pull Request #1367 · python-semantic-release/python-semantic-release
Expand Up
@@ -155,56 +155,49 @@ def test_sorted_repo_tags_and_versions(tags: list[str], sorted_tags: list[str]):
@pytest.mark.parametrize(
"tag_format, invalid_tags, valid_tags",
[
(
"v{version}",
("test-v1.1.0", "v1.1.0-test-test"),
[
"v1.0.0-rc.1",
"v1.0.0-beta.2",
"v1.0.0-beta.11",
"v1.0.0-alpha.1",
"v1.0.0-alpha.beta.1",
"v1.0.0",
],
),
(
"v{version}",
("0.3", "0.4"),
[
"v1.0.0-rc.1",
"v1.0.0-beta.2",
"v1.0.0-beta.11",
"v1.0.0-alpha.1",
"v1.0.0-alpha.beta.1",
"v1.0.0",
],
),
(
r"(\w+--)?v{version}",
("v1.1.0-test-test", "test_v1.1.0"),
[
"v1.0.0-rc.1",
"test--v1.1.0",
"v1.0.0-beta.2",
"v1.0.0-beta.11",
"v1.0.0-alpha.1",
"v1.0.0-alpha.beta.1",
"v1.0.0",
],
),
(
r"(?P<type>feature|fix)/v{version}--(?P<env>dev|stg|prod)",
("v1.1.0--test", "test_v1.1.0", "docs/v1.2.0--dev"),
[
"feature/v1.0.0-rc.1--dev",
"fix/v1.1.0--stg",
"feature/v1.0.0-beta.2--stg",
"fix/v1.0.0-beta.11--dev",
"fix/v1.0.0-alpha.1--dev",
"feature/v1.0.0-alpha.beta.1--dev",
"feature/v1.0.0--prod",
],
),
pytest.param(
tag_format,
invalid_tags,
valid_tags,
id=test_id,
)
for test_id, tag_format, invalid_tags, valid_tags in [
(
"traditional-v-prefixed-versions",
"v{version}",
(
"0.3", # no v-prefix
"test-v1.1.0", # extra prefix
"v1.1.0-test-test", # bad suffix
),
[
"v1.0.0-rc.1",
"v1.0.0-beta.2",
"v1.0.0-beta.11",
"v1.0.0-alpha.1",
"v1.0.0-alpha.beta.1",
"v1.0.0",
],
),
(
"monorepo-style-versions",
"pkg1-v{version}",
(
"0.3", # no pkg or version prefix
"v1.1.0", # no pkg prefix
"pkg1-v1.1.0-test-test", # bad suffix
"pkg2-v1.1.0", # wrong package prefix
),
[
"pkg1-v1.0.0-rc.1",
"pkg1-v1.0.0-beta.2",
"pkg1-v1.0.0-beta.11",
"pkg1-v1.0.0-alpha.1",
"pkg1-v1.0.0-alpha.beta.1",
"pkg1-v1.0.0",
],
),
]
],
)
def test_tags_and_versions_ignores_invalid_tags_as_versions(
Expand Down