o
    xij                     @   s   d dl mZ d dlmZ d dlZd dlZd dlZeddZdd Zdd	 Z	d
d Z
dd Zejdd Zdd Zdd Zdd ZdS )    )ThreadPoolExecutorPromiseNi@  )max_workersc                  C   sV   dd } | d dd }| dksJ | d dd dd }| d	ks)J d S )
Nc                    s    fdd}t |S )Nc                    s$    dkr
|   d S |t   d S )Nr   )	Exceptionresolverejectx `/home/ubuntu/.local/lib/python3.10/site-packages/wandb/vendor/promise-2.3.0/tests/test_issues.pymy   s   z'test_issue_11.<locals>.test.<locals>.myr   )r   r   r   r
   r   test   s   ztest_issue_11.<locals>.test*   c                 S      | S Nr   r
   r   r   r   <lambda>       ztest_issue_11.<locals>.<lambda>ic                 S   r   r   r   r
   r   r   r   r      r   c                 S   s   t | S r   )str)er   r   r   r          z-42)thenget)r   promise_resolvedpromise_rejectedr   r   r   test_issue_11   s
   	r   c                 C   s   |rt | | S r   )timesleepr   waitr   r   r   identity   s   
r!   c                 C   s   t t| |S r   )r   r   r!   r   r   r   r   promise_with_wait#   s   r"   c                  C   sd   t dd dD  } t dd dD  }t dd dD  }| |ks*J | |ks0J d S )Nc                    $   g | ] t  d  fddqS )Nc                        |  S r   r   yx1r   r   r   )   r   )test_issue_9.<locals>.<listcomp>.<lambda>r"   r   .0r   r'   r   
<listcomp>)      $ z test_issue_9.<locals>.<listcomp>r            c                    r#   )皙?c                    r$   r   r   r%   x2r   r   r   ,   r   r)   r*   r+   r   r4   r   r-   ,   r.   c                    r#   )皙?c                    r$   r   r   r%   x3r   r   r   /   r   r)   r*   r+   r   r7   r   r-   /   r.   r   allr   no_wait
wait_a_bitwait_longerr   r   r   test_issue_9'   s"   r?   c                  C   st   t dd dD  } t dd dD  }t dd dD  }| g dks,J | |ks2J | |ks8J d S )Nc                    r#   )Nc                    r$   r   r   r%   r'   r   r   r   9   r   .test_issue_9_safe.<locals>.<listcomp>.<lambda>r*   r+   r   r'   r   r-   9   r.   z%test_issue_9_safe.<locals>.<listcomp>r/   c                    r#   )r3   c                    r$   r   r   r%   r4   r   r   r   <   r   r@   r*   r+   r   r4   r   r-   <   r.   c                    r#   )r6   c                    r$   r   r   r%   r7   r   r   r   ?   r   r@   r*   r+   r   r7   r   r-   ?   r.   )r   r2      	   r9   r;   r   r   r   test_issue_9_safe6   s$   rC   c                     s   ddi t  fdd} | dd  | dd   d td t  fd	d}| fd
d} d d  |jdd  d sEJ d S )NsuccessFc                    s     d|iS )Npromise1_rejectupdater   contextr   r   r   J       ztest_issue_26.<locals>.<lambda>c                 S      d S r   r   r
   r   r   r   r   L   r   c                 S   rK   r   r   r
   r   r   r   r   M   r   rE   zOoops!c                    s     d| iS )Npromise2_resolverF   r   rH   r   r   r   Q   rJ   c                    s     ddiS )NrD   TrF   r
   rH   r   r   r   S   rJ   rL   r6   )timeout)r   r   RuntimeError_wait)promise1promise2promise3r   rH   r   test_issue_26G   s   

rS   c                  C   s,   dd } t d | }| dksJ d S )Nc                 S   s   t ddd  }|S )Nokc                 S   r   r   r   r
   r   r   r   r   l   r   z+test_issue_33.<locals>.do.<locals>.<lambda>r   r   r   r   )r   vr   r   r   dok   s   ztest_issue_33.<locals>.dorT   rU   )rW   pr   r   r   test_issue_33j   s   rY   c                  C   s$   dd } |  }t   | rJ d S )Nc                  S   s4   G dd d} |  }|t | ksJ t| S )Nc                   @   s   e Zd ZdS )z:test_issue_75.<locals>.function_with_local_type.<locals>.AN)__name__
__module____qualname__r   r   r   r   Au   s    r]   )r   r   r   weakrefref)r]   ar   r   r   function_with_local_typet   s   
z/test_issue_75.<locals>.function_with_local_type)gccollect)ra   weak_referencer   r   r   test_issue_75s   s   	re   )concurrent.futuresr   promiser   r   r^   rb   executorr   r!   r"   r?   saferC   rS   rY   re   r   r   r   r   <module>   s   

#	