
    sh                     |    S SK rS SKrS SKrS SKrS SKJr  SSKJ	r	  \ " S S\	5      5       r
\ " S S\	5      5       rg)	    N)skip_parfors_unsupported   )DispatcherCacheUsecasesTestc                       \ rS rSr\R
                  R                  \5      r\R
                  R                  \S5      r
SrS
S jrS rS rS rSrg	)TestParforsCache   parfors_cache_usecases.pyparfors_caching_test_fodderc                    U R                  5       nU R                  S5        [        X15      n[        R                  " S5      n[        R
                  R                  U" U5      UR                  U5      5        UR                  R                  5        Vs/ s H  nUR                  R                  PM     nnUR                  R                  5       u  nU R                  US/5        U R                  US-  5        U R                  5         g s  snf )Nr   
   F   )import_modulecheck_pycachegetattrnponestestingassert_allclosepy_func	overloadsvalueslibraryhas_dynamic_globalsassertEqualrun_in_separate_process)selffname	num_funcsmodfarycresdynamic_globalss           t/Users/tiagomarins/Projetos/claudeai/copy_bank/venv/lib/python3.13/site-packages/numba/tests/test_parfors_caching.pyrun_testTestParforsCache.run_test   s      "1Cggbk 	

""1S6199S>: (){{'9'9';=';t  <<;;'; 	 =##%5'29q=)$$&=s    D
c                 *    SnU R                  U5        g )Narrayexprs_caser%   r   r    s     r$   test_arrayexprs TestParforsCache.test_arrayexprs#   s    a    c                 *    SnU R                  U5        g )Nprange_caser)   r*   s     r$   test_prangeTestParforsCache.test_prange'   s    ar-   c                 (    SnU R                  USS9  g )Ncaller_case   )r   r)   r*   s     r$   test_callerTestParforsCache.test_caller+   s     	a1%r-    N)r   )__name__
__module____qualname____firstlineno__ospathdirname__file__herejoinusecases_filemodnamer%   r+   r0   r5   __static_attributes__r7   r-   r$   r   r      sB    77??8$DGGLL'BCM+G'$&r-   r   c                       \ rS rSr\R
                  R                  \5      r\R
                  R                  \S5      r
SrS rS rSrg)TestParforsCacheChangingThreads2   r	   r
   c                    S[        U R                  U R                  S9-  n0 [        R                  ES[        U5      0En[        R                  " [        R                  SU/[        R                  [        R                  US9nUR                  5       u  pVUR                  S:w  a*  [        SUR                   SUR                  5        S	35      eg )
Nzif 1:
            import sys

            sys.path.insert(0, %(tempdir)r)
            mod = __import__(%(modname)r)
            mod.self_run()
            )tempdirrC   NUMBA_NUM_THREADSz-c)stdoutstderrenvr   zprocess failed with code z:stderr follows

)dictrI   rC   r<   environstr
subprocessPopensys
executablePIPEcommunicate
returncodeAssertionErrordecode)r   thread_countcodenew_envpopenouterrs          r$   r   7TestParforsCacheChangingThreads.run_in_separate_process;   s     t||T\\BC JRZZI!4s<7HI  #..$!=(2
%,. $$&q  #<U=M=M<N O447JJL>"E F F !r-   c                     U R                  S5        U R                  S5        U R                  S5        U R                  S5        U R                  S5        g )Nr   r      r   )r   r   )r   s    r$   test_caching,TestParforsCacheChangingThreads.test_cachingN   sH    1$$Q'5!$$Q'5!r-   r7   N)r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   r   rd   rD   r7   r-   r$   rF   rF   2   s;    
 77??8$DGGLL'BCM+GF&"r-   rF   )os.pathr<   rR   rT   numpyr   numba.tests.supportr   rd   r   r   rF   r7   r-   r$   <module>ri      sP      
  8 5 #&2 #& #&L  "&A  "  "r-   