| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Borrowing the configuration from wsg-intercept and then editing
to fit so that we've got some automated tests.
To get this to work it was necessary to:
* adjust python versions
* update action version
* pin the ubuntu version
* fix warning in test_grantip
* form.cgi needs to not use six because it is not running in
the virtualenv
* quiet deprecations in in form.cgi because cgi module is deprecated
* Skip the proxy test as it uses httpbin.org which is unreliable
|
|
|
|
|
| |
* Update next() to work with py3
* wsgi.errors is supposed to be text, fixes ErrorMiddleware on py3
|
|
|
| |
* add ipv6 support by setting address family
|
|
|
|
|
|
|
|
| |
* Update auth_tkt.py urllib imports to work in python3
* Add tests for auth AuthTicket
* Adapt auth_tkt to be python2 and python3 compatible
|
|
|
|
|
| |
requests. (#44)
Fixes #43
|
|
|
| |
On Python 3, socket.makefile() returns an object with a tell() method, but one that always raises io.UnsupportedOperation.
|
|
|
| |
Passing a unicode url to get() always worked (assuming the url contained only ASCII), but it didn't work to post(), put(), or delete() if query parameters were included. This change fixes the latter cases.
|
|
|
|
| |
it's done. (#32)
|
|
|
|
|
| |
On Python 3, cgi.FieldStorage has a __del__ method that closes the underlying file [1]. This means that if the copy made from UnicodeMultiDict._decode_value is garbage collected, the file underlying the original FieldStorage will be closed! Fix this by not copying FieldStorage if it is not required by decode_keys=False. I cannot think of a nice way to fix this problem if decode_keys=True.
[1] https://github.com/python/cpython/commit/f79126f373a9d5c9b584a8db736fe490fcbfa77a
|
|
|
| |
As the test shows, this fixes passing boths params and upload_files on Python 3.
|
|
|
| |
Replace `isinstance(self.content, file)` with a duck type for the `read()` method. Having a read method is what PEP 333 defines as the minimum requirement for a "file-like" object.
|
| |
|
|
|
|
|
| |
It would fail if the length of bytes and unicode differs.
It now passes non-bytes to `Form` directly.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* py3 fixes for form handling in paste.fixture
It uses "not six.PY2" in contrast to other places in the code to be
forward-compatible.
I've not looked too closely, but it might make sense to decode body/text
in the beginning already, instead of having it as bytes internally?!
Also, like mentioned in [1] already, it should probably use the correct
source encoding?!
1: https://github.com/cdent/paste/blob/36e5b8bd16a6063ec654faf04541f3a20d19f7fe/paste/fixture.py#L820
* Add test, using/fixing SlowConsumer form app
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* pytest: fix collection warnings via __test__=False
Fixes
> "cannot collect test class %r because it has a __init__ constructor
Ref: https://github.com/pytest-dev/pytest/issues/2007
* pytest: configure testpaths
This is faster with test collection.
* pytest: fix warning with doctests
Fixes
> /usr/lib/python3.7/site-packages/_pytest/python.py:764:
> RemovedInPytest4Warning: usage of Generator.Function is deprecated,
> please use pytest.Function instead
* Minor fixes around s/py.test/pytest/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
pytest exposes many warnings, some but not all of which are cleaned
up here. The main switch is to use html.escape instead of cgi.escape.
This inspired the addition of 'future' to requirements.
The remaining warnings are related to pytest deprecations or over-eager
test discovery.
It is perhaps ironic that the switch to pytest is to avoid nose being
mostly dead, and now we are using features in pytest that pytest wants
to make dead. These are left for later cleanups, which means that
running the tests is noisy.
|
|\
| |
| | |
Switch from nose to pytest
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
This involved:
- Adding "pypy" to the `tox.ini` envlist.
- Adding `# doctest: +IGNORE_EXCEPTION_DETAIL` to 2 doctests, because the
traceback message text is slightly different on PyPy.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
The proxy test relied on pythonpaste.org being up and existing.
It is neither. So instead we use httpbin.org which is often used
for this kind of thing. Unfortunately httpbin is now a react app
which means a lot of the HTML is generated client-side, which
means we need to choose wisely.
As the original comments indicate, the test is not particularly
robust and remains so.
|
|
|