Studio: stop ROCm amd-smi tests leaking a fake loggers into sys.modules (#6055)
Follow-up to #6027. The four TestAmdGpuMonitoring tests also set sys.modules["loggers"] = MagicMock() without cleanup, leaking a mock loggers module into later tests. Switch them to monkeypatch.setitem so the stub is undone at teardown, matching the worker test fix in #6027.
This commit is contained in:
parent
0003f889e6
commit
686a30f95e
1 changed files with 15 additions and 11 deletions
|
|
@ -1206,15 +1206,16 @@ class TestAmdGpuMonitoring:
|
|||
assert "def get_primary_gpu_utilization" in source
|
||||
assert "def get_visible_gpu_utilization" in source
|
||||
|
||||
def test_amd_smi_json_parsing(self):
|
||||
def test_amd_smi_json_parsing(self, monkeypatch):
|
||||
"""Verify _extract_gpu_metrics parses amd-smi JSON correctly."""
|
||||
amd_path = PACKAGE_ROOT / "studio" / "backend" / "utils" / "hardware" / "amd.py"
|
||||
_amd_spec = importlib.util.spec_from_file_location("test_amd", amd_path)
|
||||
assert _amd_spec is not None and _amd_spec.loader is not None
|
||||
amd_mod = importlib.util.module_from_spec(_amd_spec)
|
||||
|
||||
sys.modules["loggers"] = MagicMock()
|
||||
sys.modules["loggers"].get_logger = MagicMock(return_value = MagicMock())
|
||||
loggers_mock = MagicMock()
|
||||
loggers_mock.get_logger = MagicMock(return_value = MagicMock())
|
||||
monkeypatch.setitem(sys.modules, "loggers", loggers_mock)
|
||||
|
||||
try:
|
||||
_amd_spec.loader.exec_module(amd_mod)
|
||||
|
|
@ -1251,8 +1252,9 @@ class TestAmdGpuMonitoring:
|
|||
assert _amd_spec is not None and _amd_spec.loader is not None
|
||||
amd_mod = importlib.util.module_from_spec(_amd_spec)
|
||||
|
||||
sys.modules["loggers"] = MagicMock()
|
||||
sys.modules["loggers"].get_logger = MagicMock(return_value = MagicMock())
|
||||
loggers_mock = MagicMock()
|
||||
loggers_mock.get_logger = MagicMock(return_value = MagicMock())
|
||||
monkeypatch.setitem(sys.modules, "loggers", loggers_mock)
|
||||
|
||||
try:
|
||||
_amd_spec.loader.exec_module(amd_mod)
|
||||
|
|
@ -1290,15 +1292,16 @@ class TestAmdGpuMonitoring:
|
|||
assert result["gpu_utilization_pct"] == 50.0
|
||||
assert result["temperature_c"] == 65.0
|
||||
|
||||
def test_amd_smi_not_found_returns_unavailable(self):
|
||||
def test_amd_smi_not_found_returns_unavailable(self, monkeypatch):
|
||||
"""get_primary_gpu_utilization returns available=False when amd-smi is missing."""
|
||||
amd_path = PACKAGE_ROOT / "studio" / "backend" / "utils" / "hardware" / "amd.py"
|
||||
_amd_spec = importlib.util.spec_from_file_location("test_amd3", amd_path)
|
||||
assert _amd_spec is not None and _amd_spec.loader is not None
|
||||
amd_mod = importlib.util.module_from_spec(_amd_spec)
|
||||
|
||||
sys.modules["loggers"] = MagicMock()
|
||||
sys.modules["loggers"].get_logger = MagicMock(return_value = MagicMock())
|
||||
loggers_mock = MagicMock()
|
||||
loggers_mock.get_logger = MagicMock(return_value = MagicMock())
|
||||
monkeypatch.setitem(sys.modules, "loggers", loggers_mock)
|
||||
|
||||
try:
|
||||
_amd_spec.loader.exec_module(amd_mod)
|
||||
|
|
@ -1309,15 +1312,16 @@ class TestAmdGpuMonitoring:
|
|||
result = amd_mod.get_primary_gpu_utilization()
|
||||
assert result["available"] is False
|
||||
|
||||
def test_amd_timeout_returns_unavailable(self):
|
||||
def test_amd_timeout_returns_unavailable(self, monkeypatch):
|
||||
"""get_primary_gpu_utilization handles timeout gracefully."""
|
||||
amd_path = PACKAGE_ROOT / "studio" / "backend" / "utils" / "hardware" / "amd.py"
|
||||
_amd_spec = importlib.util.spec_from_file_location("test_amd4", amd_path)
|
||||
assert _amd_spec is not None and _amd_spec.loader is not None
|
||||
amd_mod = importlib.util.module_from_spec(_amd_spec)
|
||||
|
||||
sys.modules["loggers"] = MagicMock()
|
||||
sys.modules["loggers"].get_logger = MagicMock(return_value = MagicMock())
|
||||
loggers_mock = MagicMock()
|
||||
loggers_mock.get_logger = MagicMock(return_value = MagicMock())
|
||||
monkeypatch.setitem(sys.modules, "loggers", loggers_mock)
|
||||
|
||||
try:
|
||||
_amd_spec.loader.exec_module(amd_mod)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue