Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(214)

Side by Side Diff: gpu/config/gpu_control_list_os_info_unittest.cc

Issue 2756793003: Move GPU blacklist and driver bug workaround list from json to data struct. (Closed)
Patch Set: pure rebase Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include <stddef.h>
6
7 #include "gpu/config/gpu_control_list.h"
8 #include "testing/gtest/include/gtest/gtest.h"
9
10 namespace gpu {
11
12 class OsInfoTest : public testing::Test {
13 public:
14 OsInfoTest() { }
15 ~OsInfoTest() override {}
16
17 typedef GpuControlList::OsInfo OsInfo;
18 };
19
20 TEST_F(OsInfoTest, ValidOsInfo) {
21 const std::string os[] = {
22 "win",
23 "linux",
24 "macosx",
25 "chromeos",
26 "android",
27 "any"
28 };
29 const GpuControlList::OsType os_type[] = {
30 GpuControlList::kOsWin,
31 GpuControlList::kOsLinux,
32 GpuControlList::kOsMacosx,
33 GpuControlList::kOsChromeOS,
34 GpuControlList::kOsAndroid,
35 GpuControlList::kOsAny
36 };
37 for (size_t i = 0; i < arraysize(os); ++i) {
38 OsInfo info(os[i], "=", "10.6", std::string());
39 EXPECT_TRUE(info.IsValid());
40 EXPECT_EQ(os_type[i], info.type());
41 }
42 {
43 OsInfo info("any", "any", std::string(), std::string());
44 EXPECT_TRUE(info.IsValid());
45 }
46 }
47
48 TEST_F(OsInfoTest, InvalidOsInfo) {
49 const std::string os[] = {
50 "win",
51 "linux",
52 "macosx",
53 "chromeos",
54 "android",
55 "any"
56 };
57 for (size_t i = 0; i < arraysize(os); ++i) {
58 {
59 OsInfo info(os[i], std::string(), std::string(), std::string());
60 EXPECT_FALSE(info.IsValid());
61 }
62 {
63 OsInfo info(os[i], "=", std::string(), std::string());
64 EXPECT_FALSE(info.IsValid());
65 }
66 {
67 OsInfo info(os[i], std::string(), "10.6", std::string());
68 EXPECT_FALSE(info.IsValid());
69 }
70 }
71 const std::string os_cap[] = {
72 "Win",
73 "Linux",
74 "MacOSX",
75 "ChromeOS",
76 "Android",
77 };
78 for (size_t i = 0; i < arraysize(os_cap); ++i) {
79 OsInfo info(os_cap[i], "=", "10.6", std::string());
80 EXPECT_FALSE(info.IsValid());
81 }
82 }
83
84 TEST_F(OsInfoTest, NonNumericOsVersion) {
85 {
86 OsInfo info("android", "<", "4.2", std::string());
87 EXPECT_TRUE(info.IsValid());
88 // The expectation is the version number first, then extra info.
89 EXPECT_TRUE(info.Contains(
90 GpuControlList::kOsAndroid, "4.0 bug fix version 5.2"));
91 EXPECT_FALSE(info.Contains(GpuControlList::kOsAndroid, "F"));
92 EXPECT_FALSE(info.Contains(GpuControlList::kOsAndroid, "F 4.0"));
93 EXPECT_FALSE(info.Contains(GpuControlList::kOsAndroid, std::string()));
94 }
95 {
96 OsInfo info("android", "any", std::string(), std::string());
97 EXPECT_TRUE(info.IsValid());
98 EXPECT_TRUE(info.Contains(
99 GpuControlList::kOsAndroid, "4.0 bug fix version 5.2"));
100 EXPECT_TRUE(info.Contains(GpuControlList::kOsAndroid, "F"));
101 EXPECT_TRUE(info.Contains(GpuControlList::kOsAndroid, "F 4.0"));
102 EXPECT_TRUE(info.Contains(GpuControlList::kOsAndroid, std::string()));
103 }
104 }
105
106 TEST_F(OsInfoTest, OsVersionZero) {
107 {
108 OsInfo info("android", "<", "4.2", std::string());
109 EXPECT_TRUE(info.IsValid());
110 // All forms of version 0 is considered invalid.
111 EXPECT_FALSE(info.Contains(GpuControlList::kOsAndroid, "0"));
112 EXPECT_FALSE(info.Contains(GpuControlList::kOsAndroid, "0.0"));
113 EXPECT_FALSE(info.Contains(GpuControlList::kOsAndroid, "0.00.0"));
114 }
115 {
116 OsInfo info("android", "any", std::string(), std::string());
117 EXPECT_TRUE(info.IsValid());
118 EXPECT_TRUE(info.Contains(GpuControlList::kOsAndroid, "0"));
119 EXPECT_TRUE(info.Contains(GpuControlList::kOsAndroid, "0.0"));
120 EXPECT_TRUE(info.Contains(GpuControlList::kOsAndroid, "0.00.0"));
121 }
122 }
123
124 TEST_F(OsInfoTest, OsComparison) {
125 {
126 OsInfo info("any", "any", std::string(), std::string());
127 const GpuControlList::OsType os_type[] = {
128 GpuControlList::kOsWin, GpuControlList::kOsLinux,
129 GpuControlList::kOsMacosx, GpuControlList::kOsChromeOS,
130 GpuControlList::kOsAndroid,
131 };
132 for (size_t i = 0; i < arraysize(os_type); ++i) {
133 EXPECT_TRUE(info.Contains(os_type[i], std::string()));
134 EXPECT_TRUE(info.Contains(os_type[i], "7.8"));
135 }
136 }
137 {
138 OsInfo info("win", ">=", "6", std::string());
139 EXPECT_FALSE(info.Contains(GpuControlList::kOsMacosx, "10.8.3"));
140 EXPECT_FALSE(info.Contains(GpuControlList::kOsLinux, "10"));
141 EXPECT_FALSE(info.Contains(GpuControlList::kOsChromeOS, "13"));
142 EXPECT_FALSE(info.Contains(GpuControlList::kOsAndroid, "7"));
143 EXPECT_FALSE(info.Contains(GpuControlList::kOsAny, "7"));
144 EXPECT_FALSE(info.Contains(GpuControlList::kOsWin, std::string()));
145 EXPECT_TRUE(info.Contains(GpuControlList::kOsWin, "6"));
146 EXPECT_TRUE(info.Contains(GpuControlList::kOsWin, "6.1"));
147 EXPECT_TRUE(info.Contains(GpuControlList::kOsWin, "7"));
148 EXPECT_FALSE(info.Contains(GpuControlList::kOsWin, "5"));
149 }
150 }
151
152 } // namespace gpu
153
OLDNEW
« no previous file with comments | « gpu/config/gpu_control_list_number_info_unittest.cc ('k') | gpu/config/gpu_control_list_testing.json » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698