
    Vht                         d dl Z d dlZd dlmZ d dlmZmZ d dl	m
Z d dlm
Z
 d dlmZ ddeeeedf   f   ddfd	Z G d
 de      Zy)    N)Union)	run_testsTestCase)config)fresh_inductor_cacheneeds.returnc                     t        |        y N)dynamo_run_tests)r   s    I/home/dcms/DCMS/lib/python3.12/site-packages/torch/_inductor/test_case.pyr   r      s
    U    c                   0     e Zd ZdZd fdZd fdZ xZS )r   zz
    A base TestCase for inductor tests. Enables FX graph caching and isolates
    the cache directory for each test.
    c                 
   t         |           t        j                         | _        | j                  j                  t        j                  ddi             dt        j                  vr0| j                  j                  t        j                  ddi             t        j                  j                  d      dk7  rGt        j                  j                  d      dk7  r$| j                  j                  t                      y y y )Nenable_autograd_cacheTTORCHINDUCTOR_FX_GRAPH_CACHEfx_graph_cache!INDUCTOR_TEST_DISABLE_FRESH_CACHE1TORCH_COMPILE_DEBUG)supersetUp
contextlib	ExitStack_inductor_test_stackenter_contextfunctorch_configpatchosenvironr   getr   self	__class__s    r   r   zTestCase.setUp   s    $.$8$8$:!!!//""+T	
 *;%%33.56
 JJNN>?3F

45<%%334H4JK = Gr   c                 V    t         |           | j                  j                          y r   )r   tearDownr   closer"   s    r   r&   zTestCase.tearDown.   s     !!'')r   )r	   N)__name__
__module____qualname____doc__r   r&   __classcell__)r$   s   @r   r   r      s    
L,* *r   r   ) )r   r   typingr   torch._dynamo.test_caser   r   r   DynamoTestCasetorch._functorchr   r   torch._inductortorch._inductor.utilsr   strtupler-   r   r   <module>r6      sO     	  8 " 6U3c3h/0 $ *~ *r   