o
    rri7                     @   s   d dl mZ d dlmZm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Zd	efd
dZd	efddZdd Zd	efddZdd ZdS )   )SubmitRules)ExplorerLauncher)	HydraMain)run_gridRunGridArgs   )	mock_shep)get_mainNlauncherc                 C   s   |   | dd d S )N*   )num_workers r   r   r   H/home/ubuntu/.local/lib/python3.10/site-packages/dora/tests/test_grid.py	explore_1   s   r   c                 C   s   | ddd d S )Nr      )r   ar   r   r   r   r   	explore_2   s   r   c                    s   fdd}t   t|  t t  d _d _|t}t|dks-J |d j	d u s6J d _|t}t|dksEJ |d j	j
dksOJ |d  rWJ d _|t}t|dksfJ |d  dkspJ |d  sxJ d _|t}t|dksJ |d  dksJ d_|t}t|dksJ |d  d	ksJ |d j	j
d
ksJ |d }d _|t}t|dksJ |d  d	ksJ |d j	j
dksJ | dksJ W d    d S 1 sw   Y  d S )Nc                    s   t t| d dS )Nunittest)slurmrulesargsr   r   explorer   mainr   r   r   r   rgrid   s   ztest_shep.<locals>.rgridFTr       0	CANCELLEDUNKNOWN12)r	   r
   get_slurm_configr   r   monitordry_runr   lenjobjob_idis_donecancelstateretryverboser   )tmpdirr   sheeps	old_sheepr   r   r   	test_shep   sL   "r3   c                 C   sN   |  ddd d | dddigi | ddd	d
i | ddd	ddi d S )N2   123)epochsz
optim.lossr   z	complex.atestweirdz	complex.b   r   r   bz
+complex.b   r   r;   c)bind_r   r   r   r   explore_hydraM   s   r@   c                    s   fdd}dt _t o t| t t  d _d _|t}t	|dks+J |d j
j}|jdks8J |jjdks@J |jd u sGJ |jjd	d
igksRJ |d j
j}|jjdddkscJ |d j
j}|jjddddksuJ W d    d S 1 sw   Y  d S )Nc                    s   t t| d dS )Nr   )r   r   r   r   r   r   r   r   r   r   U   s   ztest_shep_hydra.<locals>.rgridFT   r   r4   r5   r7   r8   r   r9   r   r:   r   r<   r=   )r   _slowr	   get_main_hydrar   r   r&   r'   r@   r(   xpcfgr6   optimlossr   complexr   r;   )r0   r   r1   rF   r   rA   r   test_shep_hydraT   s(   "rJ   )confr   r   r   r   hydrar   gridr   r   	fake_shepr	   	test_mainr
   
test_hydrarD   _retr   r   r3   r@   rJ   r   r   r   r   <module>   s   2