diff options
| author | Elliott Hughes <enh@google.com> | 2015-10-23 21:55:31 -0700 |
|---|---|---|
| committer | Elliott Hughes <enh@google.com> | 2015-10-23 21:55:31 -0700 |
| commit | a7aa6e2b1d39340ad60cb66e22ec1db3f0951953 (patch) | |
| tree | 48b65472981a584a5e0d24ad290813f500801f96 /python-packages | |
| parent | 66bb9fa2cd8f13e0965f99c2b28ab8f0eb4e8e9e (diff) | |
| download | android_development-a7aa6e2b1d39340ad60cb66e22ec1db3f0951953.tar.gz android_development-a7aa6e2b1d39340ad60cb66e22ec1db3f0951953.tar.bz2 android_development-a7aa6e2b1d39340ad60cb66e22ec1db3f0951953.zip | |
Add a test for "adb pull" error reporting.
Bug: http://b/6205106
Change-Id: I2093c3d451361d48056b85c8017acb032a3ff478
Diffstat (limited to 'python-packages')
| -rw-r--r-- | python-packages/adb/test_device.py | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/python-packages/adb/test_device.py b/python-packages/adb/test_device.py index 5d11ddc20..ed3467c7c 100644 --- a/python-packages/adb/test_device.py +++ b/python-packages/adb/test_device.py @@ -54,6 +54,23 @@ def requires_root(func): return wrapper +def requires_non_root(func): + def wrapper(self, *args): + was_root = self.device.shell(['id', '-un'])[0].strip() == 'root' + if was_root: + self.device.unroot() + self.device.wait() + + try: + func(self, *args) + finally: + if was_root: + self.device.root() + self.device.wait() + + return wrapper + + class GetDeviceTest(unittest.TestCase): def setUp(self): self.android_serial = os.getenv('ANDROID_SERIAL') @@ -496,6 +513,20 @@ class FileOperationsTest(DeviceTest): self.assertEqual(checksum, host_md5) os.remove(tmp_write.name) + @requires_non_root + def test_pull_error_reporting(self): + self.device.shell(['touch', self.DEVICE_TEMP_FILE]) + self.device.shell(['chmod', 'a-rwx', self.DEVICE_TEMP_FILE]) + + try: + output = self.device.pull(remote=self.DEVICE_TEMP_FILE, local='x') + except subprocess.CalledProcessError as e: + output = e.output + + self.assertIn('Permission denied', output) + + self.device.shell(['rm', '-f', self.DEVICE_TEMP_FILE]) + def test_pull(self): """Pull a randomly generated file from specified device.""" kbytes = 512 |
