OLD | NEW |
| (Empty) |
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 | |
5 import os | |
6 import json | |
7 | |
8 from profile_chrome import controllers_unittest | |
9 from profile_chrome import perf_controller | |
10 from profile_chrome import ui | |
11 | |
12 | |
13 class PerfProfilerControllerTest(controllers_unittest.BaseControllerTest): | |
14 def testGetCategories(self): | |
15 if not perf_controller.PerfProfilerController.IsSupported(): | |
16 return | |
17 categories = \ | |
18 perf_controller.PerfProfilerController.GetCategories(self.device) | |
19 assert 'cycles' in ' '.join(categories) | |
20 | |
21 def testTracing(self): | |
22 if not perf_controller.PerfProfilerController.IsSupported(): | |
23 return | |
24 ui.EnableTestMode() | |
25 categories = ['cycles'] | |
26 controller = perf_controller.PerfProfilerController(self.device, | |
27 categories) | |
28 | |
29 interval = 1 | |
30 try: | |
31 controller.StartTracing(interval) | |
32 finally: | |
33 controller.StopTracing() | |
34 | |
35 result = controller.PullTrace() | |
36 try: | |
37 with open(result) as f: | |
38 json.loads(f.read()) | |
39 finally: | |
40 os.remove(result) | |
OLD | NEW |