Skip to content

Commit 69e310a

Browse files
authored
Fix version discovery; #356, #357 (#358)
1 parent 9d74cd8 commit 69e310a

File tree

2 files changed

+11
-1
lines changed

2 files changed

+11
-1
lines changed

nodeenv.py

+5-1
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,11 @@ def parse_version(version_str):
175175
"""
176176
Parse version string to a tuple of integer parts
177177
"""
178-
return tuple(map(int, version_str.replace('v', '').split('.')))
178+
v = version_str.replace('v', '').split('.')[:3]
179+
# remove all after '+' in the PATCH part of the version
180+
if len(v) >= 3:
181+
v[2] = v[2].split('+')[0]
182+
return tuple(map(int, v))
179183

180184

181185
def node_version_from_args(args):

tests/nodeenv_test.py

+6
Original file line numberDiff line numberDiff line change
@@ -161,3 +161,9 @@ def test__download_node_file():
161161
n_attempt=5
162162
)
163163
assert m_urlopen.call_count == 5
164+
165+
166+
def test_parse_version():
167+
assert nodeenv.parse_version("v21.7") == (21, 7)
168+
assert nodeenv.parse_version("v21.7.3") == (21, 7, 3)
169+
assert nodeenv.parse_version("v21.7.3+0-b20240228T18452699") == (21, 7, 3)

0 commit comments

Comments
 (0)