Skip to content

Commit e430741

Browse files
Scott DixonScott Dixon
authored andcommitted
Fixing version handling regression
1 parent c3b773d commit e430741

2 files changed

Lines changed: 12 additions & 1 deletion

File tree

src/nunavut/__init__.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
"""
1818

1919
import sys as _sys
20+
import re as _re
2021

2122
from ._generators import (
2223
AbstractGenerator,
@@ -37,7 +38,10 @@
3738
print("Python 3.10 or newer is required", file=_sys.stderr)
3839
_sys.exit(1)
3940

40-
__version_info__ = tuple(map(int, __version__.split(".")[:3]))
41+
_version_info_match = _re.match(r"^(\d+)\.(\d+)\.(\d+)", __version__)
42+
if _version_info_match is None: # pragma: no cover
43+
raise ValueError(f"Invalid version string: {__version__}")
44+
__version_info__ = tuple(map(int, _version_info_match.groups()))
4145

4246
__all__ = [
4347
"AbstractGenerator",

test/gentest_versions/test_versions.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99

1010
import pydsdl
1111
import re
12+
import nunavut
1213

1314
from nunavut._namespace import build_namespace_tree
1415
from nunavut.jinja import DSDLCodeGenerator
@@ -21,6 +22,12 @@
2122
)
2223

2324

25+
def test_version_info_matches_release_triplet() -> None:
26+
match = re.match(r"^(\d+)\.(\d+)\.(\d+)", nunavut.__version__)
27+
assert match is not None
28+
assert nunavut.__version_info__ == tuple(int(group) for group in match.groups())
29+
30+
2431
@pytest.mark.parametrize("lang_key,include_format", include_pattern_map)
2532
def test_issue_136(gen_paths, lang_key: str, include_format: str): # type: ignore
2633
"""

0 commit comments

Comments
 (0)