xref: /aosp_15_r20/external/cpuinfo/test/get-current.cc (revision 2b54f0db79fd8303838913b20ff3780cddaa909f)
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