o
    US`c                     @   sx   d dl Z d dlZd dlZddlmZ ddlmZ ddlmZ ddl	T dd Z
d	Zed
d Zedd Zedd ZdS )    N   )slow)_core)assert_checkpoints)*c                    sZ   t  }t| I d H }t  | }t||  d||   kr&dk s)J  J | S )NgG?g      ?)timeperf_counteroutcomeZacaptureprintunwrap)fZexpected_durstartresultZdur r   C/usr/local/lib/python3.10/dist-packages/trio/tests/test_timeouts.pycheck_takes_about   s    r   g      ?c               	      s  dd } t | tI d H  dd }t |tI d H  tt tdI d H  W d    n1 s0w   Y  t  tdI d H  W d    n1 sJw   Y  tt	 . ttj
 tdI d H  W d    n1 snw   Y  W d    d S W d    d S 1 sw   Y  d S )Nc                      s   t t t I d H  d S N)Zsleep_untilr   current_timeTARGETr   r   r   r   sleep_1.   s   ztest_sleep.<locals>.sleep_1c                      s   t tI d H  d S r   )sleepr   r   r   r   r   sleep_23   s   ztest_sleep.<locals>.sleep_2r   )r   r   pytestraises
ValueErrorr   r   Z
move_on_atr   r   Z	Cancelled)r   r   r   r   r   
test_sleep,   s$   "r   c               	      sp   t t td W d    n1 sw   Y  W d    n1 s%w   Y  dd } t| tI d H  d S )Nr   c                      >   t t tdI d H  W d    d S 1 sw   Y  d S Nd   )move_on_afterr   r   r   r   r   r   sleep_3I      
"z#test_move_on_after.<locals>.sleep_3)r   r   r   r    r   r   )r!   r   r   r   test_move_on_afterC   s   
r#   c               	      sb  dd } t t t| tI d H  W d    n1 sw   Y  tt d  tdI d H  W d    n1 s<w   Y  dd }t t t|tI d H  W d    n1 s]w   Y  t	d tdI d H  W d    n1 sxw   Y  t t
% t	d W d    n1 sw   Y  W d    d S W d    d S 1 sw   Y  d S )Nc                      sF   t t t  tdI d H  W d    d S 1 sw   Y  d S r   )fail_atr   r   r   r   r   r   r   r   sleep_4R   s   "ztest_fail.<locals>.sleep_4r   r   c                      r   r   )
fail_afterr   r   r   r   r   r   sleep_5\   r"   ztest_fail.<locals>.sleep_5r   )r   r   ZTooSlowErrorr   r   r$   r   r   r   r&   r   )r%   r'   r   r   r   	test_failP   s,   

"r(   )r	   r   r   Z_core.tests.tutilr    r   testingr   Z	_timeoutsr   r   r   r#   r(   r   r   r   r   <module>   s    

