
    ^i                        S SK r S SKJr  S SKrSSKJr  SSKJr  S r\R                  R                  SS9S	 5       r\R                  R                  S
S9S 5       rSS jrS r\R                  R                  SS9S 5       rg)    N)ref   )DebugExecutor)LocalExecutorc                      " S S5      nU" 5       n[        U5      nU" 5       UL d   eS nU R                  U[        U5      5      $ )Nc                       \ rS rSrSrSrg)"job_with_weakref.<locals>.MyObject   world N)__name__
__module____qualname____firstlineno__hello__static_attributes__r       Q/mnt/rpi/tmp/demucs-venv-sys/lib/python3.13/site-packages/submitit/test_pickle.pyMyObjectr	      s    r   r   c                 <    U " 5       nUc   eU " 5       R                   $ N)r   )a_refas     r   fjob_with_weakref.<locals>.f   s    G}}w}}r   )r   submit)exr   r   r   r   s        r   job_with_weakrefr      sH      	
AFE7a<<
 99QAr   z('a' is GC-ed before we call the function)reasonc                 X    [        U 5      n[        U5      R                  5       S:X  d   eg Nr   )r   r   resulttmp_pathr   s     r   test_weakref_no_pickler%       (    	x	 BB&&(G333r   z'ref(a)' can't be pickledc                 X    [        U 5      n[        U5      R                  5       S:X  d   eg r!   )r   r   r"   r#   s     r   test_weakref_with_pickler(   &   r&   r   c                      [        S5        g )Nzhello world)printr   r   r   hello_fnr+   ,   s
    	-r   c                     S[         4S jnU" 5       n[        [        S5      U;   d   eSU;   d   e[        U 5      nUR                  U5      nUR	                  5       U:X  d   eg )Nreturnc                  6    [         R                  " [        5      $ r   )pickledumpsr+   r   r   r   make_pickle)test_nested_pickling.<locals>.make_pickle1   s    ||H%%r   asciis   hello_fn)bytesr   r   r   r"   )r$   r1   pklr   js        r   test_nested_picklingr7   0   sf    & & -C7#s***#	x	 B
		+A88:r   zSubmitit changes __main__c                     S[         4S jnU" 5       n[        U 5      nUR                  U5      R                  5       nX$:X  d   eg )Nr-   c                  $    SS K n [        U SS5      $ )Nr   __file__ )__main__getattr)r<   s    r   get_main-test_submitit_respects_main.<locals>.get_mainG   s    xR00r   )strr   r   r"   )r$   r>   mainr   j_mains        r   test_submitit_respects_mainrC   <   sB    1c 1 :D	x	 BYYx '')F>>r   )r-   N)r/   weakrefr   pytestlocal.debugr   local.localr   r   markxfailr%   r(   r+   r7   rC   r   r   r   <module>rJ      s       & &   DE4 F4
 564 74
	 56 7r   