| Index: tools/telemetry/telemetry/core/gpu_info_unittest.py
|
| diff --git a/tools/telemetry/telemetry/core/gpu_info_unittest.py b/tools/telemetry/telemetry/core/gpu_info_unittest.py
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..3620d0a1a36fce45bf5eea2571f840db7f9c7e2b
|
| --- /dev/null
|
| +++ b/tools/telemetry/telemetry/core/gpu_info_unittest.py
|
| @@ -0,0 +1,75 @@
|
| +# 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.
|
| +import unittest
|
| +
|
| +from telemetry.core import gpu_info
|
| +from telemetry.core import gpu_device
|
| +
|
| +class TestGPUInfo(unittest.TestCase):
|
| + def testConstruction(self):
|
| + data = {
|
| + 'optimus': False,
|
| + 'amd_switchable': False,
|
| + 'lenovo_dcute': False,
|
| + 'gpu': { 'vendor_id': 1000, 'device_id': 2000,
|
| + 'vendor_string': 'a', 'device_string': 'b' },
|
| + 'driver_vendor': 'c',
|
| + 'driver_version': 'd',
|
| + 'driver_date': 'e',
|
| + 'machine_model': 'f',
|
| + 'gl_version_string': 'g',
|
| + 'gl_vendor': 'h',
|
| + 'gl_renderer': 'i',
|
| + 'gl_extensions': 'j',
|
| + 'secondary_gpus': [
|
| + { 'vendor_id': 3000, 'device_id': 4000,
|
| + 'vendor_string': 'k', 'device_string': 'l' },
|
| + { 'vendor_id': 5000, 'device_id': 6000,
|
| + 'vendor_string': 'm', 'device_string': 'n' }]
|
| + }
|
| + info = gpu_info.GPUInfo(data)
|
| + self.assertTrue(isinstance(info.gpu, gpu_device.GPUDevice))
|
| + self.assertEquals(info.gpu.vendor_id, 1000)
|
| + self.assertEquals(info.gpu.device_id, 2000)
|
| + self.assertEquals(info.gpu.vendor_string, 'a')
|
| + self.assertEquals(info.gpu.device_string, 'b')
|
| + self.assertEquals(len(info.secondary_gpus), 2)
|
| + self.assertTrue(isinstance(info.secondary_gpus[0], gpu_device.GPUDevice))
|
| + self.assertEquals(info.secondary_gpus[0].vendor_id, 3000)
|
| + self.assertEquals(info.secondary_gpus[0].device_id, 4000)
|
| + self.assertEquals(info.secondary_gpus[0].vendor_string, 'k')
|
| + self.assertEquals(info.secondary_gpus[0].device_string, 'l')
|
| + self.assertTrue(isinstance(info.secondary_gpus[1], gpu_device.GPUDevice))
|
| + self.assertEquals(info.secondary_gpus[1].vendor_id, 5000)
|
| + self.assertEquals(info.secondary_gpus[1].device_id, 6000)
|
| + self.assertEquals(info.secondary_gpus[1].vendor_string, 'm')
|
| + self.assertEquals(info.secondary_gpus[1].device_string, 'n')
|
| + self.assertEquals(info.machine_model, 'f')
|
| + self.assertEquals(info.optional_attributes['optimus'], False)
|
| + self.assertEquals(info.optional_attributes['amd_switchable'], False)
|
| + self.assertEquals(info.optional_attributes['lenovo_dcute'], False)
|
| + self.assertEquals(info.optional_attributes['driver_vendor'], 'c')
|
| + self.assertEquals(info.optional_attributes['driver_version'], 'd')
|
| + self.assertEquals(info.optional_attributes['driver_date'], 'e')
|
| + self.assertEquals(info.optional_attributes['gl_version_string'], 'g')
|
| + self.assertEquals(info.optional_attributes['gl_vendor'], 'h')
|
| + self.assertEquals(info.optional_attributes['gl_renderer'], 'i')
|
| + self.assertEquals(info.optional_attributes['gl_extensions'], 'j')
|
| +
|
| + def testMissingAttrsFromDict(self):
|
| + data = {
|
| + 'gpu': { 'vendor_id': 1000, 'device_id': 2000,
|
| + 'vendor_string': 'a', 'device_string': 'b' },
|
| + }
|
| +
|
| + for k in data:
|
| + data_copy = data.copy()
|
| + del data_copy[k]
|
| + try:
|
| + gpu_info.GPUInfo.FromDict(data_copy)
|
| + self.fail('Should raise exception if attribute "%s" is missing' % k)
|
| + except AssertionError:
|
| + raise
|
| + except:
|
| + pass
|
|
|