* chore: Cython version update
* add 3.11-dev pipeline
* Test and build on Python 3.11
* Drop test_context_run_segfault
* Support context in loop.create_task()
* Consistent PseudoSocket repr
* Add stubs for new 3.11 loop.sock_*() methods
* Skip test_create_ssl_server_manual_connection_lost on 3.11 for now
Co-authored-by: Fantix King <fantix.king@gmail.com>
Co-authored-by: Elvis Pranskevichus <elvis@edgedb.com>
This is a combined fix to correct contexts from which protocal callbacks
are invoked. In short, callbacks like data_received() should always be
invoked from consistent contexts which are copied from the context where
the underlying UVHandle is created or started.
The new test case covers also asyncio, but skipping the failing ones.
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.