| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
|
Note to myself: despite asyncio.start_server promises to be IPv4-first if family is undefined:
, it creates an IPv6-only listening socket if possible. As a result, not only server.sockets[0].getsockname() returns an IPv6 address, the whole server refuses to accept IPv4 client connections. It took me two force-pushes to find out, so my apologises about flukes in the notifications. Now, I'm sorting out what and why leaks all connected sockets (as Address sanitizer reports) failing all non-Windows runners:
|
Sorry, something went wrong.
|
The failure was a combination of client-side blocking wait of a server and a missing asyncio loop policy. Both problems are fixed. |
Sorry, something went wrong.
|
A Python core developer has requested some changes be made to your pull request before we can consider merging it. If you could please address their requests along with any other requests in other reviews from core developers that would be appreciated. Once you have made the requested changes, please leave a comment on this pull request containing the phrase I have made the requested changes; please review again. I will then notify any core developers who have left a review that you're ready for them to take another look at this pull request. And if you don't make the requested changes, you will be poked with soft cushions! |
Sorry, something went wrong.
Without the grouping, reading code as a prose becomes harder: > Start the server. For a client, create a socket, set it nonblocking, > get a server name that is a name of its listening port, connect to the > server. instead of: > Start the server, its name is a name of its listening port. For > a client, create a socket, set it nonblocking, connect to the server.
|
|
||
|
|
||
| def tearDownModule(): | ||
| asyncio.set_event_loop_policy(None) |
There was a problem hiding this comment.
The line that set a loop policy is not present any more, so this cleanup step doesn’t seem to apply anymore.
Sorry, something went wrong.
There was a problem hiding this comment.
If I understand a failed pre-policy run correctly, the policy must either be manually set to something before any case is runned or be returned back to None before the suit exits. I've chosen the first variant, Andrew proposed to switch to the second.
0:04:29 load avg: 3.56 [300/433/1] test_os failed (env changed) -- running: test_asyncio (1 min 10 sec), test_concurrent_futures (1 min 57 sec)
[a bunch of oks and skips follow]
[...]
423 tests OK.
10 slowest tests:
- test_tools: 4 min 44 sec
- test_concurrent_futures: 3 min 30 sec
- test_peg_generator: 2 min 57 sec
- test_multiprocessing_spawn: 2 min 27 sec
- test_gdb: 1 min 51 sec
- test_asyncio: 1 min 50 sec
- test_multiprocessing_forkserver: 1 min 38 sec
- test_multiprocessing_fork: 1 min 22 sec
- test_regrtest: 1 min 12 sec
- test_statistics: 49.1 sec
1 test altered the execution environment:
test_os
9 tests skipped:
test_devpoll test_ioctl test_kqueue test_msilib test_startfile
test_winconsoleio test_winreg test_winsound test_zipfile64
Total duration: 11 min 50 sec
Tests result: ENV CHANGED
make: *** [Makefile:1795: buildbottest] Error 3
Error: Process completed with exit code 2.
Sorry, something went wrong.
|
LGTM. Let's wait for the buildbots fleet to finish to make sure that everything works smoothly. |
Sorry, something went wrong.
|
@asvetlov I fixed a forgotten self found by AMD64 FreeBSD. The second runner, ARM64 macOS, failed on test_asyncio that is unrelated: ======================================================================
ERROR: test_get_cancelled (test.test_asyncio.test_queues.QueueGetTests)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/Users/buildbot/buildarea/pull_request.pablogsal-macos-m1.macos-with-brew/build/Lib/asyncio/tasks.py", line 490, in wait_for
return fut.result()
^^^^^^^^^^^^
File "/Users/buildbot/buildarea/pull_request.pablogsal-macos-m1.macos-with-brew/build/Lib/asyncio/queues.py", line 158, in get
await getter
^^^^^^^^^^^^
asyncio.exceptions.CancelledError
Considering that the failed test_flags was marked as @requires_headers_trailers (not sys.platform.startswith("linux") and not sys.platform.startswith("solaris") and not sys.platform.startswith("sunos")), GitHub runners had no chance. |
Sorry, something went wrong.
|
GitHub Ubuntu runner failed with Error: Cache service responded with 400 during upload chunk; I reopened the PR to retrigger the workflow. |
Sorry, something went wrong.
|
I see. Test failures seem unrelated. |
Sorry, something went wrong.
|
Merged. Thanks! |
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
PEP 594 – Removing dead batteries from the standard library removes asyncore and asynchat in 3.12 with the following note:
However, the citation misses the tests for os. So this PR ports test_os.TestSendfile as the only class that uses asyncore to create a dummy sendfile server and communicate with it.
To simplify the review I broke all changes into a few commits to get readable diffs:
by IsolatedAsyncioTestCase is counted as a test failure (this commit is actually the last)
https://bugs.python.org/issue47015