
    PhX                         d dl Z d dlZd dlZd dlZd dlZd dlZd dlmZmZm	Z	m
Z ddlmZmZmZ  ej                   e      ZddZ G d de      Z
y)	    N)
IS_WINDOWSTEST_WITH_CROSSREFTEST_WITH_TORCHDYNAMOTestCase   )configresetutilsc                 4   ddl m} t        st        st        st
        j                  dk\  ry t        | t              r| f} | D ]=  }|dk(  r t        j                  j                         s y 	 t        j                  |       ?  |        y # t        $ r Y  y w xY w)Nr   )	run_tests)      cuda)$torch.testing._internal.common_utilsr   r   r   r   sysversion_info
isinstancestrtorchr   is_available	importlibimport_moduleImportError)needsr   needs      bC:\Users\daisl\Desktop\realtime-object-detection\venv\Lib\site-packages\torch/_dynamo/test_case.pyr   r      s    > 	w&%6>%**"9"9";''-  K  s   +B

	BBc                   P     e Zd Ze fd       Ze fd       Z fdZ fdZ xZS )r   c                 V    | j                   j                          t        |           y N)_exit_stackclosesupertearDownClasscls	__class__s    r   r#   zTestCase.tearDownClass-   s        c                     t         |           t        j                         | _        | j                  j                  t        j                  dd             y )NTF)raise_on_ctx_manager_usagesuppress_errors)r"   
setUpClass
contextlib	ExitStackr    enter_contextr   patchr$   s    r   r+   zTestCase.setUpClass2   s>    $..0%%LLD%P	
r'   c                     t        j                         | _        t        |           t                t        j                  j                          y r   )	r   is_grad_enabled_prior_is_grad_enabledr"   setUpr	   r
   countersclear)selfr&   s    r   r3   zTestCase.setUp:   s2    &+&;&;&=#r'   c                    t         j                  j                         D ]  \  }}t        ||j	                                ! t                t         j                  j                          t        | !          | j                  t        j                         ur5t        j                  d       t        j                  | j                         y y )NzRunning test changed grad mode)r
   r4   itemsprintmost_commonr	   r5   r"   tearDownr2   r   r1   logwarningset_grad_enabled)r6   kvr&   s      r   r;   zTestCase.tearDown@   s    NN((*DAq!Q]]_% +&&e.C.C.EEKK89""4#>#>? Fr'   )	__name__
__module____qualname__classmethodr#   r+   r3   r;   __classcell__)r&   s   @r   r   r   ,   s:        
 
@ @r'   r   ) )r,   r   loggingr   r   torch.testingr   r   r   r   r   TorchTestCase r   r	   r
   	getLoggerrA   r<   r   rF   r'   r   <module>rL      sN       
    # "g!0@} @r'   