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.core import gpu_device
7 from telemetry.core import gpu_info
8 from telemetry.core import system_info
11 class TestSystemInfo(unittest.TestCase):
12 def testConstruction(self):
14 'model_name': 'MacBookPro 10.1',
17 { 'vendor_id': 1000, 'device_id': 2000,
18 'vendor_string': 'a', 'device_string': 'b' },
22 info = system_info.SystemInfo.FromDict(data)
23 self.assertTrue(isinstance(info, system_info.SystemInfo))
24 self.assertTrue(isinstance(info.gpu, gpu_info.GPUInfo))
25 self.assertEquals(info.model_name, 'MacBookPro 10.1')
26 self.assertTrue(len(info.gpu.devices) == 1)
27 self.assertTrue(isinstance(info.gpu.devices[0], gpu_device.GPUDevice))
28 self.assertEquals(info.gpu.devices[0].vendor_id, 1000)
29 self.assertEquals(info.gpu.devices[0].device_id, 2000)
30 self.assertEquals(info.gpu.devices[0].vendor_string, 'a')
31 self.assertEquals(info.gpu.devices[0].device_string, 'b')
33 def testEmptyModelName(self):
38 { 'vendor_id': 1000, 'device_id': 2000,
39 'vendor_string': 'a', 'device_string': 'b' },
44 info = system_info.SystemInfo.FromDict(data)
45 self.assertEquals(info.model_name, '')
46 except AssertionError:
49 self.fail('Should not raise exception for empty model_name string')
51 def testMissingAttrsFromDict(self):
53 'model_name': 'MacBookPro 10.1',
54 'devices': [{ 'vendor_id': 1000, 'device_id': 2000,
55 'vendor_string': 'a', 'device_string': 'b' }]
59 data_copy = data.copy()
62 system_info.SystemInfo.FromDict(data_copy)
63 self.fail('Should raise exception if attribute "%s" is missing' % k)
64 except AssertionError: