a
    äze¥  ã                   @   s€   d Z ddlZddlZddlZddlZddlmZ ddlmZ e 	ed¡ e 	ed¡ G dd„ deƒZ
d	d
„ Zedkr|e ¡  dS )z/This test checks for correct wait4() behavior.
é    N)ÚForkWait)ÚsupportÚforkÚwait4c                   @   s   e Zd Zdd„ ZdS )Ú	Wait4Testc                C   s„   t j}tj d¡rd}t ¡ tj }t ¡ |krXt  	||¡\}}}||krLqXt 
d¡ q$|  ||¡ |  t  |¡|¡ |  |¡ d S )NZaixr   gš™™™™™¹?)ÚosÚWNOHANGÚsysÚplatformÚ
startswithÚtimeÚ	monotonicr   ZSHORT_TIMEOUTr   ÚsleepZassertEqualÚwaitstatus_to_exitcodeZ
assertTrue)ÚselfZcpidÚexitcodeÚoptionÚdeadlineZspidÚstatusZrusage© r   ú%/usr/lib/python3.9/test/test_wait4.pyÚ	wait_impl   s    zWait4Test.wait_implN)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r      s   r   c                   C   s   t  ¡  d S )N)r   Úreap_childrenr   r   r   r   ÚtearDownModule#   s    r   Ú__main__)Ú__doc__r   r   r	   ZunittestZtest.fork_waitr   Útestr   Zget_attributer   r   r   Úmainr   r   r   r   Ú<module>   s   