* Fix for libuv 1.48
* Fix for macOS (resolve empty host string as "localhost")
* Add test
---------
Co-authored-by: Fantix King <fantix.king@gmail.com>
* Fix tests: 15s SSL_HANDSHAKE_TIMEOUT
Also allow longer time for slow tests on qemu aarch64 for GitHub Actions
* Build sdist on 22.04 to support LoongArch
In 3.8 a lot of asyncio functions have their `loop` parameter
deprecated. So we change the semantics of uvloop tests to never
pass the loop explicitly (unless to Future objects, when necessary)
That means that we now also need to set up asyncio/uvloop loop policies
for tests in setUp hooks.
The following event loop methods are now coroutines:
* getaddrinfo()
* sock_recv()
* sock_recv_into()
* sock_accept()
* subprocess_shell()
* subprocess_exec()
More specifically:
* loop.create_connection() and loop.create_server() can accept
AF_INET or AF_INET6 SOCK_STREAM sockets;
* loop.create_datagram_endpoint() can accept only SOCK_DGRAM
sockets;
* loop.connect_accepted_socket() can accept only SOCK_STREAM
sockets;
* fixed a bug in create_unix_server() and create_unix_connection()
to properly check for SOCK_STREAM sockets on Linux;
* fixed static DNS resolution to decline socket types that aren't
strictly equal to SOCK_STREAM or SOCK_DGRAM. On Linux socket
type can be a bit mask, and we should let system getaddrinfo()
to deal with it.