]>
git.ipfire.org Git - thirdparty/tornado.git/log
Ben Darnell [Sun, 14 Jan 2018 20:45:48 +0000 (15:45 -0500)]
iostream: Add read_into method.
Tests come from Antoine Pitrou's #2193
Fixes #2176
Ben Darnell [Sun, 21 Jan 2018 00:00:30 +0000 (19:00 -0500)]
iostream: Use recv_into and friends in read_from_fd
This has the same memory-allocation behavior as before, but it moves
the buffer out of the recv() call to python code.
Ben Darnell [Mon, 15 Jan 2018 17:16:08 +0000 (12:16 -0500)]
Merge pull request #2249 from bdarnell/pipe-iostream
iostream: Use file objects instead of raw descriptors in PipeIOStream
Ben Darnell [Mon, 15 Jan 2018 03:48:36 +0000 (22:48 -0500)]
netutil_test: Disable error tests on TwistedResolver
These tests are flaky with the new "messages to stderr are errors"
check.
Ben Darnell [Sun, 14 Jan 2018 20:20:51 +0000 (15:20 -0500)]
test: Count writes to stderr as failures
Python 3 logs warnings in destructors if objects responsible for file
descriptors are not explicitly closed. These warnings were previously
being ignored by our test suite unless a human was looking at the log
output, but several recent PRs have introduced these issues. This
change ensures we catch them (and fixes the most recent one in
process_test. The leak has always been there, but the previous commit
caused it to be logged).
Antoine Pitrou [Sun, 22 Oct 2017 17:05:41 +0000 (19:05 +0200)]
iostream: Use file objects instead of raw descriptors in PipeIOStream
This makes the implementation of PipeIOStream more compatible with
socket streams, and allows for more of the test suite to be used with
it.
Extracted from PR #2193
Ben Darnell [Sun, 14 Jan 2018 15:16:58 +0000 (10:16 -0500)]
Merge pull request #2248 from bdarnell/work
ioloop,gen,asyncio: Improvements to IOLoop GC
David Walker [Sun, 14 Jan 2018 00:01:51 +0000 (17:01 -0700)]
Alter documentation to correctly state behavior (#2114)
Correctly document that the result of Condition.wait() is
not to raise a TimeoutError, but rather False.
Ben Darnell [Sat, 13 Jan 2018 22:31:32 +0000 (17:31 -0500)]
ioloop,asyncio: Be more careful to restore old asyncio loop
Any asyncio event loop that was created but neither closed nor set as
current for some thread will log a warning at the end of the test (in
a way that doesn't cause the test to fail). Fix a bug in
make_current() (in which multiple calls would clobber
self.old_asyncio) and use it more consistently when "current" status
changes.
Ben Darnell [Sat, 13 Jan 2018 18:55:32 +0000 (13:55 -0500)]
ioloop: Make clear_current work if called first in a thread
Fixes #2240
Antoine Pitrou [Fri, 29 Dec 2017 17:13:12 +0000 (18:13 +0100)]
Issue #2229: allow GCing of suspended coroutines
A suspended coroutine should be GCed if the underlying loop is closed
and no other outside reference exists to it. However, a suspended coroutine
with a refcycle would be kept alive by the _futures_to_runners mapping.
Instead use a private attribute on the future.
Ben Darnell [Sat, 13 Jan 2018 18:45:30 +0000 (13:45 -0500)]
asyncio: AsyncIOMainLoop.close now closes the underlying loop
Ben Darnell [Sat, 13 Jan 2018 18:54:23 +0000 (13:54 -0500)]
Merge pull request #2245 from ploxiln/shebang_exec
make executable git and shebang consistent on various source files
Jehiah Czebotar [Tue, 30 May 2017 13:27:15 +0000 (09:27 -0400)]
demos/file_uploader: add missing __name__ == __main__ stanza
Jehiah Czebotar [Tue, 30 May 2017 13:19:27 +0000 (09:19 -0400)]
make executable bit and shebang consistent on various source files
setup.py is intended to be run with "python setup.py install"
sources in the tornado module which have main functions/clauses
are intended to be run with "python -m tornado.xxx"
various demos and scripts can be run directly
Ben Darnell [Sun, 7 Jan 2018 00:26:00 +0000 (19:26 -0500)]
Merge pull request #2244 from bdarnell/lint-ci
build: Enforce flake8-cleanliness in CI
Ben Darnell [Sat, 6 Jan 2018 23:49:58 +0000 (18:49 -0500)]
lint: Check doctest code too
Ben Darnell [Sat, 6 Jan 2018 23:32:44 +0000 (18:32 -0500)]
lint: Un-skip a few rules
Ben Darnell [Sat, 6 Jan 2018 23:22:41 +0000 (18:22 -0500)]
build: Enforce flake8-cleanliness in CI
Ben Darnell [Sat, 6 Jan 2018 23:05:23 +0000 (18:05 -0500)]
Merge pull request #2237 from ploxiln/flake8_trivial
trivial flake8/pyflakes style fixes
Ben Darnell [Sat, 6 Jan 2018 22:54:02 +0000 (17:54 -0500)]
Merge branch 'branch4.5'
Ben Darnell [Sat, 6 Jan 2018 17:48:56 +0000 (12:48 -0500)]
Correct version and date on 4.5.3 release notes
Ben Darnell [Sat, 6 Jan 2018 17:38:22 +0000 (12:38 -0500)]
Merge pull request #2242 from bdarnell/release-4.5.3
Release 4.5.3
Ben Darnell [Fri, 5 Jan 2018 03:44:17 +0000 (22:44 -0500)]
Release notes for 4.5.3
Ben Darnell [Mon, 28 Aug 2017 02:38:14 +0000 (22:38 -0400)]
Get tests passing on latest version of pypy3
Ben Darnell [Fri, 5 Jan 2018 14:59:00 +0000 (09:59 -0500)]
Update travis-ci python versions to match master.
2.7.8 is no longer available and "pypy3" is old and has
other issues.
Ben Darnell [Sun, 5 Nov 2017 15:38:03 +0000 (10:38 -0500)]
test: More robust ipv6 detection
There are many ways ipv6 can be disabled or broken (and it just
stopped working on travis-ci), so instead of checking flags like
socket.has_ipv6, attempt to actually bind to an ipv6 address.
Closes #2185
Ben Darnell [Sun, 5 Nov 2017 15:32:10 +0000 (10:32 -0500)]
testing: Connect to 127.0.0.1 instead of localhost
The servers used in tests are only listening for ipv4, not ipv6
(to avoid spurious firewall prompts on macos). In what is apparently
a recent macos change, connecting to `localhost` when the ipv6 port
is unbound now incurs a 200ms delay, slowing a full test run down
by a factor of 20.
Pierce Lopez [Sat, 30 Dec 2017 23:34:32 +0000 (18:34 -0500)]
fix HTTPInputError reference for improperly terminated chunked request
bug introduced in #2225
Pierce Lopez [Tue, 26 Dec 2017 03:11:26 +0000 (22:11 -0500)]
http: read final crlf of chunked requests
otherwise a subsequent request on the same connection
will fail to be parsed
thanks to @eeelin for the bug report
Antoine Pitrou [Sat, 21 Oct 2017 20:05:19 +0000 (22:05 +0200)]
Don't keep any reference to memoryviews
See https://github.com/tornadoweb/tornado/pull/2008 for reasons
why this might be necessary.
Antoine Pitrou [Sat, 21 Oct 2017 18:47:29 +0000 (20:47 +0200)]
Release memoryviews explicitly
See https://github.com/tornadoweb/tornado/pull/2008 for reasons why this
might be necessary.
Jungkook Park [Thu, 21 Sep 2017 17:14:51 +0000 (02:14 +0900)]
fix websocket handshake failure causes an exception
Min RK [Tue, 11 Jul 2017 10:07:34 +0000 (12:07 +0200)]
cast curl debug messages to str
since they come in as bytes on Python 3
Sebastien Boving [Wed, 5 Jul 2017 17:04:33 +0000 (10:04 -0700)]
Handle 1xx's along 204/304's
Sebastien Boving [Tue, 27 Jun 2017 16:35:55 +0000 (09:35 -0700)]
Do not send/expect Content-Length on 1xx
Ben Darnell [Sat, 20 May 2017 17:44:08 +0000 (13:44 -0400)]
options: Report redefinition errors when underscores are used
Fixes #2020
Pierce Lopez [Wed, 3 Jan 2018 05:20:33 +0000 (00:20 -0500)]
style fix: wrap or ignore long lines in remaining tests
Pierce Lopez [Mon, 1 Jan 2018 22:54:33 +0000 (17:54 -0500)]
style fix: wrap or ignore long lines in some tests
template_test: rewrite long lambda to avoid long line
Pierce Lopez [Mon, 1 Jan 2018 22:46:05 +0000 (17:46 -0500)]
style fix: wrap or ignore long lines in tornado lib sources
excluding tests
Pierce Lopez [Mon, 1 Jan 2018 20:27:34 +0000 (15:27 -0500)]
style fix: misc indent flake warnings
E126 continuation line over-indented for hanging indent
E128 continuation line under-indented for visual indent
E129 visually indented line with same indent as next logical line
Pierce Lopez [Mon, 1 Jan 2018 20:01:22 +0000 (15:01 -0500)]
fix python2.7 / python3 incompatibilities
convert remaining uses of python2 print statement to print function
add "xrange = range" for python3 where needed
add "ResourceWarning = None" for python2 where needed
a bit of long/unicode type aliasing
such issues only remained in tests/demos
Pierce Lopez [Mon, 1 Jan 2018 19:43:18 +0000 (14:43 -0500)]
style fix: 2 blank lines around top-level class and function defs
flake8 codes E302 and E305
Pierce Lopez [Mon, 1 Jan 2018 19:22:58 +0000 (14:22 -0500)]
fix "unused variable" flake warnings
in iostream_test, and
an exception var in tornado.routing that only python2 pyflakes caught
Pierce Lopez [Mon, 1 Jan 2018 19:10:18 +0000 (14:10 -0500)]
style fix: multiple statements on one line
flake8 code E701
Pierce Lopez [Mon, 1 Jan 2018 18:43:55 +0000 (13:43 -0500)]
style fix: missing whitespace around operators
flake8 codes E225 and E226
Pierce Lopez [Sun, 31 Dec 2017 18:54:07 +0000 (13:54 -0500)]
style fix: 3 blank lines is too many, 0 is too few
around functions and classes
E306 expected 1 blank line before a nested definition, found 0
E303 too many blank lines (3)
Pierce Lopez [Sun, 31 Dec 2017 18:44:42 +0000 (13:44 -0500)]
style fix: closing bracket indent
E123 closing bracket does not match indentation of opening bracket's line
Pierce Lopez [Sun, 31 Dec 2017 18:42:29 +0000 (13:42 -0500)]
style fix: remove trailing whitespace
Pierce Lopez [Sun, 31 Dec 2017 18:36:58 +0000 (13:36 -0500)]
fix "imported but unused" flake warnings
Pierce Lopez [Mon, 1 Jan 2018 18:42:52 +0000 (13:42 -0500)]
add flake8 config
ignore some style checks and subdirectories
Ben Darnell [Mon, 1 Jan 2018 01:43:27 +0000 (20:43 -0500)]
Merge pull request #2238 from bdarnell/misc
asyncio,options,httpclient: Various small updates
Ben Darnell [Mon, 1 Jan 2018 01:29:09 +0000 (20:29 -0500)]
Merge pull request #2135 from FlorianLudwig/master
update google oauth URLs
Ben Darnell [Sun, 31 Dec 2017 23:30:40 +0000 (18:30 -0500)]
gen_test: Mark a timing-sensitive test as skipped on travis
Ben Darnell [Sun, 31 Dec 2017 22:05:05 +0000 (17:05 -0500)]
asyncio: Don't raise "IOLoop is closing" in add_callback
This mirrors a previous change to PollIOLoop. Fix a test that had
rotted and become meaningless.
Fixes #2191
Ben Darnell [Sun, 31 Dec 2017 21:40:32 +0000 (16:40 -0500)]
options: Rewrite docs
Clarify the overall philosophy of the module and divide up docs
between define() and the parse_* functions.
Adds a note about doubled log messages.
Fixes #1866
Ben Darnell [Sun, 31 Dec 2017 19:56:56 +0000 (14:56 -0500)]
asyncio: Add an event loop policy to allow creation on any thread
Fixes #2183
Ben Darnell [Sun, 31 Dec 2017 15:48:06 +0000 (10:48 -0500)]
httpclient: Add proxy options to CLI
For testing #2145
Ben Darnell [Sun, 31 Dec 2017 15:02:08 +0000 (10:02 -0500)]
Merge pull request #2235 from ploxiln/exc_info_var
fix iostream exc_info using missing Exception var
Ben Darnell [Sun, 31 Dec 2017 15:00:44 +0000 (10:00 -0500)]
Merge pull request #2236 from ploxiln/fix_chunked_exception
fix HTTPInputError reference for improperly terminated chunked request
Pierce Lopez [Sat, 30 Dec 2017 23:34:32 +0000 (18:34 -0500)]
fix HTTPInputError reference for improperly terminated chunked request
bug introduced in #2225
Pierce Lopez [Sat, 30 Dec 2017 23:22:38 +0000 (18:22 -0500)]
fix iostream exc_info using missing Exception var
bug introduced in #2028
this fix very similar to #2155
Ben Darnell [Sat, 30 Dec 2017 19:48:26 +0000 (14:48 -0500)]
Merge pull request #2225 from ploxiln/fix_chunked_requests
http: read final crlf of chunked requests
Ben Darnell [Wed, 27 Dec 2017 18:45:52 +0000 (13:45 -0500)]
Merge pull request #2228 from bdarnell/5.0a1
setup: Set version number to 5.0a1
Ben Darnell [Wed, 27 Dec 2017 18:06:11 +0000 (13:06 -0500)]
setup: Set version number to 5.0a1
Ben Darnell [Wed, 27 Dec 2017 18:05:22 +0000 (13:05 -0500)]
setup.py: Add python_requires
Ben Darnell [Wed, 27 Dec 2017 17:51:18 +0000 (12:51 -0500)]
netutil: Update docs for OverrideResolver and release notes
Ben Darnell [Wed, 27 Dec 2017 17:31:26 +0000 (12:31 -0500)]
Merge pull request #2227 from mivade/options-docs
Document that options can be booleans
Michael V. DePalatis [Wed, 27 Dec 2017 02:40:43 +0000 (20:40 -0600)]
Document that options can be booleans
Addresses #2222
Boris [Tue, 26 Dec 2017 23:05:28 +0000 (02:05 +0300)]
Add family argument to OverrideResolver->resolve method (#2201)
Pierce Lopez [Tue, 26 Dec 2017 03:11:26 +0000 (22:11 -0500)]
http: read final crlf of chunked requests
otherwise a subsequent request on the same connection
will fail to be parsed
thanks to @eeelin for the bug report
Ben Darnell [Sat, 23 Dec 2017 03:22:49 +0000 (22:22 -0500)]
Merge pull request #2224 from bdarnell/default-resolver
netutil: Use a threaded resolver by default
Ben Darnell [Sat, 23 Dec 2017 02:28:33 +0000 (21:28 -0500)]
asyncio: Delegate executor methods to asyncio loop
Avoid creating a second default thread pool to be managed.
Ben Darnell [Sat, 23 Dec 2017 02:14:15 +0000 (21:14 -0500)]
netutil: Use a threaded resolver by default
Uses IOLoop.run_in_executor.
concurrent.futures is now required on Python 2.
Ben Darnell [Sat, 23 Dec 2017 01:22:24 +0000 (20:22 -0500)]
Merge pull request #2220 from bdarnell/fix-multiprocess
tcpserver: Fix multiprocess modes
Ben Darnell [Tue, 19 Dec 2017 03:56:40 +0000 (22:56 -0500)]
tcpserver: Fix multiprocess modes
Two recent changes broke Tornado's multiprocess modes by initializing
the event loop before the fork in typical patterns.
- The removal of `io_loop` arguments moved a call to
IOLoop.current() earlier in TCPServer's constructor.
- The change to `asyncio.Future` initialized the asyncio event loop at
import time.
Move the call in TCPServer earlier (and audit the rest of that change
to make sure this didn't happen anywhere else) and replace
`gen.moment` and `gen._null_future` with dummy objects that do not
involve the asyncio event loop.
Ben Darnell [Mon, 18 Dec 2017 03:35:10 +0000 (22:35 -0500)]
Merge pull request #2219 from bdarnell/release-notes
docs: Start release notes for 5.0.
Ben Darnell [Mon, 18 Dec 2017 03:08:18 +0000 (22:08 -0500)]
Merge branch 'branch4.5' into release-notes
Ben Darnell [Mon, 18 Dec 2017 02:47:58 +0000 (21:47 -0500)]
docs: Start release notes for 5.0.
Update versionadded/versionchanged tags. Misc other doc updates
Ben Darnell [Mon, 18 Dec 2017 02:48:41 +0000 (21:48 -0500)]
Merge pull request #2218 from bdarnell/current-asyncio
ioloop: Setting AsyncIOLoop as current also sets asyncio event loop
Ben Darnell [Sun, 17 Dec 2017 16:36:53 +0000 (11:36 -0500)]
ioloop: Setting AsyncIOLoop as current also sets asyncio event loop
This should eliminate the need for explicit asyncio manipulations
from applications migrating to Tornado 5.0
Ben Darnell [Sun, 10 Dec 2017 01:24:54 +0000 (20:24 -0500)]
Merge pull request #2213 from bdarnell/asyncio-task-runner
gen: Use the asyncio task runner for native coroutines
Ben Darnell [Sat, 9 Dec 2017 20:15:39 +0000 (15:15 -0500)]
gen: Use the asyncio task runner for native coroutines
Ben Darnell [Sat, 9 Dec 2017 20:14:30 +0000 (15:14 -0500)]
ioloop_test: Explicitly close an IOLoop
This avoids a warning logged at GC time.
Ben Darnell [Fri, 8 Dec 2017 17:52:46 +0000 (12:52 -0500)]
Merge pull request #2212 from bdarnell/pypy3
travis.yml: Upgrade pypy3
Ben Darnell [Fri, 8 Dec 2017 17:32:51 +0000 (12:32 -0500)]
travis.yml: Upgrade pypy3
This may fix weird test failures as seen in #2193
Ben Darnell [Fri, 8 Dec 2017 15:19:02 +0000 (10:19 -0500)]
Merge pull request #2210 from hipro/patch-3
Update structure.rst `.get("Content-Type", "")`
Ben Darnell [Fri, 8 Dec 2017 13:26:56 +0000 (08:26 -0500)]
Merge pull request #2208 from shangdahao/impove_doc
Make the example code in the document "tornado.ioloop — Main event loop" can copy-paste-run directly.
hipro [Fri, 8 Dec 2017 09:43:12 +0000 (17:43 +0800)]
Update structure.rst
Ben Darnell [Thu, 7 Dec 2017 01:42:51 +0000 (20:42 -0500)]
Merge pull request #2200 from pitrou/set_result_unless_cancelled
Issue #2188: check whether a future was cancelled before calling set_result()
shanghui [Wed, 6 Dec 2017 06:45:21 +0000 (14:45 +0800)]
Make the example code in the document "tornado.ioloop — Main event loop" can copy-paste-run directly.
Antoine Pitrou [Thu, 16 Nov 2017 17:28:20 +0000 (18:28 +0100)]
Issue #2188: check whether a future was cancelled before calling set_result()
Min RK [Thu, 16 Nov 2017 03:21:52 +0000 (04:21 +0100)]
handle multiple values in X-Forwarded-Proto (#2162)
Antoine Pitrou [Thu, 16 Nov 2017 03:18:06 +0000 (04:18 +0100)]
Issue #2147: avoid copies on non-small writes (#2169)
Ben Darnell [Thu, 16 Nov 2017 03:17:16 +0000 (22:17 -0500)]
Merge pull request #2195 from kkopachev/circular-refs
Break circular references when async request handler raises exception
Ben Darnell [Thu, 16 Nov 2017 03:06:52 +0000 (22:06 -0500)]
Merge pull request #2192 from pitrou/asyncio_future_debug_info
Improve debug support for asyncio futures
Konstantin Kopachev [Fri, 10 Nov 2017 05:19:42 +0000 (21:19 -0800)]
Break circular references when async request handler raises exception
Antoine Pitrou [Tue, 7 Nov 2017 21:19:39 +0000 (22:19 +0100)]
Improve debug support for asyncio futures
When in debug mode, asyncio returns the instantiation place of a Future
and places it in its repr(), for example:
<Future finished result=None created at /home/antoine/distributed/distributed/worker.py:1223>
This is useful when asyncio logs cancelled futures or futures that were not
waited upon after erroring out.
However, when using @gen.coroutine, we need to fix the recorded stack trace
otherwise the display is much less useful:
<Future finished result=None created at /home/antoine/tornado/tornado/gen.py:295>
Ben Darnell [Sun, 5 Nov 2017 23:31:53 +0000 (18:31 -0500)]
routing_test: Remove test of log message
andrew [Fri, 3 Nov 2017 14:17:09 +0000 (17:17 +0300)]
return 404 when routing delegate is not found