;
Ìâ"Ic               @   s¾   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 y e j Wn  e	 k
 o e d ƒ ‚ Yn Xd „  Z
 Gd „  d e j ƒ Z d „  Z e d k o e ƒ  n d S(	   i    N(   u   TestSkippedu   TESTFNu   run_unittestu-   select.poll not defined -- skipping test_pollc             C   s=   g  } x0 |  D]( \ } } | | @o | j  | ƒ q q W| S(   N(   u   append(   u   readyu   flagu   matchu   fdu   mode(    (    u+   /mit/python/lib/python3.0/test/test_poll.pyu   find_ready_matching   s     c             B   s2   |  Ee  Z d  „  Z d „  Z d „  Z d „  Z d S(   c             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&| o| j ƒ  } t | t  j	 ƒ } | p t d ƒ ‚ n t j | ƒ } t j | | ƒ | j ƒ  } t | t  j ƒ } | p t d ƒ ‚ n t j | ƒ }
 t j |
 | ƒ } |  j t | ƒ | ƒ | j
 | ƒ t j | |
 ƒ t j |
 ƒ | j | |
 ƒ | j |
 ƒ | j | |
 ƒ qÏ W|  j | | g | ƒ d  S(   Ni   s    This is a test.u   no pipes ready for writingu   no pipes ready for reading(   u   selectu   pollu   lenu   rangeu   osu   pipeu   registeru   modifyu   POLLINu   POLLOUTu   appendu   find_ready_matchingu   RuntimeErroru   randomu   choiceu   writeu   readu   assertEqualu   closeu
   unregisteru   remove(   u   selfu   pu	   NUM_PIPESu   MSGu   MSG_LENu   readersu   writersu   r2wu   w2ru   iu   rdu   wru   bufsu   readyu   ready_writersu   ready_readersu   buf(    (    u+   /mit/python/lib/python3.0/test/test_poll.pyu
   test_poll1   sR     
  c       	      C   sÊ  d } y t  j | ƒ Wn t k
 o Yn Xt j ƒ  } | j | ƒ | j ƒ  } |  j | d | t j f ƒ t t	 d ƒ } | j
 ƒ  } t j ƒ  } | j | ƒ | j ƒ  } |  j | d d | ƒ | j ƒ  | j ƒ  } |  j | d | t j f ƒ t  j t	 ƒ t j ƒ  } |  j t | j | ƒ |  j t | j | ƒ t j ƒ  } |  j t | j d ƒ t j ƒ  } Gd „  d ƒ } Gd „  d ƒ } |  j t | j | ƒ  d ƒ |  j t | j | ƒ  d ƒ d  S(	   Ni*   i    u   wi   c             B   s   |  Ee  Z d  S(   N(   u   __name__u
   __module__(   u
   __locals__(    (    u+   /mit/python/lib/python3.0/test/test_poll.pyu   Nopeh   s   
u   Nopec             B   s   |  Ee  Z d  „  Z d S(   c             S   s   d S(   Nu   fileno(    (   u   self(    (    u+   /mit/python/lib/python3.0/test/test_poll.pyu   filenol   s    N(   u   __name__u
   __module__u   fileno(   u
   __locals__(    (    u+   /mit/python/lib/python3.0/test/test_poll.pyu   Almostk   s   
u   Almost(   u   osu   closeu   OSErroru   selectu   pollu   registeru   assertEqualu   POLLNVALu   openu   TESTFNu   filenou   unlinku   assertRaisesu	   TypeErroru
   unregisteru   KeyError(	   u   selfu   FDu   pu   ru   fu   fdu   pollsteru   Nopeu   Almost(    (    u+   /mit/python/lib/python3.0/test/test_poll.pyu   poll_unit_testsF   s:    
c       	      C   s
  d } t  j | d ƒ } t j ƒ  } | j | t j ƒ xÂ d d D]¶ } | j | ƒ } | g  k o qB n | d \ } } | t j @o1 | j ƒ  } | d k o |  j d ƒ qB qB qB | t j @o | j ƒ  } | p PqB qB qB |  j d | ƒ qB W| j	 ƒ  d  S(   Nu?   for i in 0 1 2 3 4 5 6 7 8 9; do echo testing...; sleep 1; doneu   ri    iè  iÐ  i   i@  i€>  iÿÿÿÿi
   u    u6   error: pipe seems to be closed, but still returns datau,   Unexpected return value from select.poll: %s(   i    iè  iÐ  i   i@  i€>  (   iÿÿÿÿ(
   iÿÿÿÿiÿÿÿÿiÿÿÿÿiÿÿÿÿiÿÿÿÿiÿÿÿÿiÿÿÿÿiÿÿÿÿiÿÿÿÿiÿÿÿÿ(
   u   osu   popenu   selectu   pollu   registeru   POLLINu   POLLHUPu   readlineu   failu   close(	   u   selfu   cmdu   pu   pollsteru   toutu   fdlistu   fdu   flagsu   line(    (    u+   /mit/python/lib/python3.0/test/test_poll.pyu
   test_poll2u   s,     c             C   sW   t  j ƒ  } | j d ƒ |  j t | j d ƒ d } | d k o |  j d ƒ n d  S(	   Ni   i@   i   i   i   u   Overflow must have occurredl            i   (   u   selectu   pollu   registeru   assertRaisesu   OverflowErroru   fail(   u   selfu   pollsteru   x(    (    u+   /mit/python/lib/python3.0/test/test_poll.pyu
   test_poll3Ž   s    N(   u   __name__u
   __module__u
   test_poll1u   poll_unit_testsu
   test_poll2u
   test_poll3(   u
   __locals__(    (    u+   /mit/python/lib/python3.0/test/test_poll.pyu	   PollTests   s   
	1	/	u	   PollTestsc               C   s   t  t ƒ d  S(   N(   u   run_unittestu	   PollTests(    (    (    u+   /mit/python/lib/python3.0/test/test_poll.pyu	   test_main™   s    u   __main__(   u   osu   selectu   randomu   unittestu   test.supportu   TestSkippedu   TESTFNu   run_unittestu   pollu   AttributeErroru   find_ready_matchingu   TestCaseu	   PollTestsu	   test_mainu   __name__(    (    (    u+   /mit/python/lib/python3.0/test/test_poll.pyu   <module>   s   0	†	