"""GPU 守卫:项目禁止在没有 Nvidia GPU 的设备上训练。""" import pytest from utils.device import NoNvidiaGpuError, cuda_devices, require_cuda def test_require_cuda_matches_hardware(): devices = cuda_devices() if devices: assert require_cuda() == devices else: with pytest.raises(NoNvidiaGpuError): require_cuda() def test_resolve_device_rejects_cuda_without_gpu(): torch = pytest.importorskip("torch") from utils.device import resolve_device if torch.cuda.is_available(): assert resolve_device("cuda").type == "cuda" else: with pytest.raises(NoNvidiaGpuError): resolve_device("cuda") assert resolve_device("cpu").type == "cpu"