Commit Graph

1851 Commits

Author SHA1 Message Date
Aldo Cortesi
ea213782d8 asyncio: remove test master.has_log
Now that logs are async, using this call is almost always a mistake. Signal
this by making it semi-private. The method may go away entirely down the track.
2018-04-07 09:02:10 +12:00
Aldo Cortesi
80f2bac356 asyncio: move log mechanism onto the event loop
Logs are now asynchronous, with a log entry pushed onto the event loop for
handling. To support this, the test mechanism grows an await_log method that
waits for a log entry to appear.
2018-04-07 09:02:10 +12:00
Aldo Cortesi
0fa1280daa asyncio simplify: we don't need a queue for proxy->main loop comms
Instead, we just schedule coroutines directly onto the core loop.
2018-04-07 08:59:08 +12:00
Aldo Cortesi
cdbe6f97af asyncio: remove last vestiage of channel input from master 2018-04-07 08:59:08 +12:00
Aldo Cortesi
506ccc5693
Merge pull request #3031 from itzikBraun/add-httpie-export
added option to export request as httpie command
2018-04-06 10:02:02 +12:00
Aldo Cortesi
4177f50a0f
Merge pull request #2971 from kira0204/user-script-exception
A unified handler for user's scripts exception
2018-04-06 10:01:35 +12:00
Maximilian Hils
50ea3aa420 fix http retry timeout
this fixes #3038
2018-04-05 15:30:04 +02:00
Aldo Cortesi
659fceb697 minor fixes 2018-04-03 10:26:09 +12:00
Aldo Cortesi
7e73e5fa51 asyncio: factor out test server startup wait 2018-04-03 09:46:11 +12:00
itzikBraun
29f4164344 added option to export request as httpie command 2018-04-02 12:57:33 +02:00
Aldo Cortesi
14f461c5d5 asyncio: cleanup and lint
Also fix a racy websocket test.
2018-04-02 16:41:49 +12:00
Aldo Cortesi
a3da43d3e5 asyncio: test cleanup
Also silence asyncio logs. We sometimes end up with messages on the queue that
need to be ignored when the proxy shuts down, and asyncio complains loudly
about this.
2018-04-02 14:51:14 +12:00
Aldo Cortesi
2b040ff093 asyncio: make http2 tests pass 2018-04-02 11:03:05 +12:00
Aldo Cortesi
28a8ddc0e8 asyncio: fix a few remaining issues in proxy/test_server.py 2018-04-02 09:46:02 +12:00
Aldo Cortesi
3cc5d81a4a asyncio: fix channel interface and tests
We now need to synthesize a tick event when changing addons in tests, because
tick is asynchronously called on the event loop.
2018-04-01 11:37:35 +12:00
Aldo Cortesi
54170ee657 asyncio: start a test loop for unit tests
Also move signal handling out of master. These only work in the main thread,
and properly belong in main.py.
2018-04-01 09:46:32 +12:00
Aldo Cortesi
976b2018a3 asyncio: clean up event loop acquisition
We now acquire the event loop through asyncio.get_event_loop, avoiding having
to pass the loop explicity in a bunch of places. This function does not return
the currently running loop from within coroutines in versions of Python prior
to 3.6.
2018-04-01 09:46:32 +12:00
Aldo Cortesi
a2d4519354 asyncio: brutally rip out our old queue mechanism 2018-04-01 09:46:32 +12:00
Thomas Kriechbaumer
46f8901b8c Python 3.5 is dead -- long live Python 3.6!
fixes #2266
2018-03-31 18:46:32 +02:00
kira0204
22b5149777 use error handler function 2018-03-26 03:28:28 +05:30
Thomas Kriechbaumer
eb297d82aa fix Tornado 5.0 event loop
https://github.com/tornadoweb/tornado/issues/2183#issuecomment-371001254
2018-03-24 11:19:04 +01:00
Maximilian Hils
fed54fa3d0 don't crash if server address is unknown, fix #2969 2018-03-23 04:26:46 +01:00
Aldo Cortesi
c5ad026cbe bench: Add some very simple manual benchmarking helpers
This includes a profiler addon that we might consider for promotion to a
builtin down the track.
2018-03-17 10:06:46 +13:00
Maximilian Hils
2001184b6c
Merge pull request #2956 from kira0204/test-for-2850
Test for #2850
2018-03-15 00:29:52 +01:00
kira0204
8aad2d63cf adding command 2018-03-12 09:13:29 +05:30
kira0204
5dcc3b4ff8 Testing using addon 2018-03-12 00:28:43 +05:30
kira0204
167e01acdf fixing lint 2018-03-07 16:12:12 +05:30
kira0204
b8fbe71c93 User script exception handler[squash]
fixing 2837, added test
unified-function
deleting the wrong commit
2018-03-07 13:18:19 +05:30
kira0204
57197c3e6c using asserts 2018-03-07 06:34:16 +05:30
kira0204
be50f3f481 wrong additions
test-for-2850

