OLD | NEW |
1 # Copyright 2013 The Chromium Authors. All rights reserved. | 1 # Copyright 2013 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 """Tests for the AdbWrapper class.""" | 5 """Tests for the AdbWrapper class.""" |
6 | 6 |
7 import os | 7 import os |
8 import tempfile | 8 import tempfile |
9 import time | 9 import time |
10 import unittest | 10 import unittest |
(...skipping 19 matching lines...) Expand all Loading... |
30 | 30 |
31 Returns: | 31 Returns: |
32 The absolute path to the file. | 32 The absolute path to the file. |
33 """ | 33 """ |
34 fi, path = tempfile.mkstemp() | 34 fi, path = tempfile.mkstemp() |
35 with os.fdopen(fi, 'wb') as f: | 35 with os.fdopen(fi, 'wb') as f: |
36 f.write(contents) | 36 f.write(contents) |
37 return path | 37 return path |
38 | 38 |
39 def testShell(self): | 39 def testShell(self): |
40 output = self._adb.Shell('echo test', expect_rc=0) | 40 output = self._adb.Shell('echo test', expect_status=0) |
41 self.assertEqual(output.strip(), 'test') | 41 self.assertEqual(output.strip(), 'test') |
42 output = self._adb.Shell('echo test') | 42 output = self._adb.Shell('echo test') |
43 self.assertEqual(output.strip(), 'test') | 43 self.assertEqual(output.strip(), 'test') |
44 self.assertRaises(device_errors.AdbShellCommandFailedError, | 44 with self.assertRaises(device_errors.AdbCommandFailedError): |
45 self._adb.Shell, 'echo test', expect_rc=1) | 45 self._adb.Shell('echo test', expect_status=1) |
46 | 46 |
47 def testPushPull(self): | 47 def testPushPull(self): |
48 path = self._MakeTempFile('foo') | 48 path = self._MakeTempFile('foo') |
49 device_path = '/data/local/tmp/testfile.txt' | 49 device_path = '/data/local/tmp/testfile.txt' |
50 local_tmpdir = os.path.dirname(path) | 50 local_tmpdir = os.path.dirname(path) |
51 self._adb.Push(path, device_path) | 51 self._adb.Push(path, device_path) |
52 self.assertEqual(self._adb.Shell('cat %s' % device_path), 'foo') | 52 self.assertEqual(self._adb.Shell('cat %s' % device_path), 'foo') |
53 self._adb.Pull(device_path, local_tmpdir) | 53 self._adb.Pull(device_path, local_tmpdir) |
54 with open(os.path.join(local_tmpdir, 'testfile.txt'), 'r') as f: | 54 with open(os.path.join(local_tmpdir, 'testfile.txt'), 'r') as f: |
55 self.assertEqual(f.read(), 'foo') | 55 self.assertEqual(f.read(), 'foo') |
56 | 56 |
57 def testInstall(self): | 57 def testInstall(self): |
58 path = self._MakeTempFile('foo') | 58 path = self._MakeTempFile('foo') |
59 self.assertRaises(device_errors.AdbCommandFailedError, self._adb.Install, | 59 with self.assertRaises(device_errors.AdbCommandFailedError): |
60 path) | 60 self._adb.Install(path) |
61 | 61 |
62 def testForward(self): | 62 def testForward(self): |
63 self.assertRaises(device_errors.AdbCommandFailedError, self._adb.Forward, | 63 with self.assertRaises(device_errors.AdbCommandFailedError): |
64 0, 0) | 64 self._adb.Forward(0, 0) |
65 | 65 |
66 def testUninstall(self): | 66 def testUninstall(self): |
67 self.assertRaises(device_errors.AdbCommandFailedError, self._adb.Uninstall, | 67 with self.assertRaises(device_errors.AdbCommandFailedError): |
68 'some.nonexistant.package') | 68 self._adb.Uninstall('some.nonexistant.package') |
69 | 69 |
70 def testRebootWaitForDevice(self): | 70 def testRebootWaitForDevice(self): |
71 self._adb.Reboot() | 71 self._adb.Reboot() |
72 print 'waiting for device to reboot...' | 72 print 'waiting for device to reboot...' |
73 while self._adb.GetState() == 'device': | 73 while self._adb.GetState() == 'device': |
74 time.sleep(1) | 74 time.sleep(1) |
75 self._adb.WaitForDevice() | 75 self._adb.WaitForDevice() |
76 self.assertEqual(self._adb.GetState(), 'device') | 76 self.assertEqual(self._adb.GetState(), 'device') |
77 print 'waiting for package manager...' | 77 print 'waiting for package manager...' |
78 while 'package:' not in self._adb.Shell('pm path android'): | 78 while 'package:' not in self._adb.Shell('pm path android'): |
79 time.sleep(1) | 79 time.sleep(1) |
80 | 80 |
81 def testRootRemount(self): | 81 def testRootRemount(self): |
82 self._adb.Root() | 82 self._adb.Root() |
83 while True: | 83 while True: |
84 try: | 84 try: |
85 self._adb.Shell('start') | 85 self._adb.Shell('start') |
86 break | 86 break |
87 except device_errors.AdbCommandFailedError: | 87 except device_errors.AdbCommandFailedError: |
88 time.sleep(1) | 88 time.sleep(1) |
89 self._adb.Remount() | 89 self._adb.Remount() |
90 | 90 |
91 | 91 |
92 if __name__ == '__main__': | 92 if __name__ == '__main__': |
93 unittest.main() | 93 unittest.main() |
OLD | NEW |