• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #include <gtest/gtest.h>
2 
3 #include <stdint.h>
4 #include <string.h>
5 
6 #include <string>
7 
8 #define CPUINFO_BUILD_PROP_VALUE_MAX 92
9 #define CPUINFO_ARM_CHIPSET_NAME_MAX 48
10 
11 extern "C" void cpuinfo_arm_android_parse_ro_mediatek_platform(
12 	const char platform[CPUINFO_BUILD_PROP_VALUE_MAX],
13 	uint32_t cores,
14 	uint32_t max_cpu_freq_max,
15 	char chipset_name[CPUINFO_ARM_CHIPSET_NAME_MAX]);
16 
parse_ro_mediatek_platform(std::string platform,uint32_t cores=1,uint32_t max_cpu_freq_max=0)17 inline std::string parse_ro_mediatek_platform(std::string platform, uint32_t cores = 1, uint32_t max_cpu_freq_max = 0) {
18 	char platform_buffer[CPUINFO_BUILD_PROP_VALUE_MAX];
19 	strncpy(platform_buffer, platform.c_str(), CPUINFO_BUILD_PROP_VALUE_MAX);
20 	char chipset_name[CPUINFO_ARM_CHIPSET_NAME_MAX];
21 	cpuinfo_arm_android_parse_ro_mediatek_platform(platform_buffer, cores, max_cpu_freq_max, chipset_name);
22 	return std::string(chipset_name, strnlen(chipset_name, CPUINFO_ARM_CHIPSET_NAME_MAX));
23 }
24 
TEST(RO_MEDIATEK_PLATFORM,qualcomm)25 TEST(RO_MEDIATEK_PLATFORM, qualcomm) {
26 	EXPECT_EQ("", parse_ro_mediatek_platform("MSM8225Q"));
27 	EXPECT_EQ("", parse_ro_mediatek_platform("Qualcomm Snapdragon 805"));
28 	EXPECT_EQ("", parse_ro_mediatek_platform("Qualcomm Snapdragon 820"));
29 }
30 
TEST(RO_MEDIATEK_PLATFORM,samsung)31 TEST(RO_MEDIATEK_PLATFORM, samsung) {
32 	EXPECT_EQ("", parse_ro_mediatek_platform("EXYNOS5420"));
33 	EXPECT_EQ("", parse_ro_mediatek_platform("Samsung  Exynos 5420"));
34 }
35 
TEST(RO_MEDIATEK_PLATFORM,apple)36 TEST(RO_MEDIATEK_PLATFORM, apple) {
37 	EXPECT_EQ("", parse_ro_mediatek_platform("Apple A9"));
38 	EXPECT_EQ("", parse_ro_mediatek_platform("Apple A10"));
39 }
40 
TEST(RO_MEDIATEK_PLATFORM,mediatek_mt)41 TEST(RO_MEDIATEK_PLATFORM, mediatek_mt) {
42 	EXPECT_EQ("MediaTek MT5861", parse_ro_mediatek_platform("mt5861"));
43 	EXPECT_EQ("MediaTek MT5882", parse_ro_mediatek_platform("mt5882"));
44 	EXPECT_EQ("MediaTek MT6570", parse_ro_mediatek_platform("mt6570"));
45 	EXPECT_EQ("MediaTek MT6572", parse_ro_mediatek_platform("mt6572"));
46 	EXPECT_EQ("MediaTek MT6572A", parse_ro_mediatek_platform("MT6572A"));
47 	EXPECT_EQ("MediaTek MT6575", parse_ro_mediatek_platform("mt6575"));
48 	EXPECT_EQ("MediaTek MT6577", parse_ro_mediatek_platform("MT6577"));
49 	EXPECT_EQ("MediaTek MT6577", parse_ro_mediatek_platform("mt6577"));
50 	EXPECT_EQ("MediaTek MT6580", parse_ro_mediatek_platform("mt6580"));
51 	EXPECT_EQ("MediaTek MT6582", parse_ro_mediatek_platform("MTK6582"));
52 	EXPECT_EQ("MediaTek MT6582", parse_ro_mediatek_platform("mt6582"));
53 	EXPECT_EQ("MediaTek MT6582M", parse_ro_mediatek_platform("MTK6582M"));
54 	EXPECT_EQ("MediaTek MT6589", parse_ro_mediatek_platform("MT6589"));
55 	EXPECT_EQ("MediaTek MT6589", parse_ro_mediatek_platform("MTK6589"));
56 	EXPECT_EQ("MediaTek MT6592", parse_ro_mediatek_platform("mt6592"));
57 	EXPECT_EQ("MediaTek MT6592T", parse_ro_mediatek_platform("MTK6592T"));
58 	EXPECT_EQ("MediaTek MT6595", parse_ro_mediatek_platform("mt6595"));
59 	EXPECT_EQ("MediaTek MT6732", parse_ro_mediatek_platform("mt6752", 4));
60 	EXPECT_EQ("MediaTek MT6735", parse_ro_mediatek_platform("mt6735"));
61 	EXPECT_EQ("MediaTek MT6735M", parse_ro_mediatek_platform("mt6735m"));
62 	EXPECT_EQ("MediaTek MT6737", parse_ro_mediatek_platform("mt6737"));
63 	EXPECT_EQ("MediaTek MT6737M", parse_ro_mediatek_platform("mt6737m"));
64 	EXPECT_EQ("MediaTek MT6737T", parse_ro_mediatek_platform("mt6737t"));
65 	EXPECT_EQ("MediaTek MT6750", parse_ro_mediatek_platform("mt6750"));
66 	EXPECT_EQ("MediaTek MT6752", parse_ro_mediatek_platform("mt6752", 8));
67 	EXPECT_EQ("MediaTek MT6753", parse_ro_mediatek_platform("mt6753"));
68 	EXPECT_EQ("MediaTek MT6755", parse_ro_mediatek_platform("mt6755"));
69 	EXPECT_EQ("MediaTek MT6757", parse_ro_mediatek_platform("mt6757"));
70 	EXPECT_EQ("MediaTek MT6795", parse_ro_mediatek_platform("mt6795"));
71 	EXPECT_EQ("MediaTek MT6797", parse_ro_mediatek_platform("mt6797"));
72 	EXPECT_EQ("MediaTek MT8111", parse_ro_mediatek_platform("MT8111"));
73 	EXPECT_EQ("MediaTek MT8127", parse_ro_mediatek_platform("MT8127"));
74 	EXPECT_EQ("MediaTek MT8127", parse_ro_mediatek_platform("mt8127"));
75 	EXPECT_EQ("MediaTek MT8135", parse_ro_mediatek_platform("mt8135"));
76 	EXPECT_EQ("MediaTek MT8151", parse_ro_mediatek_platform("mt8151"));
77 	EXPECT_EQ("MediaTek MT8163", parse_ro_mediatek_platform("mt8163"));
78 	EXPECT_EQ("MediaTek MT8167", parse_ro_mediatek_platform("mt8167"));
79 	EXPECT_EQ("MediaTek MT8173", parse_ro_mediatek_platform("mt8173"));
80 	EXPECT_EQ("MediaTek MT8312", parse_ro_mediatek_platform("MT8312"));
81 	EXPECT_EQ("MediaTek MT8382", parse_ro_mediatek_platform("MT8382"));
82 	EXPECT_EQ("MediaTek MT8382V", parse_ro_mediatek_platform("MT8382V"));
83 	EXPECT_EQ("MediaTek MT8392", parse_ro_mediatek_platform("MT8392"));
84 }
85