diff --git a/tests/studio/install/test_rocm_support.py b/tests/studio/install/test_rocm_support.py index 1c1a4df377..4aa7fb3a34 100644 --- a/tests/studio/install/test_rocm_support.py +++ b/tests/studio/install/test_rocm_support.py @@ -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)