Skip to content

Commit d2d387e

Browse files
leofangclaude
andcommitted
Fix KMD version test to allow 2-tuple on WSL
Windows driver version strings only have two components, so nvmlSystemGetDriverVersion returns X.Y on WSL instead of X.Y.Z. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent bfd9ab9 commit d2d387e

2 files changed

Lines changed: 6 additions & 5 deletions

File tree

cuda_core/cuda/core/system/_system.pyx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ def get_driver_version() -> tuple[tuple[int, ...], tuple[int, ...]]:
4141
version : tuple[tuple[int, ...], tuple[int, ...]]
4242
``(umd_version, kmd_version)`` where ``umd_version`` is typically
4343
a 2-tuple ``(MAJOR, MINOR)`` and ``kmd_version`` is typically
44-
a 3-tuple ``(MAJOR, MINOR, PATCH)``.
44+
a 3-tuple ``(MAJOR, MINOR, PATCH)`` (2-tuple on WSL).
4545

4646
Raises
4747
------

cuda_core/tests/system/test_system_system.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,13 +30,14 @@ def test_driver_version():
3030
expected_umd = (version // 1000, (version % 1000) // 10)
3131
assert umd == expected_umd, "UMD driver version does not match expected value"
3232

33-
# KMD: 3-tuple (major, minor, patch)
33+
# KMD: 3-tuple (major, minor, patch), or 2-tuple on WSL
3434
assert isinstance(kmd, tuple)
35-
assert len(kmd) == 3
36-
ver_maj, ver_min, ver_patch = kmd
35+
assert len(kmd) in (2, 3)
36+
ver_maj, ver_min, *ver_patch = kmd
3737
assert 400 <= ver_maj < 1000
3838
assert ver_min >= 0
39-
assert 0 <= ver_patch <= 99
39+
if ver_patch:
40+
assert 0 <= ver_patch[0] <= 99
4041

4142

4243
def test_num_devices():

0 commit comments

Comments
 (0)