summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Python 3 compat: Fix all Travis test failuresdevJakub Stasiak2015-02-1324-320/+662
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch consists of the following changes: * Splitting eventlet.greenio into base, py2 and py3 parts (eventlet.greenio should be exporing the same public objects). This change is motivated by the size and the number of conditions present in the current greenio code * Connected to the first point: implementing almost completely new GreenPipe callable utilizing parts of old GreenPipe code but dropping _fileobject/SocketIO inheritance in favour of io.FileIO and making use of patched _pyio.open function which wraps raw file-like object in various readers and writers (they take care of the buffering, encoding/decoding etc.) * Implementing (from scratch or updating existing versions) green versions of the following modules: * http.* (needed by Python 3's urllib) * selectors (Python >= 3.4, used in subprocess module) * urllib.* (needed by various tests and we were already exposing green urllib) * Modifying some tests to make tests pass, which includes: * unicode/bytestring issues * modifying wsgi_test_conntimeout.py to not pass bufsize and close arguments to ExplodingSocketFile - on Python 3 it inherits from SocketIO, which doesn't deal with buffering at all as far as I can see * Random cleaning up and reorganizing * Requiring Python 3.x tests to pass for the whole build to pass Known issues: * code repetition * naming inconsistencies * possibly breaking some external code using private eventlet.greenio attributes Closes https://github.com/eventlet/eventlet/issues/108 Affects https://github.com/eventlet/eventlet/issues/6 (I'd call it an experimental support) Should help for https://github.com/eventlet/eventlet/issues/145 Should help for https://github.com/eventlet/eventlet/issues/157
* Tests: Provide listener details on nonempty hubJakub Stasiak2015-02-121-4/+14
|
* Green socket: Remove (seemingly) dead codeJakub Stasiak2015-02-121-56/+0
|
* Stop skipping a test unnecessarilyJakub Stasiak2015-02-111-3/+3
|
* Make sure SSL retries are done using the exact same data bufferLior Neudorfer2015-02-101-1/+4
|
* Python 3 compat: Fix patcher and hub testsJakub Stasiak2015-02-102-9/+21
|
* Python 3 compat: Add some GreenPipe hacksJakub Stasiak2015-02-091-1/+13
| | | | | GreenPipe will most likely need to be rewritten for Python 3 but this'll do for some cases
* Python 3 compat: Improve testsJakub Stasiak2015-02-091-11/+15
|
* Remove dead import codeJakub Stasiak2015-02-091-27/+6
|
* Use keyword argument here to make it easier to readJakub Stasiak2015-02-091-1/+1
|
* fix for already closed socketsDavid Szotten2015-02-082-1/+7
|
* Give credits for contributionsJakub Stasiak2015-02-081-0/+3
|
* Tests: tidy up tox fileDavid Szotten2015-02-072-147/+45
| | | | | | | | using new multi-dimensional support in 1.8 also update travis file Closes GH #180
* README.rst: Try to fix RST warningsMarc Abramowitz2015-02-071-2/+3
| | | | | | So that description renders formatted on PyPI. Closes GH #183
* Fix typos detected by toolkit misspellingsChangBo Guo(gcb)2015-02-078-9/+9
| | | | | | | * pip install misspellings * git ls-files | grep -v locale | misspellings -f - Closes GH #194
* v0.16.1 release (eventlet.util zombie sneaked into previous build)v0.16.1Sergey Shepelev2015-01-143-6/+11
|
* v0.16 releasev0.16Sergey Shepelev2014-12-304-6/+25
|
* hubs: delay import pkg_resourcesSergey Shepelev2014-12-302-9/+13
| | | | https://github.com/eventlet/eventlet/issues/177
* Handle EPIPE errors during tests when remote end closes connectionissue178Johannes Erdfelt2014-12-221-12/+17
| | | | | | | | | Closes #178 Some tests will induce behavior that causes the remote end to close the connection before all of the data has been written. With small kernel buffer sizes, this can cause an EPIPE error. Since the test expects an early close, this can be ignored.
* Add comments for people who get problem like issue "#81".QthCN2014-12-221-0/+4
|
* Fix monkey_patch() on Python 3py3_importlibVictor Stinner2014-12-213-0/+41
| | | | The importlib module must use real thread locks, not eventlet.Semaphore.
* Fix monkey-patched os.open(): add dir_fd parameterVictor Stinner2014-12-211-2/+5
| | | | | | | | The os.open() function got a new option keyword-only dir_fd parameter in Python 3.3: https://docs.python.org/3/library/os.html#os.open With this change, the open() now accepts the dir_fd parameter.
* tests: db_pool: test .clear() updates .current_size GH-139Sergey Shepelev2014-12-211-42/+58
|
* db_pool.BaseConnectionPool.clear updates .current_size #139Andrey Gubarev2014-12-211-0/+1
|
* Fix timers not cleaned up on MySQL test skipsCorey Wright2014-12-151-2/+2
| | | | | | | | | | | If it's determined that a MySQL test should be skipped during setUp(), but after the parent setUp() has been called, having created and started a timer, then tearDown() is never called and the timer never cancelled, but left to expire during some future, unrelated test. Move call to parent setUp() to end of child setUp() to insure that the timer is only created and started after it's been determined that the test shouldn't be skipped (ie create_db()).
* tpool: Windows compatibility, fix ResourceWarning. Thanks to Victor StinnerSergey Shepelev2014-12-011-1/+2
| | | | | | https://github.com/eventlet/eventlet/pull/167 Signal socket bind to 127.0.0.1, '' does not work on Windows sock.close() to fix ResourceWarning with python3 -Wd
* Travis: Slack.com integrationSergey Shepelev2014-11-201-0/+2
|
* Fix string concatenation errorsSteven Hardy2014-11-152-2/+34
| | | | | | | | | | | | Some error paths concatenate the output of "type" with a string, which gives TypeError: cannot concatenate 'str' and 'type' objects, rather than describing the actual error. Closes #149 GH Closes #150 GH Conflicts: eventlet/hubs/twistedr.py
* Python 3 compat: Improve WebSocket and testsJakub Stasiak2014-11-132-13/+13
|
* Fix __str__ method on the TimeoutExpired exception class. Also fix argumentTomaz Muraus2014-11-122-4/+8
| | | | | | | | | | order in the class constructor so it uses the same order as the actual class from Python 3.3 and above. TimeoutExpired from Python 3.3 takes arguments in the following order: cmd, timeout, output. See https://github.com/python/cpython/blob/master/Lib/subprocess.py#L388
* Travis: disallow PEP-8 failures from now onSergey Shepelev2014-11-121-1/+0
|
* pep8: Fix remaining issuesJakub Stasiak2014-11-121-2/+9
|
* Restore removed tests and make Python 3 compatibleJakub Stasiak2014-11-121-2/+36
| | | | This restores tests removed in 23beb7d43e
* Improve PEP8 conformanceJakub Stasiak2014-11-119-20/+39
|
* Exclude bundled mock and six from style checkingJakub Stasiak2014-11-111-2/+2
|
* ExcluJakub Stasiak2014-11-111-2/+2
|
* Update bundled six version to 1.8.0Jakub Stasiak2014-11-111-62/+178
|
* Give credits for 23beb7dJakub Stasiak2014-11-111-0/+1
|
* pep8: trivial fixesChristoph Gysin2014-11-114-6/+6
| | | | Closes #161 (GH)
* Python 3 compat; Improve WSGI, WS, threading and testsJakub Stasiak2014-11-117-137/+129
| | | | | | | | | | | | | | | | | | | This includes: * patching more tests to pass * removing few unit tests which I think are redundant * repeating SSL socket reads in a loop to read all data (I suspect this is related to the fact that writelines is used in the server code there and Python 3 writelines calls write/send repeatedly while on Python 2 it calls it once; on one hand there's no guarantee that single recv/read will return all data sent by the server, on the other hand it's quite suspicious that the number of required reads seems to be connected to the number of sends on the other side of the connection) * working through Python 2/Python 3 threading and thread differences; the lock code I used is the simplest way I could make the tests pass but will likely need to be modified in order to match the original This commit includes 6bcb1dc and closes GH #153
* wsgi: Add send_hundred_continue_response() API to the docsTushar Gohad2014-11-061-0/+15
|
* wsgi.input: Make send_hundred_continue_headers a public APITushar Gohad2014-11-062-7/+167
| | | | | | | | | | | | | | | | | | | | | | | Per HTTP RFC 7231 (http://tools.ietf.org/html/rfc7231#section-6.2) a client is required to be able to process one or more 100 continue responses. -- RFC 7231 -------------------- 6.2. Informational 1xx [snip] A client MUST be able to parse one or more 1xx responses received prior to a final response, even if the client does not expect one. A user agent MAY ignore unexpected 1xx responses. ... -------------------------------- This patch adds a send_hundred_continue_headers() public API method to wsgi.input, thus allowing WSGI apps to send more than one 100- continue response. This does not change existing semantics for the first 100-continue response sent on read() or readline().
* Improve documentationJakub Stasiak2014-10-313-0/+19
| | | | | | | | | This patch: * exposes eventlet.greenthread.kill function so Sphinx generates its documentation and fixes broken links to :func:`kill` * adds warning about wsgi.server waiting for active connections to finish before returning
* Improve Python 3 compat: WSGI testsJakub Stasiak2014-10-311-2/+2
|
* hubs: drop Twisted supportSergey Shepelev2014-10-2923-1555/+22
|
* Update a broken link in the exampleKevin2014-10-221-1/+1
|
* Fix "maximum recursion depth exceeded in GreenSocket.__del__"Jakub Stasiak2014-10-162-2/+28
| | | | | Closes #137 Closes #148
* Remove dead codeJakub Stasiak2014-10-161-5/+0
|
* Refactor capturing stderr into a context managerJakub Stasiak2014-10-153-20/+22
|
* Actually also give credit hereJakub Stasiak2014-10-131-1/+1
|