# Copyright 2014 The Chromium Authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. import os import json from profile_chrome import chrome_controller from profile_chrome import controllers_unittest class ChromeControllerTest(controllers_unittest.BaseControllerTest): def testGetCategories(self): # Not supported on stable yet. # TODO(skyostil): Remove this once category queries roll into stable. if self.browser == 'stable': return categories = \ chrome_controller.ChromeTracingController.GetCategories( self.device, self.package_info) self.assertEquals(len(categories), 2) self.assertTrue(categories[0]) self.assertTrue(categories[1]) def testTracing(self): categories = '*' ring_buffer = False controller = chrome_controller.ChromeTracingController(self.device, self.package_info, categories, ring_buffer) interval = 1 try: controller.StartTracing(interval) finally: controller.StopTracing() result = controller.PullTrace() try: with open(result) as f: json.loads(f.read()) finally: os.remove(result)