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.
8 from adb_profile_chrome import controllers_unittest
9 from adb_profile_chrome import perf_controller
10 from adb_profile_chrome import ui
12 from pylib import constants
15 class PerfProfilerControllerTest(controllers_unittest.BaseControllerTest):
16 def testGetCategories(self):
17 if not perf_controller.PerfProfilerController.IsSupported():
20 perf_controller.PerfProfilerController.GetCategories(self.device)
21 assert 'cycles' in ' '.join(categories)
23 def testTracing(self):
24 if not perf_controller.PerfProfilerController.IsSupported():
27 categories = ['cycles']
28 controller = perf_controller.PerfProfilerController(self.device,
33 controller.StartTracing(interval)
35 controller.StopTracing()
37 result = controller.PullTrace()
38 # Perf-to-JSON conversion can fail if dependencies are missing.
40 perf_script_path = os.path.join(constants.DIR_SOURCE_ROOT,
41 'tools', 'telemetry', 'telemetry', 'core', 'platform', 'profiler',
42 'perf_vis', 'perf_to_tracing.py')
43 assert not os.path.exists(perf_script_path)
47 with open(result) as f: