mitmproxy/test/mitmproxy
Aldo Cortesi e6eeab6094 Revamp how addons work
- Addons now nest, which means that addons can manage addons. This has a number
of salutary effects - the scripts addon no longer has to poke into the global
addons list, we no longer have to replace/remove/boot-outof parent addons when
we load scripts, and this paves the way for making our top-level tools into
addons themselves.
- All addon calls are now wrapped in a safe execution environment where
exceptions are caught, and output to stdout/stderr are intercepted and turned
into logs.
- We no longer support script arguments in sys.argv - creating an option
properly is the only way to pass arguments. This means that all scripts are
always directly controllable from interctive tooling, and that arguments are
type-checked.

For now, I've disabled testing of the har dump example - it needs to be moved
to the new argument handling, and become a class addon. I'll address that in a
separate patch.
2017-04-25 22:13:44 +12:00
..
addons Revamp how addons work 2017-04-25 22:13:44 +12:00
completion Add dummy directory to completion 2016-06-20 01:24:27 +05:30
console Add tests for set_focus 2017-03-29 18:34:17 +05:30
contentviews Fix test_format_xml with dot in path 2017-03-16 16:48:21 +08:00
contrib Factor out an io module 2017-03-20 12:50:09 +13:00
data Revamp how addons work 2017-04-25 22:13:44 +12:00
fuzzing Make fuzzing run again 2016-02-18 10:40:16 +13:00
io Factor out an io module 2017-03-20 12:50:09 +13:00
net fixes ipv6 authority form parsing in CONNECT 2017-04-07 15:46:21 -04:00
platform restructure and move test files 2017-02-14 23:31:37 +01:00
proxy Revamp how addons work 2017-04-25 22:13:44 +12:00
script Revamp how addons work 2017-04-25 22:13:44 +12:00
tools Revamp how addons work 2017-04-25 22:13:44 +12:00
types stateobject: automatically change id when copying 2017-03-14 17:08:40 +01:00
utils Fixes #2109 2017-04-09 18:55:20 +05:30
__init__.py nuke Pillow 2017-02-15 00:54:14 +01:00
test_addonmanager.py Revamp how addons work 2017-04-25 22:13:44 +12:00
test_certs.py py3: __ne__ delegates to __eq__ by default 2017-03-14 00:40:15 +01:00
test_connections.py stateobject: automatically change id when copying 2017-03-14 17:08:40 +01:00
test_controller.py Rip out master handler mechanism 2017-03-16 18:33:24 +13:00
test_ctx.py restructure and move test files 2017-02-14 23:31:37 +01:00
test_eventsequence.py flowfilter: coverage++ 2017-02-24 18:47:56 +01:00
test_exceptions.py restructure and move test files 2017-02-14 23:31:37 +01:00
test_export.py restructure and move test files 2017-02-14 23:31:37 +01:00
test_flow.py Factor out an io module 2017-03-20 12:50:09 +13:00
test_flowfilter.py flowfilter: coverage++ 2017-02-24 18:47:56 +01:00
test_fuzzing.py Roll out synchronisation for mitmproxy tests 2016-09-10 09:18:11 +12:00
test_http.py Rip out master handler mechanism 2017-03-16 18:33:24 +13:00
test_log.py restructure and move test files 2017-02-14 23:31:37 +01:00
test_master.py restructure and move test files 2017-02-14 23:31:37 +01:00
test_options.py restructure and move test files 2017-02-14 23:31:37 +01:00
test_optmanager.py optmanager: make serialization and loading more robust 2017-03-24 09:37:17 +13:00
test_proxy.py Remove less commonly used command-line options 2017-03-07 14:46:28 +13:00
test_stateobject.py make websocket flows serializable 2017-03-09 19:08:59 +01:00
test_taddons.py Revamp how addons work 2017-04-25 22:13:44 +12:00
test_tcp.py add individual-coverage check 2017-02-16 11:43:45 +01:00
test_version.py minor changes 2017-02-09 16:08:36 +01:00
test_websocket.py Factor out an io module 2017-03-20 12:50:09 +13:00
tservers.py Revamp how addons work 2017-04-25 22:13:44 +12:00