| OLD | NEW |
| (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 import unittest |
| 5 |
| 6 from telemetry.core import gpu_info |
| 7 from telemetry.core import gpu_device |
| 8 |
| 9 class TestGPUInfo(unittest.TestCase): |
| 10 def testConstruction(self): |
| 11 data = { |
| 12 'optimus': False, |
| 13 'amd_switchable': False, |
| 14 'lenovo_dcute': False, |
| 15 'gpu': { 'vendor_id': 1000, 'device_id': 2000, |
| 16 'vendor_string': 'a', 'device_string': 'b' }, |
| 17 'driver_vendor': 'c', |
| 18 'driver_version': 'd', |
| 19 'driver_date': 'e', |
| 20 'machine_model': 'f', |
| 21 'gl_version_string': 'g', |
| 22 'gl_vendor': 'h', |
| 23 'gl_renderer': 'i', |
| 24 'gl_extensions': 'j', |
| 25 'secondary_gpus': [ |
| 26 { 'vendor_id': 3000, 'device_id': 4000, |
| 27 'vendor_string': 'k', 'device_string': 'l' }, |
| 28 { 'vendor_id': 5000, 'device_id': 6000, |
| 29 'vendor_string': 'm', 'device_string': 'n' }] |
| 30 } |
| 31 info = gpu_info.GPUInfo(data) |
| 32 self.assertTrue(isinstance(info.gpu, gpu_device.GPUDevice)) |
| 33 self.assertEquals(info.gpu.vendor_id, 1000) |
| 34 self.assertEquals(info.gpu.device_id, 2000) |
| 35 self.assertEquals(info.gpu.vendor_string, 'a') |
| 36 self.assertEquals(info.gpu.device_string, 'b') |
| 37 self.assertEquals(len(info.secondary_gpus), 2) |
| 38 self.assertTrue(isinstance(info.secondary_gpus[0], gpu_device.GPUDevice)) |
| 39 self.assertEquals(info.secondary_gpus[0].vendor_id, 3000) |
| 40 self.assertEquals(info.secondary_gpus[0].device_id, 4000) |
| 41 self.assertEquals(info.secondary_gpus[0].vendor_string, 'k') |
| 42 self.assertEquals(info.secondary_gpus[0].device_string, 'l') |
| 43 self.assertTrue(isinstance(info.secondary_gpus[1], gpu_device.GPUDevice)) |
| 44 self.assertEquals(info.secondary_gpus[1].vendor_id, 5000) |
| 45 self.assertEquals(info.secondary_gpus[1].device_id, 6000) |
| 46 self.assertEquals(info.secondary_gpus[1].vendor_string, 'm') |
| 47 self.assertEquals(info.secondary_gpus[1].device_string, 'n') |
| 48 self.assertEquals(info.machine_model, 'f') |
| 49 self.assertEquals(info.optional_attributes['optimus'], False) |
| 50 self.assertEquals(info.optional_attributes['amd_switchable'], False) |
| 51 self.assertEquals(info.optional_attributes['lenovo_dcute'], False) |
| 52 self.assertEquals(info.optional_attributes['driver_vendor'], 'c') |
| 53 self.assertEquals(info.optional_attributes['driver_version'], 'd') |
| 54 self.assertEquals(info.optional_attributes['driver_date'], 'e') |
| 55 self.assertEquals(info.optional_attributes['gl_version_string'], 'g') |
| 56 self.assertEquals(info.optional_attributes['gl_vendor'], 'h') |
| 57 self.assertEquals(info.optional_attributes['gl_renderer'], 'i') |
| 58 self.assertEquals(info.optional_attributes['gl_extensions'], 'j') |
| 59 |
| 60 def testMissingAttrsFromDict(self): |
| 61 data = { |
| 62 'gpu': { 'vendor_id': 1000, 'device_id': 2000, |
| 63 'vendor_string': 'a', 'device_string': 'b' }, |
| 64 } |
| 65 |
| 66 for k in data: |
| 67 data_copy = data.copy() |
| 68 del data_copy[k] |
| 69 try: |
| 70 gpu_info.GPUInfo.FromDict(data_copy) |
| 71 self.fail('Should raise exception if attribute "%s" is missing' % k) |
| 72 except AssertionError: |
| 73 raise |
| 74 except: |
| 75 pass |
| OLD | NEW |