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

Reply via email to