summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Drake <tlsa@netsurf-browser.org>2018-11-04 10:57:14 +0000
committerMichael Drake <tlsa@netsurf-browser.org>2018-11-04 10:57:57 +0000
commit54be19e6c8d7bdb5530af2eb597d65802796b555 (patch)
tree10981fdc384c3ec33d9ce363585fd169966fb632
parent46b6b7c9b4dcad989f8451638753594b572f9f9a (diff)
downloadnetsurf-54be19e6c8d7bdb5530af2eb597d65802796b555.tar.gz
netsurf-54be19e6c8d7bdb5530af2eb597d65802796b555.tar.bz2
Test: Monkey driver: Add support for timer actions.
-rwxr-xr-xtest/monkey-driver.py28
1 files changed, 27 insertions, 1 deletions
diff --git a/test/monkey-driver.py b/test/monkey-driver.py
index eed7da0e7..c49da12f7 100755
--- a/test/monkey-driver.py
+++ b/test/monkey-driver.py
@@ -1,6 +1,6 @@
#!/usr/bin/python3
-import sys, getopt, yaml
+import sys, getopt, yaml, time
from monkeyfarmer import Browser
@@ -60,6 +60,7 @@ def run_test_step_action_launch(ctx, step):
ctx['browser'] = Browser(monkey_cmd=[ctx["monkey"]], quiet=True)
assert_browser(ctx)
ctx['windows'] = dict()
+ ctx['timers'] = dict()
def run_test_step_action_window_new(ctx, step):
print(get_indent(ctx) + "Action: " + step["action"])
@@ -143,18 +144,43 @@ def run_test_step_action_plot_check(ctx, step):
def run_test_step_action_timer_start(ctx, step):
print(get_indent(ctx) + "Action: " + step["action"])
+ tag = step['tag']
+ assert_browser(ctx)
+ assert(ctx['timers'].get(tag) is None)
+ ctx['timers'][tag] = {}
+ ctx['timers'][tag]["start"] = time.time()
def run_test_step_action_timer_stop(ctx, step):
print(get_indent(ctx) + "Action: " + step["action"])
+ timer = step['timer']
+ assert_browser(ctx)
+ assert(ctx['timers'].get(timer) is not None)
+ taken = time.time() - ctx['timers'][timer]["start"]
+ print(get_indent(ctx) + " " + timer + " took: " + str(taken) + "s")
+ ctx['timers'][timer]["taken"] = taken
def run_test_step_action_timer_check(ctx, step):
print(get_indent(ctx) + "Action: " + step["action"])
+ condition = step["condition"].split()
+ assert(len(condition) == 3)
+ timer1 = ctx['timers'].get(condition[0])
+ timer2 = ctx['timers'].get(condition[2])
+ assert(timer1 is not None)
+ assert(timer2 is not None)
+ assert(timer1["taken"] is not None)
+ assert(timer2["taken"] is not None)
+ assert(condition[1] in ('<', '>'))
+ if condition[1] == '<':
+ assert(timer1["taken"] < timer2["taken"])
+ elif condition[1] == '>':
+ assert(timer1["taken"] > timer2["taken"])
def run_test_step_action_quit(ctx, step):
print(get_indent(ctx) + "Action: " + step["action"])
assert_browser(ctx)
browser = ctx.pop('browser')
windows = ctx.pop('windows')
+ timers = ctx.pop('timers')
assert(browser.quit_and_wait())
step_handlers = {