Your IP : 216.73.216.85
���] � @ 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)�ready�flag�match�fd�mode� r �1/opt/alt/python35/lib64/python3.5/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�POLLIN�POLLOUTr �pollr Zfail�random�choice�write�assertEqual�read�close�
unregister�remove)�self�pZ NUM_PIPESZMSGZMSG_LENZreadersZwritersZr2wZw2r�iZrd�wrZbufsr Z
ready_writersZ
ready_readers�bufr 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
assertTruer1 �
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 r: r r r �get_inheritabler; )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 r1 r2 r )r# r3 r4 r5 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 _testcapirC r r r r r r1 r2 r )r# rC r3 r4 r5 r r r
�"test_events_mask_overflow_c_limits� s
z/DevPollTests.test_events_mask_overflow_c_limitsN)
�__name__�
__module__�__qualname__r( r6 r? rA rB r rD r r r r
r s 2
r c C s t t � d S)N)r r r r r r
� test_main� s rH �__main__)r r r �sysZunittestZtest.supportr r r �hasattrZSkipTestr ZTestCaser rH rE r r r r
�<module> s w