"""Tests for flow.core.platform.""" import platform as _platform import pytest from flow.core.platform import PlatformInfo, detect_platform def test_detect_platform_returns_platforminfo(): info = detect_platform() assert isinstance(info, PlatformInfo) assert info.os in ("linux", "macos") assert info.arch in ("x64", "arm64") assert info.platform == f"{info.os}-{info.arch}" def test_detect_platform_unsupported_os(monkeypatch): monkeypatch.setattr(_platform, "system", lambda: "FreeBSD") with pytest.raises(RuntimeError, match="Unsupported operating system"): detect_platform() def test_detect_platform_unsupported_arch(monkeypatch): monkeypatch.setattr(_platform, "machine", lambda: "mips") with pytest.raises(RuntimeError, match="Unsupported architecture"): detect_platform()