Index: tools/telemetry/telemetry/unittest/simple_mock.py |
diff --git a/tools/telemetry/telemetry/unittest/simple_mock.py b/tools/telemetry/telemetry/unittest/simple_mock.py |
index 0df3092df45e37ec475105aee06c4f3255fcdb2b..6366a684d79c7f4184c7f4176eb68da0eb1cc638 100644 |
--- a/tools/telemetry/telemetry/unittest/simple_mock.py |
+++ b/tools/telemetry/telemetry/unittest/simple_mock.py |
@@ -2,6 +2,7 @@ |
# 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.""" |
+from types import ModuleType |
DONT_CARE = '' |
@@ -99,14 +100,33 @@ class MockObject(object): |
class MockTimer(object): |
- def __init__(self): |
+ """ A mock timer to fake out the timing for a module. |
+ Args: |
+ module: module to fake out the time |
+ """ |
+ def __init__(self, module=None): |
self._elapsed_time = 0 |
- |
- def Sleep(self, time): |
+ self._module = module |
+ self._actual_time = None |
+ if module: |
+ assert isinstance(module, ModuleType) |
+ self._actual_time = module.time |
+ self._module.time = self |
+ |
+ def sleep(self, time): |
self._elapsed_time += time |
- def GetTime(self): |
+ def time(self): |
return self._elapsed_time |
def SetTime(self, time): |
self._elapsed_time = time |
+ |
+ def __del__(self): |
+ self.Release() |
+ |
+ def Restore(self): |
+ if self._module: |
+ self._module.time = self._actual_time |
+ self._module = None |
+ self._actual_time = None |