
    ;eY                     N    d dl Z d dlZd dlZd dlZddlmZ  G d de          ZdS )    N   )TestCasec                        e Zd Zd fd	Zd Zd Zd Zd Zd Zd Z	d	 Z
d
 Zd Zd Zd Zd Zd fd	Z fdZd Z xZS )IsolatedAsyncioTestCaserunTestc                     t                                          |           d | _        t          j                    | _        d S N)super__init___asyncioRunnercontextvarscopy_context_asyncioTestContext)self
methodName	__class__s     */usr/lib/python3.11/unittest/async_case.pyr   z IsolatedAsyncioTestCase.__init__#   s:    $$$"#.#;#=#=       c                 
   K   d S r	    r   s    r   
asyncSetUpz"IsolatedAsyncioTestCase.asyncSetUp(         r   c                 
   K   d S r	   r   r   s    r   asyncTearDownz%IsolatedAsyncioTestCase.asyncTearDown+   r   r   c                (     | j         |g|R i | d S r	   )
addCleanupr   funcargskwargss       r   addAsyncCleanupz'IsolatedAsyncioTestCase.addAsyncCleanup.   s)     	$1&11111r   c                    K   	 t          |          }	 |j        }|j        }n/# t          $ r" t	          d|j         d|j         d          d w xY w ||           d {V }|                     ||d d d            |S )N'.zC' object does not support the asynchronous context manager protocol)type
__aenter__	__aexit__AttributeError	TypeError
__module____qualname__r"   )r   cmclsenterexitresults         r   enterAsyncContextz)IsolatedAsyncioTestCase.enterAsyncContext=   s      	 2hh	'NE=DD 	' 	' 	' U U U1A U U U  "&'	' uRyyT2tT4888s	   # ,Ac                     | j                                          | j                            | j                   |                     | j                   d S r	   )r   get_loopr   runsetUp
_callAsyncr   r   s    r   
_callSetUpz"IsolatedAsyncioTestCase._callSetUpQ   sL     	$$&&& $$TZ000(((((r   c                 t    |                      |          "t          j        d| dt          d           d S d S )NzFIt is deprecated to return a value that is not None from a test case ()   )
stacklevel)_callMaybeAsyncwarningswarnDeprecationWarning)r   methods     r   _callTestMethodz'IsolatedAsyncioTestCase._callTestMethodY   sd    ''3M 2(.2 2 23ERSU U U U U U 43r   c                 x    |                      | j                   | j                            | j                   d S r	   )r7   r   r   r5   tearDownr   s    r   _callTearDownz%IsolatedAsyncioTestCase._callTearDown^   s6    *+++ $$T]33333r   c                 (     | j         |g|R i | d S r	   )r=   )r   functionr    r!   s       r   _callCleanupz$IsolatedAsyncioTestCase._callCleanupb   s+    X777777777r   c                P    | j                              ||i || j                  S N)context)r   r5   r   r   s       r   r7   z"IsolatedAsyncioTestCase._callAsynce   s<     "&&D$!&!!, ' 
 
 	
r   c                    t          j        |          r'| j                             ||i || j                  S  | j        j        |g|R i |S rJ   )inspectiscoroutinefunctionr   r5   r   r   s       r   r=   z'IsolatedAsyncioTestCase._callMaybeAsyncm   sv    &t,, 	G&**d%f%%0 +   
 04+/FtFFFvFFFr   c                 >    t          j        d          }|| _        d S )NT)debug)asyncioRunnerr   r   runners     r   _setupAsyncioRunnerz+IsolatedAsyncioTestCase._setupAsyncioRunnerw   s"    d+++$r   c                 <    | j         }|                                 d S r	   )r   closerS   s     r   _tearDownAsyncioRunnerz.IsolatedAsyncioTestCase._tearDownAsyncioRunner|   s    $r   Nc                     |                                   	 t                                          |          |                                  S # |                                  w xY wr	   )rU   r
   r5   rX   )r   r1   r   s     r   r5   zIsolatedAsyncioTestCase.run   sZ      """	*77;;v&&''))))D''))))s    A A"c                     |                                   t                                                       |                                  d S r	   )rU   r
   rP   rX   )r   r   s    r   rP   zIsolatedAsyncioTestCase.debug   s>      """##%%%%%r   c                 @    | j         |                                  d S d S r	   )r   rX   r   s    r   __del__zIsolatedAsyncioTestCase.__del__   s+    *''))))) +*r   )r   r	   )__name__r+   r,   r   r   r   r"   r2   r8   rB   rE   rH   r7   r=   rU   rX   r5   rP   r\   __classcell__)r   s   @r   r   r   	   s=       4> > > > > >
    2 2 2  () ) )U U U
4 4 48 8 8
 
 
G G G% % %
  * * * * * *& & & & &
* * * * * * *r   r   )rQ   r   rM   r>   caser   r   r   r   r   <module>r`      s|                E* E* E* E* E*h E* E* E* E* E*r   