§
    ž²Åj	  ã                   óä   — d dl Z d dlZd dlZd dlmZmZ d dlZd dlZd dlm	Z	 d dl
mZmZmZmZ ddlmZmZmZ  ej        e¦  «        Zddeeeed	f         f         d
dfd„Z G d„ de¦  «        ZdS )é    N)ÚTupleÚUnion)Ú	trace_log)Ú
IS_WINDOWSÚTEST_WITH_CROSSREFÚTEST_WITH_TORCHDYNAMOÚTestCaseé   )ÚconfigÚresetÚutils© Úneeds.Úreturnc                 ó,  — ddl m} t          st          st          rd S t          | t          ¦  «        r| f} | D ]Q}|dk    r"t          j         	                    ¦   «         s d S Œ*	 t          j        |¦  «         Œ@# t          $ r Y  d S w xY w |¦   «          d S )Nr   )Ú	run_testsÚcuda)Ú$torch.testing._internal.common_utilsr   r   r   r   Ú
isinstanceÚstrÚtorchr   Úis_availableÚ	importlibÚimport_moduleÚImportError)r   r   Úneeds      úHC:\Projects\Historical\venv\Lib\site-packages\torch/_dynamo/test_case.pyr   r      sÏ   € Ø>Ð>Ð>Ð>Ð>Ð>åð ¥
ð Õ.@ð Øˆå�%�ÑÔð Ø�ˆØð ð ˆØ�6Š>ˆ>Ý”:×*Ò*Ñ,Ô,ð Ø��ððÝÔ'¨Ñ-Ô-Ð-Ð-øÝð ð ð Ø���ðøøøà€I�K„K€K€K€Ks   Á#A8Á8
BÂBc                   óz   ‡ — e Zd ZU ej        ed<   edˆ fd„¦   «         Zedˆ fd„¦   «         Zdˆ fd„Z	dˆ fd„Z
ˆ xZS )	r	   Ú_exit_stackr   Nc                 óz   •— | j                              ¦   «          t          ¦   «                              ¦   «          d S ©N)r   ÚcloseÚsuperÚtearDownClass©ÚclsÚ	__class__s    €r   r$   zTestCase.tearDownClass-   s3   ø€ àŒ×ÒÑÔÐÝ‰Œ×ÒÑÔÐÐÐó    c                 óÖ   •— t          ¦   «                              ¦   «          t          j        ¦   «         | _        | j                             t          j        ddd¬¦  «        ¦  «         d S )NTF)Úraise_on_ctx_manager_usageÚsuppress_errorsÚlog_compilation_metrics)r#   Ú
setUpClassÚ
contextlibÚ	ExitStackr   Úenter_contextr   Úpatchr%   s    €r   r-   zTestCase.setUpClass2   sj   ø€ å‰Œ×ÒÑÔÐÝ$Ô.Ñ0Ô0ˆŒØŒ×%Ò%ÝŒLØ+/Ø %Ø(-ðñ ô ñ	
ô 	
ð 	
ð 	
ð 	
r(   c                 ó2  •— t          j        ¦   «         | _        t          ¦   «                              ¦   «          t          ¦   «          t          j                             ¦   «          t          j
        ¦   «         | _        t          j        | j        ¦  «         d S r!   )r   Úis_grad_enabledÚ_prior_is_grad_enabledr#   ÚsetUpr   r   ÚcountersÚclearÚloggingÚNullHandlerÚhandlerr   Ú
addHandler)Úselfr'   s    €r   r5   zTestCase.setUp>   sk   ø€ Ý&+Ô&;Ñ&=Ô&=ˆÔ#Ý‰Œ�Š‰ŒˆÝ‰ŒˆÝŒ×ÒÑÔÐÝÔ*Ñ,Ô,ˆŒÝÔ˜Tœ\Ñ*Ô*Ð*Ð*Ð*r(   c                 óü  •— t          j        | j        ¦  «         t          j                             ¦   «         D ]'\  }}t          ||                     ¦   «         ¦  «         Œ(t          ¦   «          t          j         	                    ¦   «          t          ¦   «                              ¦   «          | j        t          j        ¦   «         ur5t                               d¦  «         t          j        | j        ¦  «         d S d S )NzRunning test changed grad mode)r   ÚremoveHandlerr:   r   r6   ÚitemsÚprintÚmost_commonr   r7   r#   ÚtearDownr4   r   r3   ÚlogÚwarningÚset_grad_enabled)r<   ÚkÚvr'   s      €r   rB   zTestCase.tearDownF   sÒ   ø€ ÝÔ ¤Ñ-Ô-Ð-Ý”N×(Ò(Ñ*Ô*ð 	&ð 	&‰DˆAˆqÝ�!�Q—]’]‘_”_Ñ%Ô%Ð%Ð%Ý‰ŒˆÝŒ×ÒÑÔÐÝ‰Œ×ÒÑÔÐØÔ&­eÔ.CÑ.EÔ.EÐEÐEÝ�KŠKÐ8Ñ9Ô9Ð9ÝÔ" 4Ô#>Ñ?Ô?Ð?Ð?Ð?ð FÐEr(   )r   N)Ú__name__Ú
__module__Ú__qualname__r.   r/   Ú__annotations__Úclassmethodr$   r-   r5   rB   Ú__classcell__)r'   s   @r   r	   r	   *   sÈ   ø€ € € € € € ØÔ%Ð%Ð%Ñ%àð ð  ð  ð  ð  ñ „[ð ð ð	
ð 	
ð 	
ð 	
ð 	
ñ „[ð	
ð+ð +ð +ð +ð +ð +ð	@ð 	@ð 	@ð 	@ð 	@ð 	@ð 	@ð 	@ð 	@ð 	@r(   r	   )r   )r.   r   r8   Útypingr   r   r   Útorch.testingÚtorch._logging._internalr   r   r   r   r   r	   ÚTorchTestCaseÚ r   r   r   Ú	getLoggerrH   rC   r   r   r   r(   r   ú<module>rT      sL  ðØ Ð Ð Ð Ø Ð Ð Ð Ø €€€Ø Ð Ð Ð Ð Ð Ð Ð à €€€Ø Ð Ð Ð Ø .Ð .Ð .Ð .Ð .Ð .ðð ð ð ð ð ð ð ð ð ð ð ð #Ð "Ð "Ð "Ð "Ð "Ð "Ð "Ð "Ð "ð €gÔ˜Ñ!Ô!€ðð �U˜3  c¨3 h¤Ð/Ô0ð ¸$ð ð ð ð ð(%@ð %@ð %@ð %@ð %@ˆ}ñ %@ô %@ð %@ð %@ð %@r(   