| OLD | NEW |
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "base/json/json_reader.h" | 5 #include "base/json/json_reader.h" |
| 6 #include "gpu/config/gpu_control_list.h" | 6 #include "gpu/config/gpu_control_list.h" |
| 7 #include "gpu/config/gpu_info.h" | 7 #include "gpu/config/gpu_info.h" |
| 8 #include "testing/gtest/include/gtest/gtest.h" | 8 #include "testing/gtest/include/gtest/gtest.h" |
| 9 | 9 |
| 10 #define LONG_STRING_CONST(...) #__VA_ARGS__ | 10 #define LONG_STRING_CONST(...) #__VA_ARGS__ |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 49 return GetEntryFromString(json, false); | 49 return GetEntryFromString(json, false); |
| 50 } | 50 } |
| 51 | 51 |
| 52 virtual void SetUp() { | 52 virtual void SetUp() { |
| 53 gpu_info_.gpu.vendor_id = 0x10de; | 53 gpu_info_.gpu.vendor_id = 0x10de; |
| 54 gpu_info_.gpu.device_id = 0x0640; | 54 gpu_info_.gpu.device_id = 0x0640; |
| 55 gpu_info_.gpu.active = true; | 55 gpu_info_.gpu.active = true; |
| 56 gpu_info_.driver_vendor = "NVIDIA"; | 56 gpu_info_.driver_vendor = "NVIDIA"; |
| 57 gpu_info_.driver_version = "1.6.18"; | 57 gpu_info_.driver_version = "1.6.18"; |
| 58 gpu_info_.driver_date = "7-14-2009"; | 58 gpu_info_.driver_date = "7-14-2009"; |
| 59 gpu_info_.machine_model = "MacBookPro 7.1"; | |
| 60 gpu_info_.gl_vendor = "NVIDIA Corporation"; | 59 gpu_info_.gl_vendor = "NVIDIA Corporation"; |
| 61 gpu_info_.gl_renderer = "NVIDIA GeForce GT 120 OpenGL Engine"; | 60 gpu_info_.gl_renderer = "NVIDIA GeForce GT 120 OpenGL Engine"; |
| 62 gpu_info_.performance_stats.graphics = 5.0; | 61 gpu_info_.performance_stats.graphics = 5.0; |
| 63 gpu_info_.performance_stats.gaming = 5.0; | 62 gpu_info_.performance_stats.gaming = 5.0; |
| 64 gpu_info_.performance_stats.overall = 5.0; | 63 gpu_info_.performance_stats.overall = 5.0; |
| 65 } | 64 } |
| 66 | 65 |
| 67 protected: | 66 protected: |
| 68 GPUInfo gpu_info_; | 67 GPUInfo gpu_info_; |
| 69 }; | 68 }; |
| (...skipping 630 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 700 ] | 699 ] |
| 701 } | 700 } |
| 702 ); | 701 ); |
| 703 ScopedEntry entry(GetEntryFromString(json)); | 702 ScopedEntry entry(GetEntryFromString(json)); |
| 704 EXPECT_TRUE(entry.get() != NULL); | 703 EXPECT_TRUE(entry.get() != NULL); |
| 705 EXPECT_EQ(GpuControlList::kOsMacosx, entry->GetOsType()); | 704 EXPECT_EQ(GpuControlList::kOsMacosx, entry->GetOsType()); |
| 706 EXPECT_TRUE(entry->Contains( | 705 EXPECT_TRUE(entry->Contains( |
| 707 GpuControlList::kOsMacosx, "10.6", gpu_info())); | 706 GpuControlList::kOsMacosx, "10.6", gpu_info())); |
| 708 } | 707 } |
| 709 | 708 |
| 709 TEST_F(GpuControlListEntryTest, MachineModelName) { |
| 710 const std::string json = LONG_STRING_CONST( |
| 711 { |
| 712 "id": 1, |
| 713 "os": { |
| 714 "type": "android" |
| 715 }, |
| 716 "machine_model_name": ["Nexus 4", "XT1032"], |
| 717 "features": [ |
| 718 "test_feature_0" |
| 719 ] |
| 720 } |
| 721 ); |
| 722 ScopedEntry entry(GetEntryFromString(json)); |
| 723 EXPECT_TRUE(entry.get() != NULL); |
| 724 EXPECT_EQ(GpuControlList::kOsAndroid, entry->GetOsType()); |
| 725 GPUInfo gpu_info; |
| 726 |
| 727 gpu_info.machine_model_name = "Nexus 4"; |
| 728 EXPECT_TRUE(entry->Contains( |
| 729 GpuControlList::kOsAndroid, "4.1", gpu_info)); |
| 730 |
| 731 gpu_info.machine_model_name = "XT1032"; |
| 732 EXPECT_TRUE(entry->Contains( |
| 733 GpuControlList::kOsAndroid, "4.1", gpu_info)); |
| 734 |
| 735 gpu_info.machine_model_name = "XT1032i"; |
| 736 EXPECT_FALSE(entry->Contains( |
| 737 GpuControlList::kOsAndroid, "4.1", gpu_info)); |
| 738 |
| 739 gpu_info.machine_model_name = "Nexus 5"; |
| 740 EXPECT_FALSE(entry->Contains( |
| 741 GpuControlList::kOsAndroid, "4.1", gpu_info)); |
| 742 |
| 743 gpu_info.machine_model_name = "Nexus"; |
| 744 EXPECT_FALSE(entry->Contains( |
| 745 GpuControlList::kOsAndroid, "4.1", gpu_info)); |
| 746 } |
| 747 |
| 748 TEST_F(GpuControlListEntryTest, MachineModelVersion) { |
| 749 const std::string json = LONG_STRING_CONST( |
| 750 { |
| 751 "id": 1, |
| 752 "os": { |
| 753 "type": "macosx" |
| 754 }, |
| 755 "machine_model_name": ["MacBookPro"], |
| 756 "machine_model_version": { |
| 757 "op": "=", |
| 758 "value": "7.1" |
| 759 }, |
| 760 "features": [ |
| 761 "test_feature_0" |
| 762 ] |
| 763 } |
| 764 ); |
| 765 ScopedEntry entry(GetEntryFromString(json)); |
| 766 EXPECT_TRUE(entry.get() != NULL); |
| 767 GPUInfo gpu_info; |
| 768 gpu_info.machine_model_name = "MacBookPro"; |
| 769 gpu_info.machine_model_version = "7.1"; |
| 770 EXPECT_EQ(GpuControlList::kOsMacosx, entry->GetOsType()); |
| 771 EXPECT_TRUE(entry->Contains( |
| 772 GpuControlList::kOsMacosx, "10.6", gpu_info)); |
| 773 } |
| 774 |
| 710 class GpuControlListEntryDualGPUTest : public GpuControlListEntryTest { | 775 class GpuControlListEntryDualGPUTest : public GpuControlListEntryTest { |
| 711 public: | 776 public: |
| 712 GpuControlListEntryDualGPUTest() { } | 777 GpuControlListEntryDualGPUTest() { } |
| 713 virtual ~GpuControlListEntryDualGPUTest() { } | 778 virtual ~GpuControlListEntryDualGPUTest() { } |
| 714 | 779 |
| 715 virtual void SetUp() OVERRIDE { | 780 virtual void SetUp() OVERRIDE { |
| 716 // Set up a NVIDIA/Intel dual, with NVIDIA as primary and Intel as | 781 // Set up a NVIDIA/Intel dual, with NVIDIA as primary and Intel as |
| 717 // secondary, and initially Intel is active. | 782 // secondary, and initially Intel is active. |
| 718 gpu_info_.gpu.vendor_id = 0x10de; | 783 gpu_info_.gpu.vendor_id = 0x10de; |
| 719 gpu_info_.gpu.device_id = 0x0640; | 784 gpu_info_.gpu.device_id = 0x0640; |
| (...skipping 192 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 912 ); | 977 ); |
| 913 // By default, secondary GPU is active. | 978 // By default, secondary GPU is active. |
| 914 EntryShouldNotApply(json); | 979 EntryShouldNotApply(json); |
| 915 | 980 |
| 916 ActivatePrimaryGPU(); | 981 ActivatePrimaryGPU(); |
| 917 EntryShouldApply(json); | 982 EntryShouldApply(json); |
| 918 } | 983 } |
| 919 | 984 |
| 920 } // namespace gpu | 985 } // namespace gpu |
| 921 | 986 |
| OLD | NEW |