Update 2025-04-13_16:25:39
This commit is contained in:
Binary file not shown.
Binary file not shown.
@ -0,0 +1,84 @@
|
||||
import os
|
||||
import sys
|
||||
|
||||
import pytest
|
||||
|
||||
from .. import (
|
||||
current_async_library, AsyncLibraryNotFoundError,
|
||||
current_async_library_cvar, thread_local
|
||||
)
|
||||
|
||||
|
||||
def test_basics_cvar():
|
||||
with pytest.raises(AsyncLibraryNotFoundError):
|
||||
current_async_library()
|
||||
|
||||
token = current_async_library_cvar.set("generic-lib")
|
||||
try:
|
||||
assert current_async_library() == "generic-lib"
|
||||
finally:
|
||||
current_async_library_cvar.reset(token)
|
||||
|
||||
with pytest.raises(AsyncLibraryNotFoundError):
|
||||
current_async_library()
|
||||
|
||||
|
||||
def test_basics_tlocal():
|
||||
with pytest.raises(AsyncLibraryNotFoundError):
|
||||
current_async_library()
|
||||
|
||||
old_name, thread_local.name = thread_local.name, "generic-lib"
|
||||
try:
|
||||
assert current_async_library() == "generic-lib"
|
||||
finally:
|
||||
thread_local.name = old_name
|
||||
|
||||
with pytest.raises(AsyncLibraryNotFoundError):
|
||||
current_async_library()
|
||||
|
||||
|
||||
def test_asyncio():
|
||||
import asyncio
|
||||
|
||||
with pytest.raises(AsyncLibraryNotFoundError):
|
||||
current_async_library()
|
||||
|
||||
ran = []
|
||||
|
||||
async def this_is_asyncio():
|
||||
assert current_async_library() == "asyncio"
|
||||
# Call it a second time to exercise the caching logic
|
||||
assert current_async_library() == "asyncio"
|
||||
ran.append(True)
|
||||
|
||||
asyncio.run(this_is_asyncio())
|
||||
assert ran == [True]
|
||||
|
||||
with pytest.raises(AsyncLibraryNotFoundError):
|
||||
current_async_library()
|
||||
|
||||
|
||||
@pytest.mark.skipif(
|
||||
sys.version_info >= (3, 12),
|
||||
reason=
|
||||
"curio broken on 3.12 (https://github.com/python-trio/sniffio/pull/42)",
|
||||
)
|
||||
def test_curio():
|
||||
import curio
|
||||
|
||||
with pytest.raises(AsyncLibraryNotFoundError):
|
||||
current_async_library()
|
||||
|
||||
ran = []
|
||||
|
||||
async def this_is_curio():
|
||||
assert current_async_library() == "curio"
|
||||
# Call it a second time to exercise the caching logic
|
||||
assert current_async_library() == "curio"
|
||||
ran.append(True)
|
||||
|
||||
curio.run(this_is_curio)
|
||||
assert ran == [True]
|
||||
|
||||
with pytest.raises(AsyncLibraryNotFoundError):
|
||||
current_async_library()
|
Reference in New Issue
Block a user