# 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 controllers_unittest from profile_chrome import perf_controller from profile_chrome import ui from pylib import constants class PerfProfilerControllerTest(controllers_unittest.BaseControllerTest): def testGetCategories(self): if not perf_controller.PerfProfilerController.IsSupported(): return categories = \ perf_controller.PerfProfilerController.GetCategories(self.device) assert 'cycles' in ' '.join(categories) def testTracing(self): if not perf_controller.PerfProfilerController.IsSupported(): return ui.EnableTestMode() categories = ['cycles'] controller = perf_controller.PerfProfilerController(self.device, categories) 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)