Update sdk/platform-tools to version 26.0.0.
[android_tools.git] / sdk / platform-tools / systrace / catapult / telemetry / telemetry / internal / platform / gpu_info_unittest.py
bloba395dddca4eea65ccb90cd3cea7a4c41960fcc83
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.
4 import unittest
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):
13 data = {
14 'devices': [
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'}
20 'aux_attributes': {
21 'optimus': False,
22 'amd_switchable': False,
23 'driver_vendor': 'c',
24 'driver_version': 'd',
25 'driver_date': 'e',
26 'gl_version_string': 'g',
27 'gl_vendor': 'h',
28 'gl_renderer': 'i',
29 'gl_extensions': 'j',
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):
55 data = {
56 'devices': [{'vendor_id': 1000, 'device_id': 2000,
57 'vendor_string': 'a', 'device_string': 'b'}]
60 for k in data:
61 data_copy = data.copy()
62 del data_copy[k]
63 try:
64 gpu_info.GPUInfo.FromDict(data_copy)
65 self.fail('Should raise exception if attribute "%s" is missing' % k)
66 except AssertionError:
67 raise
68 except KeyError:
69 pass
71 def testMissingDevices(self):
72 data = {
73 'devices': []
76 try:
77 gpu_info.GPUInfo.FromDict(data)
78 self.fail('Should raise exception if devices array is empty')
79 except AssertionError:
80 raise
81 except Exception:
82 pass