Home | History | Annotate | Download | only in adb_profile_chrome
      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 adb_profile_chrome import controllers_unittest
      8 from adb_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)
     37