few fixes

mock testing

Typo error
2018-03-06 05:44:05 +05:30
Aldo Cortesi
bc6550abc5
Merge pull request #2945 from kajojify/shortening
Polite shortening of statusbar messages. Fix #1433
2018-03-05 09:07:18 +13:00
Maximilian Hils
a2740ee4ae
Merge pull request #2868 from kira0204/data-crash
Fix crashing when editing form with random data, fix #2794
2018-03-04 19:53:15 +01:00
Miroslav
237320a539 Minor fixes.
Renaming prep_message method to shorten_message.
Docstring.
\u2026 instead of ....
max_width parameter.
2018-03-03 22:12:56 +02:00
Miroslav
0dcdb6c3cc Finalization of tests. Conditions rewritten again. 2018-03-02 23:40:58 +02:00
Miroslav
d151c6c322 Initial tests. New conditions. 2018-03-01 01:18:05 +02:00
Maximilian Hils
944e81dcfc clean up ProxyConfig
some of these options weren't even used anymore,
others only in one place where it makes sense to use options directly.
2018-02-27 19:05:59 +01:00
Aldo Cortesi
7bd63ee713 Start consolidating core options
This is a preparatory patch that paves the way to consolidating our core
options in the core addon. It amalgamates the core_option_validation and core
addons, prepares the test suite for a world where options live in core, and
moves over two trivial options as a trial balloon.

From here, things will get harder, but at the end of the process we'll have a
core that's responsive to options.
2018-02-26 11:26:32 +13:00
Aldo Cortesi
e5cdc20eb8 Split dumper_filter off from view_filter
These don't even do the same thing.
2018-02-26 09:43:15 +13:00
Aldo Cortesi
2fb85553cc Revamp verbosity options
Split verbosity into termlog_verbosity and console_eventlog_verbosity.

This patch also removes printing to console if there are unknown options in the
command-line. Options now live in separate addons, so having uknown options
remaining is common and expected. We definitely shoould have some other way for
users to see what was ignored so they can catch typos and the like, but that's
a different patch.
2018-02-26 09:02:24 +13:00
Aldo Cortesi
154309b811
Merge pull request #2909 from fristonio/Fix-2867
Fix test fails in test_xss_scanner when running tox without internet connection.
2018-02-25 23:00:23 +13:00
luz.paz
afbb7f117b Misc. typos
Found via `codespell -q 3 -I ../mitmproxy-word-whitelist.txt`
Where whitelist contains:
```
cas
doubleclick
nd
ot
seeked
statics
te
thru
```
2018-02-24 21:45:11 -05:00
Aldo Cortesi
6b5b71aefa
Merge pull request #2907 from cortesi/optionscomp
Start moving more complicated options over to /addons
2018-02-25 10:15:21 +13:00
Deepesh Pathak
9fed4fa40a
Fix test fails in test_xss_scanner when running tox without internet connections.
- Add mock implementation for gethostbyname in test_xss_scanner.
- Fix failed tests when running tox without internet connection.
- Fixes #2867
2018-02-24 16:50:40 +05:30
Aldo Cortesi
6ea81a96d4 addon options: proxyauth to /addons 2018-02-24 19:16:13 +13:00
Aldo Cortesi
59db25bd0f Split default_contentview into dumper_* and console_* varieties
Then move the new options into their respective addons. This was a shared
option, and things are much much simpler if it isn't.
2018-02-24 19:09:32 +13:00
Aldo Cortesi
f49aae312f Move intercept options to addon
As part of this, we zap an un-needed console command and use a boolean toggle
setter instead.

Also remove an ancient regression test that breaks encapsulation.
2018-02-24 18:33:15 +13:00
Aldo Cortesi
3a766a420c
Merge branch 'master' into opts 2018-02-24 16:47:58 +13:00
Aldo Cortesi
93c49c47ae flow_detail option to /addons/dumper 2018-02-24 16:42:32 +13:00
Aldo Cortesi
4fe83be63c Resolve some left-over cross-addon dependencies 2018-02-24 16:06:11 +13:00
Aldo Cortesi
f361ea491c addon options: upstream_auth
Also the last "easy" option to shift.
2018-02-24 15:58:37 +13:00