| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
non-essential CI against 2.7 to 3.6
fixes https://github.com/eventlet/eventlet/issues/740
related to https://github.com/eventlet/eventlet/pull/715
|
|
|
|
|
|
| |
- github actions ubuntu-latest switched to 22.04 with python3>=3.7
- tool: pep8 was renamed and upgraded to pycodestyle 2.1, fixed 2 empty lines after class/def
- common github actions upgrade to v3 https://github.blog/changelog/2022-09-22-github-actions-all-actions-will-begin-running-on-node16-instead-of-node12/
|
|
|
|
|
|
|
|
|
|
|
|
| |
tox>=4.0.0 changed passenv from a space-separated list to a
comma-separated list. tox>=4.0.6 made it a hard error to include
spaces, complaining
pass_env values cannot contain whitespace, use comma to have
multiple values in a single line
Switch to using multiple lines for the multiple variables to be
compatible with both tox3 and tox4.
|
|
|
|
|
|
|
| |
Remove basepython declarations from tox.ini where they match what tox
already infers from the environment name. This is NFC for existing
testenvs, and it makes it possible to run tests on newer Python targets,
e.g. py310-*.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Compatibility with dnspython v2:
- `_compute_expiration` was replaced by `_compute_times`
- `dns.query.{tcp,udp}` take new arguments
Main issue for tracking: https://github.com/eventlet/eventlet/issues/619
This patch discussion: https://github.com/eventlet/eventlet/pull/722
This patch deprecates dnspython<2 pin: https://github.com/eventlet/eventlet/issues/629
Co-authored-by: John Vandenberg <jayvdb@gmail.com>
Co-authored-by: Rodolfo Alonso Hernandez <ralonsoh@redhat.com>
|
| |
|
| |
|
|
|
|
|
| |
https://github.com/eventlet/eventlet/issues/671
https://github.com/pyca/pyopenssl/pull/913
|
| |
|
|
|
|
| |
https://github.com/eventlet/eventlet/issues/623
|
| |
|
| |
|
| |
|
|
|
|
|
| |
https://www.python.org/dev/peps/pep-0333/#unicode-issues
https://github.com/eventlet/eventlet/issues/468
|
| |
|
| |
|
|
|
|
|
|
| |
PyOpenSSL deprecated OpenSSL.rand in 17.2.0 and removed it in 17.3.0.
To comply, update min version in tests to 17.3.0 and removes it.
https://pyopenssl.org/en/stable/changelog.html
|
|
|
|
|
|
|
|
|
|
| |
Podoliaka and Victor Stinner
eventlet/support/monotonic.py is copied by curl from specific version on Github.
Change and run bin/pull-monotonic script to update to newer version.
https://github.com/eventlet/eventlet/pull/388
https://github.com/eventlet/eventlet/pull/303
|
| |
|
| |
|
|
|
|
|
|
|
| |
Basically this patch replaces urllib with custom module that is guaranteed not imported before patching.
https://github.com/eventlet/eventlet/issues/362
More general issue here https://github.com/eventlet/eventlet/issues/368
|
|
|
|
|
| |
Fixes installation issue when older dnspython is present in system packages
https://github.com/eventlet/eventlet/pull/341
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The Eventlet patcher and the way we were patching multi-level http
package don't work well[1][2]. I spent a lot of time trying to make it
work but in the end every solution I came up with was breaking something
else and made the patching and providing green http even more
complicated - I wouldn't envy anyone having to debug it in the future.
After a lot of thinking I decided having our own copy of http with the
necessary modifications applied seems like the most straightforward and
the most reliable solution, even considering its downsides (we need to
keep it up to date ourselves and the API won't 100 % match the regular
http module API on older Python 3 versions as our bundled version is the
most recent one and has bug fixes and extra features implemented).
The code introduces by this commit comes from the following Python
commit (development branch):
commit 6251d66ba9a692d3adf5d2e6818b29ac44130787
Author: Xavier de Gaye <xdegaye@users.sourceforge.net>
Date: 2016-06-15 11:35:29 +0200
Issue #26862: SYS_getdents64 does not need to be defined on android
API 21.
Changes to the original http package code involve:
* Removing unnecessary import(s)
* Replacing some regular imports with eventlet.green imports
* Replacing fullmatch()[3] usage with match() so we stay Python 3.3
compatible
I left urllib.parse imports intact as nothing there performs IO.
Green httplib module is also modified because it used to import
http.client using patcher which was breaking things the same way.
A new dependency, enum-compat, is added to ensure that the enum module
is present on Python 3.3 (the http package code comes the latest Python
development branch and uses enum).
[1] https://github.com/getsentry/raven-python/issues/703
[2] https://github.com/eventlet/eventlet/issues/316
[3] https://docs.python.org/3/library/re.html#re.fullmatch
This patch is contributed by Smarkets Limited.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
pyopenssl 0.13 cannot be installed on my Fedora 23. It fails with:
building 'OpenSSL.crypto' extension
(...)
OpenSSL/crypto/crl.c:6:23: erreur: static declaration of ‘X509_REVOKED_dup’ follows non-static declaration
static X509_REVOKED * X509_REVOKED_dup(X509_REVOKED *orig) {
^
In file included from /usr/include/openssl/ssl.h:156:0,
from OpenSSL/crypto/x509.h:17,
from OpenSSL/crypto/crypto.h:30,
from OpenSSL/crypto/crl.c:3:
/usr/include/openssl/x509.h:751:15: note: previous declaration of ‘X509_REVOKED_dup’ was here
X509_REVOKED *X509_REVOKED_dup(X509_REVOKED *rev);
^
error: command 'gcc' failed with exit status 1
The bug is known: https://github.com/pyca/pyopenssl/issues/276
The workaround is simple: use a more recent version.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In projects which dynamically determine whether to activate eventlet,
it can be hard not to import a low level module like logging before
eventlet. When logging is imported it initialises a threading.RLock
which it uses to protect the logging configuration. If two
greenthreads attempt to claim this lock, the second one will block the
/native/ thread not just itself. As green systems usually only have
one native thread, this will freeze the whole system.
Search the GC for unsafe RLocks and replace their internal Lock with a
safe one while monkey-patching.
The tests pass, but were they to fail, the test process would never
return. To deal with this, I've added a test dependency on
subprocess32 which is a backport of the stdlib subprocess module from
Python3. This offers a timeout option on Popen#communicate, which I've
arbitrarily set at 30 seconds.
|
|
|
|
|
|
|
|
|
| |
The original commit[1] was not enough because we run tests using tox and
tox by default doesn't pass all environment variables to the
environments in which tests run - this patch whitelists subset of
environment variables set by Travis, including one that we read and use.
[1] 74f418bcf38ac128cadad641d59d7ecd8f127340
|
|
|
|
|
| |
Newest pip versions don't support it anymore and it's been deprecated
for a while.
|
|
|
|
|
| |
The "py{27,34,py}-dns" syntax in envlist is only supported on tox 1.8 or
newer.
|
| |
|
|
|
|
|
|
| |
https://github.com/eventlet/eventlet/issues/203
Also, separate tox environments py{27,34,py}-dns that install and test green DNS.
|
|
|
|
|
|
|
|
|
|
|
|
| |
API:
- write main test body into tests/isolated/filename.py
- it must write 'pass' to stdout or 'skip:[optional reason]'
- write a test with single line: tests.run_isolated('filename.py')
FIXME: autorun all files in tests/isolated
This deprecates tests.run_python and ProcessBase.
TODO: rewrite old multiline string test bodies to isolated files
TODO: add timeout to p.communicate() in run_python()
|
|
|
|
|
|
|
|
| |
using new multi-dimensional support in 1.8
also update travis file
Closes GH #180
|
|
|
|
| |
https://github.com/eventlet/eventlet/issues/177
|
| |
|
| |
|
| |
|
|
|
|
| |
Closes GH #144
|
|
|
|
| |
Tox: PYTHONDONTWRITEBYTECODE = 1
|
|
|
|
|
|
|
| |
- dict.items().pop() in proc
- str/bytes in backdoor, api_test, ssl_test, test__refcount
- import httplib from six
- PEP-8 fixes
|
|
|
|
|
| |
For now, pep8 check is only run for some files known to be clean,
we should clean the rest and enable pep8 check for all files then.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
print() function syntax
|
|
|
|
|
|
|
| |
This helps ensuring everyone uses the code checkers with the same
configuration. Initial values based on earlier discussion. The
max-line-length is currently just based on the screen width I have
on my netbook.
|
| |
|