| 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 """A temp file that automatically gets pushed and deleted from a device.""" | 5 """A temp file that automatically gets pushed and deleted from a device.""" |
| 6 | 6 |
| 7 # pylint: disable=W0622 | 7 # pylint: disable=W0622 |
| 8 | 8 |
| 9 import random | 9 import random |
| 10 import time | 10 import time |
| (...skipping 25 matching lines...) Expand all Loading... |
| 36 try: | 36 try: |
| 37 self._adb.Shell('test -e %s' % self.name_quoted) | 37 self._adb.Shell('test -e %s' % self.name_quoted) |
| 38 except device_errors.AdbCommandFailedError: | 38 except device_errors.AdbCommandFailedError: |
| 39 break # file does not exist | 39 break # file does not exist |
| 40 | 40 |
| 41 # Immediately touch the file, so other temp files can't get the same name. | 41 # Immediately touch the file, so other temp files can't get the same name. |
| 42 self._adb.Shell('touch %s' % self.name_quoted) | 42 self._adb.Shell('touch %s' % self.name_quoted) |
| 43 | 43 |
| 44 def close(self): | 44 def close(self): |
| 45 """Deletes the temporary file from the device.""" | 45 """Deletes the temporary file from the device.""" |
| 46 # we use -f to ignore errors if the file is already gone | 46 # ignore exception if the file is already gone. |
| 47 self._adb.Shell('rm -f %s' % self.name_quoted) | 47 try: |
| 48 self._adb.Shell('rm -f %s' % self.name_quoted) |
| 49 except device_errors.AdbCommandFailedError: |
| 50 # file does not exist on Android version without 'rm -f' support (ICS) |
| 51 pass |
| 48 | 52 |
| 49 def __enter__(self): | 53 def __enter__(self): |
| 50 return self | 54 return self |
| 51 | 55 |
| 52 def __exit__(self, type, value, traceback): | 56 def __exit__(self, type, value, traceback): |
| 53 self.close() | 57 self.close() |
| OLD | NEW |