1# Copyright 2014 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 5import os 6import json 7 8from profile_chrome import chrome_controller 9from profile_chrome import controllers_unittest 10 11 12class ChromeControllerTest(controllers_unittest.BaseControllerTest): 13 def testGetCategories(self): 14 categories = \ 15 chrome_controller.ChromeTracingController.GetCategories( 16 self.device, self.package_info) 17 18 self.assertEquals(len(categories), 2) 19 self.assertTrue(categories[0]) 20 self.assertTrue(categories[1]) 21 22 def testTracing(self): 23 categories = '*' 24 ring_buffer = False 25 controller = chrome_controller.ChromeTracingController(self.device, 26 self.package_info, 27 categories, 28 ring_buffer) 29 30 interval = 1 31 try: 32 controller.StartTracing(interval) 33 finally: 34 controller.StopTracing() 35 36 result = controller.PullTrace() 37 try: 38 with open(result) as f: 39 json.loads(f.read()) 40 finally: 41 os.remove(result) 42