diff --git a/src/foundation/system_info.c b/src/foundation/system_info.c index 21e0a9cb3..8ba237f6c 100644 --- a/src/foundation/system_info.c +++ b/src/foundation/system_info.c @@ -95,7 +95,7 @@ static cbm_system_info_t detect_system_bsd(void) { info.total_cores = nprocs > 0 ? (int)nprocs : 1; info.perf_cores = info.total_cores; -#if defined(__OpenBSD__) +#if defined(__OpenBSD__) || defined(__FreeBSD__) int mib[2] = {CTL_HW, HW_PHYSMEM}; #else int mib[2] = {CTL_HW, HW_PHYSMEM64}; diff --git a/tests/test_platform.c b/tests/test_platform.c index 7ae9237c3..127edd8ab 100644 --- a/tests/test_platform.c +++ b/tests/test_platform.c @@ -132,6 +132,13 @@ TEST(platform_default_workers_env_unset) { PASS(); } +TEST(platform_system_info) { + cbm_system_info_t info = cbm_system_info(); + ASSERT_GT(info.total_cores, 0); + ASSERT_GT(info.total_ram, 0); + PASS(); +} + /* ── cgroup-aware detection (Linux only) ─────────────────────────── */ #ifdef __linux__ @@ -316,6 +323,7 @@ SUITE(platform) { RUN_TEST(platform_default_workers_env_override); RUN_TEST(platform_default_workers_env_invalid); RUN_TEST(platform_default_workers_env_unset); + RUN_TEST(platform_system_info); #ifdef __linux__ RUN_TEST(cgroup_v2_cpu_quota); RUN_TEST(cgroup_v2_cpu_quota_rounds_up);