Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(188)

Unified Diff: tools/telemetry/telemetry/simple_mock.py

Issue 12278015: [Telemetry] Reorganize everything. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Re-add shebangs. Created 7 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: tools/telemetry/telemetry/simple_mock.py
diff --git a/tools/telemetry/telemetry/simple_mock.py b/tools/telemetry/telemetry/simple_mock.py
deleted file mode 100644
index 6f7afb637d0c9ecf7dc4d45123a7b726df6bd081..0000000000000000000000000000000000000000
--- a/tools/telemetry/telemetry/simple_mock.py
+++ /dev/null
@@ -1,98 +0,0 @@
-# Copyright (c) 2012 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.
-"""A very very simple mock object harness."""
-
-DONT_CARE = ''
-
-class MockFunctionCall(object):
- def __init__(self, name):
- self.name = name
- self.args = tuple()
- self.return_value = None
- self.when_called_handlers = []
-
- def WithArgs(self, *args):
- self.args = args
- return self
-
- def WillReturn(self, value):
- self.return_value = value
- return self
-
- def WhenCalled(self, handler):
- self.when_called_handlers.append(handler)
-
- def VerifyEquals(self, got):
- if self.name != got.name:
- raise Exception('Self %s, got %s' % (repr(self), repr(got)))
- if len(self.args) != len(got.args):
- raise Exception('Self %s, got %s' % (repr(self), repr(got)))
- for i in range(len(self.args)):
- self_a = self.args[i]
- got_a = got.args[i]
- if self_a == DONT_CARE:
- continue
- if self_a != got_a:
- raise Exception('Self %s, got %s' % (repr(self), repr(got)))
-
- def __repr__(self):
- def arg_to_text(a):
- if a == DONT_CARE:
- return '_'
- return repr(a)
- args_text = ', '.join([arg_to_text(a) for a in self.args])
- if self.return_value in (None, DONT_CARE):
- return '%s(%s)' % (self.name, args_text)
- return '%s(%s)->%s' % (self.name, args_text, repr(self.return_value))
-
-class MockTrace(object):
- def __init__(self):
- self.expected_calls = []
- self.next_call_index = 0
-
-class MockObject(object):
- def __init__(self, parent_mock = None):
- if parent_mock:
- self._trace = parent_mock._trace # pylint: disable=W0212
- else:
- self._trace = MockTrace()
-
- def __setattr__(self, name, value):
- if (not hasattr(self, '_trace') or
- hasattr(value, 'is_hook')):
- object.__setattr__(self, name, value)
- return
- assert isinstance(value, MockObject)
- object.__setattr__(self, name, value)
-
- def ExpectCall(self, func_name, *args):
- assert self._trace.next_call_index == 0
- if not hasattr(self, func_name):
- self._install_hook(func_name)
-
- call = MockFunctionCall(func_name)
- self._trace.expected_calls.append(call)
- call.WithArgs(*args)
- return call
-
- def _install_hook(self, func_name):
- def handler(*args):
- got_call = MockFunctionCall(
- func_name).WithArgs(*args).WillReturn(DONT_CARE)
- if self._trace.next_call_index >= len(self._trace.expected_calls):
- raise Exception(
- 'Call to %s was not expected, at end of programmed trace.' %
- repr(got_call))
- expected_call = self._trace.expected_calls[
- self._trace.next_call_index]
- expected_call.VerifyEquals(got_call)
- self._trace.next_call_index += 1
- for h in expected_call.when_called_handlers:
- h(*args)
- return expected_call.return_value
- handler.is_hook = True
- setattr(self, func_name, handler)
-
-
-
« no previous file with comments | « tools/telemetry/telemetry/scrolling_action_unittest.py ('k') | tools/telemetry/telemetry/simple_mock_unittest.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698