U
    ªÊ¹jß  ã                   @   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/bwave/python/venv/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   
