
    IЦi                         S SK r S SKrS SKrS SKJrJr  S SKrS SKrS SKJ	r	  S SK
JrJrJrJr  SSKJrJrJr  \R(                  " \5      rSS\\\\S4   4   S	S4S
 jjr " S S\5      rg)    N)TupleUnion)	trace_log)
IS_WINDOWSTEST_WITH_CROSSREFTEST_WITH_TORCHDYNAMOTestCase   )configresetutilsneeds.returnc                 N   SSK Jn  [        (       d  [        (       d  [        (       a  g [        U [        5      (       a  U 4n U  HG  nUS:X  a'  [        R                  R                  5       (       d    g M0   [        R                  " U5        MI     U" 5         g ! [         a       g f = f)Nr   )	run_testscuda)$torch.testing._internal.common_utilsr   r   r   r   
isinstancestrtorchr   is_available	importlibimport_moduleImportError)r   r   needs      V/var/www/html/ai-image-ml/venv/lib/python3.13/site-packages/torch/_dynamo/test_case.pyr   r      s    >

.@.@%6>::**,, -''-  K  s   4B
B$#B$c                      ^  \ rS rSr% \R
                  \S'   \SU 4S jj5       r\SU 4S jj5       r	SU 4S jjr
SU 4S jjrSrU =r$ )	r	   *   _exit_stackc                 V   > U R                   R                  5         [        TU ]  5         g N)r   closesupertearDownClasscls	__class__s    r   r$   TestCase.tearDownClass-   s        c                    > [         TU ]  5         [        R                  " 5       U l        U R                  R                  [        R                  " SSSS95        g )NTF)raise_on_ctx_manager_usagesuppress_errorslog_compilation_metrics)r#   
setUpClass
contextlib	ExitStackr   enter_contextr   patchr%   s    r   r.   TestCase.setUpClass2   sE    $..0%%LL+/ %(-	
r)   c                   > [         R                  " 5       U l        [        TU ]  5         [        5         [        R                  R                  5         [        R                  " 5       U l        [        R                  " U R                  5        g r!   )r   is_grad_enabled_prior_is_grad_enabledr#   setUpr   r   countersclearloggingNullHandlerhandlerr   
addHandler)selfr'   s    r   r7   TestCase.setUp>   sT    &+&;&;&=#**,T\\*r)   c                   > [         R                  " U R                  5        [        R                  R                  5        H  u  p[        XR                  5       5        M      [        5         [        R                  R                  5         [        TU ]-  5         U R                  [        R                  " 5       La6  [        R!                  S5        [        R"                  " U R                  5        g g )NzRunning test changed grad mode)r   removeHandlerr<   r   r8   itemsprintmost_commonr   r9   r#   tearDownr6   r   r5   logwarningset_grad_enabled)r>   kvr'   s      r   rE   TestCase.tearDownF   s    -NN((*DA!]]_% +&&e.C.C.EEKK89""4#>#>? Fr)   )r6   r<   )r   N)__name__
__module____qualname____firstlineno__r/   r0   __annotations__classmethodr$   r.   r7   rE   __static_attributes____classcell__)r'   s   @r   r	   r	   *   sF    %%%    	
 	
+	@ 	@r)   r	   ) )r/   r   r:   typingr   r   r   torch.testingtorch._logging._internalr   r   r   r   r   r	   TorchTestCase r   r   r   	getLoggerrL   rF   r   r   rT   r)   r   <module>r[      sq          .  # " !U3c3h/0 $ (%@} %@r)   