OLD | NEW |
1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
2 # Copyright 2014 The Chromium Authors. All rights reserved. | 2 # Copyright 2014 The Chromium Authors. All rights reserved. |
3 # Use of this source code is governed by a BSD-style license that can be | 3 # Use of this source code is governed by a BSD-style license that can be |
4 # found in the LICENSE file. | 4 # found in the LICENSE file. |
5 | 5 |
6 """ | 6 """ |
7 Unit tests for the contents of device_utils.py (mostly DeviceUtils). | 7 Unit tests for the contents of device_utils.py (mostly DeviceUtils). |
8 """ | 8 """ |
9 | 9 |
10 # pylint: disable=C0321 | 10 # pylint: disable=C0321 |
(...skipping 1189 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1200 self.device.WriteFile('/test/file/written.to.device', | 1200 self.device.WriteFile('/test/file/written.to.device', |
1201 'new test file contents', as_root=True) | 1201 'new test file contents', as_root=True) |
1202 | 1202 |
1203 def testWriteFile_asRoot_rejected(self): | 1203 def testWriteFile_asRoot_rejected(self): |
1204 self.device.old_interface._privileged_command_runner = None | 1204 self.device.old_interface._privileged_command_runner = None |
1205 self.device.old_interface._protected_file_access_method_initialized = True | 1205 self.device.old_interface._protected_file_access_method_initialized = True |
1206 with self.assertRaises(device_errors.CommandFailedError): | 1206 with self.assertRaises(device_errors.CommandFailedError): |
1207 self.device.WriteFile('/test/file/no.permissions.to.write', | 1207 self.device.WriteFile('/test/file/no.permissions.to.write', |
1208 'new test file contents', as_root=True) | 1208 'new test file contents', as_root=True) |
1209 | 1209 |
| 1210 class DeviceUtilsWriteTextFileTest(DeviceUtilsOldImplTest): |
| 1211 |
| 1212 def testWriteTextFileTest_basic(self): |
| 1213 with self.assertCalls( |
| 1214 "adb -s 0123456789abcdef shell 'echo some.string" |
| 1215 " > /test/file/to.write; echo %$?'", '%0\r\n'): |
| 1216 self.device.WriteTextFile('/test/file/to.write', 'some.string') |
| 1217 |
| 1218 def testWriteTextFileTest_stringWithSpaces(self): |
| 1219 with self.assertCalls( |
| 1220 "adb -s 0123456789abcdef shell 'echo '\\''some other string'\\''" |
| 1221 " > /test/file/to.write; echo %$?'", '%0\r\n'): |
| 1222 self.device.WriteTextFile('/test/file/to.write', 'some other string') |
| 1223 |
| 1224 def testWriteTextFileTest_asRoot_withSu(self): |
| 1225 with self.assertCallsSequence([ |
| 1226 ("adb -s 0123456789abcdef shell 'ls /root'", 'Permission denied\r\n'), |
| 1227 ("adb -s 0123456789abcdef shell 'su -c echo some.string" |
| 1228 " > /test/file/to.write; echo %$?'", '%0\r\n')]): |
| 1229 self.device.WriteTextFile('/test/file/to.write', 'some.string', |
| 1230 as_root=True) |
| 1231 |
| 1232 def testWriteTextFileTest_asRoot_withRoot(self): |
| 1233 with self.assertCallsSequence([ |
| 1234 ("adb -s 0123456789abcdef shell 'ls /root'", 'hello\r\nworld\r\n'), |
| 1235 ("adb -s 0123456789abcdef shell 'echo some.string" |
| 1236 " > /test/file/to.write; echo %$?'", '%0\r\n')]): |
| 1237 self.device.WriteTextFile('/test/file/to.write', 'some.string', |
| 1238 as_root=True) |
| 1239 |
| 1240 def testWriteTextFileTest_asRoot_rejected(self): |
| 1241 with self.assertCallsSequence([ |
| 1242 ("adb -s 0123456789abcdef shell 'ls /root'", 'Permission denied\r\n'), |
| 1243 ("adb -s 0123456789abcdef shell 'su -c echo some.string" |
| 1244 " > /test/file/to.write; echo %$?'", '%1\r\n')]): |
| 1245 with self.assertRaises(device_errors.CommandFailedError): |
| 1246 self.device.WriteTextFile('/test/file/to.write', 'some.string', |
| 1247 as_root=True) |
1210 | 1248 |
1211 class DeviceUtilsLsTest(DeviceUtilsOldImplTest): | 1249 class DeviceUtilsLsTest(DeviceUtilsOldImplTest): |
1212 | 1250 |
1213 def testLs_nothing(self): | 1251 def testLs_nothing(self): |
1214 with self.assertCallsSequence([ | 1252 with self.assertCallsSequence([ |
1215 ("adb -s 0123456789abcdef shell 'ls -lR /this/file/does.not.exist'", | 1253 ("adb -s 0123456789abcdef shell 'ls -lR /this/file/does.not.exist'", |
1216 '/this/file/does.not.exist: No such file or directory\r\n'), | 1254 '/this/file/does.not.exist: No such file or directory\r\n'), |
1217 ("adb -s 0123456789abcdef shell 'date +%z'", '+0000')]): | 1255 ("adb -s 0123456789abcdef shell 'date +%z'", '+0000')]): |
1218 self.assertEqual({}, self.device.Ls('/this/file/does.not.exist')) | 1256 self.assertEqual({}, self.device.Ls('/this/file/does.not.exist')) |
1219 | 1257 |
(...skipping 273 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1493 self.device = device_utils.DeviceUtils(None) | 1531 self.device = device_utils.DeviceUtils(None) |
1494 with self.assertCalls('adb get-serialno', 'unknown'), ( | 1532 with self.assertCalls('adb get-serialno', 'unknown'), ( |
1495 self.assertRaises(device_errors.NoDevicesError)): | 1533 self.assertRaises(device_errors.NoDevicesError)): |
1496 str(self.device) | 1534 str(self.device) |
1497 | 1535 |
1498 | 1536 |
1499 if __name__ == '__main__': | 1537 if __name__ == '__main__': |
1500 logging.getLogger().setLevel(logging.DEBUG) | 1538 logging.getLogger().setLevel(logging.DEBUG) |
1501 unittest.main(verbosity=2) | 1539 unittest.main(verbosity=2) |
1502 | 1540 |
OLD | NEW |