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

Unified Diff: tools/telemetry/telemetry/page/actions/wait_unittest.py

Issue 240893004: Mock timer for Telemetry unit tests (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: hide time.sleep and time.time Created 6 years, 8 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/page/actions/wait_unittest.py
diff --git a/tools/telemetry/telemetry/page/actions/wait_unittest.py b/tools/telemetry/telemetry/page/actions/wait_unittest.py
index 5355f380f086dcc0332118c5f96fb14311a9c074..b2214a5fa44625011d4305be2d433ed131fdbbbe 100644
--- a/tools/telemetry/telemetry/page/actions/wait_unittest.py
+++ b/tools/telemetry/telemetry/page/actions/wait_unittest.py
@@ -2,11 +2,10 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
-import time
-
from telemetry.core import util
from telemetry.page.actions import wait
from telemetry.unittest import tab_test_case
+from telemetry.unittest import simple_mock
class WaitActionTest(tab_test_case.TabTestCase):
@@ -16,21 +15,40 @@ class WaitActionTest(tab_test_case.TabTestCase):
self._tab.EvaluateJavaScript('document.location.pathname;'),
'/blank.html')
- i = wait.WaitAction({ 'condition': 'duration', 'seconds': 1 })
+ mock_timer = simple_mock.MockTimer()
+ real_time_sleep = wait.time.sleep
+ wait.time.sleep = mock_timer.Sleep
+
+ try:
+ i = wait.WaitAction({ 'condition': 'duration', 'seconds': 1 })
- start_time = time.time()
- i.RunAction(None, self._tab)
- self.assertTrue(time.time() - start_time >= 1.0)
+ i.RunAction(None, self._tab)
+ self.assertEqual(mock_timer.GetTime(), 1)
+ finally:
+ wait.time.sleep = real_time_sleep
def testWaitActionTimeout(self):
- wait_action = wait.WaitAction({
- 'condition': 'javascript',
- 'javascript': '1 + 1 === 3',
- 'timeout': 1
- })
-
- start_time = time.time()
- self.assertRaises(
- util.TimeoutException,
- lambda: wait_action.RunAction(None, self._tab))
- self.assertTrue(time.time() - start_time < 5)
+ mock_timer = simple_mock.MockTimer()
+ real_wait_time_sleep = wait.time.sleep
+ real_util_time_sleep = util.time.sleep
+ real_util_time_time = util.time.time
+
+ wait.time.sleep = mock_timer.Sleep
+ util.time.sleep = mock_timer.Sleep
+ util.time.time = mock_timer.GetTime
+
+ try:
+ wait_action = wait.WaitAction({
+ 'condition': 'javascript',
+ 'javascript': '1 + 1 === 3',
+ 'timeout': 1
+ })
+
+ self.assertRaises(
+ util.TimeoutException,
+ lambda: wait_action.RunAction(None, self._tab))
+ self.assertLess(mock_timer.GetTime(), 5)
+ finally:
+ wait.time.sleep = real_wait_time_sleep
+ util.time.sleep = real_util_time_sleep
+ util.time.time = real_util_time_time
« no previous file with comments | « tools/telemetry/telemetry/page/actions/gesture_action_unittest.py ('k') | tools/telemetry/telemetry/unittest/simple_mock.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698