o
    I&iX                     @   s   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eZd
ddZG dd	 d	eZ
dS )    N)
IS_WINDOWSTEST_WITH_CROSSREFTEST_WITH_TORCHDYNAMOTestCase   )configresetutils c              	   C   s   ddl m} tstststjdkrd S t| tr| f} | D ] }|dkr+t	j
 s+ d S zt| W q ty=   Y  d S w |  d S )Nr   )	run_tests)      cuda)$torch.testing._internal.common_utilsr   r   r   r   sysversion_info
isinstancestrtorchr   Zis_available	importlibimport_moduleImportError)Zneedsr   Zneedr
   r
   BC:\wamp64\www\opt\env\Lib\site-packages\torch/_dynamo/test_case.pyr      s(   


r   c                       sH   e Zd Ze fddZe fddZ fddZ fddZ  ZS )	r   c                    s   | j   t   d S N)_exit_stackclosesupertearDownClasscls	__class__r
   r   r   -   s   
zTestCase.tearDownClassc                    s.   t    t | _| jtjddd d S )NTF)Zraise_on_ctx_manager_usageZsuppress_errors)r   
setUpClass
contextlib	ExitStackr   enter_contextr   patchr   r    r
   r   r"   2   s
   

zTestCase.setUpClassc                    s(   t  | _t   t  tj  d S r   )	r   is_grad_enabled_prior_is_grad_enabledr   setUpr   r	   countersclear)selfr    r
   r   r)   :   s   

zTestCase.setUpc                    sh   t j D ]\}}t||  qt  t j  t   | j	t
 ur2td t
| j	 d S d S )NzRunning test changed grad mode)r	   r*   itemsprintmost_commonr   r+   r   tearDownr(   r   r'   logwarningZset_grad_enabled)r,   kvr    r
   r   r0   @   s   


zTestCase.tearDown)	__name__
__module____qualname__classmethodr   r"   r)   r0   __classcell__r
   r
   r    r   r   ,   s    r   )r
   )r#   r   loggingr   r   Ztorch.testingr   r   r   r   r   ZTorchTestCase r   r   r	   	getLoggerr5   r1   r   r
   r
   r
   r   <module>   s    

