o
    h                     @   sr   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 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   is_available	importlibimport_moduleImportError)needsr   needr
   r
   M/var/www/html/ai/venv/lib/python3.10/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)raise_on_ctx_manager_usagesuppress_errors)r   
setUpClass
contextlib	ExitStackr   enter_contextr   patchr!   r#   r
   r   r'   /   s
   

zTestCase.setUpClassc                    s   t    t  tj  d S r   )r   setUpr   r	   countersclear)selfr#   r
   r   r,   7   s   
zTestCase.setUpc                    s@   t j D ]\}}t||  qt  t j  t   d S r   )	r	   r-   itemsprintmost_commonr   r.   r   tearDown)r/   kvr#   r
   r   r3   <   s
   
zTestCase.tearDown)	__name__
__module____qualname__classmethodr    r'   r,   r3   __classcell__r
   r
   r#   r   r   )   s    r   )r
   )r(   r   r   r   torch.testingr   r   r   r   r   TorchTestCase r   r   r	   r   r
   r
   r
   r   <module>   s    
