Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / tools / profile_chrome / systrace_controller_unittest.py
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
7 from profile_chrome import controllers_unittest
8 from profile_chrome import systrace_controller
9
10
11 class SystraceControllerTest(controllers_unittest.BaseControllerTest):
12   def testGetCategories(self):
13     categories = \
14         systrace_controller.SystraceController.GetCategories(self.device)
15     self.assertTrue(categories)
16     assert 'gfx' in ' '.join(categories)
17
18   def testTracing(self):
19     categories = ['gfx', 'input', 'view']
20     ring_buffer = False
21     controller = systrace_controller.SystraceController(self.device,
22                                                         categories,
23                                                         ring_buffer)
24
25     interval = 1
26     try:
27       controller.StartTracing(interval)
28     finally:
29       controller.StopTracing()
30
31     result = controller.PullTrace()
32     try:
33       with open(result) as f:
34         self.assertTrue('CPU#' in f.read())
35     finally:
36       os.remove(result)