fix: _lookup_bandwidth crashes on a truthy non-string gpu_name (#1641)
This commit is contained in:
@@ -61,7 +61,7 @@ CONTEXT_TARGET = {
|
|||||||
|
|
||||||
|
|
||||||
def _lookup_bandwidth(gpu_name):
|
def _lookup_bandwidth(gpu_name):
|
||||||
if not gpu_name:
|
if not isinstance(gpu_name, str) or not gpu_name:
|
||||||
return None
|
return None
|
||||||
gn = gpu_name.lower()
|
gn = gpu_name.lower()
|
||||||
for key in _BW_KEYS_SORTED:
|
for key in _BW_KEYS_SORTED:
|
||||||
|
|||||||
16
tests/test_hwfit_bandwidth_nonstring.py
Normal file
16
tests/test_hwfit_bandwidth_nonstring.py
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
"""Regression: _lookup_bandwidth must tolerate a non-string gpu_name.
|
||||||
|
|
||||||
|
It guarded only falsy values; a truthy non-string (e.g. a number from a
|
||||||
|
malformed hardware probe) reached `gpu_name.lower()` and raised AttributeError.
|
||||||
|
"""
|
||||||
|
from services.hwfit.fit import _lookup_bandwidth
|
||||||
|
|
||||||
|
|
||||||
|
def test_non_string_returns_none():
|
||||||
|
assert _lookup_bandwidth(123) is None
|
||||||
|
assert _lookup_bandwidth(["x"]) is None
|
||||||
|
assert _lookup_bandwidth(None) is None
|
||||||
|
|
||||||
|
|
||||||
|
def test_known_gpu_resolves():
|
||||||
|
assert _lookup_bandwidth("NVIDIA GeForce RTX 4090") is not None
|
||||||
Reference in New Issue
Block a user