U
    9%e                     @   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r6| f} | D ]D}|dkrVt	j
 sV d S zt| W q: tk
r|   Y  d S X q:|  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
   V/var/www/html/Darija-Ai-API/env/lib/python3.8/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"   /   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   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   ZTorchTestCase r   r   r	   r   r
   r
   r
   r   <module>   s   
