1 # Copyright 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.
6 from telemetry
.internal
.platform
import gpu_device
7 from telemetry
.internal
.platform
import gpu_info
10 class TestGPUInfo(unittest
.TestCase
):
12 def testConstruction(self
):
15 {'vendor_id': 1000, 'device_id': 2000,
16 'vendor_string': 'a', 'device_string': 'b'},
17 {'vendor_id': 3000, 'device_id': 4000,
18 'vendor_string': 'k', 'device_string': 'l'}
22 'amd_switchable': False,
24 'driver_version': 'd',
26 'gl_version_string': 'g',
32 info
= gpu_info
.GPUInfo
.FromDict(data
)
33 self
.assertTrue(len(info
.devices
) == 2)
34 self
.assertTrue(isinstance(info
.devices
[0], gpu_device
.GPUDevice
))
35 self
.assertEquals(info
.devices
[0].vendor_id
, 1000)
36 self
.assertEquals(info
.devices
[0].device_id
, 2000)
37 self
.assertEquals(info
.devices
[0].vendor_string
, 'a')
38 self
.assertEquals(info
.devices
[0].device_string
, 'b')
39 self
.assertTrue(isinstance(info
.devices
[1], gpu_device
.GPUDevice
))
40 self
.assertEquals(info
.devices
[1].vendor_id
, 3000)
41 self
.assertEquals(info
.devices
[1].device_id
, 4000)
42 self
.assertEquals(info
.devices
[1].vendor_string
, 'k')
43 self
.assertEquals(info
.devices
[1].device_string
, 'l')
44 self
.assertEquals(info
.aux_attributes
['optimus'], False)
45 self
.assertEquals(info
.aux_attributes
['amd_switchable'], False)
46 self
.assertEquals(info
.aux_attributes
['driver_vendor'], 'c')
47 self
.assertEquals(info
.aux_attributes
['driver_version'], 'd')
48 self
.assertEquals(info
.aux_attributes
['driver_date'], 'e')
49 self
.assertEquals(info
.aux_attributes
['gl_version_string'], 'g')
50 self
.assertEquals(info
.aux_attributes
['gl_vendor'], 'h')
51 self
.assertEquals(info
.aux_attributes
['gl_renderer'], 'i')
52 self
.assertEquals(info
.aux_attributes
['gl_extensions'], 'j')
54 def testMissingAttrsFromDict(self
):
56 'devices': [{'vendor_id': 1000, 'device_id': 2000,
57 'vendor_string': 'a', 'device_string': 'b'}]
61 data_copy
= data
.copy()
64 gpu_info
.GPUInfo
.FromDict(data_copy
)
65 self
.fail('Should raise exception if attribute "%s" is missing' % k
)
66 except AssertionError:
71 def testMissingDevices(self
):
77 gpu_info
.GPUInfo
.FromDict(data
)
78 self
.fail('Should raise exception if devices array is empty')
79 except AssertionError: