From ca3e98640c2344da356700635c8d84be1606b411 Mon Sep 17 00:00:00 2001 From: Maximilian Hils Date: Mon, 21 Aug 2017 18:49:51 +0200 Subject: fix mitmweb master shutdown, tests++ --- mitmproxy/tools/web/master.py | 5 ++++- test/mitmproxy/data/addonscripts/shutdown.py | 5 +++++ test/mitmproxy/tools/test_main.py | 19 +++++++++++++++++++ 3 files changed, 28 insertions(+), 1 deletion(-) create mode 100644 test/mitmproxy/data/addonscripts/shutdown.py create mode 100644 test/mitmproxy/tools/test_main.py diff --git a/mitmproxy/tools/web/master.py b/mitmproxy/tools/web/master.py index 3967bafe..694ee2f7 100644 --- a/mitmproxy/tools/web/master.py +++ b/mitmproxy/tools/web/master.py @@ -12,7 +12,6 @@ from mitmproxy.addons import readfile from mitmproxy.addons import termlog from mitmproxy.addons import view from mitmproxy.addons import termstatus -from mitmproxy.options import Options # noqa from mitmproxy.tools.web import app, webaddons, static_viewer @@ -130,6 +129,10 @@ class WebMaster(master.Master): except KeyboardInterrupt: self.shutdown() + def shutdown(self): + tornado.ioloop.IOLoop.instance().stop() + super().shutdown() + def open_browser(url: str) -> bool: """ diff --git a/test/mitmproxy/data/addonscripts/shutdown.py b/test/mitmproxy/data/addonscripts/shutdown.py new file mode 100644 index 00000000..51a99b5c --- /dev/null +++ b/test/mitmproxy/data/addonscripts/shutdown.py @@ -0,0 +1,5 @@ +from mitmproxy import ctx + + +def running(): + ctx.master.shutdown() diff --git a/test/mitmproxy/tools/test_main.py b/test/mitmproxy/tools/test_main.py new file mode 100644 index 00000000..88e2fe86 --- /dev/null +++ b/test/mitmproxy/tools/test_main.py @@ -0,0 +1,19 @@ +from mitmproxy.test import tutils +from mitmproxy.tools import main + +shutdown_script = tutils.test_data.path("mitmproxy/data/addonscripts/shutdown.py") + + +def test_mitmweb(): + main.mitmweb([ + "--no-web-open-browser", + "-q", + "-s", shutdown_script + ]) + + +def test_mitmdump(): + main.mitmdump([ + "-q", + "-s", shutdown_script + ]) -- cgit v1.2.3