blob: 76ca0360c2e0bad0502fde0789bbaa7ec3dc8d68 [file] [log] [blame] [edit]
// Copyright 2026 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "util/sys_info.h"
#include "util/build_config.h"
#include "util/test/test.h"
TEST(SysInfoTest, NumberOfProcessors) {
int num_processors = NumberOfProcessors();
EXPECT_GT(num_processors, 0);
}
TEST(SysInfoTest, NumberOfPerformanceProcessors) {
int num_perf_processors = NumberOfPerformanceProcessors();
// On all platforms this should be at least 1 (if implemented) or same as
// NumberOfProcessors
EXPECT_GT(num_perf_processors, 0);
#if defined(OS_MACOSX) && defined(ARCH_CPU_ARM64)
// Apple Silicon has both performance and efficiency cores, so the number of
// performance cores should be less than the total number of processors.
EXPECT_LE(num_perf_processors, NumberOfProcessors());
#else
// On other platforms, it returns NumberOfProcessors().
EXPECT_EQ(num_perf_processors, NumberOfProcessors());
#endif
}