| Index: systrace/profile_chrome/perf_controller_unittest.py
|
| diff --git a/systrace/profile_chrome/perf_controller_unittest.py b/systrace/profile_chrome/perf_controller_unittest.py
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..f6285a4751226fff02d5f3beee16d83e3fa65107
|
| --- /dev/null
|
| +++ b/systrace/profile_chrome/perf_controller_unittest.py
|
| @@ -0,0 +1,40 @@
|
| +# 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
|
| +
|
| +
|
| +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)
|
|
|