Nathaniel J. Smith
fb5a7ad421
bpo-32636: Fix @asyncio.coroutine debug mode bug exposed by gh-5250 ( #5291 )
2018-01-24 15:14:33 -05:00
Andrew Svetlov
0a5e71b4c7
bpo-32410: Improve sock_sendfile tests ( #5294 )
...
* Rename sock_sendfile test methods
* Make sock_sendfile tests more stable
2018-01-24 21:40:35 +02:00
Yury Selivanov
22feeb88b4
bpo-32643: Drop support for a few private Task and Future APIs. ( #5293 )
...
Specifically, it's not possible to subclass Task/Future classes
and override the following methods:
* Future._schedule_callbacks
* Task._step
* Task._wakeup
2018-01-24 11:31:01 -05:00
Nathaniel J. Smith
6934831e43
bpo-32633: Fix some warnings in test_asyncio.test_tasks ( #5280 )
2018-01-23 11:09:31 +02:00
Yury Selivanov
f23746a934
bpo-32436: Implement PEP 567 ( #5027 )
2018-01-22 19:11:18 -05:00
Victor Stinner
13ff24582c
bpo-32593: Drop FreeBSD 9 and older support ( #5232 )
...
Drop support of FreeBSD 9 and older.
2018-01-22 18:32:50 +01:00
Yury Selivanov
a4afcdfa55
bpo-32314: Fix asyncio.run() to cancel runinng tasks on shutdown ( #5262 )
2018-01-21 14:56:59 -05:00
Nathaniel J. Smith
fc2f407829
bpo-32591: Add native coroutine origin tracking ( #5250 )
...
* Add coro.cr_origin and sys.set_coroutine_origin_tracking_depth
* Use coroutine origin information in the unawaited coroutine warning
* Stop using set_coroutine_wrapper in asyncio debug mode
* In BaseEventLoop.set_debug, enable debugging in the correct thread
2018-01-21 09:44:07 -05:00
Christian Heimes
bd5c7d238c
bpo-32602: Test ECDSA certs ( #5247 )
...
Add test certs and test for ECDSA cert and EC/RSA dual mode.
I'm also adding certs for IDNA 2003/2008 tests and simplify some test
data handling.
Signed-off-by: Christian Heimes <christian@python.org>
2018-01-20 15:16:30 +01:00
Andrew Svetlov
7464e87a65
bpo-32410: Make SendfileNotAvailableError exception public ( #5243 )
2018-01-19 20:04:29 +02:00
Andrew Svetlov
6b5a27975a
bpo-32410: Implement loop.sock_sendfile() ( #4976 )
2018-01-16 19:59:34 +02:00
Yury Selivanov
21102f0dc2
Make asyncio tests run when there's no SSL module ( #5196 )
2018-01-15 17:56:32 -05:00
Yury Selivanov
0c36bed1c4
bpo-32458: Temporarily mask start-tls proactor test on Windows ( #5054 )
2017-12-30 15:40:20 -05:00
Andrew Svetlov
ffcb4c0165
bpo-32418: Postfix, raise NotImplementdError and close resources in tests ( #5052 )
2017-12-30 18:52:56 +02:00
Srinivas Reddy Thatiparthy (శ్రీనివాస్ రెడ్డి తాటిపర్తి)
1634fc289a
bpo-32418: Add get_loop() method on Server, AbstractServer classes ( #4997 )
...
* Add abstract get_loop() method to Server, AbstractServer classes.
* Add test cases for get_loop() method in Server, AbstractServer classes
* Add documentation for get_loop() method
2017-12-30 17:09:32 +02:00
Yury Selivanov
f111b3dcb4
bpo-23749: Implement loop.start_tls() ( #5039 )
2017-12-30 00:35:36 -05:00
Andrew Svetlov
a8f4e15f3d
bpo-26133: Fix typos ( #5010 )
...
* Fix typos
* Change warning text
* Add test
2017-12-26 11:53:38 +02:00
Yury Selivanov
e0aef4f3cd
bpo-31721: Allow Future._log_traceback to only be set to False ( #5009 )
2017-12-25 16:16:10 -05:00
Yury Selivanov
0cf16f9ea0
bpo-32363: Disable Task.set_exception() and Task.set_result() ( #4923 )
2017-12-25 10:48:15 -05:00
Yury Selivanov
719ccbca69
bpo-32415: Fix "error is already set" ( #4999 )
2017-12-23 16:29:26 -05:00
Andrew Svetlov
a330f483e2
Fix check for run_in_executor on closed loop. ( #4996 )
2017-12-23 23:03:27 +02:00
Yury Selivanov
a8fb079789
bpo-32415: Add more tests ( #4995 )
2017-12-23 15:42:27 -05:00
Yury Selivanov
ca9b36cd1a
bpo-32415: Add asyncio.Task.get_loop() and Future.get_loop() ( #4992 )
2017-12-23 15:04:15 -05:00
Yury Selivanov
558aa30f79
bpo-32357: Fix tests in refleak mode ( #4989 )
2017-12-23 12:44:29 -05:00
Andrew Svetlov
51eb1c6b9c
bpo-29970: Make ssh_handshake_timeout None by default ( #4939 )
...
* Make ssh_handshake_timeout None by default.
* Raise ValueError if ssl_handshake_timeout is used without ssl.
* Raise ValueError if ssl_handshake_timeout is not positive.
2017-12-20 20:24:43 +02:00
Neil Aspinall
f7686c1f55
bpo-29970: Add timeout for SSL handshake in asyncio
...
10 seconds by default.
2017-12-19 21:45:42 +02:00
Julien Duponchelle
319c0345cd
bpo-29711: Fix stop_serving in proactor loop kill all listening servers ( #431 )
2017-12-19 07:23:17 -05:00
Yury Selivanov
a9d7e552c7
bpo-32357: Optimize asyncio.iscoroutine() for non-native coroutines ( #4915 )
2017-12-19 07:18:45 -05:00
Andrew Svetlov
21be85f520
Improve test coverage ( #4924 )
2017-12-19 08:51:16 +02:00
Yury Selivanov
d757aaf9dd
bpo-32356: idempotent pause_/resume_reading; new is_reading method. ( #4914 )
2017-12-18 17:03:23 -05:00
Yury Selivanov
1b7c11ff0e
bpo-32348: Optimize asyncio.Future schedule/add/remove callback. ( #4907 )
2017-12-17 20:19:47 -05:00
Andrew Svetlov
44d1a5912e
bpo-32250: Implement asyncio.current_task() and asyncio.all_tasks() ( #4799 )
2017-12-16 21:58:38 +02:00
Yury Selivanov
e796b2fe26
bpo-27456: Ensure TCP_NODELAY is set on linux ( #4231 )
2017-12-15 19:32:25 -05:00
Andrew Svetlov
f74ef458ab
bpo-32311: Implement asyncio.create_task() shortcut ( #4848 )
...
* Implement functionality
* Add documentation
2017-12-15 07:04:38 +02:00
Yury Selivanov
19a44f63c7
bpo-32327: Convert asyncio functions documented as coroutines to coroutines. ( #4872 )
2017-12-14 20:53:26 -05:00
Yury Selivanov
02a0a19206
bpo-32314: Implement asyncio.run() ( #4852 )
2017-12-14 09:42:21 -05:00
Yury Selivanov
bfbf04ef18
bpo-32296: Unbreak tests on Windows ( #4850 )
2017-12-13 17:28:41 -05:00
Yury Selivanov
a70232f288
bpo-32296: Implement asyncio.get_event_loop and _get_running_loop in C. ( #4827 )
...
asyncio.get_event_loop(), and, subsequently asyncio._get_running_loop()
are one of the most frequently executed functions in asyncio. They also
can't be sped up by third-party event loops like uvloop.
When implemented in C they become 4x faster.
2017-12-13 14:49:42 -05:00
Andrew Svetlov
7a6706bf48
Fix couple typos ( #4839 )
2017-12-13 17:50:16 +02:00
Victor Stinner
721e25c653
bpo-32101: Fix tests for PYTHONDEVMODE=1 ( #4821 )
...
test_asycio: remove also aio_path which was used when asyncio was
developed outside the stdlib.
2017-12-12 23:15:00 +01:00
Yury Selivanov
abae67ebc2
Add asyncio.get_running_loop() function. ( #4782 )
2017-12-11 10:07:44 -05:00
Yury Selivanov
3e9751819a
bpo-32273: Move asyncio.test_utils to test.test_asyncio ( #4785 )
2017-12-11 10:04:40 -05:00
Yury Selivanov
6370f345e1
bpo-32262: Fix codestyle; use f-strings formatting where necessary. ( #4775 )
2017-12-10 18:36:12 -05:00
Yury Selivanov
c4d9df5fd7
Skip test_read_pty_output test on macOS for poll and select. ( #4774 )
...
Starting with 10.13.2 the test hangs forever.
2017-12-10 12:40:19 -05:00
Andrew Svetlov
28d8d14013
bpo-32253: Deprecate with statement and bare await for asyncio locks (GH-4764)
...
* Add test for 'with (yield from lock)'
* Deprecate with statement for asyncio locks
* Document the deprecation
2017-12-09 20:00:05 +02:00
Andrew Svetlov
5f841b5538
bpo-32193: Convert asyncio to async/await usage ( #4753 )
...
* Convert asyncio/tasks.py to async/await
* Convert asyncio/queues.py to async/await
* Convert asyncio/test_utils.py to async/await
* Convert asyncio/base_subprocess.py to async/await
* Convert asyncio/subprocess.py to async/await
* Convert asyncio/streams.py to async/await
* Fix comments
* Convert asyncio/locks.py to async/await
* Convert asyncio.sleep to async def
* Add a comment
* Add missing news
* Convert stubs from AbstrctEventLoop to async functions
* Convert subprocess_shell/subprocess_exec
* Convert connect_read_pipe/connect_write_pip to async/await syntax
* Convert create_datagram_endpoint
* Convert create_unix_server/create_unix_connection
* Get rid of old style coroutines in unix_events.py
* Convert selector_events.py to async/await
* Convert wait_closed and create_connection
* Drop redundant line
* Convert base_events.py
* Code cleanup
* Drop redundant comments
* Fix indentation
* Add explicit tests for compatibility between old and new coroutines
* Convert windows event loop to use async/await
* Fix double awaiting of async function
* Convert asyncio/locks.py
* Improve docstring
* Convert tests to async/await
* Convert more tests
* Convert more tests
* Convert more tests
* Convert tests
* Improve test
2017-12-09 00:23:48 +02:00
Andrew Svetlov
cc83920ad2
bpo-32166: Drop Python 3.4 code from asyncio ( #4612 )
...
* Drop Python 3.4 code from asyncio
* Fix notes
* Add missing imports
* Restore comment
* Resort imports
* Drop Python 3.4-3.5 specific code
* Drop redunant check
* Fix tests
* Restore _COROUTINE_TYPES order
* Remove useless code
2017-11-29 18:23:43 +02:00
Victor Stinner
ac577d7d0b
bpo-32154: Remove asyncio.windows_utils.socketpair ( #4609 )
2017-11-28 21:33:20 +01:00
Victor Stinner
4271dfd781
bpo-32154: Remove asyncio.selectors ( #4605 )
...
* Remove asyncio.selectors and asyncio._overlapped symbols from the
namespace of the asyncio module
* Replace "from asyncio import selectors" with "import selectors"
* Replace "from asyncio import _overlapped" with "import _overlapped"
asyncio.selectors was added to support Python 3.3, which doesn't have
selectors in its standard library, and Python 3.4 in the same code
base. Same rationale for asyncio._overlapped. Python 3.3 reached its
end of life, and asyncio is no more maintained as a third party
module on PyPI.
2017-11-28 15:19:56 +01:00
Victor Stinner
a10dc3efcb
asyncio: use directly socket.socketpair() ( #4597 )
...
Since Python 3.5, socket.socketpair() is also available on Windows,
and so can be used directly, rather than using
asyncio.windows_utils.socketpair().
2017-11-28 11:15:26 +01:00
Victor Stinner
92f9339a58
asyncio: Fix BaseSelectorEventLoopTests ( #4595 )
...
Currently, two tests fail with PYTHONASYNCIODEBUG=1 (or using -X
dev).
2017-11-28 00:35:55 +01:00
xdegaye
a6fba9b827
bpo-32126: Skip asyncio test when sem_open() is not functional (GH-4559)
2017-11-26 10:31:44 +01:00
xdegaye
5742f674f7
bpo-28684: Remove useless import added by the previous commit (GH-4547)
2017-11-24 18:56:22 +01:00
xdegaye
0f86cd38f4
bpo-28684: asyncio tests handle PermissionError raised on binding unix sockets (GH-4503)
...
The test.support.skip_unless_bind_unix_socket() decorator is used to skip
asyncio tests that fail because the platform lacks a functional bind()
function for unix domain sockets (as it is the case for non root users on the
recent Android versions that run now SELinux in enforcing mode).
2017-11-24 17:35:55 +01:00
Yury Selivanov
423fd362f8
bpo-32066: Support pathlib.Path in create_unix_connection; sock arg should be optional ( #4447 )
2017-11-20 17:26:28 -05:00
Victor Stinner
44862df2ee
bpo-32047: -X dev enables asyncio debug mode ( #4418 )
...
The new -X dev command line option now also enables asyncio debug
mode.
2017-11-20 07:14:07 -08:00
Andrew Svetlov
51d546ae4d
bpo-32069: Drop legacy SSL transport ( #4451 )
...
* Drop legacy SSL transport
* Drop unused import
* Fix Windows tests
* Drop never executed on Python 3.4+ code
2017-11-18 18:54:05 +02:00
Yury Selivanov
43605e6bfa
bpo-32034: Make IncompleteReadError & LimitOverrunError pickleable #4409
2017-11-15 17:14:28 -05:00
Andrey Egorov
e1d62e0b7c
bpo-32015: Asyncio looping during simultaneously socket read/write an… ( #4386 )
...
* bpo-32015: Asyncio cycling during simultaneously socket read/write and reconnection
* Tests fix
* Tests fix
* News add
* Add new unit tests
2017-11-14 11:18:59 +02:00
Yury Selivanov
ce12629c84
bpo-28369: Enhance transport socket check in add_reader/writer ( #4365 )
2017-11-13 13:38:22 -05:00
Yury Selivanov
4652bf2acc
Rewrite asyncio test to be more meaningful ( #4363 )
2017-11-10 15:34:17 -05:00
Suren Nihalani
c62f0cb3b1
bpo-31620: have asyncio/queues not leak memory when you've exceptions during waiting ( #3813 )
2017-11-07 20:35:23 +03:00
Antoine Pitrou
921e9432a1
bpo-31970: Reduce performance overhead of asyncio debug mode. ( #4314 )
...
* bpo-31970: Reduce performance overhead of asyncio debug mode.
2017-11-07 17:23:29 +01:00
Marat Sharafutdinov
69cfed1cd7
Add asyncio.Handle.cancelled() method ( #2388 )
2017-11-07 12:06:05 +03:00
jimmylai
d1e34031f6
[asyncio] bpo-30423: add regression test for orphan future causes "RuntimeError: Event loop stopped before Future completed." ( #3295 )
...
* call remove_done_callback in finally section
* [asyncio] bpo-30423 bug: add regression test for orphan future causes "RuntimeError: Event loop stopped before Future completed."
2017-11-01 15:54:45 +02:00
Quentin Dawans
fe4ea9cf1e
bpo-31245: Asyncio unix socket datagram ( #3164 )
2017-10-30 09:43:02 -04:00
Antoine Pitrou
525f40d231
bpo-31819: Add AbstractEventLoop.sock_recv_into() ( #4051 )
...
* bpo-31819: Add AbstractEventLoop.sock_recv_into()
* Add NEWS
* Add doc
2017-10-19 15:46:40 -04:00
jlacoline
ea2ef5d0ca
bpo-31632: fix set_protocol() in _SSLProtocolTransport ( #3817 ) ( #3817 )
2017-10-19 13:49:57 -04:00
Jelle Zijlstra
ac317700ce
bpo-30406: Make async and await proper keywords ( #1669 )
...
Per PEP 492, 'async' and 'await' should become proper keywords in 3.7.
2017-10-05 23:24:46 -04:00
Victor K
4d07189788
bpo-31556: asyncio.wait_for can cancel futures faster with timeout <= 0 ( #3703 )
2017-10-05 12:04:39 -04:00
Christian Heimes
a170fa162d
bpo-31346: Use PROTOCOL_TLS_CLIENT/SERVER ( #3058 )
...
Replaces PROTOCOL_TLSv* and PROTOCOL_SSLv23 with PROTOCOL_TLS_CLIENT and
PROTOCOL_TLS_SERVER.
Signed-off-by: Christian Heimes <christian@python.org>
2017-09-15 20:27:30 +02:00
Victor Stinner
b9b69003d9
bpo-31234: Add support.join_thread() helper ( #3587 )
...
join_thread() joins a thread but raises an AssertionError if the
thread is still alive after timeout seconds.
2017-09-14 14:40:56 -07:00
Antoine Pitrou
a6a4dc816d
bpo-31370: Remove support for threads-less builds ( #3385 )
...
* Remove Setup.config
* Always define WITH_THREAD for compatibility.
2017-09-07 18:56:24 +02:00
Serhiy Storchaka
bca4939d80
bpo-31185: Fixed miscellaneous errors in asyncio speedup module. ( #3076 )
2017-09-03 08:10:14 +03:00
Victor Stinner
e8a533fbc7
bpo-31250, test_asyncio: fix EventLoopTestsMixin.tearDown() ( #3264 )
...
Call doCleanups() to close the loop after calling
executor.shutdown(wait=True): see TestCase.set_event_loop() of
asyncio.test_utils.
Replace also gc.collect() with support.gc_collect().
2017-09-02 00:25:39 +02:00
Victor Stinner
16432beadb
bpo-31250, test_asyncio: fix dangling threads ( #3252 )
...
* Explicitly call shutdown(wait=True) on executors to wait until all
threads complete to prevent side effects between tests.
* Fix test_loop_self_reading_exception(): don't mock loop.close().
Previously, the original close() method was called rather than the
mock, because how set_event_loop() registered loop.close().
2017-09-01 14:46:06 +02:00
Victor Stinner
5659a72f48
bpo-31008: Fix asyncio test_wait_for_handle on Windows ( #3065 )
2017-08-11 01:23:22 +02:00
Alexander Mohr
de34cbe9cd
bpo-31061: fix crash in asyncio speedup module (GH-2966)
2017-08-02 15:31:07 +09:00
Victor Stinner
830080913c
bpo-31034: Reliable signal handler for test_asyncio ( #2867 )
...
* bpo-31034: Reliable signal handler for test_asyncio
Don't rely on the current SIGHUP signal handler, make sure that it's
set to the "default" signal handler: SIG_DFL.
* Add comments
2017-07-25 19:19:09 +02:00
Yury Selivanov
833a3b0d37
bpo-30828: Fix out of bounds write in `asyncio.CFuture.remove_done_callback() ( #2569 )
2017-07-05 13:32:03 -04:00
Victor Stinner
b903067462
bpo-30280: Cleanup threads in ayncio tests ( #2501 )
...
* bpo-30280: asyncio now cleans up threads
asyncio base TestCase now uses threading_setup() and
threading_cleanup() of test.support to cleanup threads.
* asyncio: Fix TestBaseSelectorEventLoop cleanup
bpo-30280: TestBaseSelectorEventLoop of
test.test_asyncio.test_selector_events now correctly closes the event
loop: cleanup its executor to not leak threads.
Don't override the close() method of the event loop, only override
the_close_self_pipe() method.
2017-06-30 11:12:33 +02:00
Yury Selivanov
09663de203
Revert "bpo-29406: asyncio SSL contexts leak sockets after calling close with certain servers ( #409 )" ( #2111 )
...
This reverts commit a608d2d5a7
.
2017-06-11 16:46:35 +02:00
Yury Selivanov
7ce1c6fb57
bpo-30508: Don't log exceptions if Task/Future "cancel()" method called ( #2050 )
2017-06-11 13:49:18 +00:00
Nikolay Kim
a608d2d5a7
bpo-29406: asyncio SSL contexts leak sockets after calling close with certain servers ( #409 )
...
* asyncio SSL contexts leak sockets after calling close with certain servers
* cleanup _shutdown_timeout_handle on _fatal_error
2017-06-10 00:04:39 -04:00
Nikolay Kim
a0e3d2dd09
Closing transport during handshake process leaks socket ( #480 )
2017-06-09 17:46:14 -04:00
Mathieu Sornay
894a654a9c
Fix waiter cancellation in asyncio.Lock ( #1031 )
...
Avoid a deadlock when the waiter who is about to take the lock is
cancelled
Issue #27585
2017-06-09 16:17:40 -04:00
Xiang Zhang
7c278a5eeb
bpo-30110: fix resource leak in test_asyncio.test_events ( #1413 )
2017-05-15 11:56:40 +08:00
INADA Naoki
991adca012
bpo-30048: asyncio: fix Task.cancel() was ignored. (GH-1097)
...
when there are no more `await` or `yield (from)` before return in coroutine,
cancel was ignored.
example:
async def coro():
asyncio.Task.current_task().cancel()
return 42
...
res = await coro() # should raise CancelledError
2017-05-11 21:18:38 +09:00
Victor Stinner
d6debb24e0
bpo-29919: Remove unused imports found by pyflakes ( #137 )
...
Make also minor PEP8 coding style fixes on modified imports.
2017-03-27 16:05:26 +02:00
Nikolay Kim
2b27e2e6a3
bpo-29742: asyncio get_extra_info() throws exception ( #525 )
2017-03-12 15:23:30 -04:00
Yury Selivanov
84af903f3b
bpo-28963: Fix out of bound iteration in asyncio.Future.remove_done_callback/C ( #408 )
2017-03-02 23:46:56 -05:00
Yury Selivanov
2f15645785
asyncio: Fix trailing whitespace/code style
2017-03-02 23:25:31 -05:00
Seth M. Larson
481cb70a72
bpo-29704: Fix asyncio.SubprocessStreamProtocol closing ( #405 )
2017-03-02 23:21:18 -05:00
Yury Selivanov
8d26aa930c
bpo-29271: Fix Task.current_task and Task.all_tasks to accept None. ( #406 )
2017-03-02 22:16:33 -05:00
Yury Selivanov
ba7e1f9a4e
bpo-29703: asyncio: Fix creating new event loops in child processes. ( #404 )
2017-03-02 20:07:11 -05:00
Serhiy Storchaka
70d28a184c
Remove unused imports.
2016-12-16 20:00:15 +02:00
Yury Selivanov
11c135136d
Merge 3.5 (issue #28990 )
2016-12-16 11:51:57 -05:00
Yury Selivanov
b1461aa781
Issue #28990 : Fix SSL hanging if connection is closed before handshake completed.
2016-12-16 11:50:41 -05:00
Yury Selivanov
c2c8fe1252
Issue #28843 : Fix asyncio C Task to handle exceptions __traceback__.
2016-12-01 11:36:22 -05:00
Yury Selivanov
5cb0c09fa6
Merge 3.5 (issue #28652 )
2016-11-21 17:47:41 -05:00