
    'i                        d dl Z d dlmZ d dlZddlmZ ddlmZ d Zej                  j                  d      d	        Zej                  j                  d
      d        ZddZd Zej                  j                  d      d        Zy)    N)ref   )DebugExecutor)LocalExecutorc                      G d d      } |       }t        |      } |       |u sJ d }| j                  |t        |            S )Nc                       e Zd ZdZy)"job_with_weakref.<locals>.MyObjectworldN)__name__
__module____qualname__hello     N/var/www/stems/demucs_env/lib/python3.12/site-packages/submitit/test_pickle.pyMyObjectr	      s    r   r   c                 :     |        }|J  |        j                   S N)r   )a_refas     r   fz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                 V    t        |       }t        |      j                         dk(  sJ y 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                 V    t        |       }t        |      j                         dk(  sJ y r   )r   r   r   r   s     r   test_weakref_with_pickler$   &   r"   r   c                      t        d       y )Nzhello world)printr   r   r   hello_fnr'   ,   s
    	-r   c                     dt         fd} |       }t        t        d      |v sJ d|v sJ t        |       }|j                  |      }|j	                         |k(  sJ y )Nreturnc                  4    t        j                  t              S r   )pickledumpsr'   r   r   r   make_picklez)test_nested_pickling.<locals>.make_pickle1   s    ||H%%r   asciis   hello_fn)bytesr   r   r   r   )r    r-   pklr   js        r   test_nested_picklingr2   0   sf    & & -C7#s***#	x	 B
		+A88:r   zSubmitit changes __main__c                     dt         fd} |       }t        |       }|j                  |      j                         }||k(  sJ y )Nr)   c                  $    dd l } t        | dd      S )Nr   __file__ )__main__getattr)r7   s    r   get_mainz-test_submitit_respects_main.<locals>.get_mainG   s    xR00r   )strr   r   r   )r    r9   mainr   j_mains        r   test_submitit_respects_mainr=   <   sD    1c 1 :D	x	 BYYx '')F6>>r   )r)   N)r+   weakrefr   pytestlocal.debugr   local.localr   r   markxfailr!   r$   r'   r2   r=   r   r   r   <module>rD      s       & &   DE4 F4
 564 74
	 56 7r   