Your IP : 216.73.216.52
��Yf � @ s� d d l Z d d l Z d d l Z d d l Z d d l Z d d l m Z m Z m Z e e d � sv e j
d � � d d � Z Gd d � d e j � Z
d d
� Z e d k r� e � d S)� N)�TESTFN�run_unittest�cpython_only�devpollz$test works only on Solaris OS familyc C s8 g } x+ | D]# \ } } | | @r
| j | � q
W| S)N)�append)�readyZflag�match�fd�mode� r �6/opt/alt/python35/lib64/python3.5/test/test_devpoll.py�find_ready_matching s
r
c @ s^ e Z d Z d d � Z d d � Z d d � Z d d � Z d d
� Z e d d � � Z d
S)�DevPollTestsc C s t j � } d } d } t | � } g } g } i } i } x� t | � D]y } t j � \ }
} | j |
� | j |
t j � | j | t j � | j
|
� | j
| � | | |
<|
| | <qI Wg } x.| r�| j � }
t |
t j � } | s| j
d � t j | � } t j | | � | j � }
t |
t j � } | sV| j
d � | j | | g | � | d }
t j |
| � } | j t | � | � | j
| � t j | |
� t j |
� | j | |
� | j |
� | j | |
� q� W| j | | g | � d S)N� s This is a test.zno pipes ready for writingzno pipes ready for readingr )�selectr �len�range�os�pipe�register�modify�POLLINZPOLLOUTr �pollr
Zfail�randomZchoice�write�assertEqual�read�close�
unregister�remove)�self�pZ NUM_PIPESZMSGZMSG_LENZreadersZwritersZr2wZw2r�iZrd�wrZbufsr Z
ready_writersZ
ready_readersZbufr r r �
test_devpoll1 sP
zDevPollTests.test_devpoll1c C s� t j � } t j � \ } } | j | � | j d � | j t | j d � | j t | j d � | j t | j d
� | j d � | j d � | j d � | j t | j d � | j t | j d � | j t | j d � d S)N� � � �@ r � �? ������r+ i �r+ l���� i @l l l )r r r r r r �assertRaises�
OverflowError)r �pollster�w�rr r r �test_timeout_overflowK s
z"DevPollTests.test_timeout_overflowc C s� t t d � } | j | j � | j � } t j � } | j | j � t � | j | j
� | j � | j | j
� | j t
| j � | j � | j t
| j | t j � | j t
| j � | j t
| j | | t j � | j t
| j | � d S)N�rb)�open�__file__�
addCleanupr �filenor r ZassertIsInstance�intZassertFalse�closedZ
assertTruer- �
ValueErrorr r r r r )r Z open_filer r r r r �
test_close\ s
zDevPollTests.test_closec C s? t j � } | j | j � | j t j | j � � d � d S)NF)r r r6 r r r �get_inheritabler7 )r r r r r �test_fd_non_inheritablet s z$DevPollTests.test_fd_non_inheritablec C s� t j � } t j � \ } } | j | � | j t | j d d � | j t | j d d � | j t | j d d � | j t | j d d � d S)Nr r% r( r+ l r+ l )r r r r r r- r. r )r r/ r0 r1 r r r �test_events_mask_overflowy s
z&DevPollTests.test_events_mask_overflowc C sy d d l m } t j � } t j � \ } } | j | � | j t | j d | d � | j t | j d | d � d S)Nr )� USHRT_MAXr% )
Z _testcapir? r r r r r r- r. r )r r? r/ r0 r1 r r r �"test_events_mask_overflow_c_limits� s
z/DevPollTests.test_events_mask_overflow_c_limitsN)
�__name__�
__module__�__qualname__r$ r2 r; r= r>