o
    rri
                     @   s   d dl mZ d dlmZ d dlZd dlZd dlZddlmZ ddl	m
Z
mZ edZejded	 ejd
edd ejdedd ed ejded	 ddgZdddZdd Zdd Zdd ZdS )    )ArgumentParser)PathN   )argparse_main)XPget_xp	test_mainz--a)typez--b*   )r	   defaultz--num_workers
   z--cat_az--cat_bnum_workerszcat_*c                 C   s6   t tt| |dddd }tjddkrd|j_|S )NT)parserexcludedirshareduse_underscorec                  S   s   t  } ttd }t| jd  }| jjr+||s!J |t|s*J tn||r4J |t|r=J t| j	
ddi | S )N.codeloss皙?)r   strr   resolvefolderdoragit_save
startswith__file__linkpush_metrics)xpcwdr    r"   H/home/ubuntu/.local/lib/python3.10/site-packages/dora/tests/test_main.pymain   s   zget_main.<locals>.main_DORA_GIT_SAVE1)r   r   EXCLUDEosenvirongetr   r   )dora_dirr   r$   r"   r"   r#   get_main   s   
r,   c                 C   s0   t tj}z|tjdd < |  W |t_S |t_w )N   )listsysargv)r$   r0   old_argvr"   r"   r#   call3   s
   
r2   c                 C   s   | d }t | d |}t | d }t | d |}|dg}|| tt ||j W d    n1 s9w   Y  ||j}|j|jksLJ |j|jksTJ d S )Nr   abcz--a=5)	r,   r   init_xppytestraisesRuntimeErrorget_xp_from_sigsigr0   )tmpdirr   main_amain_bmain_cr    xp2r"   r"   r#   test_shared<   s   
rA   c           	      C   sn  t | }t|g }t|tsJ t|jdksJ dg}t||}|j|jks)J |ddd}t|dks9J t||}|j|jksFJ |jjdksNJ ddg}||}||ks]J t||}|j|jksjJ ||	|jkstJ |
|j}||ksJ ||}|d d d	ksJ ||}|d
ksJ tt |d W d    d S 1 sw   Y  d S )Nr   z--cat_a=plopr
      )r4   cat_bz--a=4r   r   za=4g      ?)r,   r2   
isinstancer   lenr;   value_to_argvcfgrC   get_argv_from_sigr:   get_xp_historyget_namer7   r8   
ValueError)	r<   r$   r    r0   r@   prexp3metricsnamer"   r"   r#   r   L   s6   






")N)argparser   pathlibr   r(   r/   r7   r$   r   r    r   r   r   add_argumentintr'   r,   r2   rA   r   r"   r"   r"   r#   <module>   s$   

	