68 lines
2.1 KiB
C++
68 lines
2.1 KiB
C++
#include <gtest/gtest.h>
|
|
|
|
#include <stdint.h>
|
|
#include <string.h>
|
|
|
|
#include <string>
|
|
|
|
#define CPUINFO_BUILD_PROP_VALUE_MAX 92
|
|
#define CPUINFO_ARM_CHIPSET_NAME_MAX 48
|
|
|
|
extern "C" void cpuinfo_arm_android_parse_ro_arch(
|
|
const char arch[CPUINFO_BUILD_PROP_VALUE_MAX],
|
|
uint32_t cores,
|
|
uint32_t max_cpu_freq_max,
|
|
char chipset_name[CPUINFO_ARM_CHIPSET_NAME_MAX]);
|
|
|
|
inline std::string parse_ro_arch(
|
|
std::string arch, uint32_t cores=1, uint32_t max_cpu_freq_max=0)
|
|
{
|
|
char arch_buffer[CPUINFO_BUILD_PROP_VALUE_MAX];
|
|
strncpy(arch_buffer, arch.c_str(), CPUINFO_BUILD_PROP_VALUE_MAX);
|
|
char chipset_name[CPUINFO_ARM_CHIPSET_NAME_MAX];
|
|
cpuinfo_arm_android_parse_ro_arch(
|
|
arch_buffer, cores, max_cpu_freq_max, chipset_name);
|
|
return std::string(chipset_name, strnlen(chipset_name, CPUINFO_ARM_CHIPSET_NAME_MAX));
|
|
}
|
|
|
|
TEST(RO_ARCH, samsung_exynos) {
|
|
EXPECT_EQ("Samsung Exynos 3470",
|
|
parse_ro_arch("exynos3470"));
|
|
EXPECT_EQ("Samsung Exynos 3475",
|
|
parse_ro_arch("exynos3475"));
|
|
EXPECT_EQ("Samsung Exynos 4415",
|
|
parse_ro_arch("exynos4415"));
|
|
EXPECT_EQ("Samsung Exynos 5260",
|
|
parse_ro_arch("exynos5260"));
|
|
EXPECT_EQ("Samsung Exynos 5410",
|
|
parse_ro_arch("exynos5410"));
|
|
EXPECT_EQ("Samsung Exynos 5420",
|
|
parse_ro_arch("exynos5420", 4));
|
|
EXPECT_EQ("Samsung Exynos 5422",
|
|
parse_ro_arch("exynos5422"));
|
|
EXPECT_EQ("Samsung Exynos 5430",
|
|
parse_ro_arch("exynos5430"));
|
|
EXPECT_EQ("Samsung Exynos 5433",
|
|
parse_ro_arch("exynos5433"));
|
|
EXPECT_EQ("Samsung Exynos 7420",
|
|
parse_ro_arch("exynos7420"));
|
|
EXPECT_EQ("Samsung Exynos 7570",
|
|
parse_ro_arch("exynos7570"));
|
|
EXPECT_EQ("Samsung Exynos 7580",
|
|
parse_ro_arch("exynos7580", 8));
|
|
EXPECT_EQ("Samsung Exynos 7870",
|
|
parse_ro_arch("exynos7870"));
|
|
EXPECT_EQ("Samsung Exynos 7872",
|
|
parse_ro_arch("exynos7872"));
|
|
EXPECT_EQ("Samsung Exynos 7880",
|
|
parse_ro_arch("exynos7880"));
|
|
EXPECT_EQ("Samsung Exynos 7885",
|
|
parse_ro_arch("exynos7885"));
|
|
EXPECT_EQ("Samsung Exynos 8890",
|
|
parse_ro_arch("exynos8890"));
|
|
EXPECT_EQ("Samsung Exynos 8895",
|
|
parse_ro_arch("exynos8895"));
|
|
EXPECT_EQ("Samsung Exynos 9810",
|
|
parse_ro_arch("exynos9810"));
|
|
}
|