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

Side by Side Diff: tools/telemetry/telemetry/android_browser_finder_unittest.py

Issue 12278015: [Telemetry] Reorganize everything. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Re-add shebangs. Created 7 years, 10 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 (c) 2012 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 import unittest
5
6 from telemetry import android_browser_finder
7 from telemetry import browser_options
8 from telemetry import system_stub
9
10 class LoggingStub(object):
11 def __init__(self):
12 self.warnings = []
13
14 def info(self, msg, *args):
15 pass
16
17 def warn(self, msg, *args):
18 self.warnings.append(msg % args)
19
20 class AndroidBrowserFinderTest(unittest.TestCase):
21 def setUp(self):
22 self._stubs = system_stub.Override(android_browser_finder,
23 ['adb_commands', 'subprocess'])
24
25 def tearDown(self):
26 self._stubs.Restore()
27
28 def test_no_adb(self):
29 options = browser_options.BrowserOptions()
30
31 def NoAdb(*args, **kargs): # pylint: disable=W0613
32 raise OSError('not found')
33 self._stubs.subprocess.Popen = NoAdb
34 browsers = android_browser_finder.FindAllAvailableBrowsers(options)
35 self.assertEquals(0, len(browsers))
36
37 def test_adb_no_devices(self):
38 options = browser_options.BrowserOptions()
39
40 browsers = android_browser_finder.FindAllAvailableBrowsers(options)
41 self.assertEquals(0, len(browsers))
42
43
44 def test_adb_permissions_error(self):
45 options = browser_options.BrowserOptions()
46
47 self._stubs.subprocess.Popen.communicate_result = (
48 """List of devices attached
49 ????????????\tno permissions""",
50 """* daemon not running. starting it now on port 5037 *
51 * daemon started successfully *
52 """)
53
54 log_stub = LoggingStub()
55 browsers = android_browser_finder.FindAllAvailableBrowsers(
56 options, log_stub)
57 self.assertEquals(3, len(log_stub.warnings))
58 self.assertEquals(0, len(browsers))
59
60
61 def test_adb_two_devices(self):
62 options = browser_options.BrowserOptions()
63
64 self._stubs.adb_commands.attached_devices = ['015d14fec128220c',
65 '015d14fec128220d']
66
67 log_stub = LoggingStub()
68 browsers = android_browser_finder.FindAllAvailableBrowsers(
69 options, log_stub)
70 self.assertEquals(1, len(log_stub.warnings))
71 self.assertEquals(0, len(browsers))
72
73 def test_adb_one_device(self):
74 options = browser_options.BrowserOptions()
75
76 self._stubs.adb_commands.attached_devices = ['015d14fec128220c']
77
78 def OnPM(args):
79 assert args[0] == 'pm'
80 assert args[1] == 'list'
81 assert args[2] == 'packages'
82 return ['package:org.chromium.content_shell_apk',
83 'package.com.google.android.setupwizard']
84
85 self._stubs.adb_commands.shell_command_handlers['pm'] = OnPM
86
87 browsers = android_browser_finder.FindAllAvailableBrowsers(options)
88 self.assertEquals(1, len(browsers))
OLDNEW
« no previous file with comments | « tools/telemetry/telemetry/android_browser_finder.py ('k') | tools/telemetry/telemetry/android_platform.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698