| Index: build/android/pylib/utils/device_temp_file_test.py
|
| diff --git a/build/android/pylib/utils/device_temp_file_test.py b/build/android/pylib/utils/device_temp_file_test.py
|
| new file mode 100755
|
| index 0000000000000000000000000000000000000000..b0d23b12685fe04b7ada456307c6e6627f7727ea
|
| --- /dev/null
|
| +++ b/build/android/pylib/utils/device_temp_file_test.py
|
| @@ -0,0 +1,51 @@
|
| +#!/usr/bin/env python
|
| +# Copyright 2014 The Chromium Authors. All rights reserved.
|
| +# Use of this source code is governed by a BSD-style license that can be
|
| +# found in the LICENSE file.
|
| +
|
| +"""
|
| +Unit tests for the contents of device_temp_file.py.
|
| +"""
|
| +
|
| +import logging
|
| +import os
|
| +import sys
|
| +import unittest
|
| +
|
| +from pylib import constants
|
| +from pylib.utils import device_temp_file
|
| +
|
| +sys.path.append(os.path.join(
|
| + constants.DIR_SOURCE_ROOT, 'third_party', 'pymock'))
|
| +import mock # pylint: disable=F0401
|
| +
|
| +class DeviceTempFileTest(unittest.TestCase):
|
| +
|
| + def setUp(self):
|
| + self.device_utils = mock.MagicMock()
|
| +
|
| + def testTempFileNameAlreadyExists(self):
|
| + self.device_utils.GetExternalStoragePath.return_value = '/sdcard'
|
| + self.device_utils.FileExists.side_effect = [True, True, True, False]
|
| +
|
| + tmpfile = device_temp_file.DeviceTempFile(self.device_utils)
|
| + logging.debug('Temp file name: %s' % tmpfile.name)
|
| + self.assertEqual(self.device_utils.FileExists.call_count, 4)
|
| + self.device_utils.WriteFile.assert_called_with(tmpfile.name, '')
|
| +
|
| + def testTempFileLifecycle(self):
|
| + self.device_utils.GetExternalStoragePath.return_value = '/sdcard'
|
| + self.device_utils.FileExists.return_value = False
|
| +
|
| + with device_temp_file.DeviceTempFile(self.device_utils) as tmpfile:
|
| + filename = tmpfile.name
|
| + self.assertEqual(self.device_utils.WriteFile.call_count, 1)
|
| + self.assertNotEqual(self.device_utils.RunShellCommand.call_args,
|
| + mock.call(['rm', mock.ANY]))
|
| +
|
| + self.assertEqual(self.device_utils.RunShellCommand.call_args,
|
| + mock.call(['rm', filename]))
|
| +
|
| +if __name__ == '__main__':
|
| + logging.getLogger().setLevel(logging.DEBUG)
|
| + unittest.main(verbosity=2)
|
|
|