Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(314)

Side by Side Diff: build/android/chrome_profiler/controllers_unittest.py

Issue 290013006: adb_profile_chrome: Refactor into multiple modules and add tests (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(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 import unittest
8
9 from chrome_profiler import controllers
10 from chrome_profiler import profiler
11
12 from pylib import android_commands
13 from pylib.device import device_utils
14
15
16 _BROWSER = 'stable'
17
18
19 class ControllersTest(unittest.TestCase):
20 def setUp(self):
21 devices = android_commands.GetAttachedDevices()
22 self.assertEquals(len(devices), 1)
Dominik Grewe 2014/05/22 18:07:10 Is this always true on the bots?
Sami 2014/05/27 11:03:54 You're right, it isn't. I think I'll just pick the
23 self.package_info = profiler.GetSupportedBrowsers()[_BROWSER]
24 self.device = device_utils.DeviceUtils(devices[0])
25
26 adb = android_commands.AndroidCommands(devices[0])
27 adb.StartActivity(self.package_info.package,
28 self.package_info.activity,
29 wait_for_completion=True)
30
31 def testChromeTracingGetCategories(self):
32 # Not supported on stable yet.
33 if _BROWSER == 'stable':
Dominik Grewe 2014/05/22 18:07:10 Currently this will always be false, won't it? Are
Sami 2014/05/27 11:03:54 That's right, this is really here only for manual
34 return
35
36 categories = \
37 controllers.ChromeTracingController.GetCategories(self.device,
38 self.package_info)
39 self.assertEquals(len(categories), 2)
40 self.assertTrue(categories[0])
41 self.assertTrue(categories[1])
42
43 def testChromeTracing(self):
44 categories = '*'
45 ring_buffer = False
46 controller = controllers.ChromeTracingController(self.device,
47 self.package_info,
48 categories,
49 ring_buffer)
50
51 interval = 1
52 try:
53 controller.StartTracing(interval)
54 finally:
55 controller.StopTracing()
56
57 result = controller.PullTrace()
58 try:
59 with open(result) as f:
60 json.loads(f.read())
61 finally:
62 os.remove(result)
63
64 def testSystraceGetCategories(self):
65 categories = controllers.SystraceController.GetCategories(self.device)
66 self.assertTrue(categories)
67
68 def testSystrace(self):
69 categories = ['gfx', 'input', 'view']
70 ring_buffer = False
71 controller = controllers.SystraceController(self.device,
72 categories,
73 ring_buffer)
74
75 interval = 1
76 try:
77 controller.StartTracing(interval)
78 finally:
79 controller.StopTracing()
80
81 result = controller.PullTrace()
82 try:
83 with open(result) as f:
84 self.assertTrue('CPU#' in f.read())
85 finally:
86 os.remove(result)
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698