gpu_device_unittest.py revision 3551c9c881056c480085172ff9840cab31610854
13551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)# Copyright 2013 The Chromium Authors. All rights reserved. 23551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)# Use of this source code is governed by a BSD-style license that can be 33551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)# found in the LICENSE file. 43551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)import unittest 53551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) 63551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)from telemetry.core import gpu_device 73551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) 83551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)class TestGPUDevice(unittest.TestCase): 93551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) def testConstruction(self): 103551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) device = gpu_device.GPUDevice(1000, 2000, 'test_vendor', 'test_device') 113551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) self.assertEquals(device.vendor_id, 1000) 123551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) self.assertEquals(device.device_id, 2000) 133551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) self.assertEquals(device.vendor_string, 'test_vendor') 143551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) self.assertEquals(device.device_string, 'test_device') 153551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) 163551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) def testFromDict(self): 173551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) dictionary = { 'vendor_id': 3000, 183551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) 'device_id': 4000, 193551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) 'vendor_string': 'test_vendor_2', 203551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) 'device_string': 'test_device_2' } 213551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) device = gpu_device.GPUDevice.FromDict(dictionary) 223551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) self.assertEquals(device.vendor_id, 3000) 233551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) self.assertEquals(device.device_id, 4000) 243551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) self.assertEquals(device.vendor_string, 'test_vendor_2') 253551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) self.assertEquals(device.device_string, 'test_device_2') 263551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) 273551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) def testMissingAttrsFromDict(self): 283551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) data = { 293551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) 'vendor_id': 1, 303551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) 'device_id': 2, 313551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) 'vendor_string': 'a', 323551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) 'device_string': 'b' 333551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) } 343551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) 353551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) for k in data: 363551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) data_copy = data.copy() 373551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) del data_copy[k] 383551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) try: 393551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) gpu_device.GPUDevice.FromDict(data_copy) 403551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) self.fail('Should raise exception if attribute "%s" is missing' % k) 413551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) except AssertionError: 423551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) raise 433551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) except: 443551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) pass 45