| Index: build/android/devil/utils/mock_calls_test.py
|
| diff --git a/build/android/devil/utils/mock_calls_test.py b/build/android/devil/utils/mock_calls_test.py
|
| deleted file mode 100755
|
| index b04fb58619dde42d7c9c9cb3e136a71482490ef9..0000000000000000000000000000000000000000
|
| --- a/build/android/devil/utils/mock_calls_test.py
|
| +++ /dev/null
|
| @@ -1,171 +0,0 @@
|
| -#!/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 mock_calls.py.
|
| -"""
|
| -
|
| -import logging
|
| -import os
|
| -import unittest
|
| -
|
| -from devil import devil_env
|
| -from devil.android.sdk import version_codes
|
| -from devil.utils import mock_calls
|
| -
|
| -with devil_env.SysPath(devil_env.config.LocalPath('pymock')):
|
| - import mock # pylint: disable=import-error
|
| -
|
| -
|
| -class _DummyAdb(object):
|
| - def __str__(self):
|
| - return '0123456789abcdef'
|
| -
|
| - def Push(self, host_path, device_path):
|
| - logging.debug('(device %s) pushing %r to %r', self, host_path, device_path)
|
| -
|
| - def IsOnline(self):
|
| - logging.debug('(device %s) checking device online', self)
|
| - return True
|
| -
|
| - def Shell(self, cmd):
|
| - logging.debug('(device %s) running command %r', self, cmd)
|
| - return "nice output\n"
|
| -
|
| - def Reboot(self):
|
| - logging.debug('(device %s) rebooted!', self)
|
| -
|
| - @property
|
| - def build_version_sdk(self):
|
| - logging.debug('(device %s) getting build_version_sdk', self)
|
| - return version_codes.LOLLIPOP
|
| -
|
| -
|
| -class TestCaseWithAssertCallsTest(mock_calls.TestCase):
|
| - def setUp(self):
|
| - self.adb = _DummyAdb()
|
| -
|
| - def ShellError(self):
|
| - def action(cmd):
|
| - raise ValueError('(device %s) command %r is not nice' % (self.adb, cmd))
|
| - return action
|
| -
|
| - def get_answer(self):
|
| - logging.debug("called 'get_answer' of %r object", self)
|
| - return 42
|
| -
|
| - def echo(self, thing):
|
| - logging.debug("called 'echo' of %r object", self)
|
| - return thing
|
| -
|
| - def testCallTarget_succeds(self):
|
| - self.assertEquals(self.adb.Shell,
|
| - self.call_target(self.call.adb.Shell))
|
| -
|
| - def testCallTarget_failsExternal(self):
|
| - with self.assertRaises(ValueError):
|
| - self.call_target(mock.call.sys.getcwd)
|
| -
|
| - def testCallTarget_failsUnknownAttribute(self):
|
| - with self.assertRaises(AttributeError):
|
| - self.call_target(self.call.adb.Run)
|
| -
|
| - def testCallTarget_failsIntermediateCalls(self):
|
| - with self.assertRaises(AttributeError):
|
| - self.call_target(self.call.adb.RunShell('cmd').append)
|
| -
|
| - def testPatchCall_method(self):
|
| - self.assertEquals(42, self.get_answer())
|
| - with self.patch_call(self.call.get_answer, return_value=123):
|
| - self.assertEquals(123, self.get_answer())
|
| - self.assertEquals(42, self.get_answer())
|
| -
|
| - def testPatchCall_attribute_method(self):
|
| - with self.patch_call(self.call.adb.Shell, return_value='hello'):
|
| - self.assertEquals('hello', self.adb.Shell('echo hello'))
|
| -
|
| - def testPatchCall_global(self):
|
| - with self.patch_call(mock.call.os.getcwd, return_value='/some/path'):
|
| - self.assertEquals('/some/path', os.getcwd())
|
| -
|
| - def testPatchCall_withSideEffect(self):
|
| - with self.patch_call(self.call.adb.Shell, side_effect=ValueError):
|
| - with self.assertRaises(ValueError):
|
| - self.adb.Shell('echo hello')
|
| -
|
| - def testPatchCall_property(self):
|
| - self.assertEquals(version_codes.LOLLIPOP, self.adb.build_version_sdk)
|
| - with self.patch_call(
|
| - self.call.adb.build_version_sdk,
|
| - return_value=version_codes.KITKAT):
|
| - self.assertEquals(version_codes.KITKAT, self.adb.build_version_sdk)
|
| - self.assertEquals(version_codes.LOLLIPOP, self.adb.build_version_sdk)
|
| -
|
| - def testAssertCalls_succeeds_simple(self):
|
| - self.assertEquals(42, self.get_answer())
|
| - with self.assertCall(self.call.get_answer(), 123):
|
| - self.assertEquals(123, self.get_answer())
|
| - self.assertEquals(42, self.get_answer())
|
| -
|
| - def testAssertCalls_succeeds_multiple(self):
|
| - with self.assertCalls(
|
| - (mock.call.os.getcwd(), '/some/path'),
|
| - (self.call.echo('hello'), 'hello'),
|
| - (self.call.get_answer(), 11),
|
| - self.call.adb.Push('this_file', 'that_file'),
|
| - (self.call.get_answer(), 12)):
|
| - self.assertEquals(os.getcwd(), '/some/path')
|
| - self.assertEquals('hello', self.echo('hello'))
|
| - self.assertEquals(11, self.get_answer())
|
| - self.adb.Push('this_file', 'that_file')
|
| - self.assertEquals(12, self.get_answer())
|
| -
|
| - def testAsserCalls_succeeds_withAction(self):
|
| - with self.assertCall(
|
| - self.call.adb.Shell('echo hello'), self.ShellError()):
|
| - with self.assertRaises(ValueError):
|
| - self.adb.Shell('echo hello')
|
| -
|
| - def testAssertCalls_fails_tooManyCalls(self):
|
| - with self.assertRaises(AssertionError):
|
| - with self.assertCalls(self.call.adb.IsOnline()):
|
| - self.adb.IsOnline()
|
| - self.adb.IsOnline()
|
| -
|
| - def testAssertCalls_fails_tooFewCalls(self):
|
| - with self.assertRaises(AssertionError):
|
| - with self.assertCalls(self.call.adb.IsOnline()):
|
| - pass
|
| -
|
| - def testAssertCalls_succeeds_extraCalls(self):
|
| - # we are not watching Reboot, so the assertion succeeds
|
| - with self.assertCalls(self.call.adb.IsOnline()):
|
| - self.adb.IsOnline()
|
| - self.adb.Reboot()
|
| -
|
| - def testAssertCalls_fails_extraCalls(self):
|
| - self.watchCalls([self.call.adb.Reboot])
|
| - # this time we are also watching Reboot, so the assertion fails
|
| - with self.assertRaises(AssertionError):
|
| - with self.assertCalls(self.call.adb.IsOnline()):
|
| - self.adb.IsOnline()
|
| - self.adb.Reboot()
|
| -
|
| - def testAssertCalls_succeeds_NoCalls(self):
|
| - self.watchMethodCalls(self.call.adb) # we are watching all adb methods
|
| - with self.assertCalls():
|
| - pass
|
| -
|
| - def testAssertCalls_fails_NoCalls(self):
|
| - self.watchMethodCalls(self.call.adb)
|
| - with self.assertRaises(AssertionError):
|
| - with self.assertCalls():
|
| - self.adb.IsOnline()
|
| -
|
| -
|
| -if __name__ == '__main__':
|
| - logging.getLogger().setLevel(logging.DEBUG)
|
| - unittest.main(verbosity=2)
|
| -
|
|
|