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):
|
||||
if not gpu_name:
|
||||
if not isinstance(gpu_name, str) or not gpu_name:
|
||||
return None
|
||||
gn = gpu_name.lower()
|
||||
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