diff options
author | Marat Dukhan <marat@fb.com> | 2017-09-25 01:32:37 -0700 |
---|---|---|
committer | Marat Dukhan <marat@fb.com> | 2017-09-25 01:32:37 -0700 |
commit | 2d37dc4072ef950b1d2232111f73e6a6a70fb4b4 (patch) | |
tree | 4dfad55d4538bca77ce5c29b30be5474ea3dde77 /test | |
parent | d9f76e088d67bd2e706187185a6704b04a471311 (diff) | |
download | cpuinfo-2d37dc4072ef950b1d2232111f73e6a6a70fb4b4.tar.gz |
Major interface refactoring
Diffstat (limited to 'test')
38 files changed, 3236 insertions, 217 deletions
diff --git a/test/blu-r1-hd.cc b/test/blu-r1-hd.cc index 6ed6284..6ccc3cf 100644 --- a/test/blu-r1-hd.cc +++ b/test/blu-r1-hd.cc @@ -12,15 +12,21 @@ TEST(PROCESSORS, non_null) { ASSERT_TRUE(cpuinfo_processors); } -TEST(PROCESSORS, vendor) { +TEST(PROCESSORS, smt_id) { for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { - ASSERT_EQ(cpuinfo_vendor_arm, cpuinfo_processors[i].vendor); + ASSERT_EQ(0, cpuinfo_processors[i].smt_id); } } -TEST(PROCESSORS, uarch) { +TEST(PROCESSORS, core) { for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { - ASSERT_EQ(cpuinfo_uarch_cortex_a53, cpuinfo_processors[i].uarch); + ASSERT_EQ(&cpuinfo_cores[i], cpuinfo_processors[i].core); + } +} + +TEST(PROCESSORS, package) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_packages[0], cpuinfo_processors[i].package); } } @@ -30,10 +36,44 @@ TEST(PROCESSORS, linux_id) { } } +TEST(PROCESSORS, l1i) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_get_l1i_cache().instances[i], cpuinfo_processors[i].cache.l1i); + } +} + +TEST(PROCESSORS, l1d) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_get_l1d_cache().instances[i], cpuinfo_processors[i].cache.l1d); + } +} + +TEST(PROCESSORS, l2) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_get_l2_cache().instances[0], cpuinfo_processors[i].cache.l2); + } +} + +TEST(PROCESSORS, l3) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_FALSE(cpuinfo_processors[i].cache.l3); + } +} + +TEST(PROCESSORS, l4) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_FALSE(cpuinfo_processors[i].cache.l4); + } +} + TEST(CORES, count) { ASSERT_EQ(4, cpuinfo_cores_count); } +TEST(CORES, non_null) { + ASSERT_TRUE(cpuinfo_cores); +} + TEST(CORES, processor_start) { for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { ASSERT_EQ(i, cpuinfo_cores[i].processor_start); @@ -46,10 +86,44 @@ TEST(CORES, processor_count) { } } +TEST(CORES, core_id) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(i, cpuinfo_cores[i].core_id); + } +} + +TEST(CORES, package) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(&cpuinfo_packages[0], cpuinfo_cores[i].package); + } +} + +TEST(CORES, vendor) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(cpuinfo_vendor_arm, cpuinfo_cores[i].vendor); + } +} + +TEST(CORES, uarch) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(cpuinfo_uarch_cortex_a53, cpuinfo_cores[i].uarch); + } +} + +TEST(CORES, midr) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(UINT32_C(0x410FD033), cpuinfo_cores[i].midr); + } +} + TEST(PACKAGES, count) { ASSERT_EQ(1, cpuinfo_packages_count); } +TEST(PACKAGES, non_null) { + ASSERT_TRUE(cpuinfo_packages); +} + TEST(PACKAGES, name) { for (uint32_t i = 0; i < cpuinfo_packages_count; i++) { ASSERT_EQ("MediaTek MT6735", diff --git a/test/galaxy-c9-pro.cc b/test/galaxy-c9-pro.cc index 96d040f..bb4cfab 100644 --- a/test/galaxy-c9-pro.cc +++ b/test/galaxy-c9-pro.cc @@ -12,54 +12,94 @@ TEST(PROCESSORS, non_null) { ASSERT_TRUE(cpuinfo_processors); } -TEST(PROCESSORS, vendor) { +TEST(PROCESSORS, smt_id) { for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { - ASSERT_EQ(cpuinfo_vendor_arm, cpuinfo_processors[i].vendor); + ASSERT_EQ(0, cpuinfo_processors[i].smt_id); } } -TEST(PROCESSORS, uarch) { +TEST(PROCESSORS, core) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_cores[i], cpuinfo_processors[i].core); + } +} + +TEST(PROCESSORS, package) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_packages[0], cpuinfo_processors[i].package); + } +} + +TEST(PROCESSORS, linux_id) { for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { switch (i) { case 0: case 1: case 2: case 3: - ASSERT_EQ(cpuinfo_uarch_cortex_a72, cpuinfo_processors[i].uarch); + ASSERT_EQ(i + 4, cpuinfo_processors[i].linux_id); break; case 4: case 5: case 6: case 7: - ASSERT_EQ(cpuinfo_uarch_cortex_a53, cpuinfo_processors[i].uarch); + ASSERT_EQ(i - 4, cpuinfo_processors[i].linux_id); break; } } } -TEST(PROCESSORS, linux_id) { +TEST(PROCESSORS, l1i) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_get_l1i_cache().instances[i], cpuinfo_processors[i].cache.l1i); + } +} + +TEST(PROCESSORS, l1d) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_get_l1d_cache().instances[i], cpuinfo_processors[i].cache.l1d); + } +} + +TEST(PROCESSORS, l2) { for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { switch (i) { case 0: case 1: case 2: case 3: - ASSERT_EQ(i + 4, cpuinfo_processors[i].linux_id); + ASSERT_EQ(&cpuinfo_get_l2_cache().instances[0], cpuinfo_processors[i].cache.l2); break; case 4: case 5: case 6: case 7: - ASSERT_EQ(i - 4, cpuinfo_processors[i].linux_id); + ASSERT_EQ(&cpuinfo_get_l2_cache().instances[1], cpuinfo_processors[i].cache.l2); break; } } } +TEST(PROCESSORS, l3) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_FALSE(cpuinfo_processors[i].cache.l3); + } +} + +TEST(PROCESSORS, l4) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_FALSE(cpuinfo_processors[i].cache.l4); + } +} + TEST(CORES, count) { ASSERT_EQ(8, cpuinfo_cores_count); } +TEST(CORES, non_null) { + ASSERT_TRUE(cpuinfo_cores); +} + TEST(CORES, processor_start) { for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { ASSERT_EQ(i, cpuinfo_cores[i].processor_start); @@ -72,6 +112,62 @@ TEST(CORES, processor_count) { } } +TEST(CORES, core_id) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(i, cpuinfo_cores[i].core_id); + } +} + +TEST(CORES, package) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(&cpuinfo_packages[0], cpuinfo_cores[i].package); + } +} + +TEST(CORES, vendor) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(cpuinfo_vendor_arm, cpuinfo_cores[i].vendor); + } +} + +TEST(CORES, uarch) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + switch (i) { + case 0: + case 1: + case 2: + case 3: + ASSERT_EQ(cpuinfo_uarch_cortex_a72, cpuinfo_cores[i].uarch); + break; + case 4: + case 5: + case 6: + case 7: + ASSERT_EQ(cpuinfo_uarch_cortex_a53, cpuinfo_cores[i].uarch); + break; + } + } +} + +TEST(CORES, midr) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + switch (i) { + case 0: + case 1: + case 2: + case 3: + ASSERT_EQ(UINT32_C(0x410FD080), cpuinfo_cores[i].midr); + break; + case 4: + case 5: + case 6: + case 7: + ASSERT_EQ(UINT32_C(0x410FD034), cpuinfo_cores[i].midr); + break; + } + } +} + TEST(PACKAGES, count) { ASSERT_EQ(1, cpuinfo_packages_count); } diff --git a/test/galaxy-grand-prime-value-edition.cc b/test/galaxy-grand-prime-value-edition.cc index 546f19a..965a336 100644 --- a/test/galaxy-grand-prime-value-edition.cc +++ b/test/galaxy-grand-prime-value-edition.cc @@ -12,15 +12,21 @@ TEST(PROCESSORS, non_null) { ASSERT_TRUE(cpuinfo_processors); } -TEST(PROCESSORS, vendor) { +TEST(PROCESSORS, smt_id) { for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { - ASSERT_EQ(cpuinfo_vendor_arm, cpuinfo_processors[i].vendor); + ASSERT_EQ(0, cpuinfo_processors[i].smt_id); } } -TEST(PROCESSORS, uarch) { +TEST(PROCESSORS, core) { for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { - ASSERT_EQ(cpuinfo_uarch_cortex_a7, cpuinfo_processors[i].uarch); + ASSERT_EQ(&cpuinfo_cores[i], cpuinfo_processors[i].core); + } +} + +TEST(PROCESSORS, package) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_packages[0], cpuinfo_processors[i].package); } } @@ -30,10 +36,44 @@ TEST(PROCESSORS, linux_id) { } } +TEST(PROCESSORS, l1i) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_get_l1i_cache().instances[i], cpuinfo_processors[i].cache.l1i); + } +} + +TEST(PROCESSORS, l1d) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_get_l1d_cache().instances[i], cpuinfo_processors[i].cache.l1d); + } +} + +TEST(PROCESSORS, l2) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_get_l2_cache().instances[0], cpuinfo_processors[i].cache.l2); + } +} + +TEST(PROCESSORS, l3) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_FALSE(cpuinfo_processors[i].cache.l3); + } +} + +TEST(PROCESSORS, l4) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_FALSE(cpuinfo_processors[i].cache.l4); + } +} + TEST(CORES, count) { ASSERT_EQ(4, cpuinfo_cores_count); } +TEST(CORES, non_null) { + ASSERT_TRUE(cpuinfo_cores); +} + TEST(CORES, processor_start) { for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { ASSERT_EQ(i, cpuinfo_cores[i].processor_start); @@ -46,6 +86,36 @@ TEST(CORES, processor_count) { } } +TEST(CORES, core_id) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(i, cpuinfo_cores[i].core_id); + } +} + +TEST(CORES, package) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(&cpuinfo_packages[0], cpuinfo_cores[i].package); + } +} + +TEST(CORES, vendor) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(cpuinfo_vendor_arm, cpuinfo_cores[i].vendor); + } +} + +TEST(CORES, uarch) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(cpuinfo_uarch_cortex_a7, cpuinfo_cores[i].uarch); + } +} + +TEST(CORES, midr) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(UINT32_C(0x410FC075), cpuinfo_cores[i].midr); + } +} + TEST(PACKAGES, count) { ASSERT_EQ(1, cpuinfo_packages_count); } diff --git a/test/galaxy-j7-tmobile.cc b/test/galaxy-j7-tmobile.cc index 82f07ce..e4ce0b6 100644 --- a/test/galaxy-j7-tmobile.cc +++ b/test/galaxy-j7-tmobile.cc @@ -12,15 +12,21 @@ TEST(PROCESSORS, non_null) { ASSERT_TRUE(cpuinfo_processors); } -TEST(PROCESSORS, vendor) { +TEST(PROCESSORS, smt_id) { for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { - ASSERT_EQ(cpuinfo_vendor_arm, cpuinfo_processors[i].vendor); + ASSERT_EQ(0, cpuinfo_processors[i].smt_id); } } -TEST(PROCESSORS, uarch) { +TEST(PROCESSORS, core) { for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { - ASSERT_EQ(cpuinfo_uarch_cortex_a53, cpuinfo_processors[i].uarch); + ASSERT_EQ(&cpuinfo_cores[i], cpuinfo_processors[i].core); + } +} + +TEST(PROCESSORS, package) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_packages[0], cpuinfo_processors[i].package); } } @@ -43,10 +49,57 @@ TEST(PROCESSORS, linux_id) { } } +TEST(PROCESSORS, l1i) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_get_l1i_cache().instances[i], cpuinfo_processors[i].cache.l1i); + } +} + +TEST(PROCESSORS, l1d) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_get_l1d_cache().instances[i], cpuinfo_processors[i].cache.l1d); + } +} + +TEST(PROCESSORS, l2) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + switch (i) { + case 0: + case 1: + case 2: + case 3: + ASSERT_EQ(&cpuinfo_get_l2_cache().instances[0], cpuinfo_processors[i].cache.l2); + break; + case 4: + case 5: + case 6: + case 7: + ASSERT_EQ(&cpuinfo_get_l2_cache().instances[1], cpuinfo_processors[i].cache.l2); + break; + } + } +} + +TEST(PROCESSORS, l3) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_FALSE(cpuinfo_processors[i].cache.l3); + } +} + +TEST(PROCESSORS, l4) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_FALSE(cpuinfo_processors[i].cache.l4); + } +} + TEST(CORES, count) { ASSERT_EQ(8, cpuinfo_cores_count); } +TEST(CORES, non_null) { + ASSERT_TRUE(cpuinfo_cores); +} + TEST(CORES, processor_start) { for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { ASSERT_EQ(i, cpuinfo_cores[i].processor_start); @@ -59,6 +112,36 @@ TEST(CORES, processor_count) { } } +TEST(CORES, core_id) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(i, cpuinfo_cores[i].core_id); + } +} + +TEST(CORES, package) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(&cpuinfo_packages[0], cpuinfo_cores[i].package); + } +} + +TEST(CORES, vendor) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(cpuinfo_vendor_arm, cpuinfo_cores[i].vendor); + } +} + +TEST(CORES, uarch) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(cpuinfo_uarch_cortex_a53, cpuinfo_cores[i].uarch); + } +} + +TEST(CORES, midr) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(UINT32_C(0x410FD033), cpuinfo_cores[i].midr); + } +} + TEST(PACKAGES, count) { ASSERT_EQ(1, cpuinfo_packages_count); } diff --git a/test/galaxy-j7-uae.cc b/test/galaxy-j7-uae.cc index c6e6d74..d372676 100644 --- a/test/galaxy-j7-uae.cc +++ b/test/galaxy-j7-uae.cc @@ -12,15 +12,21 @@ TEST(PROCESSORS, non_null) { ASSERT_TRUE(cpuinfo_processors); } -TEST(PROCESSORS, vendor) { +TEST(PROCESSORS, smt_id) { for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { - ASSERT_EQ(cpuinfo_vendor_arm, cpuinfo_processors[i].vendor); + ASSERT_EQ(0, cpuinfo_processors[i].smt_id); } } -TEST(PROCESSORS, uarch) { +TEST(PROCESSORS, core) { for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { - ASSERT_EQ(cpuinfo_uarch_cortex_a53, cpuinfo_processors[i].uarch); + ASSERT_EQ(&cpuinfo_cores[i], cpuinfo_processors[i].core); + } +} + +TEST(PROCESSORS, package) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_packages[0], cpuinfo_processors[i].package); } } @@ -43,10 +49,57 @@ TEST(PROCESSORS, linux_id) { } } +TEST(PROCESSORS, l1i) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_get_l1i_cache().instances[i], cpuinfo_processors[i].cache.l1i); + } +} + +TEST(PROCESSORS, l1d) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_get_l1d_cache().instances[i], cpuinfo_processors[i].cache.l1d); + } +} + +TEST(PROCESSORS, l2) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + switch (i) { + case 0: + case 1: + case 2: + case 3: + ASSERT_EQ(&cpuinfo_get_l2_cache().instances[0], cpuinfo_processors[i].cache.l2); + break; + case 4: + case 5: + case 6: + case 7: + ASSERT_EQ(&cpuinfo_get_l2_cache().instances[1], cpuinfo_processors[i].cache.l2); + break; + } + } +} + +TEST(PROCESSORS, l3) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_FALSE(cpuinfo_processors[i].cache.l3); + } +} + +TEST(PROCESSORS, l4) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_FALSE(cpuinfo_processors[i].cache.l4); + } +} + TEST(CORES, count) { ASSERT_EQ(8, cpuinfo_cores_count); } +TEST(CORES, non_null) { + ASSERT_TRUE(cpuinfo_cores); +} + TEST(CORES, processor_start) { for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { ASSERT_EQ(i, cpuinfo_cores[i].processor_start); @@ -59,6 +112,36 @@ TEST(CORES, processor_count) { } } +TEST(CORES, core_id) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(i, cpuinfo_cores[i].core_id); + } +} + +TEST(CORES, package) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(&cpuinfo_packages[0], cpuinfo_cores[i].package); + } +} + +TEST(CORES, vendor) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(cpuinfo_vendor_arm, cpuinfo_cores[i].vendor); + } +} + +TEST(CORES, uarch) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(cpuinfo_uarch_cortex_a53, cpuinfo_cores[i].uarch); + } +} + +TEST(CORES, midr) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(UINT32_C(0x410FD033), cpuinfo_cores[i].midr); + } +} + TEST(PACKAGES, count) { ASSERT_EQ(1, cpuinfo_packages_count); } diff --git a/test/galaxy-s3-us.cc b/test/galaxy-s3-us.cc index 12ea0fb..17c80c3 100644 --- a/test/galaxy-s3-us.cc +++ b/test/galaxy-s3-us.cc @@ -12,15 +12,21 @@ TEST(PROCESSORS, non_null) { ASSERT_TRUE(cpuinfo_processors); } -TEST(PROCESSORS, vendor) { +TEST(PROCESSORS, smt_id) { for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { - ASSERT_EQ(cpuinfo_vendor_qualcomm, cpuinfo_processors[i].vendor); + ASSERT_EQ(0, cpuinfo_processors[i].smt_id); } } -TEST(PROCESSORS, uarch) { +TEST(PROCESSORS, core) { for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { - ASSERT_EQ(cpuinfo_uarch_krait, cpuinfo_processors[i].uarch); + ASSERT_EQ(&cpuinfo_cores[i], cpuinfo_processors[i].core); + } +} + +TEST(PROCESSORS, package) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_packages[0], cpuinfo_processors[i].package); } } @@ -30,10 +36,44 @@ TEST(PROCESSORS, linux_id) { } } +TEST(PROCESSORS, l1i) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_get_l1i_cache().instances[i], cpuinfo_processors[i].cache.l1i); + } +} + +TEST(PROCESSORS, l1d) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_get_l1d_cache().instances[i], cpuinfo_processors[i].cache.l1d); + } +} + +TEST(PROCESSORS, l2) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_get_l2_cache().instances[0], cpuinfo_processors[i].cache.l2); + } +} + +TEST(PROCESSORS, l3) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_FALSE(cpuinfo_processors[i].cache.l3); + } +} + +TEST(PROCESSORS, l4) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_FALSE(cpuinfo_processors[i].cache.l4); + } +} + TEST(CORES, count) { ASSERT_EQ(2, cpuinfo_cores_count); } +TEST(CORES, non_null) { + ASSERT_TRUE(cpuinfo_cores); +} + TEST(CORES, processor_start) { for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { ASSERT_EQ(i, cpuinfo_cores[i].processor_start); @@ -46,6 +86,36 @@ TEST(CORES, processor_count) { } } +TEST(CORES, core_id) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(i, cpuinfo_cores[i].core_id); + } +} + +TEST(CORES, package) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(&cpuinfo_packages[0], cpuinfo_cores[i].package); + } +} + +TEST(CORES, vendor) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(cpuinfo_vendor_qualcomm, cpuinfo_cores[i].vendor); + } +} + +TEST(CORES, uarch) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(cpuinfo_uarch_krait, cpuinfo_cores[i].uarch); + } +} + +TEST(CORES, midr) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(UINT32_C(0x511F04D4), cpuinfo_cores[i].midr); + } +} + TEST(PACKAGES, count) { ASSERT_EQ(1, cpuinfo_packages_count); } diff --git a/test/galaxy-s4-us.cc b/test/galaxy-s4-us.cc index 82e5c41..645af87 100644 --- a/test/galaxy-s4-us.cc +++ b/test/galaxy-s4-us.cc @@ -12,15 +12,21 @@ TEST(PROCESSORS, non_null) { ASSERT_TRUE(cpuinfo_processors); } -TEST(PROCESSORS, vendor) { +TEST(PROCESSORS, smt_id) { for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { - ASSERT_EQ(cpuinfo_vendor_qualcomm, cpuinfo_processors[i].vendor); + ASSERT_EQ(0, cpuinfo_processors[i].smt_id); } } -TEST(PROCESSORS, uarch) { +TEST(PROCESSORS, core) { for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { - ASSERT_EQ(cpuinfo_uarch_krait, cpuinfo_processors[i].uarch); + ASSERT_EQ(&cpuinfo_cores[i], cpuinfo_processors[i].core); + } +} + +TEST(PROCESSORS, package) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_packages[0], cpuinfo_processors[i].package); } } @@ -30,10 +36,44 @@ TEST(PROCESSORS, linux_id) { } } +TEST(PROCESSORS, l1i) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_get_l1i_cache().instances[i], cpuinfo_processors[i].cache.l1i); + } +} + +TEST(PROCESSORS, l1d) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_get_l1d_cache().instances[i], cpuinfo_processors[i].cache.l1d); + } +} + +TEST(PROCESSORS, l2) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_get_l2_cache().instances[0], cpuinfo_processors[i].cache.l2); + } +} + +TEST(PROCESSORS, l3) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_FALSE(cpuinfo_processors[i].cache.l3); + } +} + +TEST(PROCESSORS, l4) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_FALSE(cpuinfo_processors[i].cache.l4); + } +} + TEST(CORES, count) { ASSERT_EQ(4, cpuinfo_cores_count); } +TEST(CORES, non_null) { + ASSERT_TRUE(cpuinfo_cores); +} + TEST(CORES, processor_start) { for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { ASSERT_EQ(i, cpuinfo_cores[i].processor_start); @@ -46,6 +86,36 @@ TEST(CORES, processor_count) { } } +TEST(CORES, core_id) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(i, cpuinfo_cores[i].core_id); + } +} + +TEST(CORES, package) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(&cpuinfo_packages[0], cpuinfo_cores[i].package); + } +} + +TEST(CORES, vendor) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(cpuinfo_vendor_qualcomm, cpuinfo_cores[i].vendor); + } +} + +TEST(CORES, uarch) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(cpuinfo_uarch_krait, cpuinfo_cores[i].uarch); + } +} + +TEST(CORES, midr) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(UINT32_C(0x511F06F0), cpuinfo_cores[i].midr); + } +} + TEST(PACKAGES, count) { ASSERT_EQ(1, cpuinfo_packages_count); } diff --git a/test/galaxy-s5-global.cc b/test/galaxy-s5-global.cc index 54b402c..75e1140 100644 --- a/test/galaxy-s5-global.cc +++ b/test/galaxy-s5-global.cc @@ -12,54 +12,94 @@ TEST(PROCESSORS, non_null) { ASSERT_TRUE(cpuinfo_processors); } -TEST(PROCESSORS, vendor) { +TEST(PROCESSORS, smt_id) { for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { - ASSERT_EQ(cpuinfo_vendor_arm, cpuinfo_processors[i].vendor); + ASSERT_EQ(0, cpuinfo_processors[i].smt_id); } } -TEST(PROCESSORS, uarch) { +TEST(PROCESSORS, core) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_cores[i], cpuinfo_processors[i].core); + } +} + +TEST(PROCESSORS, package) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_packages[0], cpuinfo_processors[i].package); + } +} + +TEST(PROCESSORS, linux_id) { for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { switch (i) { case 0: case 1: case 2: case 3: - ASSERT_EQ(cpuinfo_uarch_cortex_a15, cpuinfo_processors[i].uarch); + ASSERT_EQ(i + 4, cpuinfo_processors[i].linux_id); break; case 4: case 5: case 6: case 7: - ASSERT_EQ(cpuinfo_uarch_cortex_a7, cpuinfo_processors[i].uarch); + ASSERT_EQ(i - 4, cpuinfo_processors[i].linux_id); break; } } } -TEST(PROCESSORS, linux_id) { +TEST(PROCESSORS, l1i) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_get_l1i_cache().instances[i], cpuinfo_processors[i].cache.l1i); + } +} + +TEST(PROCESSORS, l1d) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_get_l1d_cache().instances[i], cpuinfo_processors[i].cache.l1d); + } +} + +TEST(PROCESSORS, l2) { for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { switch (i) { case 0: case 1: case 2: case 3: - ASSERT_EQ(i + 4, cpuinfo_processors[i].linux_id); + ASSERT_EQ(&cpuinfo_get_l2_cache().instances[0], cpuinfo_processors[i].cache.l2); break; case 4: case 5: case 6: case 7: - ASSERT_EQ(i - 4, cpuinfo_processors[i].linux_id); + ASSERT_EQ(&cpuinfo_get_l2_cache().instances[1], cpuinfo_processors[i].cache.l2); break; } } } +TEST(PROCESSORS, l3) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_FALSE(cpuinfo_processors[i].cache.l3); + } +} + +TEST(PROCESSORS, l4) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_FALSE(cpuinfo_processors[i].cache.l4); + } +} + TEST(CORES, count) { ASSERT_EQ(8, cpuinfo_cores_count); } +TEST(CORES, non_null) { + ASSERT_TRUE(cpuinfo_cores); +} + TEST(CORES, processor_start) { for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { ASSERT_EQ(i, cpuinfo_cores[i].processor_start); @@ -72,6 +112,62 @@ TEST(CORES, processor_count) { } } +TEST(CORES, core_id) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(i, cpuinfo_cores[i].core_id); + } +} + +TEST(CORES, package) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(&cpuinfo_packages[0], cpuinfo_cores[i].package); + } +} + +TEST(CORES, vendor) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(cpuinfo_vendor_arm, cpuinfo_cores[i].vendor); + } +} + +TEST(CORES, uarch) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + switch (i) { + case 0: + case 1: + case 2: + case 3: + ASSERT_EQ(cpuinfo_uarch_cortex_a15, cpuinfo_cores[i].uarch); + break; + case 4: + case 5: + case 6: + case 7: + ASSERT_EQ(cpuinfo_uarch_cortex_a7, cpuinfo_cores[i].uarch); + break; + } + } +} + +TEST(CORES, midr) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + switch (i) { + case 0: + case 1: + case 2: + case 3: + ASSERT_EQ(UINT32_C(0x412FC0F3), cpuinfo_cores[i].midr); + break; + case 4: + case 5: + case 6: + case 7: + ASSERT_EQ(UINT32_C(0x410FC073), cpuinfo_cores[i].midr); + break; + } + } +} + TEST(PACKAGES, count) { ASSERT_EQ(1, cpuinfo_packages_count); } diff --git a/test/galaxy-s5-us.cc b/test/galaxy-s5-us.cc index 2b508c3..8f9dae3 100644 --- a/test/galaxy-s5-us.cc +++ b/test/galaxy-s5-us.cc @@ -12,15 +12,21 @@ TEST(PROCESSORS, non_null) { ASSERT_TRUE(cpuinfo_processors); } -TEST(PROCESSORS, vendor) { +TEST(PROCESSORS, smt_id) { for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { - ASSERT_EQ(cpuinfo_vendor_qualcomm, cpuinfo_processors[i].vendor); + ASSERT_EQ(0, cpuinfo_processors[i].smt_id); } } -TEST(PROCESSORS, uarch) { +TEST(PROCESSORS, core) { for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { - ASSERT_EQ(cpuinfo_uarch_krait, cpuinfo_processors[i].uarch); + ASSERT_EQ(&cpuinfo_cores[i], cpuinfo_processors[i].core); + } +} + +TEST(PROCESSORS, package) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_packages[0], cpuinfo_processors[i].package); } } @@ -30,10 +36,44 @@ TEST(PROCESSORS, linux_id) { } } +TEST(PROCESSORS, l1i) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_get_l1i_cache().instances[i], cpuinfo_processors[i].cache.l1i); + } +} + +TEST(PROCESSORS, l1d) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_get_l1d_cache().instances[i], cpuinfo_processors[i].cache.l1d); + } +} + +TEST(PROCESSORS, l2) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_get_l2_cache().instances[0], cpuinfo_processors[i].cache.l2); + } +} + +TEST(PROCESSORS, l3) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_FALSE(cpuinfo_processors[i].cache.l3); + } +} + +TEST(PROCESSORS, l4) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_FALSE(cpuinfo_processors[i].cache.l4); + } +} + TEST(CORES, count) { ASSERT_EQ(4, cpuinfo_cores_count); } +TEST(CORES, non_null) { + ASSERT_TRUE(cpuinfo_cores); +} + TEST(CORES, processor_start) { for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { ASSERT_EQ(i, cpuinfo_cores[i].processor_start); @@ -46,6 +86,36 @@ TEST(CORES, processor_count) { } } +TEST(CORES, core_id) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(i, cpuinfo_cores[i].core_id); + } +} + +TEST(CORES, package) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(&cpuinfo_packages[0], cpuinfo_cores[i].package); + } +} + +TEST(CORES, vendor) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(cpuinfo_vendor_qualcomm, cpuinfo_cores[i].vendor); + } +} + +TEST(CORES, uarch) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(cpuinfo_uarch_krait, cpuinfo_cores[i].uarch); + } +} + +TEST(CORES, midr) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(UINT32_C(0x512F06F1), cpuinfo_cores[i].midr); + } +} + TEST(PACKAGES, count) { ASSERT_EQ(1, cpuinfo_packages_count); } diff --git a/test/galaxy-s6.cc b/test/galaxy-s6.cc index 926b21c..20346b4 100644 --- a/test/galaxy-s6.cc +++ b/test/galaxy-s6.cc @@ -12,54 +12,94 @@ TEST(PROCESSORS, non_null) { ASSERT_TRUE(cpuinfo_processors); } -TEST(PROCESSORS, vendor) { +TEST(PROCESSORS, smt_id) { for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { - ASSERT_EQ(cpuinfo_vendor_arm, cpuinfo_processors[i].vendor); + ASSERT_EQ(0, cpuinfo_processors[i].smt_id); } } -TEST(PROCESSORS, uarch) { +TEST(PROCESSORS, core) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_cores[i], cpuinfo_processors[i].core); + } +} + +TEST(PROCESSORS, package) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_packages[0], cpuinfo_processors[i].package); + } +} + +TEST(PROCESSORS, linux_id) { for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { switch (i) { case 0: case 1: case 2: case 3: - ASSERT_EQ(cpuinfo_uarch_cortex_a57, cpuinfo_processors[i].uarch); + ASSERT_EQ(i + 4, cpuinfo_processors[i].linux_id); break; case 4: case 5: case 6: case 7: - ASSERT_EQ(cpuinfo_uarch_cortex_a53, cpuinfo_processors[i].uarch); + ASSERT_EQ(i - 4, cpuinfo_processors[i].linux_id); break; } } } -TEST(PROCESSORS, linux_id) { +TEST(PROCESSORS, l1i) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_get_l1i_cache().instances[i], cpuinfo_processors[i].cache.l1i); + } +} + +TEST(PROCESSORS, l1d) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_get_l1d_cache().instances[i], cpuinfo_processors[i].cache.l1d); + } +} + +TEST(PROCESSORS, l2) { for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { switch (i) { case 0: case 1: case 2: case 3: - ASSERT_EQ(i + 4, cpuinfo_processors[i].linux_id); + ASSERT_EQ(&cpuinfo_get_l2_cache().instances[0], cpuinfo_processors[i].cache.l2); break; case 4: case 5: case 6: case 7: - ASSERT_EQ(i - 4, cpuinfo_processors[i].linux_id); + ASSERT_EQ(&cpuinfo_get_l2_cache().instances[1], cpuinfo_processors[i].cache.l2); break; } } } +TEST(PROCESSORS, l3) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_FALSE(cpuinfo_processors[i].cache.l3); + } +} + +TEST(PROCESSORS, l4) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_FALSE(cpuinfo_processors[i].cache.l4); + } +} + TEST(CORES, count) { ASSERT_EQ(8, cpuinfo_cores_count); } +TEST(CORES, non_null) { + ASSERT_TRUE(cpuinfo_cores); +} + TEST(CORES, processor_start) { for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { ASSERT_EQ(i, cpuinfo_cores[i].processor_start); @@ -72,6 +112,62 @@ TEST(CORES, processor_count) { } } +TEST(CORES, core_id) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(i, cpuinfo_cores[i].core_id); + } +} + +TEST(CORES, package) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(&cpuinfo_packages[0], cpuinfo_cores[i].package); + } +} + +TEST(CORES, vendor) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(cpuinfo_vendor_arm, cpuinfo_cores[i].vendor); + } +} + +TEST(CORES, uarch) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + switch (i) { + case 0: + case 1: + case 2: + case 3: + ASSERT_EQ(cpuinfo_uarch_cortex_a57, cpuinfo_cores[i].uarch); + break; + case 4: + case 5: + case 6: + case 7: + ASSERT_EQ(cpuinfo_uarch_cortex_a53, cpuinfo_cores[i].uarch); + break; + } + } +} + +TEST(CORES, midr) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + switch (i) { + case 0: + case 1: + case 2: + case 3: + ASSERT_EQ(UINT32_C(0x411FD070), cpuinfo_cores[i].midr); + break; + case 4: + case 5: + case 6: + case 7: + ASSERT_EQ(UINT32_C(0x410FD032), cpuinfo_cores[i].midr); + break; + } + } +} + TEST(PACKAGES, count) { ASSERT_EQ(1, cpuinfo_packages_count); } diff --git a/test/galaxy-s7-global.cc b/test/galaxy-s7-global.cc index 70139a6..d52a83f 100644 --- a/test/galaxy-s7-global.cc +++ b/test/galaxy-s7-global.cc @@ -12,76 +12,172 @@ TEST(PROCESSORS, non_null) { ASSERT_TRUE(cpuinfo_processors); } -TEST(PROCESSORS, vendor) { +TEST(PROCESSORS, smt_id) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(0, cpuinfo_processors[i].smt_id); + } +} + +TEST(PROCESSORS, core) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_cores[i], cpuinfo_processors[i].core); + } +} + +TEST(PROCESSORS, package) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_packages[0], cpuinfo_processors[i].package); + } +} + +TEST(PROCESSORS, linux_id) { for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { switch (i) { case 0: case 1: case 2: case 3: - ASSERT_EQ(cpuinfo_vendor_samsung, cpuinfo_processors[i].vendor); + ASSERT_EQ(i + 4, cpuinfo_processors[i].linux_id); break; case 4: case 5: case 6: case 7: - ASSERT_EQ(cpuinfo_vendor_arm, cpuinfo_processors[i].vendor); + ASSERT_EQ(i - 4, cpuinfo_processors[i].linux_id); break; } } } -TEST(PROCESSORS, uarch) { +TEST(PROCESSORS, l1i) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_get_l1i_cache().instances[i], cpuinfo_processors[i].cache.l1i); + } +} + +TEST(PROCESSORS, l1d) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_get_l1d_cache().instances[i], cpuinfo_processors[i].cache.l1d); + } +} + +TEST(PROCESSORS, l2) { for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { switch (i) { case 0: case 1: case 2: case 3: - ASSERT_EQ(cpuinfo_uarch_mongoose, cpuinfo_processors[i].uarch); + ASSERT_EQ(&cpuinfo_get_l2_cache().instances[0], cpuinfo_processors[i].cache.l2); break; case 4: case 5: case 6: case 7: - ASSERT_EQ(cpuinfo_uarch_cortex_a53, cpuinfo_processors[i].uarch); + ASSERT_EQ(&cpuinfo_get_l2_cache().instances[1], cpuinfo_processors[i].cache.l2); break; } } } -TEST(PROCESSORS, linux_id) { +TEST(PROCESSORS, l3) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_FALSE(cpuinfo_processors[i].cache.l3); + } +} + +TEST(PROCESSORS, l4) { for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_FALSE(cpuinfo_processors[i].cache.l4); + } +} + +TEST(CORES, count) { + ASSERT_EQ(8, cpuinfo_cores_count); +} + +TEST(CORES, non_null) { + ASSERT_TRUE(cpuinfo_cores); +} + +TEST(CORES, processor_start) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(i, cpuinfo_cores[i].processor_start); + } +} + +TEST(CORES, processor_count) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(1, cpuinfo_cores[i].processor_count); + } +} + +TEST(CORES, core_id) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(i, cpuinfo_cores[i].core_id); + } +} + +TEST(CORES, package) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(&cpuinfo_packages[0], cpuinfo_cores[i].package); + } +} + +TEST(CORES, vendor) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { switch (i) { case 0: case 1: case 2: case 3: - ASSERT_EQ(i + 4, cpuinfo_processors[i].linux_id); + ASSERT_EQ(cpuinfo_vendor_samsung, cpuinfo_cores[i].vendor); break; case 4: case 5: case 6: case 7: - ASSERT_EQ(i - 4, cpuinfo_processors[i].linux_id); + ASSERT_EQ(cpuinfo_vendor_arm, cpuinfo_cores[i].vendor); break; } } } -TEST(CORES, count) { - ASSERT_EQ(8, cpuinfo_cores_count); -} - -TEST(CORES, processor_start) { +TEST(CORES, uarch) { for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { - ASSERT_EQ(i, cpuinfo_cores[i].processor_start); + switch (i) { + case 0: + case 1: + case 2: + case 3: + ASSERT_EQ(cpuinfo_uarch_mongoose, cpuinfo_cores[i].uarch); + break; + case 4: + case 5: + case 6: + case 7: + ASSERT_EQ(cpuinfo_uarch_cortex_a53, cpuinfo_cores[i].uarch); + break; + } } } -TEST(CORES, processor_count) { +TEST(CORES, midr) { for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { - ASSERT_EQ(1, cpuinfo_cores[i].processor_count); + switch (i) { + case 0: + case 1: + case 2: + case 3: + ASSERT_EQ(UINT32_C(0x531F0011), cpuinfo_cores[i].midr); + break; + case 4: + case 5: + case 6: + case 7: + ASSERT_EQ(UINT32_C(0x410FD034), cpuinfo_cores[i].midr); + break; + } } } diff --git a/test/galaxy-s7-us.cc b/test/galaxy-s7-us.cc index 17ecaa5..e61e34d 100644 --- a/test/galaxy-s7-us.cc +++ b/test/galaxy-s7-us.cc @@ -12,15 +12,21 @@ TEST(PROCESSORS, non_null) { ASSERT_TRUE(cpuinfo_processors); } -TEST(PROCESSORS, vendor) { +TEST(PROCESSORS, smt_id) { for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { - ASSERT_EQ(cpuinfo_vendor_qualcomm, cpuinfo_processors[i].vendor); + ASSERT_EQ(0, cpuinfo_processors[i].smt_id); } } -TEST(PROCESSORS, uarch) { +TEST(PROCESSORS, core) { for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { - ASSERT_EQ(cpuinfo_uarch_kryo, cpuinfo_processors[i].uarch); + ASSERT_EQ(&cpuinfo_cores[i], cpuinfo_processors[i].core); + } +} + +TEST(PROCESSORS, package) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_packages[0], cpuinfo_processors[i].package); } } @@ -39,10 +45,53 @@ TEST(PROCESSORS, linux_id) { } } +TEST(PROCESSORS, l1i) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_get_l1i_cache().instances[i], cpuinfo_processors[i].cache.l1i); + } +} + +TEST(PROCESSORS, l1d) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_get_l1d_cache().instances[i], cpuinfo_processors[i].cache.l1d); + } +} + +TEST(PROCESSORS, l2) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + switch (i) { + case 0: + case 1: + ASSERT_EQ(&cpuinfo_get_l2_cache().instances[0], cpuinfo_processors[i].cache.l2); + break; + case 2: + case 3: + ASSERT_EQ(&cpuinfo_get_l2_cache().instances[1], cpuinfo_processors[i].cache.l2); + break; + } + } +} + +TEST(PROCESSORS, l3) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_FALSE(cpuinfo_processors[i].cache.l3); + } +} + +TEST(PROCESSORS, l4) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_FALSE(cpuinfo_processors[i].cache.l4); + } +} + TEST(CORES, count) { ASSERT_EQ(4, cpuinfo_cores_count); } +TEST(CORES, non_null) { + ASSERT_TRUE(cpuinfo_cores); +} + TEST(CORES, processor_start) { for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { ASSERT_EQ(i, cpuinfo_cores[i].processor_start); @@ -55,6 +104,45 @@ TEST(CORES, processor_count) { } } +TEST(CORES, core_id) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(i, cpuinfo_cores[i].core_id); + } +} + +TEST(CORES, package) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(&cpuinfo_packages[0], cpuinfo_cores[i].package); + } +} + +TEST(CORES, vendor) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(cpuinfo_vendor_qualcomm, cpuinfo_cores[i].vendor); + } +} + +TEST(CORES, uarch) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(cpuinfo_uarch_kryo, cpuinfo_cores[i].uarch); + } +} + +TEST(CORES, midr) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + switch (i) { + case 0: + case 1: + ASSERT_EQ(UINT32_C(0x511F2052), cpuinfo_cores[i].midr); + break; + case 2: + case 3: + ASSERT_EQ(UINT32_C(0x511F2112), cpuinfo_cores[i].midr); + break; + } + } +} + TEST(PACKAGES, count) { ASSERT_EQ(1, cpuinfo_packages_count); } diff --git a/test/galaxy-s8-global.cc b/test/galaxy-s8-global.cc index 4508c44..c9795d0 100644 --- a/test/galaxy-s8-global.cc +++ b/test/galaxy-s8-global.cc @@ -12,76 +12,172 @@ TEST(PROCESSORS, non_null) { ASSERT_TRUE(cpuinfo_processors); } -TEST(PROCESSORS, vendor) { +TEST(PROCESSORS, smt_id) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(0, cpuinfo_processors[i].smt_id); + } +} + +TEST(PROCESSORS, core) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_cores[i], cpuinfo_processors[i].core); + } +} + +TEST(PROCESSORS, package) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_packages[0], cpuinfo_processors[i].package); + } +} + +TEST(PROCESSORS, linux_id) { for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { switch (i) { case 0: case 1: case 2: case 3: - ASSERT_EQ(cpuinfo_vendor_samsung, cpuinfo_processors[i].vendor); + ASSERT_EQ(i + 4, cpuinfo_processors[i].linux_id); break; case 4: case 5: case 6: case 7: - ASSERT_EQ(cpuinfo_vendor_arm, cpuinfo_processors[i].vendor); + ASSERT_EQ(i - 4, cpuinfo_processors[i].linux_id); break; } } } -TEST(PROCESSORS, uarch) { +TEST(PROCESSORS, l1i) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_get_l1i_cache().instances[i], cpuinfo_processors[i].cache.l1i); + } +} + +TEST(PROCESSORS, l1d) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_get_l1d_cache().instances[i], cpuinfo_processors[i].cache.l1d); + } +} + +TEST(PROCESSORS, l2) { for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { switch (i) { case 0: case 1: case 2: case 3: - ASSERT_EQ(cpuinfo_uarch_mongoose, cpuinfo_processors[i].uarch); + ASSERT_EQ(&cpuinfo_get_l2_cache().instances[0], cpuinfo_processors[i].cache.l2); break; case 4: case 5: case 6: case 7: - ASSERT_EQ(cpuinfo_uarch_cortex_a53, cpuinfo_processors[i].uarch); + ASSERT_EQ(&cpuinfo_get_l2_cache().instances[1], cpuinfo_processors[i].cache.l2); break; } } } -TEST(PROCESSORS, linux_id) { +TEST(PROCESSORS, l3) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_FALSE(cpuinfo_processors[i].cache.l3); + } +} + +TEST(PROCESSORS, l4) { for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_FALSE(cpuinfo_processors[i].cache.l4); + } +} + +TEST(CORES, count) { + ASSERT_EQ(8, cpuinfo_cores_count); +} + +TEST(CORES, non_null) { + ASSERT_TRUE(cpuinfo_cores); +} + +TEST(CORES, processor_start) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(i, cpuinfo_cores[i].processor_start); + } +} + +TEST(CORES, processor_count) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(1, cpuinfo_cores[i].processor_count); + } +} + +TEST(CORES, core_id) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(i, cpuinfo_cores[i].core_id); + } +} + +TEST(CORES, package) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(&cpuinfo_packages[0], cpuinfo_cores[i].package); + } +} + +TEST(CORES, vendor) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { switch (i) { case 0: case 1: case 2: case 3: - ASSERT_EQ(i + 4, cpuinfo_processors[i].linux_id); + ASSERT_EQ(cpuinfo_vendor_samsung, cpuinfo_cores[i].vendor); break; case 4: case 5: case 6: case 7: - ASSERT_EQ(i - 4, cpuinfo_processors[i].linux_id); + ASSERT_EQ(cpuinfo_vendor_arm, cpuinfo_cores[i].vendor); break; } } } -TEST(CORES, count) { - ASSERT_EQ(8, cpuinfo_cores_count); -} - -TEST(CORES, processor_start) { +TEST(CORES, uarch) { for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { - ASSERT_EQ(i, cpuinfo_cores[i].processor_start); + switch (i) { + case 0: + case 1: + case 2: + case 3: + ASSERT_EQ(cpuinfo_uarch_mongoose, cpuinfo_cores[i].uarch); + break; + case 4: + case 5: + case 6: + case 7: + ASSERT_EQ(cpuinfo_uarch_cortex_a53, cpuinfo_cores[i].uarch); + break; + } } } -TEST(CORES, processor_count) { +TEST(CORES, midr) { for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { - ASSERT_EQ(1, cpuinfo_cores[i].processor_count); + switch (i) { + case 0: + case 1: + case 2: + case 3: + ASSERT_EQ(UINT32_C(0x534F0010), cpuinfo_cores[i].midr); + break; + case 4: + case 5: + case 6: + case 7: + ASSERT_EQ(UINT32_C(0x410FD034), cpuinfo_cores[i].midr); + break; + } } } diff --git a/test/galaxy-s8-us.cc b/test/galaxy-s8-us.cc index 8aec48b..4e83981 100644 --- a/test/galaxy-s8-us.cc +++ b/test/galaxy-s8-us.cc @@ -12,54 +12,94 @@ TEST(PROCESSORS, non_null) { ASSERT_TRUE(cpuinfo_processors); } -TEST(PROCESSORS, vendor) { +TEST(PROCESSORS, smt_id) { for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { - ASSERT_EQ(cpuinfo_vendor_arm, cpuinfo_processors[i].vendor); + ASSERT_EQ(0, cpuinfo_processors[i].smt_id); } } -TEST(PROCESSORS, uarch) { +TEST(PROCESSORS, core) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_cores[i], cpuinfo_processors[i].core); + } +} + +TEST(PROCESSORS, package) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_packages[0], cpuinfo_processors[i].package); + } +} + +TEST(PROCESSORS, linux_id) { for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { switch (i) { case 0: case 1: case 2: case 3: - ASSERT_EQ(cpuinfo_uarch_cortex_a73, cpuinfo_processors[i].uarch); + ASSERT_EQ(i + 4, cpuinfo_processors[i].linux_id); break; case 4: case 5: case 6: case 7: - ASSERT_EQ(cpuinfo_uarch_cortex_a53, cpuinfo_processors[i].uarch); + ASSERT_EQ(i - 4, cpuinfo_processors[i].linux_id); break; } } } -TEST(PROCESSORS, linux_id) { +TEST(PROCESSORS, l1i) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_get_l1i_cache().instances[i], cpuinfo_processors[i].cache.l1i); + } +} + +TEST(PROCESSORS, l1d) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_get_l1d_cache().instances[i], cpuinfo_processors[i].cache.l1d); + } +} + +TEST(PROCESSORS, l2) { for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { switch (i) { case 0: case 1: case 2: case 3: - ASSERT_EQ(i + 4, cpuinfo_processors[i].linux_id); + ASSERT_EQ(&cpuinfo_get_l2_cache().instances[0], cpuinfo_processors[i].cache.l2); break; case 4: case 5: case 6: case 7: - ASSERT_EQ(i - 4, cpuinfo_processors[i].linux_id); + ASSERT_EQ(&cpuinfo_get_l2_cache().instances[1], cpuinfo_processors[i].cache.l2); break; } } } +TEST(PROCESSORS, l3) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_FALSE(cpuinfo_processors[i].cache.l3); + } +} + +TEST(PROCESSORS, l4) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_FALSE(cpuinfo_processors[i].cache.l4); + } +} + TEST(CORES, count) { ASSERT_EQ(8, cpuinfo_cores_count); } +TEST(CORES, non_null) { + ASSERT_TRUE(cpuinfo_cores); +} + TEST(CORES, processor_start) { for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { ASSERT_EQ(i, cpuinfo_cores[i].processor_start); @@ -72,6 +112,62 @@ TEST(CORES, processor_count) { } } +TEST(CORES, core_id) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(i, cpuinfo_cores[i].core_id); + } +} + +TEST(CORES, package) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(&cpuinfo_packages[0], cpuinfo_cores[i].package); + } +} + +TEST(CORES, vendor) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(cpuinfo_vendor_arm, cpuinfo_cores[i].vendor); + } +} + +TEST(CORES, uarch) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + switch (i) { + case 0: + case 1: + case 2: + case 3: + ASSERT_EQ(cpuinfo_uarch_cortex_a73, cpuinfo_cores[i].uarch); + break; + case 4: + case 5: + case 6: + case 7: + ASSERT_EQ(cpuinfo_uarch_cortex_a53, cpuinfo_cores[i].uarch); + break; + } + } +} + +TEST(CORES, midr) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + switch (i) { + case 0: + case 1: + case 2: + case 3: + ASSERT_EQ(UINT32_C(0x51AF8001), cpuinfo_cores[i].midr); + break; + case 4: + case 5: + case 6: + case 7: + ASSERT_EQ(UINT32_C(0x51AF8014), cpuinfo_cores[i].midr); + break; + } + } +} + TEST(PACKAGES, count) { ASSERT_EQ(1, cpuinfo_packages_count); } diff --git a/test/galaxy-tab-3-7.0.cc b/test/galaxy-tab-3-7.0.cc index dcc5a79..d2ce1b0 100644 --- a/test/galaxy-tab-3-7.0.cc +++ b/test/galaxy-tab-3-7.0.cc @@ -12,15 +12,21 @@ TEST(PROCESSORS, non_null) { ASSERT_TRUE(cpuinfo_processors); } -TEST(PROCESSORS, vendor) { +TEST(PROCESSORS, smt_id) { for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { - ASSERT_EQ(cpuinfo_vendor_arm, cpuinfo_processors[i].vendor); + ASSERT_EQ(0, cpuinfo_processors[i].smt_id); } } -TEST(PROCESSORS, uarch) { +TEST(PROCESSORS, core) { for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { - ASSERT_EQ(cpuinfo_uarch_cortex_a9, cpuinfo_processors[i].uarch); + ASSERT_EQ(&cpuinfo_cores[i], cpuinfo_processors[i].core); + } +} + +TEST(PROCESSORS, package) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_packages[0], cpuinfo_processors[i].package); } } @@ -30,10 +36,44 @@ TEST(PROCESSORS, linux_id) { } } +TEST(PROCESSORS, l1i) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_get_l1i_cache().instances[i], cpuinfo_processors[i].cache.l1i); + } +} + +TEST(PROCESSORS, l1d) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_get_l1d_cache().instances[i], cpuinfo_processors[i].cache.l1d); + } +} + +TEST(PROCESSORS, l2) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_get_l2_cache().instances[0], cpuinfo_processors[i].cache.l2); + } +} + +TEST(PROCESSORS, l3) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_FALSE(cpuinfo_processors[i].cache.l3); + } +} + +TEST(PROCESSORS, l4) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_FALSE(cpuinfo_processors[i].cache.l4); + } +} + TEST(CORES, count) { ASSERT_EQ(2, cpuinfo_cores_count); } +TEST(CORES, non_null) { + ASSERT_TRUE(cpuinfo_cores); +} + TEST(CORES, processor_start) { for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { ASSERT_EQ(i, cpuinfo_cores[i].processor_start); @@ -46,6 +86,36 @@ TEST(CORES, processor_count) { } } +TEST(CORES, core_id) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(i, cpuinfo_cores[i].core_id); + } +} + +TEST(CORES, package) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(&cpuinfo_packages[0], cpuinfo_cores[i].package); + } +} + +TEST(CORES, vendor) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(cpuinfo_vendor_arm, cpuinfo_cores[i].vendor); + } +} + +TEST(CORES, uarch) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(cpuinfo_uarch_cortex_a9, cpuinfo_cores[i].uarch); + } +} + +TEST(CORES, midr) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(UINT32_C(0x413FC090), cpuinfo_cores[i].midr); + } +} + TEST(PACKAGES, count) { ASSERT_EQ(1, cpuinfo_packages_count); } diff --git a/test/galaxy-win-duos.cc b/test/galaxy-win-duos.cc index 90ad913..4d59798 100644 --- a/test/galaxy-win-duos.cc +++ b/test/galaxy-win-duos.cc @@ -12,15 +12,21 @@ TEST(PROCESSORS, non_null) { ASSERT_TRUE(cpuinfo_processors); } -TEST(PROCESSORS, vendor) { +TEST(PROCESSORS, smt_id) { for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { - ASSERT_EQ(cpuinfo_vendor_arm, cpuinfo_processors[i].vendor); + ASSERT_EQ(0, cpuinfo_processors[i].smt_id); } } -TEST(PROCESSORS, uarch) { +TEST(PROCESSORS, core) { for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { - ASSERT_EQ(cpuinfo_uarch_cortex_a5, cpuinfo_processors[i].uarch); + ASSERT_EQ(&cpuinfo_cores[i], cpuinfo_processors[i].core); + } +} + +TEST(PROCESSORS, package) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_packages[0], cpuinfo_processors[i].package); } } @@ -30,10 +36,44 @@ TEST(PROCESSORS, linux_id) { } } +TEST(PROCESSORS, l1i) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_get_l1i_cache().instances[i], cpuinfo_processors[i].cache.l1i); + } +} + +TEST(PROCESSORS, l1d) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_get_l1d_cache().instances[i], cpuinfo_processors[i].cache.l1d); + } +} + +TEST(PROCESSORS, l2) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_get_l2_cache().instances[0], cpuinfo_processors[i].cache.l2); + } +} + +TEST(PROCESSORS, l3) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_FALSE(cpuinfo_processors[i].cache.l3); + } +} + +TEST(PROCESSORS, l4) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_FALSE(cpuinfo_processors[i].cache.l4); + } +} + TEST(CORES, count) { ASSERT_EQ(4, cpuinfo_cores_count); } +TEST(CORES, non_null) { + ASSERT_TRUE(cpuinfo_cores); +} + TEST(CORES, processor_start) { for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { ASSERT_EQ(i, cpuinfo_cores[i].processor_start); @@ -46,6 +86,36 @@ TEST(CORES, processor_count) { } } +TEST(CORES, core_id) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(i, cpuinfo_cores[i].core_id); + } +} + +TEST(CORES, package) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(&cpuinfo_packages[0], cpuinfo_cores[i].package); + } +} + +TEST(CORES, vendor) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(cpuinfo_vendor_arm, cpuinfo_cores[i].vendor); + } +} + +TEST(CORES, uarch) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(cpuinfo_uarch_cortex_a5, cpuinfo_cores[i].uarch); + } +} + +TEST(CORES, midr) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(UINT32_C(0x410FC051), cpuinfo_cores[i].midr); + } +} + TEST(PACKAGES, count) { ASSERT_EQ(1, cpuinfo_packages_count); } diff --git a/test/huawei-mate-8.cc b/test/huawei-mate-8.cc index 2c29b2f..9b9d9bb 100644 --- a/test/huawei-mate-8.cc +++ b/test/huawei-mate-8.cc @@ -12,54 +12,94 @@ TEST(PROCESSORS, non_null) { ASSERT_TRUE(cpuinfo_processors); } -TEST(PROCESSORS, vendor) { +TEST(PROCESSORS, smt_id) { for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { - ASSERT_EQ(cpuinfo_vendor_arm, cpuinfo_processors[i].vendor); + ASSERT_EQ(0, cpuinfo_processors[i].smt_id); } } -TEST(PROCESSORS, uarch) { +TEST(PROCESSORS, core) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_cores[i], cpuinfo_processors[i].core); + } +} + +TEST(PROCESSORS, package) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_packages[0], cpuinfo_processors[i].package); + } +} + +TEST(PROCESSORS, linux_id) { for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { switch (i) { case 0: case 1: case 2: case 3: - ASSERT_EQ(cpuinfo_uarch_cortex_a72, cpuinfo_processors[i].uarch); + ASSERT_EQ(i + 4, cpuinfo_processors[i].linux_id); break; case 4: case 5: case 6: case 7: - ASSERT_EQ(cpuinfo_uarch_cortex_a53, cpuinfo_processors[i].uarch); + ASSERT_EQ(i - 4, cpuinfo_processors[i].linux_id); break; } } } -TEST(PROCESSORS, linux_id) { +TEST(PROCESSORS, l1i) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_get_l1i_cache().instances[i], cpuinfo_processors[i].cache.l1i); + } +} + +TEST(PROCESSORS, l1d) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_get_l1d_cache().instances[i], cpuinfo_processors[i].cache.l1d); + } +} + +TEST(PROCESSORS, l2) { for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { switch (i) { case 0: case 1: case 2: case 3: - ASSERT_EQ(i + 4, cpuinfo_processors[i].linux_id); + ASSERT_EQ(&cpuinfo_get_l2_cache().instances[0], cpuinfo_processors[i].cache.l2); break; case 4: case 5: case 6: case 7: - ASSERT_EQ(i - 4, cpuinfo_processors[i].linux_id); + ASSERT_EQ(&cpuinfo_get_l2_cache().instances[1], cpuinfo_processors[i].cache.l2); break; } } } +TEST(PROCESSORS, l3) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_FALSE(cpuinfo_processors[i].cache.l3); + } +} + +TEST(PROCESSORS, l4) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_FALSE(cpuinfo_processors[i].cache.l4); + } +} + TEST(CORES, count) { ASSERT_EQ(8, cpuinfo_cores_count); } +TEST(CORES, non_null) { + ASSERT_TRUE(cpuinfo_cores); +} + TEST(CORES, processor_start) { for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { ASSERT_EQ(i, cpuinfo_cores[i].processor_start); @@ -72,6 +112,62 @@ TEST(CORES, processor_count) { } } +TEST(CORES, core_id) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(i, cpuinfo_cores[i].core_id); + } +} + +TEST(CORES, package) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(&cpuinfo_packages[0], cpuinfo_cores[i].package); + } +} + +TEST(CORES, vendor) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(cpuinfo_vendor_arm, cpuinfo_cores[i].vendor); + } +} + +TEST(CORES, uarch) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + switch (i) { + case 0: + case 1: + case 2: + case 3: + ASSERT_EQ(cpuinfo_uarch_cortex_a72, cpuinfo_cores[i].uarch); + break; + case 4: + case 5: + case 6: + case 7: + ASSERT_EQ(cpuinfo_uarch_cortex_a53, cpuinfo_cores[i].uarch); + break; + } + } +} + +TEST(CORES, midr) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + switch (i) { + case 0: + case 1: + case 2: + case 3: + ASSERT_EQ(UINT32_C(0x410FD080), cpuinfo_cores[i].midr); + break; + case 4: + case 5: + case 6: + case 7: + ASSERT_EQ(UINT32_C(0x410FD034), cpuinfo_cores[i].midr); + break; + } + } +} + TEST(PACKAGES, count) { ASSERT_EQ(1, cpuinfo_packages_count); } diff --git a/test/huawei-p9-lite.cc b/test/huawei-p9-lite.cc index 4612174..ee8d77a 100644 --- a/test/huawei-p9-lite.cc +++ b/test/huawei-p9-lite.cc @@ -12,15 +12,21 @@ TEST(PROCESSORS, non_null) { ASSERT_TRUE(cpuinfo_processors); } -TEST(PROCESSORS, vendor) { +TEST(PROCESSORS, smt_id) { for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { - ASSERT_EQ(cpuinfo_vendor_arm, cpuinfo_processors[i].vendor); + ASSERT_EQ(0, cpuinfo_processors[i].smt_id); } } -TEST(PROCESSORS, uarch) { +TEST(PROCESSORS, core) { for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { - ASSERT_EQ(cpuinfo_uarch_cortex_a53, cpuinfo_processors[i].uarch); + ASSERT_EQ(&cpuinfo_cores[i], cpuinfo_processors[i].core); + } +} + +TEST(PROCESSORS, package) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_packages[0], cpuinfo_processors[i].package); } } @@ -43,10 +49,57 @@ TEST(PROCESSORS, linux_id) { } } +TEST(PROCESSORS, l1i) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_get_l1i_cache().instances[i], cpuinfo_processors[i].cache.l1i); + } +} + +TEST(PROCESSORS, l1d) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_get_l1d_cache().instances[i], cpuinfo_processors[i].cache.l1d); + } +} + +TEST(PROCESSORS, l2) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + switch (i) { + case 0: + case 1: + case 2: + case 3: + ASSERT_EQ(&cpuinfo_get_l2_cache().instances[0], cpuinfo_processors[i].cache.l2); + break; + case 4: + case 5: + case 6: + case 7: + ASSERT_EQ(&cpuinfo_get_l2_cache().instances[1], cpuinfo_processors[i].cache.l2); + break; + } + } +} + +TEST(PROCESSORS, l3) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_FALSE(cpuinfo_processors[i].cache.l3); + } +} + +TEST(PROCESSORS, l4) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_FALSE(cpuinfo_processors[i].cache.l4); + } +} + TEST(CORES, count) { ASSERT_EQ(8, cpuinfo_cores_count); } +TEST(CORES, non_null) { + ASSERT_TRUE(cpuinfo_cores); +} + TEST(CORES, processor_start) { for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { ASSERT_EQ(i, cpuinfo_cores[i].processor_start); @@ -59,6 +112,36 @@ TEST(CORES, processor_count) { } } +TEST(CORES, core_id) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(i, cpuinfo_cores[i].core_id); + } +} + +TEST(CORES, package) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(&cpuinfo_packages[0], cpuinfo_cores[i].package); + } +} + +TEST(CORES, vendor) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(cpuinfo_vendor_arm, cpuinfo_cores[i].vendor); + } +} + +TEST(CORES, uarch) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(cpuinfo_uarch_cortex_a53, cpuinfo_cores[i].uarch); + } +} + +TEST(CORES, midr) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(UINT32_C(0x410FD034), cpuinfo_cores[i].midr); + } +} + TEST(PACKAGES, count) { ASSERT_EQ(1, cpuinfo_packages_count); } diff --git a/test/init.cc b/test/init.cc index c848572..67ed926 100644 --- a/test/init.cc +++ b/test/init.cc @@ -11,15 +11,23 @@ TEST(PROCESSORS, non_null) { ASSERT_TRUE(cpuinfo_processors); } -TEST(PROCESSORS, known_vendor) { - for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { - ASSERT_NE(cpuinfo_vendor_unknown, cpuinfo_processors[i].vendor); +TEST(CORES_COUNT, non_zero) { + ASSERT_NE(0, cpuinfo_cores_count); +} + +TEST(CORES, non_null) { + ASSERT_TRUE(cpuinfo_cores); +} + +TEST(CORES, known_vendor) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_NE(cpuinfo_vendor_unknown, cpuinfo_cores[i].vendor); } } -TEST(PROCESSORS, known_uarch) { - for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { - ASSERT_NE(cpuinfo_uarch_unknown, cpuinfo_processors[i].uarch); +TEST(CORES, known_uarch) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_NE(cpuinfo_uarch_unknown, cpuinfo_cores[i].uarch); } } diff --git a/test/lenovo-a6600-plus.cc b/test/lenovo-a6600-plus.cc index c1a61b9..b9100d8 100644 --- a/test/lenovo-a6600-plus.cc +++ b/test/lenovo-a6600-plus.cc @@ -12,15 +12,21 @@ TEST(PROCESSORS, non_null) { ASSERT_TRUE(cpuinfo_processors); } -TEST(PROCESSORS, vendor) { +TEST(PROCESSORS, smt_id) { for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { - ASSERT_EQ(cpuinfo_vendor_arm, cpuinfo_processors[i].vendor); + ASSERT_EQ(0, cpuinfo_processors[i].smt_id); } } -TEST(PROCESSORS, uarch) { +TEST(PROCESSORS, core) { for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { - ASSERT_EQ(cpuinfo_uarch_cortex_a53, cpuinfo_processors[i].uarch); + ASSERT_EQ(&cpuinfo_cores[i], cpuinfo_processors[i].core); + } +} + +TEST(PROCESSORS, package) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_packages[0], cpuinfo_processors[i].package); } } @@ -30,10 +36,44 @@ TEST(PROCESSORS, linux_id) { } } +TEST(PROCESSORS, l1i) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_get_l1i_cache().instances[i], cpuinfo_processors[i].cache.l1i); + } +} + +TEST(PROCESSORS, l1d) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_get_l1d_cache().instances[i], cpuinfo_processors[i].cache.l1d); + } +} + +TEST(PROCESSORS, l2) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_get_l2_cache().instances[0], cpuinfo_processors[i].cache.l2); + } +} + +TEST(PROCESSORS, l3) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_FALSE(cpuinfo_processors[i].cache.l3); + } +} + +TEST(PROCESSORS, l4) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_FALSE(cpuinfo_processors[i].cache.l4); + } +} + TEST(CORES, count) { ASSERT_EQ(4, cpuinfo_cores_count); } +TEST(CORES, non_null) { + ASSERT_TRUE(cpuinfo_cores); +} + TEST(CORES, processor_start) { for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { ASSERT_EQ(i, cpuinfo_cores[i].processor_start); @@ -46,6 +86,36 @@ TEST(CORES, processor_count) { } } +TEST(CORES, core_id) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(i, cpuinfo_cores[i].core_id); + } +} + +TEST(CORES, package) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(&cpuinfo_packages[0], cpuinfo_cores[i].package); + } +} + +TEST(CORES, vendor) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(cpuinfo_vendor_arm, cpuinfo_cores[i].vendor); + } +} + +TEST(CORES, uarch) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(cpuinfo_uarch_cortex_a53, cpuinfo_cores[i].uarch); + } +} + +TEST(CORES, midr) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(UINT32_C(0x410FD034), cpuinfo_cores[i].midr); + } +} + TEST(PACKAGES, count) { ASSERT_EQ(1, cpuinfo_packages_count); } diff --git a/test/lenovo-vibe-x2.cc b/test/lenovo-vibe-x2.cc index c97ba12..c0cf0aa 100644 --- a/test/lenovo-vibe-x2.cc +++ b/test/lenovo-vibe-x2.cc @@ -12,54 +12,94 @@ TEST(PROCESSORS, non_null) { ASSERT_TRUE(cpuinfo_processors); } -TEST(PROCESSORS, vendor) { +TEST(PROCESSORS, smt_id) { for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { - ASSERT_EQ(cpuinfo_vendor_arm, cpuinfo_processors[i].vendor); + ASSERT_EQ(0, cpuinfo_processors[i].smt_id); } } -TEST(PROCESSORS, uarch) { +TEST(PROCESSORS, core) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_cores[i], cpuinfo_processors[i].core); + } +} + +TEST(PROCESSORS, package) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_packages[0], cpuinfo_processors[i].package); + } +} + +TEST(PROCESSORS, linux_id) { for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { switch (i) { case 0: case 1: case 2: case 3: - ASSERT_EQ(cpuinfo_uarch_cortex_a17, cpuinfo_processors[i].uarch); + ASSERT_EQ(i + 4, cpuinfo_processors[i].linux_id); break; case 4: case 5: case 6: case 7: - ASSERT_EQ(cpuinfo_uarch_cortex_a7, cpuinfo_processors[i].uarch); + ASSERT_EQ(i - 4, cpuinfo_processors[i].linux_id); break; } } } -TEST(PROCESSORS, linux_id) { +TEST(PROCESSORS, l1i) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_get_l1i_cache().instances[i], cpuinfo_processors[i].cache.l1i); + } +} + +TEST(PROCESSORS, l1d) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_get_l1d_cache().instances[i], cpuinfo_processors[i].cache.l1d); + } +} + +TEST(PROCESSORS, l2) { for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { switch (i) { case 0: case 1: case 2: case 3: - ASSERT_EQ(i + 4, cpuinfo_processors[i].linux_id); + ASSERT_EQ(&cpuinfo_get_l2_cache().instances[0], cpuinfo_processors[i].cache.l2); break; case 4: case 5: case 6: case 7: - ASSERT_EQ(i - 4, cpuinfo_processors[i].linux_id); + ASSERT_EQ(&cpuinfo_get_l2_cache().instances[1], cpuinfo_processors[i].cache.l2); break; } } } +TEST(PROCESSORS, l3) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_FALSE(cpuinfo_processors[i].cache.l3); + } +} + +TEST(PROCESSORS, l4) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_FALSE(cpuinfo_processors[i].cache.l4); + } +} + TEST(CORES, count) { ASSERT_EQ(8, cpuinfo_cores_count); } +TEST(CORES, non_null) { + ASSERT_TRUE(cpuinfo_cores); +} + TEST(CORES, processor_start) { for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { ASSERT_EQ(i, cpuinfo_cores[i].processor_start); @@ -72,6 +112,62 @@ TEST(CORES, processor_count) { } } +TEST(CORES, core_id) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(i, cpuinfo_cores[i].core_id); + } +} + +TEST(CORES, package) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(&cpuinfo_packages[0], cpuinfo_cores[i].package); + } +} + +TEST(CORES, vendor) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(cpuinfo_vendor_arm, cpuinfo_cores[i].vendor); + } +} + +TEST(CORES, uarch) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + switch (i) { + case 0: + case 1: + case 2: + case 3: + ASSERT_EQ(cpuinfo_uarch_cortex_a17, cpuinfo_cores[i].uarch); + break; + case 4: + case 5: + case 6: + case 7: + ASSERT_EQ(cpuinfo_uarch_cortex_a7, cpuinfo_cores[i].uarch); + break; + } + } +} + +TEST(CORES, midr) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + switch (i) { + case 0: + case 1: + case 2: + case 3: + ASSERT_EQ(UINT32_C(0x410FC0E0), cpuinfo_cores[i].midr); + break; + case 4: + case 5: + case 6: + case 7: + ASSERT_EQ(UINT32_C(0x410FC075), cpuinfo_cores[i].midr); + break; + } + } +} + TEST(PACKAGES, count) { ASSERT_EQ(1, cpuinfo_packages_count); } diff --git a/test/lg-k10-eu.cc b/test/lg-k10-eu.cc index 5efdc5c..05715ee 100644 --- a/test/lg-k10-eu.cc +++ b/test/lg-k10-eu.cc @@ -12,15 +12,21 @@ TEST(PROCESSORS, non_null) { ASSERT_TRUE(cpuinfo_processors); } -TEST(PROCESSORS, vendor) { +TEST(PROCESSORS, smt_id) { for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { - ASSERT_EQ(cpuinfo_vendor_arm, cpuinfo_processors[i].vendor); + ASSERT_EQ(0, cpuinfo_processors[i].smt_id); } } -TEST(PROCESSORS, uarch) { +TEST(PROCESSORS, core) { for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { - ASSERT_EQ(cpuinfo_uarch_cortex_a53, cpuinfo_processors[i].uarch); + ASSERT_EQ(&cpuinfo_cores[i], cpuinfo_processors[i].core); + } +} + +TEST(PROCESSORS, package) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_packages[0], cpuinfo_processors[i].package); } } @@ -30,10 +36,44 @@ TEST(PROCESSORS, linux_id) { } } +TEST(PROCESSORS, l1i) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_get_l1i_cache().instances[i], cpuinfo_processors[i].cache.l1i); + } +} + +TEST(PROCESSORS, l1d) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_get_l1d_cache().instances[i], cpuinfo_processors[i].cache.l1d); + } +} + +TEST(PROCESSORS, l2) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_get_l2_cache().instances[0], cpuinfo_processors[i].cache.l2); + } +} + +TEST(PROCESSORS, l3) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_FALSE(cpuinfo_processors[i].cache.l3); + } +} + +TEST(PROCESSORS, l4) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_FALSE(cpuinfo_processors[i].cache.l4); + } +} + TEST(CORES, count) { ASSERT_EQ(4, cpuinfo_cores_count); } +TEST(CORES, non_null) { + ASSERT_TRUE(cpuinfo_cores); +} + TEST(CORES, processor_start) { for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { ASSERT_EQ(i, cpuinfo_cores[i].processor_start); @@ -46,6 +86,36 @@ TEST(CORES, processor_count) { } } +TEST(CORES, core_id) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(i, cpuinfo_cores[i].core_id); + } +} + +TEST(CORES, package) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(&cpuinfo_packages[0], cpuinfo_cores[i].package); + } +} + +TEST(CORES, vendor) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(cpuinfo_vendor_arm, cpuinfo_cores[i].vendor); + } +} + +TEST(CORES, uarch) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(cpuinfo_uarch_cortex_a53, cpuinfo_cores[i].uarch); + } +} + +TEST(CORES, midr) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(UINT32_C(0x410FD030), cpuinfo_cores[i].midr); + } +} + TEST(PACKAGES, count) { ASSERT_EQ(1, cpuinfo_packages_count); } diff --git a/test/meizu-pro-6s.cc b/test/meizu-pro-6s.cc index a289fe9..76b6a4a 100644 --- a/test/meizu-pro-6s.cc +++ b/test/meizu-pro-6s.cc @@ -12,60 +12,102 @@ TEST(PROCESSORS, non_null) { ASSERT_TRUE(cpuinfo_processors); } -TEST(PROCESSORS, vendor) { +TEST(PROCESSORS, smt_id) { for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { - ASSERT_EQ(cpuinfo_vendor_arm, cpuinfo_processors[i].vendor); + ASSERT_EQ(0, cpuinfo_processors[i].smt_id); } } -TEST(PROCESSORS, uarch) { +TEST(PROCESSORS, core) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_cores[i], cpuinfo_processors[i].core); + } +} + +TEST(PROCESSORS, package) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_packages[0], cpuinfo_processors[i].package); + } +} + +TEST(PROCESSORS, linux_id) { for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { switch (i) { case 0: case 1: - ASSERT_EQ(cpuinfo_uarch_cortex_a72, cpuinfo_processors[i].uarch); + ASSERT_EQ(i + 8, cpuinfo_processors[i].linux_id); break; case 2: case 3: case 4: case 5: + ASSERT_EQ(i + 2, cpuinfo_processors[i].linux_id); + break; case 6: case 7: case 8: case 9: - ASSERT_EQ(cpuinfo_uarch_cortex_a53, cpuinfo_processors[i].uarch); + ASSERT_EQ(i - 6, cpuinfo_processors[i].linux_id); break; } } } -TEST(PROCESSORS, linux_id) { +TEST(PROCESSORS, l1i) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_get_l1i_cache().instances[i], cpuinfo_processors[i].cache.l1i); + } +} + +TEST(PROCESSORS, l1d) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_get_l1d_cache().instances[i], cpuinfo_processors[i].cache.l1d); + } +} + +TEST(PROCESSORS, l2) { for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { switch (i) { case 0: case 1: - ASSERT_EQ(i + 8, cpuinfo_processors[i].linux_id); + ASSERT_EQ(&cpuinfo_get_l2_cache().instances[0], cpuinfo_processors[i].cache.l2); break; case 2: case 3: case 4: case 5: - ASSERT_EQ(i + 2, cpuinfo_processors[i].linux_id); + ASSERT_EQ(&cpuinfo_get_l2_cache().instances[1], cpuinfo_processors[i].cache.l2); break; case 6: case 7: case 8: case 9: - ASSERT_EQ(i - 6, cpuinfo_processors[i].linux_id); + ASSERT_EQ(&cpuinfo_get_l2_cache().instances[2], cpuinfo_processors[i].cache.l2); break; } } } +TEST(PROCESSORS, l3) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_FALSE(cpuinfo_processors[i].cache.l3); + } +} + +TEST(PROCESSORS, l4) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_FALSE(cpuinfo_processors[i].cache.l4); + } +} + TEST(CORES, count) { ASSERT_EQ(10, cpuinfo_cores_count); } +TEST(CORES, non_null) { + ASSERT_TRUE(cpuinfo_cores); +} + TEST(CORES, processor_start) { for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { ASSERT_EQ(i, cpuinfo_cores[i].processor_start); @@ -78,6 +120,66 @@ TEST(CORES, processor_count) { } } +TEST(CORES, core_id) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(i, cpuinfo_cores[i].core_id); + } +} + +TEST(CORES, package) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(&cpuinfo_packages[0], cpuinfo_cores[i].package); + } +} + +TEST(CORES, vendor) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(cpuinfo_vendor_arm, cpuinfo_cores[i].vendor); + } +} + +TEST(CORES, uarch) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + switch (i) { + case 0: + case 1: + ASSERT_EQ(cpuinfo_uarch_cortex_a72, cpuinfo_cores[i].uarch); + break; + case 2: + case 3: + case 4: + case 5: + case 6: + case 7: + case 8: + case 9: + ASSERT_EQ(cpuinfo_uarch_cortex_a53, cpuinfo_cores[i].uarch); + break; + } + } +} + +TEST(CORES, midr) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + switch (i) { + case 0: + case 1: + ASSERT_EQ(UINT32_C(0x410FD081), cpuinfo_cores[i].midr); + break; + case 2: + case 3: + case 4: + case 5: + case 6: + case 7: + case 8: + case 9: + ASSERT_EQ(UINT32_C(0x410FD034), cpuinfo_cores[i].midr); + break; + } + } +} + TEST(PACKAGES, count) { ASSERT_EQ(1, cpuinfo_packages_count); } diff --git a/test/moto-e-gen1.cc b/test/moto-e-gen1.cc index 4420e1d..1b82262 100644 --- a/test/moto-e-gen1.cc +++ b/test/moto-e-gen1.cc @@ -12,15 +12,21 @@ TEST(PROCESSORS, non_null) { ASSERT_TRUE(cpuinfo_processors); } -TEST(PROCESSORS, vendor) { +TEST(PROCESSORS, smt_id) { for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { - ASSERT_EQ(cpuinfo_vendor_arm, cpuinfo_processors[i].vendor); + ASSERT_EQ(0, cpuinfo_processors[i].smt_id); } } -TEST(PROCESSORS, uarch) { +TEST(PROCESSORS, core) { for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { - ASSERT_EQ(cpuinfo_uarch_cortex_a7, cpuinfo_processors[i].uarch); + ASSERT_EQ(&cpuinfo_cores[i], cpuinfo_processors[i].core); + } +} + +TEST(PROCESSORS, package) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_packages[0], cpuinfo_processors[i].package); } } @@ -30,10 +36,44 @@ TEST(PROCESSORS, linux_id) { } } +TEST(PROCESSORS, l1i) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_get_l1i_cache().instances[i], cpuinfo_processors[i].cache.l1i); + } +} + +TEST(PROCESSORS, l1d) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_get_l1d_cache().instances[i], cpuinfo_processors[i].cache.l1d); + } +} + +TEST(PROCESSORS, l2) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_get_l2_cache().instances[0], cpuinfo_processors[i].cache.l2); + } +} + +TEST(PROCESSORS, l3) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_FALSE(cpuinfo_processors[i].cache.l3); + } +} + +TEST(PROCESSORS, l4) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_FALSE(cpuinfo_processors[i].cache.l4); + } +} + TEST(CORES, count) { ASSERT_EQ(2, cpuinfo_cores_count); } +TEST(CORES, non_null) { + ASSERT_TRUE(cpuinfo_cores); +} + TEST(CORES, processor_start) { for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { ASSERT_EQ(i, cpuinfo_cores[i].processor_start); @@ -46,6 +86,36 @@ TEST(CORES, processor_count) { } } +TEST(CORES, core_id) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(i, cpuinfo_cores[i].core_id); + } +} + +TEST(CORES, package) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(&cpuinfo_packages[0], cpuinfo_cores[i].package); + } +} + +TEST(CORES, vendor) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(cpuinfo_vendor_arm, cpuinfo_cores[i].vendor); + } +} + +TEST(CORES, uarch) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(cpuinfo_uarch_cortex_a7, cpuinfo_cores[i].uarch); + } +} + +TEST(CORES, midr) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(UINT32_C(0x410FC073), cpuinfo_cores[i].midr); + } +} + TEST(PACKAGES, count) { ASSERT_EQ(1, cpuinfo_packages_count); } diff --git a/test/moto-g-gen2.cc b/test/moto-g-gen2.cc index 76efa76..f916752 100644 --- a/test/moto-g-gen2.cc +++ b/test/moto-g-gen2.cc @@ -12,15 +12,21 @@ TEST(PROCESSORS, non_null) { ASSERT_TRUE(cpuinfo_processors); } -TEST(PROCESSORS, vendor) { +TEST(PROCESSORS, smt_id) { for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { - ASSERT_EQ(cpuinfo_vendor_arm, cpuinfo_processors[i].vendor); + ASSERT_EQ(0, cpuinfo_processors[i].smt_id); } } -TEST(PROCESSORS, uarch) { +TEST(PROCESSORS, core) { for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { - ASSERT_EQ(cpuinfo_uarch_cortex_a7, cpuinfo_processors[i].uarch); + ASSERT_EQ(&cpuinfo_cores[i], cpuinfo_processors[i].core); + } +} + +TEST(PROCESSORS, package) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_packages[0], cpuinfo_processors[i].package); } } @@ -30,10 +36,44 @@ TEST(PROCESSORS, linux_id) { } } +TEST(PROCESSORS, l1i) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_get_l1i_cache().instances[i], cpuinfo_processors[i].cache.l1i); + } +} + +TEST(PROCESSORS, l1d) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_get_l1d_cache().instances[i], cpuinfo_processors[i].cache.l1d); + } +} + +TEST(PROCESSORS, l2) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_get_l2_cache().instances[0], cpuinfo_processors[i].cache.l2); + } +} + +TEST(PROCESSORS, l3) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_FALSE(cpuinfo_processors[i].cache.l3); + } +} + +TEST(PROCESSORS, l4) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_FALSE(cpuinfo_processors[i].cache.l4); + } +} + TEST(CORES, count) { ASSERT_EQ(4, cpuinfo_cores_count); } +TEST(CORES, non_null) { + ASSERT_TRUE(cpuinfo_cores); +} + TEST(CORES, processor_start) { for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { ASSERT_EQ(i, cpuinfo_cores[i].processor_start); @@ -46,6 +86,36 @@ TEST(CORES, processor_count) { } } +TEST(CORES, core_id) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(i, cpuinfo_cores[i].core_id); + } +} + +TEST(CORES, package) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(&cpuinfo_packages[0], cpuinfo_cores[i].package); + } +} + +TEST(CORES, vendor) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(cpuinfo_vendor_arm, cpuinfo_cores[i].vendor); + } +} + +TEST(CORES, uarch) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(cpuinfo_uarch_cortex_a7, cpuinfo_cores[i].uarch); + } +} + +TEST(CORES, midr) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(UINT32_C(0x410FC073), cpuinfo_cores[i].midr); + } +} + TEST(PACKAGES, count) { ASSERT_EQ(1, cpuinfo_packages_count); } diff --git a/test/moto-g-gen3.cc b/test/moto-g-gen3.cc index 1129333..9153a66 100644 --- a/test/moto-g-gen3.cc +++ b/test/moto-g-gen3.cc @@ -12,15 +12,21 @@ TEST(PROCESSORS, non_null) { ASSERT_TRUE(cpuinfo_processors); } -TEST(PROCESSORS, vendor) { +TEST(PROCESSORS, smt_id) { for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { - ASSERT_EQ(cpuinfo_vendor_arm, cpuinfo_processors[i].vendor); + ASSERT_EQ(0, cpuinfo_processors[i].smt_id); } } -TEST(PROCESSORS, uarch) { +TEST(PROCESSORS, core) { for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { - ASSERT_EQ(cpuinfo_uarch_cortex_a53, cpuinfo_processors[i].uarch); + ASSERT_EQ(&cpuinfo_cores[i], cpuinfo_processors[i].core); + } +} + +TEST(PROCESSORS, package) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_packages[0], cpuinfo_processors[i].package); } } @@ -30,10 +36,44 @@ TEST(PROCESSORS, linux_id) { } } +TEST(PROCESSORS, l1i) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_get_l1i_cache().instances[i], cpuinfo_processors[i].cache.l1i); + } +} + +TEST(PROCESSORS, l1d) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_get_l1d_cache().instances[i], cpuinfo_processors[i].cache.l1d); + } +} + +TEST(PROCESSORS, l2) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_get_l2_cache().instances[0], cpuinfo_processors[i].cache.l2); + } +} + +TEST(PROCESSORS, l3) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_FALSE(cpuinfo_processors[i].cache.l3); + } +} + +TEST(PROCESSORS, l4) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_FALSE(cpuinfo_processors[i].cache.l4); + } +} + TEST(CORES, count) { ASSERT_EQ(4, cpuinfo_cores_count); } +TEST(CORES, non_null) { + ASSERT_TRUE(cpuinfo_cores); +} + TEST(CORES, processor_start) { for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { ASSERT_EQ(i, cpuinfo_cores[i].processor_start); @@ -46,6 +86,36 @@ TEST(CORES, processor_count) { } } +TEST(CORES, core_id) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(i, cpuinfo_cores[i].core_id); + } +} + +TEST(CORES, package) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(&cpuinfo_packages[0], cpuinfo_cores[i].package); + } +} + +TEST(CORES, vendor) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(cpuinfo_vendor_arm, cpuinfo_cores[i].vendor); + } +} + +TEST(CORES, uarch) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(cpuinfo_uarch_cortex_a53, cpuinfo_cores[i].uarch); + } +} + +TEST(CORES, midr) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(UINT32_C(0x410FD030), cpuinfo_cores[i].midr); + } +} + TEST(PACKAGES, count) { ASSERT_EQ(1, cpuinfo_packages_count); } diff --git a/test/nexus-s.cc b/test/nexus-s.cc index 96bf064..deb5f35 100644 --- a/test/nexus-s.cc +++ b/test/nexus-s.cc @@ -12,15 +12,21 @@ TEST(PROCESSORS, non_null) { ASSERT_TRUE(cpuinfo_processors); } -TEST(PROCESSORS, vendor) { +TEST(PROCESSORS, smt_id) { for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { - ASSERT_EQ(cpuinfo_vendor_arm, cpuinfo_processors[i].vendor); + ASSERT_EQ(0, cpuinfo_processors[i].smt_id); } } -TEST(PROCESSORS, uarch) { +TEST(PROCESSORS, core) { for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { - ASSERT_EQ(cpuinfo_uarch_cortex_a8, cpuinfo_processors[i].uarch); + ASSERT_EQ(&cpuinfo_cores[i], cpuinfo_processors[i].core); + } +} + +TEST(PROCESSORS, package) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_packages[0], cpuinfo_processors[i].package); } } @@ -30,10 +36,44 @@ TEST(PROCESSORS, linux_id) { } } +TEST(PROCESSORS, l1i) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_get_l1i_cache().instances[i], cpuinfo_processors[i].cache.l1i); + } +} + +TEST(PROCESSORS, l1d) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_get_l1d_cache().instances[i], cpuinfo_processors[i].cache.l1d); + } +} + +TEST(PROCESSORS, l2) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_get_l2_cache().instances[0], cpuinfo_processors[i].cache.l2); + } +} + +TEST(PROCESSORS, l3) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_FALSE(cpuinfo_processors[i].cache.l3); + } +} + +TEST(PROCESSORS, l4) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_FALSE(cpuinfo_processors[i].cache.l4); + } +} + TEST(CORES, count) { ASSERT_EQ(1, cpuinfo_cores_count); } +TEST(CORES, non_null) { + ASSERT_TRUE(cpuinfo_cores); +} + TEST(CORES, processor_start) { for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { ASSERT_EQ(i, cpuinfo_cores[i].processor_start); @@ -46,6 +86,36 @@ TEST(CORES, processor_count) { } } +TEST(CORES, core_id) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(i, cpuinfo_cores[i].core_id); + } +} + +TEST(CORES, package) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(&cpuinfo_packages[0], cpuinfo_cores[i].package); + } +} + +TEST(CORES, vendor) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(cpuinfo_vendor_arm, cpuinfo_cores[i].vendor); + } +} + +TEST(CORES, uarch) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(cpuinfo_uarch_cortex_a8, cpuinfo_cores[i].uarch); + } +} + +TEST(CORES, midr) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(UINT32_C(0x412FC082), cpuinfo_cores[i].midr); + } +} + TEST(PACKAGES, count) { ASSERT_EQ(1, cpuinfo_packages_count); } diff --git a/test/nexus4.cc b/test/nexus4.cc index 72ad15d..47c42c1 100644 --- a/test/nexus4.cc +++ b/test/nexus4.cc @@ -12,15 +12,21 @@ TEST(PROCESSORS, non_null) { ASSERT_TRUE(cpuinfo_processors); } -TEST(PROCESSORS, vendor) { +TEST(PROCESSORS, smt_id) { for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { - ASSERT_EQ(cpuinfo_vendor_qualcomm, cpuinfo_processors[i].vendor); + ASSERT_EQ(0, cpuinfo_processors[i].smt_id); } } -TEST(PROCESSORS, uarch) { +TEST(PROCESSORS, core) { for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { - ASSERT_EQ(cpuinfo_uarch_krait, cpuinfo_processors[i].uarch); + ASSERT_EQ(&cpuinfo_cores[i], cpuinfo_processors[i].core); + } +} + +TEST(PROCESSORS, package) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_packages[0], cpuinfo_processors[i].package); } } @@ -30,10 +36,44 @@ TEST(PROCESSORS, linux_id) { } } +TEST(PROCESSORS, l1i) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_get_l1i_cache().instances[i], cpuinfo_processors[i].cache.l1i); + } +} + +TEST(PROCESSORS, l1d) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_get_l1d_cache().instances[i], cpuinfo_processors[i].cache.l1d); + } +} + +TEST(PROCESSORS, l2) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_get_l2_cache().instances[0], cpuinfo_processors[i].cache.l2); + } +} + +TEST(PROCESSORS, l3) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_FALSE(cpuinfo_processors[i].cache.l3); + } +} + +TEST(PROCESSORS, l4) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_FALSE(cpuinfo_processors[i].cache.l4); + } +} + TEST(CORES, count) { ASSERT_EQ(4, cpuinfo_cores_count); } +TEST(CORES, non_null) { + ASSERT_TRUE(cpuinfo_cores); +} + TEST(CORES, processor_start) { for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { ASSERT_EQ(i, cpuinfo_cores[i].processor_start); @@ -46,6 +86,36 @@ TEST(CORES, processor_count) { } } +TEST(CORES, core_id) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(i, cpuinfo_cores[i].core_id); + } +} + +TEST(CORES, package) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(&cpuinfo_packages[0], cpuinfo_cores[i].package); + } +} + +TEST(CORES, vendor) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(cpuinfo_vendor_qualcomm, cpuinfo_cores[i].vendor); + } +} + +TEST(CORES, uarch) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(cpuinfo_uarch_krait, cpuinfo_cores[i].uarch); + } +} + +TEST(CORES, midr) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(UINT32_C(0x510F06F2), cpuinfo_cores[i].midr); + } +} + TEST(PACKAGES, count) { ASSERT_EQ(1, cpuinfo_packages_count); } diff --git a/test/nexus5x.cc b/test/nexus5x.cc index facd25a..6d6d953 100644 --- a/test/nexus5x.cc +++ b/test/nexus5x.cc @@ -12,50 +12,90 @@ TEST(PROCESSORS, non_null) { ASSERT_TRUE(cpuinfo_processors); } -TEST(PROCESSORS, vendor) { +TEST(PROCESSORS, smt_id) { for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { - ASSERT_EQ(cpuinfo_vendor_arm, cpuinfo_processors[i].vendor); + ASSERT_EQ(0, cpuinfo_processors[i].smt_id); } } -TEST(PROCESSORS, uarch) { +TEST(PROCESSORS, core) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_cores[i], cpuinfo_processors[i].core); + } +} + +TEST(PROCESSORS, package) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_packages[0], cpuinfo_processors[i].package); + } +} + +TEST(PROCESSORS, linux_id) { for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { switch (i) { case 0: case 1: - ASSERT_EQ(cpuinfo_uarch_cortex_a57, cpuinfo_processors[i].uarch); + ASSERT_EQ(i + 4, cpuinfo_processors[i].linux_id); break; case 2: case 3: case 4: case 5: - ASSERT_EQ(cpuinfo_uarch_cortex_a53, cpuinfo_processors[i].uarch); + ASSERT_EQ(i - 2, cpuinfo_processors[i].linux_id); break; } } } -TEST(PROCESSORS, linux_id) { +TEST(PROCESSORS, l1i) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_get_l1i_cache().instances[i], cpuinfo_processors[i].cache.l1i); + } +} + +TEST(PROCESSORS, l1d) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_get_l1d_cache().instances[i], cpuinfo_processors[i].cache.l1d); + } +} + +TEST(PROCESSORS, l2) { for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { switch (i) { case 0: case 1: - ASSERT_EQ(i + 4, cpuinfo_processors[i].linux_id); + ASSERT_EQ(&cpuinfo_get_l2_cache().instances[0], cpuinfo_processors[i].cache.l2); break; case 2: case 3: case 4: case 5: - ASSERT_EQ(i - 2, cpuinfo_processors[i].linux_id); + ASSERT_EQ(&cpuinfo_get_l2_cache().instances[1], cpuinfo_processors[i].cache.l2); break; } } } +TEST(PROCESSORS, l3) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_FALSE(cpuinfo_processors[i].cache.l3); + } +} + +TEST(PROCESSORS, l4) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_FALSE(cpuinfo_processors[i].cache.l4); + } +} + TEST(CORES, count) { ASSERT_EQ(6, cpuinfo_cores_count); } +TEST(CORES, non_null) { + ASSERT_TRUE(cpuinfo_cores); +} + TEST(CORES, processor_start) { for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { ASSERT_EQ(i, cpuinfo_cores[i].processor_start); @@ -68,6 +108,58 @@ TEST(CORES, processor_count) { } } +TEST(CORES, core_id) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(i, cpuinfo_cores[i].core_id); + } +} + +TEST(CORES, package) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(&cpuinfo_packages[0], cpuinfo_cores[i].package); + } +} + +TEST(CORES, vendor) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(cpuinfo_vendor_arm, cpuinfo_cores[i].vendor); + } +} + +TEST(CORES, uarch) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + switch (i) { + case 0: + case 1: + ASSERT_EQ(cpuinfo_uarch_cortex_a57, cpuinfo_cores[i].uarch); + break; + case 2: + case 3: + case 4: + case 5: + ASSERT_EQ(cpuinfo_uarch_cortex_a53, cpuinfo_cores[i].uarch); + break; + } + } +} + +TEST(CORES, midr) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + switch (i) { + case 0: + case 1: + ASSERT_EQ(UINT32_C(0x411FD072), cpuinfo_cores[i].midr); + break; + case 2: + case 3: + case 4: + case 5: + ASSERT_EQ(UINT32_C(0x410FD033), cpuinfo_cores[i].midr); + break; + } + } +} + TEST(PACKAGES, count) { ASSERT_EQ(1, cpuinfo_packages_count); } diff --git a/test/nexus6.cc b/test/nexus6.cc index 2b2dfc9..0570730 100644 --- a/test/nexus6.cc +++ b/test/nexus6.cc @@ -12,15 +12,21 @@ TEST(PROCESSORS, non_null) { ASSERT_TRUE(cpuinfo_processors); } -TEST(PROCESSORS, vendor) { +TEST(PROCESSORS, smt_id) { for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { - ASSERT_EQ(cpuinfo_vendor_qualcomm, cpuinfo_processors[i].vendor); + ASSERT_EQ(0, cpuinfo_processors[i].smt_id); } } -TEST(PROCESSORS, uarch) { +TEST(PROCESSORS, core) { for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { - ASSERT_EQ(cpuinfo_uarch_krait, cpuinfo_processors[i].uarch); + ASSERT_EQ(&cpuinfo_cores[i], cpuinfo_processors[i].core); + } +} + +TEST(PROCESSORS, package) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_packages[0], cpuinfo_processors[i].package); } } @@ -30,10 +36,44 @@ TEST(PROCESSORS, linux_id) { } } +TEST(PROCESSORS, l1i) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_get_l1i_cache().instances[i], cpuinfo_processors[i].cache.l1i); + } +} + +TEST(PROCESSORS, l1d) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_get_l1d_cache().instances[i], cpuinfo_processors[i].cache.l1d); + } +} + +TEST(PROCESSORS, l2) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_get_l2_cache().instances[0], cpuinfo_processors[i].cache.l2); + } +} + +TEST(PROCESSORS, l3) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_FALSE(cpuinfo_processors[i].cache.l3); + } +} + +TEST(PROCESSORS, l4) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_FALSE(cpuinfo_processors[i].cache.l4); + } +} + TEST(CORES, count) { ASSERT_EQ(4, cpuinfo_cores_count); } +TEST(CORES, non_null) { + ASSERT_TRUE(cpuinfo_cores); +} + TEST(CORES, processor_start) { for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { ASSERT_EQ(i, cpuinfo_cores[i].processor_start); @@ -46,6 +86,36 @@ TEST(CORES, processor_count) { } } +TEST(CORES, core_id) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(i, cpuinfo_cores[i].core_id); + } +} + +TEST(CORES, package) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(&cpuinfo_packages[0], cpuinfo_cores[i].package); + } +} + +TEST(CORES, vendor) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(cpuinfo_vendor_qualcomm, cpuinfo_cores[i].vendor); + } +} + +TEST(CORES, uarch) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(cpuinfo_uarch_krait, cpuinfo_cores[i].uarch); + } +} + +TEST(CORES, midr) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(UINT32_C(0x513F06F1), cpuinfo_cores[i].midr); + } +} + TEST(PACKAGES, count) { ASSERT_EQ(1, cpuinfo_packages_count); } diff --git a/test/nexus6p.cc b/test/nexus6p.cc index 1ae3f5d..94f2141 100644 --- a/test/nexus6p.cc +++ b/test/nexus6p.cc @@ -12,54 +12,94 @@ TEST(PROCESSORS, non_null) { ASSERT_TRUE(cpuinfo_processors); } -TEST(PROCESSORS, vendor) { +TEST(PROCESSORS, smt_id) { for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { - ASSERT_EQ(cpuinfo_vendor_arm, cpuinfo_processors[i].vendor); + ASSERT_EQ(0, cpuinfo_processors[i].smt_id); } } -TEST(PROCESSORS, uarch) { +TEST(PROCESSORS, core) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_cores[i], cpuinfo_processors[i].core); + } +} + +TEST(PROCESSORS, package) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_packages[0], cpuinfo_processors[i].package); + } +} + +TEST(PROCESSORS, linux_id) { for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { switch (i) { case 0: case 1: case 2: case 3: - ASSERT_EQ(cpuinfo_uarch_cortex_a57, cpuinfo_processors[i].uarch); + ASSERT_EQ(i + 4, cpuinfo_processors[i].linux_id); break; case 4: case 5: case 6: case 7: - ASSERT_EQ(cpuinfo_uarch_cortex_a53, cpuinfo_processors[i].uarch); + ASSERT_EQ(i - 4, cpuinfo_processors[i].linux_id); break; } } } -TEST(PROCESSORS, linux_id) { +TEST(PROCESSORS, l1i) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_get_l1i_cache().instances[i], cpuinfo_processors[i].cache.l1i); + } +} + +TEST(PROCESSORS, l1d) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_get_l1d_cache().instances[i], cpuinfo_processors[i].cache.l1d); + } +} + +TEST(PROCESSORS, l2) { for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { switch (i) { case 0: case 1: case 2: case 3: - ASSERT_EQ(i + 4, cpuinfo_processors[i].linux_id); + ASSERT_EQ(&cpuinfo_get_l2_cache().instances[0], cpuinfo_processors[i].cache.l2); break; case 4: case 5: case 6: case 7: - ASSERT_EQ(i - 4, cpuinfo_processors[i].linux_id); + ASSERT_EQ(&cpuinfo_get_l2_cache().instances[1], cpuinfo_processors[i].cache.l2); break; } } } +TEST(PROCESSORS, l3) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_FALSE(cpuinfo_processors[i].cache.l3); + } +} + +TEST(PROCESSORS, l4) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_FALSE(cpuinfo_processors[i].cache.l4); + } +} + TEST(CORES, count) { ASSERT_EQ(8, cpuinfo_cores_count); } +TEST(CORES, non_null) { + ASSERT_TRUE(cpuinfo_cores); +} + TEST(CORES, processor_start) { for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { ASSERT_EQ(i, cpuinfo_cores[i].processor_start); @@ -72,6 +112,62 @@ TEST(CORES, processor_count) { } } +TEST(CORES, core_id) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(i, cpuinfo_cores[i].core_id); + } +} + +TEST(CORES, package) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(&cpuinfo_packages[0], cpuinfo_cores[i].package); + } +} + +TEST(CORES, vendor) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(cpuinfo_vendor_arm, cpuinfo_cores[i].vendor); + } +} + +TEST(CORES, uarch) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + switch (i) { + case 0: + case 1: + case 2: + case 3: + ASSERT_EQ(cpuinfo_uarch_cortex_a57, cpuinfo_cores[i].uarch); + break; + case 4: + case 5: + case 6: + case 7: + ASSERT_EQ(cpuinfo_uarch_cortex_a53, cpuinfo_cores[i].uarch); + break; + } + } +} + +TEST(CORES, midr) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + switch (i) { + case 0: + case 1: + case 2: + case 3: + ASSERT_EQ(UINT32_C(0x411FD071), cpuinfo_cores[i].midr); + break; + case 4: + case 5: + case 6: + case 7: + ASSERT_EQ(UINT32_C(0x410FD032), cpuinfo_cores[i].midr); + break; + } + } +} + TEST(PACKAGES, count) { ASSERT_EQ(1, cpuinfo_packages_count); } diff --git a/test/nexus9.cc b/test/nexus9.cc index db7b417..0e518fa 100644 --- a/test/nexus9.cc +++ b/test/nexus9.cc @@ -12,15 +12,21 @@ TEST(PROCESSORS, non_null) { ASSERT_TRUE(cpuinfo_processors); } -TEST(PROCESSORS, vendor) { +TEST(PROCESSORS, smt_id) { for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { - ASSERT_EQ(cpuinfo_vendor_nvidia, cpuinfo_processors[i].vendor); + ASSERT_EQ(0, cpuinfo_processors[i].smt_id); } } -TEST(PROCESSORS, uarch) { +TEST(PROCESSORS, core) { for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { - ASSERT_EQ(cpuinfo_uarch_denver, cpuinfo_processors[i].uarch); + ASSERT_EQ(&cpuinfo_cores[i], cpuinfo_processors[i].core); + } +} + +TEST(PROCESSORS, package) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_packages[0], cpuinfo_processors[i].package); } } @@ -30,10 +36,44 @@ TEST(PROCESSORS, linux_id) { } } +TEST(PROCESSORS, l1i) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_get_l1i_cache().instances[i], cpuinfo_processors[i].cache.l1i); + } +} + +TEST(PROCESSORS, l1d) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_get_l1d_cache().instances[i], cpuinfo_processors[i].cache.l1d); + } +} + +TEST(PROCESSORS, l2) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_get_l2_cache().instances[0], cpuinfo_processors[i].cache.l2); + } +} + +TEST(PROCESSORS, l3) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_FALSE(cpuinfo_processors[i].cache.l3); + } +} + +TEST(PROCESSORS, l4) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_FALSE(cpuinfo_processors[i].cache.l4); + } +} + TEST(CORES, count) { ASSERT_EQ(2, cpuinfo_cores_count); } +TEST(CORES, non_null) { + ASSERT_TRUE(cpuinfo_cores); +} + TEST(CORES, processor_start) { for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { ASSERT_EQ(i, cpuinfo_cores[i].processor_start); @@ -46,6 +86,36 @@ TEST(CORES, processor_count) { } } +TEST(CORES, core_id) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(i, cpuinfo_cores[i].core_id); + } +} + +TEST(CORES, package) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(&cpuinfo_packages[0], cpuinfo_cores[i].package); + } +} + +TEST(CORES, vendor) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(cpuinfo_vendor_nvidia, cpuinfo_cores[i].vendor); + } +} + +TEST(CORES, uarch) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(cpuinfo_uarch_denver, cpuinfo_cores[i].uarch); + } +} + +TEST(CORES, midr) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(UINT32_C(0x4E0F0000), cpuinfo_cores[i].midr); + } +} + TEST(PACKAGES, count) { ASSERT_EQ(1, cpuinfo_packages_count); } diff --git a/test/oppo-r9.cc b/test/oppo-r9.cc index b96152e..e5a7d50 100644 --- a/test/oppo-r9.cc +++ b/test/oppo-r9.cc @@ -12,15 +12,21 @@ TEST(PROCESSORS, non_null) { ASSERT_TRUE(cpuinfo_processors); } -TEST(PROCESSORS, vendor) { +TEST(PROCESSORS, smt_id) { for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { - ASSERT_EQ(cpuinfo_vendor_arm, cpuinfo_processors[i].vendor); + ASSERT_EQ(0, cpuinfo_processors[i].smt_id); } } -TEST(PROCESSORS, uarch) { +TEST(PROCESSORS, core) { for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { - ASSERT_EQ(cpuinfo_uarch_cortex_a53, cpuinfo_processors[i].uarch); + ASSERT_EQ(&cpuinfo_cores[i], cpuinfo_processors[i].core); + } +} + +TEST(PROCESSORS, package) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_packages[0], cpuinfo_processors[i].package); } } @@ -43,10 +49,57 @@ TEST(PROCESSORS, DISABLED_linux_id) { } } +TEST(PROCESSORS, l1i) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_get_l1i_cache().instances[i], cpuinfo_processors[i].cache.l1i); + } +} + +TEST(PROCESSORS, l1d) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_get_l1d_cache().instances[i], cpuinfo_processors[i].cache.l1d); + } +} + +TEST(PROCESSORS, l2) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + switch (i) { + case 0: + case 1: + case 2: + case 3: + ASSERT_EQ(&cpuinfo_get_l2_cache().instances[0], cpuinfo_processors[i].cache.l2); + break; + case 4: + case 5: + case 6: + case 7: + ASSERT_EQ(&cpuinfo_get_l2_cache().instances[1], cpuinfo_processors[i].cache.l2); + break; + } + } +} + +TEST(PROCESSORS, l3) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_FALSE(cpuinfo_processors[i].cache.l3); + } +} + +TEST(PROCESSORS, l4) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_FALSE(cpuinfo_processors[i].cache.l4); + } +} + TEST(CORES, count) { ASSERT_EQ(8, cpuinfo_cores_count); } +TEST(CORES, non_null) { + ASSERT_TRUE(cpuinfo_cores); +} + TEST(CORES, processor_start) { for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { ASSERT_EQ(i, cpuinfo_cores[i].processor_start); @@ -59,6 +112,36 @@ TEST(CORES, processor_count) { } } +TEST(CORES, core_id) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(i, cpuinfo_cores[i].core_id); + } +} + +TEST(CORES, package) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(&cpuinfo_packages[0], cpuinfo_cores[i].package); + } +} + +TEST(CORES, vendor) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(cpuinfo_vendor_arm, cpuinfo_cores[i].vendor); + } +} + +TEST(CORES, uarch) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(cpuinfo_uarch_cortex_a53, cpuinfo_cores[i].uarch); + } +} + +TEST(CORES, midr) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(UINT32_C(0x410FD032), cpuinfo_cores[i].midr); + } +} + TEST(PACKAGES, count) { ASSERT_EQ(1, cpuinfo_packages_count); } diff --git a/test/pixel-c.cc b/test/pixel-c.cc index a67573f..3fbcad8 100644 --- a/test/pixel-c.cc +++ b/test/pixel-c.cc @@ -12,15 +12,21 @@ TEST(PROCESSORS, non_null) { ASSERT_TRUE(cpuinfo_processors); } -TEST(PROCESSORS, vendor) { +TEST(PROCESSORS, smt_id) { for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { - ASSERT_EQ(cpuinfo_vendor_arm, cpuinfo_processors[i].vendor); + ASSERT_EQ(0, cpuinfo_processors[i].smt_id); } } -TEST(PROCESSORS, uarch) { +TEST(PROCESSORS, core) { for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { - ASSERT_EQ(cpuinfo_uarch_cortex_a57, cpuinfo_processors[i].uarch); + ASSERT_EQ(&cpuinfo_cores[i], cpuinfo_processors[i].core); + } +} + +TEST(PROCESSORS, package) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_packages[0], cpuinfo_processors[i].package); } } @@ -30,10 +36,44 @@ TEST(PROCESSORS, linux_id) { } } +TEST(PROCESSORS, l1i) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_get_l1i_cache().instances[i], cpuinfo_processors[i].cache.l1i); + } +} + +TEST(PROCESSORS, l1d) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_get_l1d_cache().instances[i], cpuinfo_processors[i].cache.l1d); + } +} + +TEST(PROCESSORS, l2) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_get_l2_cache().instances[0], cpuinfo_processors[i].cache.l2); + } +} + +TEST(PROCESSORS, l3) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_FALSE(cpuinfo_processors[i].cache.l3); + } +} + +TEST(PROCESSORS, l4) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_FALSE(cpuinfo_processors[i].cache.l4); + } +} + TEST(CORES, count) { ASSERT_EQ(4, cpuinfo_cores_count); } +TEST(CORES, non_null) { + ASSERT_TRUE(cpuinfo_cores); +} + TEST(CORES, processor_start) { for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { ASSERT_EQ(i, cpuinfo_cores[i].processor_start); @@ -46,6 +86,36 @@ TEST(CORES, processor_count) { } } +TEST(CORES, core_id) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(i, cpuinfo_cores[i].core_id); + } +} + +TEST(CORES, package) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(&cpuinfo_packages[0], cpuinfo_cores[i].package); + } +} + +TEST(CORES, vendor) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(cpuinfo_vendor_arm, cpuinfo_cores[i].vendor); + } +} + +TEST(CORES, uarch) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(cpuinfo_uarch_cortex_a57, cpuinfo_cores[i].uarch); + } +} + +TEST(CORES, midr) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(UINT32_C(0x411FD071), cpuinfo_cores[i].midr); + } +} + TEST(PACKAGES, count) { ASSERT_EQ(1, cpuinfo_packages_count); } diff --git a/test/pixel-xl.cc b/test/pixel-xl.cc index 1065bb3..a9bf05b 100644 --- a/test/pixel-xl.cc +++ b/test/pixel-xl.cc @@ -12,15 +12,21 @@ TEST(PROCESSORS, non_null) { ASSERT_TRUE(cpuinfo_processors); } -TEST(PROCESSORS, vendor) { +TEST(PROCESSORS, smt_id) { for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { - ASSERT_EQ(cpuinfo_vendor_qualcomm, cpuinfo_processors[i].vendor); + ASSERT_EQ(0, cpuinfo_processors[i].smt_id); } } -TEST(PROCESSORS, uarch) { +TEST(PROCESSORS, core) { for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { - ASSERT_EQ(cpuinfo_uarch_kryo, cpuinfo_processors[i].uarch); + ASSERT_EQ(&cpuinfo_cores[i], cpuinfo_processors[i].core); + } +} + +TEST(PROCESSORS, package) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_packages[0], cpuinfo_processors[i].package); } } @@ -39,10 +45,53 @@ TEST(PROCESSORS, linux_id) { } } +TEST(PROCESSORS, l1i) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_get_l1i_cache().instances[i], cpuinfo_processors[i].cache.l1i); + } +} + +TEST(PROCESSORS, l1d) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_get_l1d_cache().instances[i], cpuinfo_processors[i].cache.l1d); + } +} + +TEST(PROCESSORS, l2) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + switch (i) { + case 0: + case 1: + ASSERT_EQ(&cpuinfo_get_l2_cache().instances[0], cpuinfo_processors[i].cache.l2); + break; + case 2: + case 3: + ASSERT_EQ(&cpuinfo_get_l2_cache().instances[1], cpuinfo_processors[i].cache.l2); + break; + } + } +} + +TEST(PROCESSORS, l3) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_FALSE(cpuinfo_processors[i].cache.l3); + } +} + +TEST(PROCESSORS, l4) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_FALSE(cpuinfo_processors[i].cache.l4); + } +} + TEST(CORES, count) { ASSERT_EQ(4, cpuinfo_cores_count); } +TEST(CORES, non_null) { + ASSERT_TRUE(cpuinfo_cores); +} + TEST(CORES, processor_start) { for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { ASSERT_EQ(i, cpuinfo_cores[i].processor_start); @@ -55,6 +104,45 @@ TEST(CORES, processor_count) { } } +TEST(CORES, core_id) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(i, cpuinfo_cores[i].core_id); + } +} + +TEST(CORES, package) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(&cpuinfo_packages[0], cpuinfo_cores[i].package); + } +} + +TEST(CORES, vendor) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(cpuinfo_vendor_qualcomm, cpuinfo_cores[i].vendor); + } +} + +TEST(CORES, uarch) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(cpuinfo_uarch_kryo, cpuinfo_cores[i].uarch); + } +} + +TEST(CORES, midr) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + switch (i) { + case 0: + case 1: + ASSERT_EQ(UINT32_C(0x512F2051), cpuinfo_cores[i].midr); + break; + case 2: + case 3: + ASSERT_EQ(UINT32_C(0x512F2011), cpuinfo_cores[i].midr); + break; + } + } +} + TEST(PACKAGES, count) { ASSERT_EQ(1, cpuinfo_packages_count); } diff --git a/test/pixel.cc b/test/pixel.cc index e16b0f9..7780196 100644 --- a/test/pixel.cc +++ b/test/pixel.cc @@ -12,15 +12,21 @@ TEST(PROCESSORS, non_null) { ASSERT_TRUE(cpuinfo_processors); } -TEST(PROCESSORS, vendor) { +TEST(PROCESSORS, smt_id) { for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { - ASSERT_EQ(cpuinfo_vendor_qualcomm, cpuinfo_processors[i].vendor); + ASSERT_EQ(0, cpuinfo_processors[i].smt_id); } } -TEST(PROCESSORS, uarch) { +TEST(PROCESSORS, core) { for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { - ASSERT_EQ(cpuinfo_uarch_kryo, cpuinfo_processors[i].uarch); + ASSERT_EQ(&cpuinfo_cores[i], cpuinfo_processors[i].core); + } +} + +TEST(PROCESSORS, package) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_packages[0], cpuinfo_processors[i].package); } } @@ -39,10 +45,53 @@ TEST(PROCESSORS, linux_id) { } } +TEST(PROCESSORS, l1i) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_get_l1i_cache().instances[i], cpuinfo_processors[i].cache.l1i); + } +} + +TEST(PROCESSORS, l1d) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_get_l1d_cache().instances[i], cpuinfo_processors[i].cache.l1d); + } +} + +TEST(PROCESSORS, l2) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + switch (i) { + case 0: + case 1: + ASSERT_EQ(&cpuinfo_get_l2_cache().instances[0], cpuinfo_processors[i].cache.l2); + break; + case 2: + case 3: + ASSERT_EQ(&cpuinfo_get_l2_cache().instances[1], cpuinfo_processors[i].cache.l2); + break; + } + } +} + +TEST(PROCESSORS, l3) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_FALSE(cpuinfo_processors[i].cache.l3); + } +} + +TEST(PROCESSORS, l4) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_FALSE(cpuinfo_processors[i].cache.l4); + } +} + TEST(CORES, count) { ASSERT_EQ(4, cpuinfo_cores_count); } +TEST(CORES, non_null) { + ASSERT_TRUE(cpuinfo_cores); +} + TEST(CORES, processor_start) { for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { ASSERT_EQ(i, cpuinfo_cores[i].processor_start); @@ -55,6 +104,45 @@ TEST(CORES, processor_count) { } } +TEST(CORES, core_id) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(i, cpuinfo_cores[i].core_id); + } +} + +TEST(CORES, package) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(&cpuinfo_packages[0], cpuinfo_cores[i].package); + } +} + +TEST(CORES, vendor) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(cpuinfo_vendor_qualcomm, cpuinfo_cores[i].vendor); + } +} + +TEST(CORES, uarch) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(cpuinfo_uarch_kryo, cpuinfo_cores[i].uarch); + } +} + +TEST(CORES, midr) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + switch (i) { + case 0: + case 1: + ASSERT_EQ(UINT32_C(0x512F2051), cpuinfo_cores[i].midr); + break; + case 2: + case 3: + ASSERT_EQ(UINT32_C(0x512F2011), cpuinfo_cores[i].midr); + break; + } + } +} + TEST(PACKAGES, count) { ASSERT_EQ(1, cpuinfo_packages_count); } diff --git a/test/xiaomi-redmi-2a.cc b/test/xiaomi-redmi-2a.cc index 7109fd2..0176a95 100644 --- a/test/xiaomi-redmi-2a.cc +++ b/test/xiaomi-redmi-2a.cc @@ -12,15 +12,21 @@ TEST(PROCESSORS, non_null) { ASSERT_TRUE(cpuinfo_processors); } -TEST(PROCESSORS, vendor) { +TEST(PROCESSORS, smt_id) { for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { - ASSERT_EQ(cpuinfo_vendor_arm, cpuinfo_processors[i].vendor); + ASSERT_EQ(0, cpuinfo_processors[i].smt_id); } } -TEST(PROCESSORS, uarch) { +TEST(PROCESSORS, core) { for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { - ASSERT_EQ(cpuinfo_uarch_cortex_a7, cpuinfo_processors[i].uarch); + ASSERT_EQ(&cpuinfo_cores[i], cpuinfo_processors[i].core); + } +} + +TEST(PROCESSORS, package) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_packages[0], cpuinfo_processors[i].package); } } @@ -30,10 +36,54 @@ TEST(PROCESSORS, linux_id) { } } +TEST(PROCESSORS, l1i) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_get_l1i_cache().instances[i], cpuinfo_processors[i].cache.l1i); + } +} + +TEST(PROCESSORS, l1d) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_get_l1d_cache().instances[i], cpuinfo_processors[i].cache.l1d); + } +} + +TEST(PROCESSORS, l2) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + switch (i) { + case 0: + case 1: + case 2: + case 3: + ASSERT_EQ(&cpuinfo_get_l2_cache().instances[0], cpuinfo_processors[i].cache.l2); + break; + case 4: + ASSERT_EQ(&cpuinfo_get_l2_cache().instances[1], cpuinfo_processors[i].cache.l2); + break; + } + } +} + +TEST(PROCESSORS, l3) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_FALSE(cpuinfo_processors[i].cache.l3); + } +} + +TEST(PROCESSORS, l4) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_FALSE(cpuinfo_processors[i].cache.l4); + } +} + TEST(CORES, count) { ASSERT_EQ(5, cpuinfo_cores_count); } +TEST(CORES, non_null) { + ASSERT_TRUE(cpuinfo_cores); +} + TEST(CORES, processor_start) { for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { ASSERT_EQ(i, cpuinfo_cores[i].processor_start); @@ -46,6 +96,36 @@ TEST(CORES, processor_count) { } } +TEST(CORES, core_id) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(i, cpuinfo_cores[i].core_id); + } +} + +TEST(CORES, package) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(&cpuinfo_packages[0], cpuinfo_cores[i].package); + } +} + +TEST(CORES, vendor) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(cpuinfo_vendor_arm, cpuinfo_cores[i].vendor); + } +} + +TEST(CORES, uarch) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(cpuinfo_uarch_cortex_a7, cpuinfo_cores[i].uarch); + } +} + +TEST(CORES, midr) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(UINT32_C(0x410FC075), cpuinfo_cores[i].midr); + } +} + TEST(PACKAGES, count) { ASSERT_EQ(1, cpuinfo_packages_count); } diff --git a/test/xperia-c4-dual.cc b/test/xperia-c4-dual.cc index 912f015..edc76f8 100644 --- a/test/xperia-c4-dual.cc +++ b/test/xperia-c4-dual.cc @@ -12,15 +12,21 @@ TEST(PROCESSORS, non_null) { ASSERT_TRUE(cpuinfo_processors); } -TEST(PROCESSORS, vendor) { +TEST(PROCESSORS, smt_id) { for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { - ASSERT_EQ(cpuinfo_vendor_arm, cpuinfo_processors[i].vendor); + ASSERT_EQ(0, cpuinfo_processors[i].smt_id); } } -TEST(PROCESSORS, uarch) { +TEST(PROCESSORS, core) { for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { - ASSERT_EQ(cpuinfo_uarch_cortex_a53, cpuinfo_processors[i].uarch); + ASSERT_EQ(&cpuinfo_cores[i], cpuinfo_processors[i].core); + } +} + +TEST(PROCESSORS, package) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_packages[0], cpuinfo_processors[i].package); } } @@ -43,10 +49,57 @@ TEST(PROCESSORS, DISABLED_linux_id) { } } +TEST(PROCESSORS, l1i) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_get_l1i_cache().instances[i], cpuinfo_processors[i].cache.l1i); + } +} + +TEST(PROCESSORS, l1d) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_EQ(&cpuinfo_get_l1d_cache().instances[i], cpuinfo_processors[i].cache.l1d); + } +} + +TEST(PROCESSORS, l2) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + switch (i) { + case 0: + case 1: + case 2: + case 3: + ASSERT_EQ(&cpuinfo_get_l2_cache().instances[0], cpuinfo_processors[i].cache.l2); + break; + case 4: + case 5: + case 6: + case 7: + ASSERT_EQ(&cpuinfo_get_l2_cache().instances[1], cpuinfo_processors[i].cache.l2); + break; + } + } +} + +TEST(PROCESSORS, l3) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_FALSE(cpuinfo_processors[i].cache.l3); + } +} + +TEST(PROCESSORS, l4) { + for (uint32_t i = 0; i < cpuinfo_processors_count; i++) { + ASSERT_FALSE(cpuinfo_processors[i].cache.l4); + } +} + TEST(CORES, count) { ASSERT_EQ(8, cpuinfo_cores_count); } +TEST(CORES, non_null) { + ASSERT_TRUE(cpuinfo_cores); +} + TEST(CORES, processor_start) { for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { ASSERT_EQ(i, cpuinfo_cores[i].processor_start); @@ -59,6 +112,36 @@ TEST(CORES, processor_count) { } } +TEST(CORES, core_id) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(i, cpuinfo_cores[i].core_id); + } +} + +TEST(CORES, package) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(&cpuinfo_packages[0], cpuinfo_cores[i].package); + } +} + +TEST(CORES, vendor) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(cpuinfo_vendor_arm, cpuinfo_cores[i].vendor); + } +} + +TEST(CORES, uarch) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(cpuinfo_uarch_cortex_a53, cpuinfo_cores[i].uarch); + } +} + +TEST(CORES, midr) { + for (uint32_t i = 0; i < cpuinfo_cores_count; i++) { + ASSERT_EQ(UINT32_C(0x410FD032), cpuinfo_cores[i].midr); + } +} + TEST(PACKAGES, count) { ASSERT_EQ(1, cpuinfo_packages_count); } |