
    קg                         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	dS )
    N)
IS_WINDOWSTEST_WITH_CROSSREFTEST_WITH_TORCHDYNAMOTestCase   )configresetutils c                 ,   ddl m} t          st          st          rd S t          | t                    r| f} | D ]Q}|dk    r"t          j        	                                s d S *	 t          j        |           @# t          $ r Y  d S w xY w |             d S )Nr   )	run_testscuda)$torch.testing._internal.common_utilsr   r   r   r   
isinstancestrtorchr   is_available	importlibimport_moduleImportError)needsr   needs      S/var/www/html/ai-engine/env/lib/python3.11/site-packages/torch/_dynamo/test_case.pyr   r      s    >>>>>> 
 .@ %   6>>:**,, '----   IKKKKKs   #A88
BBc                   r     e Zd ZU ej        ed<   e fd            Ze fd            Z fdZ	 fdZ
 xZS )r   _exit_stackc                 z    | j                                          t                                                       d S N)r   closesupertearDownClasscls	__class__s    r   r    zTestCase.tearDownClass,   s3        c                     t                                                       t          j                    | _        | j                            t          j        ddd                     d S )NTF)raise_on_ctx_manager_usagesuppress_errorslog_compilation_metrics)r   
setUpClass
contextlib	ExitStackr   enter_contextr   patchr!   s    r   r)   zTestCase.setUpClass1   sj    $.00%%L+/ %(-  	
 	
 	
 	
 	
r$   c                     t          j                    | _        t                                                       t                       t          j                                         d S r   )	r   is_grad_enabled_prior_is_grad_enabledr   setUpr	   r
   countersclear)selfr#   s    r   r1   zTestCase.setUp=   sH    &+&;&=&=#r$   c                    t           j                                        D ]'\  }}t          ||                                           (t                       t           j                                         t                                                       | j	        t          j                    ur5t                              d           t          j        | j	                   d S d S )NzRunning test changed grad mode)r
   r2   itemsprintmost_commonr	   r3   r   tearDownr0   r   r/   logwarningset_grad_enabled)r4   kvr#   s      r   r9   zTestCase.tearDownC   s    N((** 	& 	&DAq!Q]]__%%%%&e.C.E.EEEKK8999"4#>????? FEr$   )__name__
__module____qualname__r*   r+   __annotations__classmethodr    r)   r1   r9   __classcell__)r#   s   @r   r   r   )   s         %%%%        [  	
 	
 	
 	
 [	
    @ @ @ @ @ @ @ @ @r$   r   )r   )r*   r   loggingr   torch.testingr   r   r   r   r   TorchTestCase r   r	   r
   	getLoggerr?   r:   r   r   r$   r   <module>rJ      s                             # " " " " " " " " " g!!   ("@ "@ "@ "@ "@} "@ "@ "@ "@ "@r$   