a
    d                     @   sv   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	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_ROCMTEST_WITH_TORCHDYNAMOTestCase   )configresetutils c              	   C   s   ddl m} ts&ts&ts&ts&tjdkr*d S t| t	r:| f} | D ]B}|dkrZt
j sZ d S zt| W q> ty~   Y  d S 0 q>|  d S )Nr   )	run_tests)      cuda)$torch.testing._internal.common_utilsr   r   r   r   r   sysversion_info
isinstancestrtorchr   Zis_available	importlibimport_moduleImportError)Zneedsr   Zneedr   r   `/var/www/html/stable-diffusion-webui/venv/lib/python3.9/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#   1   s
    

zTestCase.setUpClassc                    s   t    t  tj  d S r   )r   setUpr	   r
   countersclear)selfr!   r   r   r(   9   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   r/   >   s
    
zTestCase.tearDown)	__name__
__module____qualname__classmethodr   r#   r(   r/   __classcell__r   r   r!   r   r   +   s   r   )r   )r$   r   r   r   Ztorch.testingr   r   r   r   r   r   ZTorchTestCase r   r	   r
   r   r   r   r   r   <module>   s   
