Commit Graph

76 Commits

Author SHA1 Message Date
Aldo Cortesi
5192810ff6 Make mypy succeed with imports on master.py
We get little benefit from our mypy QA checks at the moment, because we skip
imports. This patch is what's needed to make mypy succeed with imports on a
single file: master.py

It also updates mypy to the current version, and enables a QA check.

Mypy bugs I encountered:

dict.update with kwargs not supported:

https://github.com/python/mypy/issues/1031

property setters and getters must be adjacent:

https://github.com/python/mypy/issues/1465
2017-03-17 08:13:47 +13:00
Aldo Cortesi
f15a628561 Start unifying options and the command-line: booleans
This commit:

- Adds a help field to options
- Adds a function to generate parser definitions from options
- Uses this to migrate all boolean flags over to the new system
- Makes all booleans consistently follow the --foo/--not-foo convention

There are a number of things left to be done here:

- Argparse doesn't give us a nice way to format --foo --not-foo help. Click
does, and moving to click is a goal down the track.
- For now, we remove all short aliases. I want to re-evaluate these
systematically once we have the new structure in place.
2017-03-05 20:16:33 +13:00
Thomas Kriechbaumer
6b22ca7a32 add individual-coverage check 2017-02-16 11:43:45 +01:00
Thomas Kriechbaumer
24a51df9cb extract full-coverage pytest plugin 2017-02-15 00:29:43 +01:00
Thomas Kriechbaumer
04748e6f3f add filename-matching linter 2017-02-14 22:48:24 +01:00
Thomas Kriechbaumer
cd9cd8a195 update lint options 2017-02-14 22:44:55 +01:00
Thomas Kriechbaumer
c8c79cc291 coverage++ 2017-02-10 22:55:15 +01:00
Thomas Kriechbaumer
0299bb5b2e eventsequence: coverage++ 2017-02-09 16:08:36 +01:00
Thomas Kriechbaumer
5a3976c43e coverage whitelist -> blacklist 2017-02-09 16:08:36 +01:00
Thomas Kriechbaumer
1847cf175c websockets, tcp, version: coverage++ 2017-02-09 16:08:35 +01:00
Thomas Kriechbaumer
966ffaa3d6 coverage++ 2017-02-04 13:48:55 +01:00
Thomas Kriechbaumer
bcaaa2f40b coverage++ 2017-02-03 11:55:33 +01:00
Thomas Kriechbaumer
4f0b2bc4de adapt coverage checks 2017-02-02 14:20:56 +01:00
Thomas Kriechbaumer
6e329595ca add test coverage protection 2017-02-02 11:39:33 +01:00
Thomas Kriechbaumer
72b753c60f provide git information with --version
fixes #1848
2017-01-19 20:27:29 +01:00
Thomas Kriechbaumer
0bde932b78 run tests on Python 3.6 2016-12-27 16:28:12 +01:00
Maximilian Hils
38198769eb pyinstaller: use fixed bootloaders on linux 2016-12-27 03:09:43 +01:00
Maximilian Hils
980a84326b InstallBuilder (#1826) 2016-12-11 23:07:47 +01:00
Maximilian Hils
a7ba2f7b46 update tests, increase coverage, add type info 2016-12-09 21:26:02 +01:00
Thomas Kriechbaumer
1a36efbb6a simplify ALPN and OpenSSL on macOS 2016-12-04 11:04:06 +01:00
Maximilian Hils
3154dc87fd fix pyinstaller
amongst other things, fix #1746
2016-11-28 00:51:52 +01:00
Maximilian Hils
a6c608e085 make the new mypy release happy 2016-11-23 01:27:23 +01:00
Maximilian Hils
677789a617 minor fixes 2016-11-16 15:09:53 +01:00
Aldo Cortesi
d4f4beb6c7 tests: add mitmdump --sysinfo to tests runs for platform info 2016-11-03 07:57:25 +13:00
Aldo Cortesi
c33557a230 Extend mypy checks to mitmproxy/addons
Fix a number of issues to do this.
2016-11-01 10:38:35 +13:00
Thomas Kriechbaumer
f1878eb051 http2: add more type information 2016-10-27 20:24:57 -07:00
Aldo Cortesi
d6bdb28865 Add mypy to lint
An extremely modest beginning, but we'll roll this out over the whole codebase
in time.

Also move flake8 and mypy dependencies into setup[dev].
2016-10-27 09:40:27 +13:00
Maximilian Hils
909ecd040a add README.rst validation to CI 2016-10-22 17:20:57 -07:00
Aldo Cortesi
8430f857b5 The final piece: netlib -> mitproxy.net 2016-10-20 11:56:38 +13:00
Aldo Cortesi
8360f70024 First-order conversion to Python3-only
- Zap various occurrences of Python2 in docs and scripts
- Remove six from netlib, and some other places where obvious project-wide
search and replace works.
2016-10-17 15:18:47 +13:00
Maximilian Hils
4f5e312fbc allow tox workdir reconfiguration for ubuntu on windows 2016-08-09 22:29:48 -07:00
Maximilian Hils
d97fe767dc update dependencies (#1435) 2016-07-25 21:52:34 -07:00
Thomas Kriechbaumer
aa1615eafd cleanup tox 2016-07-09 11:20:10 +02:00
Shadab Zafar
bd58230178 Remove py35 section from tox.ini 2016-07-09 12:51:43 +05:30
Shadab Zafar
b4469d2579 py3++: test_dump 2016-07-09 11:14:12 +05:30
Maximilian Hils
f7639e077a py3++ 2016-07-08 15:58:12 -07:00
Thomas Kriechbaumer
df43a962d7 simplify tox test exclusion 2016-07-08 10:54:21 +02:00
Maximilian Hils
f62e976e1e py3++ 2016-07-07 17:29:22 -07:00
Shadab Zafar
c870d26bc7 py3++: test_protocol_http2 2016-07-07 16:39:25 +02:00
Maximilian Hils
f259b9478f disable harparser on py3 2016-07-07 01:21:15 -07:00
Maximilian Hils
684b4b5130 tnetstring: keys are str on py3. migrate flow.io_compat 2016-07-06 19:55:48 -07:00
Maximilian Hils
9c873d63f4 py3++, multidict fixes
This commit improves Python 3 compatibility and fixes two multidict
issues:

 1. Headers.items(multi=True) now decodes fields
 2. MultiDict.clear(item) has been removed, as Python's
    MutableMapping already defines .clear() with different
    semantics. This is confusing for everyone who expects a
    dict-like object. `.pop("attr", None)` is not fantastic,
    but it's the Python way to do it.
2016-07-06 19:53:29 -07:00
Maximilian Hils
882b8b5d80 don't cache tox on CI 2016-07-05 15:58:52 -07:00
Maximilian Hils
09d6782722 Merge pull request #1316 from mhils/faster-lint
tox: dont make sdist when linting
2016-07-05 15:40:10 -07:00
Maximilian Hils
45a634783a tox: dont make sdist when linting 2016-07-05 15:03:40 -07:00
Shadab Zafar
f623b3d99b py3++: test_flow_export 2016-07-02 21:15:20 +05:30
Maximilian Hils
536c7acd13 py3++ 2016-07-01 14:10:48 -07:00
Shadab Zafar
268e42e55e py3++: test/mitmproxy/test_server 2016-07-01 10:23:04 -07:00
Maximilian Hils
6181bf978d remove superfluous statements in tox.ini 2016-06-29 00:05:03 -07:00
Maximilian Hils
f7d4319c5a minor fixes 2016-06-28 23:48:19 -07:00