o
    "i                     @   s|   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rd S t| tr| f} | D ] }|dkr&tj	 s& d S zt
| W q ty8   Y  d S 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   needr
   r
   U/home/ubuntu/SoloSpeech/.venv/lib/python3.10/site-packages/torch/_dynamo/test_case.pyr      s   

r   c                       sT   e Zd ZU ejed< e fddZe fddZ fddZ	 fdd	Z
  ZS )
r   _exit_stackc                    s   | j   t   d S N)r   closesupertearDownClasscls	__class__r
   r   r   *   s   
zTestCase.tearDownClassc                    s0   t    t | _| jtjdddd d S )NTF)raise_on_ctx_manager_usagesuppress_errorslog_compilation_metrics)r   
setUpClass
contextlib	ExitStackr   enter_contextr   patchr   r   r
   r   r$   /   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warningset_grad_enabled)r.   kvr   r
   r   r2   A   s   


zTestCase.tearDown)__name__
__module____qualname__r%   r&   __annotations__classmethodr   r$   r+   r2   __classcell__r
   r
   r   r   r   '   s   
 
r   )r
   )r%   r   loggingr   torch.testingr   r   r   r   r   TorchTestCase r   r   r	   	getLoggerr8   r3   r   r
   r
   r
   r   <module>   s   

