1*2b54f0dbSXin Li #include <gtest/gtest.h>
2*2b54f0dbSXin Li
3*2b54f0dbSXin Li #include <cpuinfo.h>
4*2b54f0dbSXin Li
5*2b54f0dbSXin Li
TEST(CURRENT_PROCESSOR,within_bounds)6*2b54f0dbSXin Li TEST(CURRENT_PROCESSOR, within_bounds) {
7*2b54f0dbSXin Li ASSERT_TRUE(cpuinfo_initialize());
8*2b54f0dbSXin Li
9*2b54f0dbSXin Li const struct cpuinfo_processor* current_processor = cpuinfo_get_current_processor();
10*2b54f0dbSXin Li if (current_processor == nullptr) {
11*2b54f0dbSXin Li GTEST_SKIP();
12*2b54f0dbSXin Li }
13*2b54f0dbSXin Li
14*2b54f0dbSXin Li const struct cpuinfo_processor* processors_begin = cpuinfo_get_processors();
15*2b54f0dbSXin Li const struct cpuinfo_processor* processors_end = processors_begin + cpuinfo_get_processors_count();
16*2b54f0dbSXin Li ASSERT_GE(current_processor, processors_begin);
17*2b54f0dbSXin Li ASSERT_LT(current_processor, processors_end);
18*2b54f0dbSXin Li }
19*2b54f0dbSXin Li
TEST(CURRENT_CORE,within_bounds)20*2b54f0dbSXin Li TEST(CURRENT_CORE, within_bounds) {
21*2b54f0dbSXin Li ASSERT_TRUE(cpuinfo_initialize());
22*2b54f0dbSXin Li
23*2b54f0dbSXin Li const struct cpuinfo_core* current_core = cpuinfo_get_current_core();
24*2b54f0dbSXin Li if (current_core == nullptr) {
25*2b54f0dbSXin Li GTEST_SKIP();
26*2b54f0dbSXin Li }
27*2b54f0dbSXin Li
28*2b54f0dbSXin Li const struct cpuinfo_core* cores_begin = cpuinfo_get_cores();
29*2b54f0dbSXin Li const struct cpuinfo_core* cores_end = cores_begin + cpuinfo_get_cores_count();
30*2b54f0dbSXin Li ASSERT_GE(current_core, cores_begin);
31*2b54f0dbSXin Li ASSERT_LT(current_core, cores_end);
32*2b54f0dbSXin Li }
33*2b54f0dbSXin Li
TEST(CURRENT_UARCH_INDEX,within_bounds)34*2b54f0dbSXin Li TEST(CURRENT_UARCH_INDEX, within_bounds) {
35*2b54f0dbSXin Li ASSERT_TRUE(cpuinfo_initialize());
36*2b54f0dbSXin Li
37*2b54f0dbSXin Li ASSERT_LT(cpuinfo_get_current_uarch_index(), cpuinfo_get_uarchs_count());
38*2b54f0dbSXin Li }
39*2b54f0dbSXin Li
TEST(CURRENT_UARCH_INDEX_WITH_DEFAULT,within_bounds)40*2b54f0dbSXin Li TEST(CURRENT_UARCH_INDEX_WITH_DEFAULT, within_bounds) {
41*2b54f0dbSXin Li ASSERT_TRUE(cpuinfo_initialize());
42*2b54f0dbSXin Li
43*2b54f0dbSXin Li ASSERT_LE(cpuinfo_get_current_uarch_index_with_default(cpuinfo_get_uarchs_count()), cpuinfo_get_uarchs_count());
44*2b54f0dbSXin Li }
45