Skip to content

Commit 3f34db4

Browse files
committed
fix(minidump_parser): improve version check
1 parent 378a84e commit 3f34db4

File tree

2 files changed

+15
-10
lines changed

2 files changed

+15
-10
lines changed

src/ffpuppet/minidump_parser.py

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -320,16 +320,15 @@ def mdsw_available(cls, min_version: str = "0.15.2") -> bool:
320320
)
321321
return False
322322
# version check
323-
for cver, mver in zip(current_version.split("."), min_version.split(".")):
324-
if int(cver) > int(mver):
325-
break
326-
if int(cver) < int(mver):
327-
LOG.error(
328-
"minidump-stackwalk '%s' is unsupported (minimum '%s')",
329-
current_version,
330-
min_version,
331-
)
332-
return False
323+
current = tuple(int(x) for x in current_version.split("."))
324+
minimum = tuple(int(x) for x in min_version.split("."))
325+
if current < minimum:
326+
LOG.error(
327+
"minidump-stackwalk '%s' is unsupported (minimum '%s')",
328+
current_version,
329+
min_version,
330+
)
331+
return False
333332
LOG.debug("detected minidump-stackwalk version '%s'", current_version)
334333
return True
335334

src/ffpuppet/test_minidump_parser.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -228,6 +228,12 @@ def test_minidump_parser_04(tmp_path):
228228
"minidump-stackwalk",
229229
True,
230230
),
231+
# minidump-stackwalk major version is higher
232+
(
233+
(CompletedProcess([], 0, stdout=b"minidump-stackwalk 1.0.0\n"),),
234+
"minidump-stackwalk",
235+
True,
236+
),
231237
# minidump-stackwalk is matches minimum version
232238
(
233239
(CompletedProcess([], 0, stdout=b"minidump-stackwalk 0.15.2\n"),),

0 commit comments

Comments
 (0)