Sindbad~EG File Manager
a
��g�@ � @ s� d dl Z d dlmZmZmZ d dlZd dlmZ d dlZd dl m
Z
dd� ZG dd� dej�Z
G d d
� d
ej�ZG dd� de
ej�Zed
kr�e�� dS )� N)�asynccontextmanager�AbstractAsyncContextManager�AsyncExitStack)�support)�TestBaseExitStackc s t �� �� fdd��}|S )z5Decorator to turn an async function into a test case.c sX � | i |��}t �� }t �|� z|�|�W |�� t �d � S |�� t �d � 0 d S �N)�asyncio�new_event_loop�set_event_loopZrun_until_complete�close�set_event_loop_policy)�args�kwargs�coro�loop��func� �6/usr/local/lib/python3.9/test/test_contextlib_async.py�wrapper s
� �z_async_test.<locals>.wrapper)� functools�wraps)r r r r r �_async_test
s r c @ s4 e Zd Zedd� �Zedd� �Zdd� Zdd� Zd S )
�TestAbstractAsyncContextManagerc � st G dd� dt �}|� }| �|�� I d H |� |4 I d H �"}| �||� W d �I d H qp1 I d H sf0 Y d S )Nc s e Zd Z� fdd�Z� ZS )z@TestAbstractAsyncContextManager.test_enter.<locals>.DefaultEnterc � s t � j|� I d H d S r ��super� __aexit__��selfr
�� __class__r r r s zJTestAbstractAsyncContextManager.test_enter.<locals>.DefaultEnter.__aexit__��__name__�
__module__�__qualname__r �
__classcell__r r r r �DefaultEnter s r&