
    Q-j                    j    d dl mZ d dlZd dlmZ d dlmZ erd dlmZ  G d dej                        Z	y)    )annotationsN)Any)TYPE_CHECKING)Callablec                  2     e Zd ZddZddZdd fdZ xZS )_TestableThreadc                V    t         j                  j                  | ||       d | _        y )N)targetargs)	threadingThread__init__exc)selfr
   r   s      f/Users/jameslopez/projects/TradingBot25/.venv/lib/python3.12/site-packages/optuna/testing/threading.pyr   z_TestableThread.__init__   s$    !!$vD!A)-    c                ~    	 t         j                  j                  |        y # t        $ r}|| _        Y d }~y d }~ww xY wN)r   r   runBaseExceptionr   )r   es     r   r   z_TestableThread.run   s4    	  & 	DHH	s   " 	<7<c                \    t         t        |   |       | j                  r| j                  y r   )superr   joinr   )r   timeout	__class__s     r   r   z_TestableThread.join   s'    ot)'288((N r   )r
   zCallable[..., Any]r   tuple)returnNoner   )r   zfloat | Noner   r   )__name__
__module____qualname__r   r   r   __classcell__)r   s   @r   r   r      s    . r   r   )

__future__r   r   typingr   r   collections.abcr   r   r    r   r   <module>r(      s+    "     (i&& r   