o
    JXhU                     @   s   d dl Z d dlZd dlZd dl mZ dd ZG dd dZeeeddG d	d
 d
eejZ	G dd deejZ
G dd dejZedkrMe  dS dS )    N)tasksc                   C   s   t d  d S N)asyncioZset_event_loop_policy r   r   I/opt/python-3.10.19/usr/lib/python3.10/test/test_asyncio/test_futures2.pytearDownModule   s   r   c                   @      e Zd Zdd ZdS )FutureTestsc                    s   dd }|  | }tdD ]3}z|I d H  W n$ ty< } zdt|j}| |dd W Y d }~qd }~ww | 	d qd S )Nc                      s
   t d)N*   )	TypeErrorr   r   r   r   	raise_exc      z4FutureTests.test_future_traceback.<locals>.raise_exc    zawait future   zTypeError was not raised)
clsranger   join	traceback	format_tb__traceback__ZassertEqualcountZfail)selfr   future_etbr   r   r   test_future_traceback   s   z!FutureTests.test_future_tracebackN)__name__
__module____qualname__r   r   r   r   r   r	          r	   _CTaskzrequires the C _asyncio modulec                   @      e Zd ZejZdS )CFutureTestsN)r   r   r    r   r"   r   r   r   r   r   r$      s    
r$   c                   @   r#   )PyFutureTestsN)r   r   r    r   Z_PyTaskr   r   r   r   r   r%   #   s    
r%   c                   @   r   )FutureReprTestsc                    s0   dd }|  dttj| ddI d H  d S )Nc                      s
   t  S r   )r   Z	all_tasksr   r   r   r   func-   r   zCFutureReprTests.test_recursive_repr_for_pending_tasks.<locals>.funcz...
   )timeout)ZassertInreprr   wait_for)r   r'   r   r   r   %test_recursive_repr_for_pending_tasks(   s   &z5FutureReprTests.test_recursive_repr_for_pending_tasksN)r   r   r    r,   r   r   r   r   r&   &   r!   r&   __main__)r   r   Zunittestr   r   r	   Z
skipUnlesshasattrZIsolatedAsyncioTestCaser$   r%   r&   r   mainr   r   r   r   <module>   s   