Index: content/browser/gpu/gpu_control_list_entry_unittest.cc |
=================================================================== |
--- content/browser/gpu/gpu_control_list_entry_unittest.cc (revision 201645) |
+++ content/browser/gpu/gpu_control_list_entry_unittest.cc (working copy) |
@@ -1,748 +0,0 @@ |
-// Copyright (c) 2013 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#include "base/json/json_reader.h" |
-#include "content/browser/gpu/gpu_control_list.h" |
-#include "content/public/common/gpu_info.h" |
-#include "testing/gtest/include/gtest/gtest.h" |
- |
-#define LONG_STRING_CONST(...) #__VA_ARGS__ |
- |
-namespace content { |
- |
-enum TestFeatureType { |
- TEST_FEATURE_0 = 0, |
- TEST_FEATURE_1, |
- TEST_FEATURE_2 |
-}; |
- |
-class GpuControlListEntryTest : public testing::Test { |
- public: |
- GpuControlListEntryTest() { } |
- virtual ~GpuControlListEntryTest() { } |
- |
- const GPUInfo& gpu_info() const { |
- return gpu_info_; |
- } |
- |
- typedef GpuControlList::ScopedGpuControlListEntry ScopedEntry; |
- |
- static ScopedEntry GetEntryFromString( |
- const std::string& json, bool supports_feature_type_all) { |
- scoped_ptr<base::Value> root; |
- root.reset(base::JSONReader::Read(json)); |
- DictionaryValue* value = NULL; |
- if (root.get() == NULL || !root->GetAsDictionary(&value)) |
- return NULL; |
- |
- GpuControlList::FeatureMap feature_map; |
- feature_map["test_feature_0"] = TEST_FEATURE_0; |
- feature_map["test_feature_1"] = TEST_FEATURE_1; |
- feature_map["test_feature_2"] = TEST_FEATURE_2; |
- |
- return GpuControlList::GpuControlListEntry::GetEntryFromValue( |
- value, true, feature_map, supports_feature_type_all); |
- } |
- |
- static ScopedEntry GetEntryFromString(const std::string& json) { |
- return GetEntryFromString(json, false); |
- } |
- |
- virtual void SetUp() { |
- gpu_info_.gpu.vendor_id = 0x10de; |
- gpu_info_.gpu.device_id = 0x0640; |
- gpu_info_.driver_vendor = "NVIDIA"; |
- gpu_info_.driver_version = "1.6.18"; |
- gpu_info_.driver_date = "7-14-2009"; |
- gpu_info_.machine_model = "MacBookPro 7.1"; |
- gpu_info_.gl_vendor = "NVIDIA Corporation"; |
- gpu_info_.gl_renderer = "NVIDIA GeForce GT 120 OpenGL Engine"; |
- gpu_info_.performance_stats.graphics = 5.0; |
- gpu_info_.performance_stats.gaming = 5.0; |
- gpu_info_.performance_stats.overall = 5.0; |
- } |
- |
- private: |
- GPUInfo gpu_info_; |
-}; |
- |
-TEST_F(GpuControlListEntryTest, DetailedEntry) { |
- const std::string json = LONG_STRING_CONST( |
- { |
- "id": 5, |
- "description": "test entry", |
- "cr_bugs": [1024, 678], |
- "webkit_bugs": [1950], |
- "os": { |
- "type": "macosx", |
- "version": { |
- "op": "=", |
- "number": "10.6.4" |
- } |
- }, |
- "vendor_id": "0x10de", |
- "device_id": ["0x0640"], |
- "driver_version": { |
- "op": "=", |
- "number": "1.6.18" |
- }, |
- "features": [ |
- "test_feature_0" |
- ] |
- } |
- ); |
- |
- ScopedEntry entry(GetEntryFromString(json)); |
- EXPECT_TRUE(entry != NULL); |
- EXPECT_EQ(GpuControlList::kOsMacosx, entry->GetOsType()); |
- EXPECT_FALSE(entry->disabled()); |
- EXPECT_EQ(5u, entry->id()); |
- EXPECT_STREQ("test entry", entry->description().c_str()); |
- EXPECT_EQ(2u, entry->cr_bugs().size()); |
- EXPECT_EQ(1024, entry->cr_bugs()[0]); |
- EXPECT_EQ(678, entry->cr_bugs()[1]); |
- EXPECT_EQ(1u, entry->webkit_bugs().size()); |
- EXPECT_EQ(1950, entry->webkit_bugs()[0]); |
- EXPECT_EQ(1u, entry->features().size()); |
- EXPECT_EQ(1u, entry->features().count(TEST_FEATURE_0)); |
- EXPECT_FALSE(entry->contains_unknown_fields()); |
- EXPECT_FALSE(entry->contains_unknown_features()); |
- EXPECT_FALSE(entry->NeedsMoreInfo(gpu_info())); |
- EXPECT_TRUE(entry->Contains( |
- GpuControlList::kOsMacosx, "10.6.4", gpu_info())); |
-} |
- |
-TEST_F(GpuControlListEntryTest, VendorOnAllOsEntry) { |
- const std::string json = LONG_STRING_CONST( |
- { |
- "id": 1, |
- "vendor_id": "0x10de", |
- "features": [ |
- "test_feature_0" |
- ] |
- } |
- ); |
- ScopedEntry entry(GetEntryFromString(json)); |
- EXPECT_TRUE(entry != NULL); |
- EXPECT_EQ(GpuControlList::kOsAny, entry->GetOsType()); |
- |
- const GpuControlList::OsType os_type[] = { |
- GpuControlList::kOsMacosx, |
- GpuControlList::kOsWin, |
- GpuControlList::kOsLinux, |
- GpuControlList::kOsChromeOS, |
- GpuControlList::kOsAndroid |
- }; |
- for (size_t i = 0; i < arraysize(os_type); ++i) |
- EXPECT_TRUE(entry->Contains(os_type[i], "10.6", gpu_info())); |
-} |
- |
-TEST_F(GpuControlListEntryTest, VendorOnLinuxEntry) { |
- const std::string json = LONG_STRING_CONST( |
- { |
- "id": 1, |
- "os": { |
- "type": "linux" |
- }, |
- "vendor_id": "0x10de", |
- "features": [ |
- "test_feature_0" |
- ] |
- } |
- ); |
- ScopedEntry entry(GetEntryFromString(json)); |
- EXPECT_TRUE(entry != NULL); |
- EXPECT_EQ(GpuControlList::kOsLinux, entry->GetOsType()); |
- |
- const GpuControlList::OsType os_type[] = { |
- GpuControlList::kOsMacosx, |
- GpuControlList::kOsWin, |
- GpuControlList::kOsChromeOS, |
- GpuControlList::kOsAndroid |
- }; |
- for (size_t i = 0; i < arraysize(os_type); ++i) |
- EXPECT_FALSE(entry->Contains(os_type[i], "10.6", gpu_info())); |
- EXPECT_TRUE(entry->Contains( |
- GpuControlList::kOsLinux, "10.6", gpu_info())); |
-} |
- |
-TEST_F(GpuControlListEntryTest, AllExceptNVidiaOnLinuxEntry) { |
- const std::string json = LONG_STRING_CONST( |
- { |
- "id": 1, |
- "os": { |
- "type": "linux" |
- }, |
- "exceptions": [ |
- { |
- "vendor_id": "0x10de" |
- } |
- ], |
- "features": [ |
- "test_feature_0" |
- ] |
- } |
- ); |
- ScopedEntry entry(GetEntryFromString(json)); |
- EXPECT_TRUE(entry != NULL); |
- EXPECT_EQ(GpuControlList::kOsLinux, entry->GetOsType()); |
- |
- const GpuControlList::OsType os_type[] = { |
- GpuControlList::kOsMacosx, |
- GpuControlList::kOsWin, |
- GpuControlList::kOsLinux, |
- GpuControlList::kOsChromeOS, |
- GpuControlList::kOsAndroid |
- }; |
- for (size_t i = 0; i < arraysize(os_type); ++i) |
- EXPECT_FALSE(entry->Contains(os_type[i], "10.6", gpu_info())); |
-} |
- |
-TEST_F(GpuControlListEntryTest, AllExceptIntelOnLinuxEntry) { |
- const std::string json = LONG_STRING_CONST( |
- { |
- "id": 1, |
- "os": { |
- "type": "linux" |
- }, |
- "exceptions": [ |
- { |
- "vendor_id": "0x8086" |
- } |
- ], |
- "features": [ |
- "test_feature_0" |
- ] |
- } |
- ); |
- ScopedEntry entry(GetEntryFromString(json)); |
- EXPECT_TRUE(entry != NULL); |
- EXPECT_EQ(GpuControlList::kOsLinux, entry->GetOsType()); |
- |
- const GpuControlList::OsType os_type[] = { |
- GpuControlList::kOsMacosx, |
- GpuControlList::kOsWin, |
- GpuControlList::kOsChromeOS, |
- GpuControlList::kOsAndroid |
- }; |
- for (size_t i = 0; i < arraysize(os_type); ++i) |
- EXPECT_FALSE(entry->Contains(os_type[i], "10.6", gpu_info())); |
- EXPECT_TRUE(entry->Contains( |
- GpuControlList::kOsLinux, "10.6", gpu_info())); |
-} |
- |
-TEST_F(GpuControlListEntryTest, DateOnWindowsEntry) { |
- const std::string json = LONG_STRING_CONST( |
- { |
- "id": 1, |
- "os": { |
- "type": "win" |
- }, |
- "driver_date": { |
- "op": "<", |
- "number": "2010.5.8" |
- }, |
- "features": [ |
- "test_feature_0" |
- ] |
- } |
- ); |
- ScopedEntry entry(GetEntryFromString(json)); |
- EXPECT_TRUE(entry != NULL); |
- EXPECT_EQ(GpuControlList::kOsWin, entry->GetOsType()); |
- |
- GPUInfo gpu_info; |
- gpu_info.driver_date = "4-12-2010"; |
- EXPECT_TRUE(entry->Contains( |
- GpuControlList::kOsWin, "10.6", gpu_info)); |
- gpu_info.driver_date = "5-8-2010"; |
- EXPECT_FALSE(entry->Contains( |
- GpuControlList::kOsWin, "10.6", gpu_info)); |
- gpu_info.driver_date = "5-9-2010"; |
- EXPECT_FALSE(entry->Contains( |
- GpuControlList::kOsWin, "10.6", gpu_info)); |
-} |
- |
-TEST_F(GpuControlListEntryTest, MultipleDevicesEntry) { |
- const std::string json = LONG_STRING_CONST( |
- { |
- "id": 1, |
- "vendor_id": "0x10de", |
- "device_id": ["0x1023", "0x0640"], |
- "features": [ |
- "test_feature_0" |
- ] |
- } |
- ); |
- ScopedEntry entry(GetEntryFromString(json)); |
- EXPECT_TRUE(entry != NULL); |
- EXPECT_EQ(GpuControlList::kOsAny, entry->GetOsType()); |
- |
- const GpuControlList::OsType os_type[] = { |
- GpuControlList::kOsMacosx, |
- GpuControlList::kOsWin, |
- GpuControlList::kOsLinux, |
- GpuControlList::kOsChromeOS, |
- GpuControlList::kOsAndroid |
- }; |
- for (size_t i = 0; i < arraysize(os_type); ++i) |
- EXPECT_TRUE(entry->Contains(os_type[i], "10.6", gpu_info())); |
-} |
- |
-TEST_F(GpuControlListEntryTest, ChromeOSEntry) { |
- const std::string json = LONG_STRING_CONST( |
- { |
- "id": 1, |
- "os": { |
- "type": "chromeos" |
- }, |
- "features": [ |
- "test_feature_0" |
- ] |
- } |
- ); |
- ScopedEntry entry(GetEntryFromString(json)); |
- EXPECT_TRUE(entry != NULL); |
- EXPECT_EQ(GpuControlList::kOsChromeOS, entry->GetOsType()); |
- |
- const GpuControlList::OsType os_type[] = { |
- GpuControlList::kOsMacosx, |
- GpuControlList::kOsWin, |
- GpuControlList::kOsLinux, |
- GpuControlList::kOsAndroid |
- }; |
- for (size_t i = 0; i < arraysize(os_type); ++i) |
- EXPECT_FALSE(entry->Contains(os_type[i], "10.6", gpu_info())); |
- EXPECT_TRUE(entry->Contains( |
- GpuControlList::kOsChromeOS, "10.6", gpu_info())); |
-} |
- |
-TEST_F(GpuControlListEntryTest, MalformedVendor) { |
- const std::string json = LONG_STRING_CONST( |
- { |
- "id": 1, |
- "vendor_id": "[0x10de]", |
- "features": [ |
- "test_feature_0" |
- ] |
- } |
- ); |
- ScopedEntry entry(GetEntryFromString(json)); |
- EXPECT_TRUE(entry == NULL); |
-} |
- |
-TEST_F(GpuControlListEntryTest, UnknownFieldEntry) { |
- const std::string json = LONG_STRING_CONST( |
- { |
- "id": 1, |
- "unknown_field": 0, |
- "features": [ |
- "test_feature_0" |
- ] |
- } |
- ); |
- ScopedEntry entry(GetEntryFromString(json)); |
- EXPECT_TRUE(entry != NULL); |
- EXPECT_TRUE(entry->contains_unknown_fields()); |
- EXPECT_FALSE(entry->contains_unknown_features()); |
-} |
- |
-TEST_F(GpuControlListEntryTest, UnknownExceptionFieldEntry) { |
- const std::string json = LONG_STRING_CONST( |
- { |
- "id": 2, |
- "exceptions": [ |
- { |
- "unknown_field": 0 |
- } |
- ], |
- "features": [ |
- "test_feature_0" |
- ] |
- } |
- ); |
- ScopedEntry entry(GetEntryFromString(json)); |
- EXPECT_TRUE(entry != NULL); |
- EXPECT_TRUE(entry->contains_unknown_fields()); |
- EXPECT_FALSE(entry->contains_unknown_features()); |
-} |
- |
-TEST_F(GpuControlListEntryTest, UnknownFeatureEntry) { |
- const std::string json = LONG_STRING_CONST( |
- { |
- "id": 1, |
- "features": [ |
- "some_unknown_feature", |
- "test_feature_0" |
- ] |
- } |
- ); |
- ScopedEntry entry(GetEntryFromString(json)); |
- EXPECT_TRUE(entry != NULL); |
- EXPECT_FALSE(entry->contains_unknown_fields()); |
- EXPECT_TRUE(entry->contains_unknown_features()); |
- EXPECT_EQ(1u, entry->features().size()); |
- EXPECT_EQ(1u, entry->features().count(TEST_FEATURE_0)); |
- |
- const GpuControlList::OsType os_type[] = { |
- GpuControlList::kOsMacosx, |
- GpuControlList::kOsWin, |
- GpuControlList::kOsLinux, |
- GpuControlList::kOsChromeOS, |
- GpuControlList::kOsAndroid |
- }; |
- for (size_t i = 0; i < arraysize(os_type); ++i) |
- EXPECT_TRUE(entry->Contains(os_type[i], "10.6", gpu_info())); |
-} |
- |
-TEST_F(GpuControlListEntryTest, GlVendorEntry) { |
- const std::string json = LONG_STRING_CONST( |
- { |
- "id": 1, |
- "gl_vendor": { |
- "op": "beginwith", |
- "value": "NVIDIA" |
- }, |
- "features": [ |
- "test_feature_0" |
- ] |
- } |
- ); |
- ScopedEntry entry(GetEntryFromString(json)); |
- EXPECT_TRUE(entry != NULL); |
- |
- const GpuControlList::OsType os_type[] = { |
- GpuControlList::kOsMacosx, |
- GpuControlList::kOsWin, |
- GpuControlList::kOsLinux, |
- GpuControlList::kOsChromeOS, |
- GpuControlList::kOsAndroid |
- }; |
- for (size_t i = 0; i < arraysize(os_type); ++i) |
- EXPECT_TRUE(entry->Contains(os_type[i], "10.6", gpu_info())); |
-} |
- |
-TEST_F(GpuControlListEntryTest, GlRendererEntry) { |
- const std::string json = LONG_STRING_CONST( |
- { |
- "id": 1, |
- "gl_renderer": { |
- "op": "contains", |
- "value": "GeForce" |
- }, |
- "features": [ |
- "test_feature_0" |
- ] |
- } |
- ); |
- ScopedEntry entry(GetEntryFromString(json)); |
- EXPECT_TRUE(entry != NULL); |
- |
- const GpuControlList::OsType os_type[] = { |
- GpuControlList::kOsMacosx, |
- GpuControlList::kOsWin, |
- GpuControlList::kOsLinux, |
- GpuControlList::kOsChromeOS, |
- GpuControlList::kOsAndroid |
- }; |
- for (size_t i = 0; i < arraysize(os_type); ++i) |
- EXPECT_TRUE(entry->Contains(os_type[i], "10.6", gpu_info())); |
-} |
- |
-TEST_F(GpuControlListEntryTest, PerfGraphicsEntry) { |
- const std::string json = LONG_STRING_CONST( |
- { |
- "id": 1, |
- "perf_graphics": { |
- "op": "<", |
- "value": "6.0" |
- }, |
- "features": [ |
- "test_feature_0" |
- ] |
- } |
- ); |
- ScopedEntry entry(GetEntryFromString(json)); |
- EXPECT_TRUE(entry != NULL); |
- EXPECT_TRUE(entry->Contains( |
- GpuControlList::kOsWin, "10.6", gpu_info())); |
-} |
- |
-TEST_F(GpuControlListEntryTest, PerfGamingEntry) { |
- const std::string json = LONG_STRING_CONST( |
- { |
- "id": 1, |
- "perf_graphics": { |
- "op": "<=", |
- "value": "4.0" |
- }, |
- "features": [ |
- "test_feature_0" |
- ] |
- } |
- ); |
- ScopedEntry entry(GetEntryFromString(json)); |
- EXPECT_TRUE(entry != NULL); |
- EXPECT_FALSE(entry->Contains( |
- GpuControlList::kOsWin, "10.6", gpu_info())); |
-} |
- |
-TEST_F(GpuControlListEntryTest, PerfOverallEntry) { |
- const std::string json = LONG_STRING_CONST( |
- { |
- "id": 1, |
- "perf_overall": { |
- "op": "between", |
- "value": "1.0", |
- "value2": "9.0" |
- }, |
- "features": [ |
- "test_feature_0" |
- ] |
- } |
- ); |
- ScopedEntry entry(GetEntryFromString(json)); |
- EXPECT_TRUE(entry != NULL); |
- EXPECT_TRUE(entry->Contains( |
- GpuControlList::kOsWin, "10.6", gpu_info())); |
-} |
- |
-TEST_F(GpuControlListEntryTest, DisabledEntry) { |
- const std::string json = LONG_STRING_CONST( |
- { |
- "id": 1, |
- "disabled": true, |
- "features": [ |
- "test_feature_0" |
- ] |
- } |
- ); |
- ScopedEntry entry(GetEntryFromString(json)); |
- EXPECT_TRUE(entry != NULL); |
- EXPECT_TRUE(entry->disabled()); |
-} |
- |
-TEST_F(GpuControlListEntryTest, OptimusEntry) { |
- const std::string json = LONG_STRING_CONST( |
- { |
- "id": 1, |
- "os": { |
- "type": "linux" |
- }, |
- "multi_gpu_style": "optimus", |
- "features": [ |
- "test_feature_0" |
- ] |
- } |
- ); |
- GPUInfo gpu_info; |
- gpu_info.optimus = true; |
- |
- ScopedEntry entry(GetEntryFromString(json)); |
- EXPECT_TRUE(entry != NULL); |
- EXPECT_EQ(GpuControlList::kOsLinux, entry->GetOsType()); |
- EXPECT_TRUE(entry->Contains( |
- GpuControlList::kOsLinux, "10.6", gpu_info)); |
-} |
- |
-TEST_F(GpuControlListEntryTest, AMDSwitchableEntry) { |
- const std::string json = LONG_STRING_CONST( |
- { |
- "id": 1, |
- "os": { |
- "type": "macosx" |
- }, |
- "multi_gpu_style": "amd_switchable", |
- "features": [ |
- "test_feature_0" |
- ] |
- } |
- ); |
- GPUInfo gpu_info; |
- gpu_info.amd_switchable = true; |
- |
- ScopedEntry entry(GetEntryFromString(json)); |
- EXPECT_TRUE(entry != NULL); |
- EXPECT_EQ(GpuControlList::kOsMacosx, entry->GetOsType()); |
- EXPECT_TRUE(entry->Contains( |
- GpuControlList::kOsMacosx, "10.6", gpu_info)); |
-} |
- |
-TEST_F(GpuControlListEntryTest, LexicalDriverVersionEntry) { |
- const std::string json = LONG_STRING_CONST( |
- { |
- "id": 1, |
- "os": { |
- "type": "linux" |
- }, |
- "vendor_id": "0x1002", |
- "driver_version": { |
- "op": "=", |
- "style": "lexical", |
- "number": "8.76" |
- }, |
- "features": [ |
- "test_feature_0" |
- ] |
- } |
- ); |
- GPUInfo gpu_info; |
- gpu_info.gpu.vendor_id = 0x1002; |
- |
- ScopedEntry entry(GetEntryFromString(json)); |
- EXPECT_TRUE(entry != NULL); |
- EXPECT_EQ(GpuControlList::kOsLinux, entry->GetOsType()); |
- |
- gpu_info.driver_version = "8.76"; |
- EXPECT_TRUE(entry->Contains( |
- GpuControlList::kOsLinux, "10.6", gpu_info)); |
- |
- gpu_info.driver_version = "8.768"; |
- EXPECT_TRUE(entry->Contains( |
- GpuControlList::kOsLinux, "10.6", gpu_info)); |
- |
- gpu_info.driver_version = "8.76.8"; |
- EXPECT_TRUE(entry->Contains( |
- GpuControlList::kOsLinux, "10.6", gpu_info)); |
-} |
- |
-TEST_F(GpuControlListEntryTest, MultipleGPUsAnyEntry) { |
- const std::string json = LONG_STRING_CONST( |
- { |
- "id": 1, |
- "os": { |
- "type": "macosx" |
- }, |
- "vendor_id": "0x8086", |
- "device_id": ["0x0166"], |
- "multi_gpu_category": "any", |
- "features": [ |
- "test_feature_0" |
- ] |
- } |
- ); |
- ScopedEntry entry(GetEntryFromString(json)); |
- EXPECT_TRUE(entry != NULL); |
- EXPECT_EQ(GpuControlList::kOsMacosx, entry->GetOsType()); |
- |
- GPUInfo gpu_info; |
- gpu_info.gpu.vendor_id = 0x10de; |
- gpu_info.gpu.device_id = 0x1976; |
- EXPECT_FALSE(entry->Contains( |
- GpuControlList::kOsMacosx, "10.6", gpu_info)); |
- |
- GPUInfo::GPUDevice gpu_device; |
- gpu_device.vendor_id = 0x8086; |
- gpu_device.device_id = 0x0166; |
- gpu_info.secondary_gpus.push_back(gpu_device); |
- EXPECT_TRUE(entry->Contains( |
- GpuControlList::kOsMacosx, "10.6", gpu_info)); |
-} |
- |
-TEST_F(GpuControlListEntryTest, MultipleGPUsSecondaryEntry) { |
- const std::string json = LONG_STRING_CONST( |
- { |
- "id": 1, |
- "os": { |
- "type": "macosx" |
- }, |
- "vendor_id": "0x8086", |
- "device_id": ["0x0166"], |
- "multi_gpu_category": "secondary", |
- "features": [ |
- "test_feature_0" |
- ] |
- } |
- ); |
- ScopedEntry entry(GetEntryFromString(json)); |
- EXPECT_TRUE(entry != NULL); |
- EXPECT_EQ(GpuControlList::kOsMacosx, entry->GetOsType()); |
- |
- GPUInfo gpu_info; |
- gpu_info.gpu.vendor_id = 0x10de; |
- gpu_info.gpu.device_id = 0x1976; |
- EXPECT_FALSE(entry->Contains( |
- GpuControlList::kOsMacosx, "10.6", gpu_info)); |
- |
- GPUInfo::GPUDevice gpu_device; |
- gpu_device.vendor_id = 0x8086; |
- gpu_device.device_id = 0x0166; |
- gpu_info.secondary_gpus.push_back(gpu_device); |
- EXPECT_TRUE(entry->Contains( |
- GpuControlList::kOsMacosx, "10.6", gpu_info)); |
-} |
- |
-TEST_F(GpuControlListEntryTest, NeedsMoreInfoEntry) { |
- const std::string json = LONG_STRING_CONST( |
- { |
- "id": 1, |
- "vendor_id": "0x8086", |
- "driver_version": { |
- "op": "<", |
- "number": "10.7" |
- }, |
- "features": [ |
- "test_feature_1" |
- ] |
- } |
- ); |
- ScopedEntry entry(GetEntryFromString(json)); |
- EXPECT_TRUE(entry != NULL); |
- |
- GPUInfo gpu_info; |
- gpu_info.gpu.vendor_id = 0x8086; |
- EXPECT_TRUE(entry->NeedsMoreInfo(gpu_info)); |
- |
- gpu_info.driver_version = "10.6"; |
- EXPECT_FALSE(entry->NeedsMoreInfo(gpu_info)); |
-} |
- |
-TEST_F(GpuControlListEntryTest, NeedsMoreInfoForExceptionsEntry) { |
- const std::string json = LONG_STRING_CONST( |
- { |
- "id": 1, |
- "vendor_id": "0x8086", |
- "exceptions": [ |
- { |
- "gl_renderer": { |
- "op": "contains", |
- "value": "mesa" |
- } |
- } |
- ], |
- "features": [ |
- "test_feature_1" |
- ] |
- } |
- ); |
- ScopedEntry entry(GetEntryFromString(json)); |
- EXPECT_TRUE(entry != NULL); |
- |
- GPUInfo gpu_info; |
- gpu_info.gpu.vendor_id = 0x8086; |
- EXPECT_TRUE(entry->NeedsMoreInfo(gpu_info)); |
- |
- gpu_info.gl_renderer = "mesa"; |
- EXPECT_FALSE(entry->NeedsMoreInfo(gpu_info)); |
-} |
- |
-TEST_F(GpuControlListEntryTest, FeatureTypeAllEntry) { |
- const std::string json = LONG_STRING_CONST( |
- { |
- "id": 1, |
- "features": [ |
- "all" |
- ] |
- } |
- ); |
- ScopedEntry entry(GetEntryFromString(json, true)); |
- EXPECT_TRUE(entry != NULL); |
- EXPECT_EQ(3u, entry->features().size()); |
- EXPECT_EQ(1u, entry->features().count(TEST_FEATURE_0)); |
- EXPECT_EQ(1u, entry->features().count(TEST_FEATURE_1)); |
- EXPECT_EQ(1u, entry->features().count(TEST_FEATURE_2)); |
-} |
- |
-} // namespace content |
- |