Gitweb links:
...log
http://git.netsurf-browser.org/netsurf.git/shortlog/5c0eee43e2965d1e8b34b5a7b275de308cc09cc1
...commit
http://git.netsurf-browser.org/netsurf.git/commit/5c0eee43e2965d1e8b34b5a7b275de308cc09cc1
...tree
http://git.netsurf-browser.org/netsurf.git/tree/5c0eee43e2965d1e8b34b5a7b275de308cc09cc1
The branch, master has been updated
via 5c0eee43e2965d1e8b34b5a7b275de308cc09cc1 (commit)
from 8b6f590aaa8d110ef6f62befb792827c16d7e75a (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commitdiff
http://git.netsurf-browser.org/netsurf.git/commit/?id=5c0eee43e2965d1e8b34b5a7b275de308cc09cc1
commit 5c0eee43e2965d1e8b34b5a7b275de308cc09cc1
Author: Daniel Silverstone <[email protected]>
Commit: Daniel Silverstone <[email protected]>
Monkey: Support a -w argument to the monkey_driver.py
In order to better support valgrind and friends, add -w to
the monkey driver. You can use it as:
monkey_driver.py ...normalargs... -w 'valgrind -v --track-origins=yes'
Signed-off-by: Daniel Silverstone <[email protected]>
diff --git a/test/monkey_driver.py b/test/monkey_driver.py
index 091540e..ba26ac0 100755
--- a/test/monkey_driver.py
+++ b/test/monkey_driver.py
@@ -121,8 +121,9 @@ def print_usage():
def parse_argv(argv):
path_monkey = ''
path_test = ''
+ wrapper = None
try:
- opts, args = getopt.getopt(argv,"hm:t:",["monkey=","test="])
+ opts, args =
getopt.getopt(argv,"hm:t:w:",["monkey=","test=","wrapper="])
except getopt.GetoptError:
print_usage()
sys.exit(2)
@@ -134,6 +135,10 @@ def parse_argv(argv):
path_monkey = arg
elif opt in ("-t", "--test"):
path_test = arg
+ elif opt in ("-w", "--wrapper"):
+ if wrapper is None:
+ wrapper = []
+ wrapper.extend(arg.split())
if path_monkey == '':
print_usage()
@@ -142,7 +147,7 @@ def parse_argv(argv):
print_usage()
sys.exit()
- return path_monkey, path_test
+ return path_monkey, path_test, wrapper
def load_test_plan(path):
plan = []
@@ -200,7 +205,7 @@ def run_test_step_action_launch(ctx, step):
print(get_indent(ctx) + "Action: " + step["action"])
assert(ctx.get('browser') is None)
assert(ctx.get('windows') is None)
- ctx['browser'] = DriverBrowser(monkey_cmd=[ctx["monkey"]], quiet=True)
+ ctx['browser'] = DriverBrowser(monkey_cmd=[ctx["monkey"]], quiet=True,
wrapper=ctx["wrapper"])
assert_browser(ctx)
ctx['windows'] = dict()
for arg in step.get('args', []):
@@ -513,9 +518,10 @@ def run_preloaded_test(path_monkey, plan):
def main(argv):
ctx = {}
- path_monkey, path_test = parse_argv(argv)
+ path_monkey, path_test, wrapper = parse_argv(argv)
plan = load_test_plan(path_test)
ctx["monkey"] = path_monkey
+ ctx["wrapper"] = wrapper
run_test_plan(ctx, plan)
# Some python weirdness to get to main().
diff --git a/test/monkeyfarmer.py b/test/monkeyfarmer.py
index 08465f8..b863721 100644
--- a/test/monkeyfarmer.py
+++ b/test/monkeyfarmer.py
@@ -31,11 +31,16 @@ import subprocess
import time
class MonkeyFarmer(asyncore.dispatcher):
- def __init__(self, monkey_cmd, online, quiet=False):
+ def __init__(self, monkey_cmd, online, quiet=False, *, wrapper=None):
(mine, monkeys) = socket.socketpair()
asyncore.dispatcher.__init__(self, sock=mine)
+ if wrapper is not None:
+ new_cmd = list(wrapper)
+ new_cmd.extend(monkey_cmd)
+ monkey_cmd = new_cmd
+
self.monkey = subprocess.Popen(
monkey_cmd,
stdin=monkeys,
@@ -52,6 +57,7 @@ class MonkeyFarmer(asyncore.dispatcher):
self.online = online
self.quiet = quiet
self.discussion = []
+ self.maybe_slower = wrapper is not None
def handle_connect(self):
pass
@@ -132,8 +138,8 @@ class MonkeyFarmer(asyncore.dispatcher):
break
class Browser:
- def __init__(self, monkey_cmd=["./nsmonkey"], quiet=False):
- self.farmer = MonkeyFarmer(monkey_cmd=monkey_cmd,
online=self.on_monkey_line, quiet=quiet)
+ def __init__(self, monkey_cmd=["./nsmonkey"], quiet=False, *,
wrapper=None):
+ self.farmer = MonkeyFarmer(monkey_cmd=monkey_cmd,
online=self.on_monkey_line, quiet=quiet, wrapper=wrapper)
self.windows = {}
self.logins = {}
self.sslcerts = {}
@@ -142,9 +148,14 @@ class Browser:
self.stopped = False
self.launchurl = None
now = time.time()
+ timeout = now + 1
+
+ if wrapper is not None:
+ timeout = now + 10
+
while not self.started:
self.farmer.loop(once=True)
- if (time.time() - now) > 1:
+ if time.time() > timeout:
break
def pass_options(self, *opts):
-----------------------------------------------------------------------
Summary of changes:
test/monkey_driver.py | 14 ++++++++++----
test/monkeyfarmer.py | 19 +++++++++++++++----
2 files changed, 25 insertions(+), 8 deletions(-)
diff --git a/test/monkey_driver.py b/test/monkey_driver.py
index 091540e..ba26ac0 100755
--- a/test/monkey_driver.py
+++ b/test/monkey_driver.py
@@ -121,8 +121,9 @@ def print_usage():
def parse_argv(argv):
path_monkey = ''
path_test = ''
+ wrapper = None
try:
- opts, args = getopt.getopt(argv,"hm:t:",["monkey=","test="])
+ opts, args =
getopt.getopt(argv,"hm:t:w:",["monkey=","test=","wrapper="])
except getopt.GetoptError:
print_usage()
sys.exit(2)
@@ -134,6 +135,10 @@ def parse_argv(argv):
path_monkey = arg
elif opt in ("-t", "--test"):
path_test = arg
+ elif opt in ("-w", "--wrapper"):
+ if wrapper is None:
+ wrapper = []
+ wrapper.extend(arg.split())
if path_monkey == '':
print_usage()
@@ -142,7 +147,7 @@ def parse_argv(argv):
print_usage()
sys.exit()
- return path_monkey, path_test
+ return path_monkey, path_test, wrapper
def load_test_plan(path):
plan = []
@@ -200,7 +205,7 @@ def run_test_step_action_launch(ctx, step):
print(get_indent(ctx) + "Action: " + step["action"])
assert(ctx.get('browser') is None)
assert(ctx.get('windows') is None)
- ctx['browser'] = DriverBrowser(monkey_cmd=[ctx["monkey"]], quiet=True)
+ ctx['browser'] = DriverBrowser(monkey_cmd=[ctx["monkey"]], quiet=True,
wrapper=ctx["wrapper"])
assert_browser(ctx)
ctx['windows'] = dict()
for arg in step.get('args', []):
@@ -513,9 +518,10 @@ def run_preloaded_test(path_monkey, plan):
def main(argv):
ctx = {}
- path_monkey, path_test = parse_argv(argv)
+ path_monkey, path_test, wrapper = parse_argv(argv)
plan = load_test_plan(path_test)
ctx["monkey"] = path_monkey
+ ctx["wrapper"] = wrapper
run_test_plan(ctx, plan)
# Some python weirdness to get to main().
diff --git a/test/monkeyfarmer.py b/test/monkeyfarmer.py
index 08465f8..b863721 100644
--- a/test/monkeyfarmer.py
+++ b/test/monkeyfarmer.py
@@ -31,11 +31,16 @@ import subprocess
import time
class MonkeyFarmer(asyncore.dispatcher):
- def __init__(self, monkey_cmd, online, quiet=False):
+ def __init__(self, monkey_cmd, online, quiet=False, *, wrapper=None):
(mine, monkeys) = socket.socketpair()
asyncore.dispatcher.__init__(self, sock=mine)
+ if wrapper is not None:
+ new_cmd = list(wrapper)
+ new_cmd.extend(monkey_cmd)
+ monkey_cmd = new_cmd
+
self.monkey = subprocess.Popen(
monkey_cmd,
stdin=monkeys,
@@ -52,6 +57,7 @@ class MonkeyFarmer(asyncore.dispatcher):
self.online = online
self.quiet = quiet
self.discussion = []
+ self.maybe_slower = wrapper is not None
def handle_connect(self):
pass
@@ -132,8 +138,8 @@ class MonkeyFarmer(asyncore.dispatcher):
break
class Browser:
- def __init__(self, monkey_cmd=["./nsmonkey"], quiet=False):
- self.farmer = MonkeyFarmer(monkey_cmd=monkey_cmd,
online=self.on_monkey_line, quiet=quiet)
+ def __init__(self, monkey_cmd=["./nsmonkey"], quiet=False, *,
wrapper=None):
+ self.farmer = MonkeyFarmer(monkey_cmd=monkey_cmd,
online=self.on_monkey_line, quiet=quiet, wrapper=wrapper)
self.windows = {}
self.logins = {}
self.sslcerts = {}
@@ -142,9 +148,14 @@ class Browser:
self.stopped = False
self.launchurl = None
now = time.time()
+ timeout = now + 1
+
+ if wrapper is not None:
+ timeout = now + 10
+
while not self.started:
self.farmer.loop(once=True)
- if (time.time() - now) > 1:
+ if time.time() > timeout:
break
def pass_options(self, *opts):
--
NetSurf Browser
_______________________________________________
netsurf-commits mailing list
[email protected]
http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/netsurf-commits-netsurf-browser.org