ó
úR_c           @   s   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 d e j f d     YZ e	 d k r e j
   n  d S(   i˙˙˙˙N(   t   Popen(   t   PIPEt   TestRunc           B   sD   e  Z d Z d    Z d   Z d   Z d   Z d   Z d   Z	 RS(   c         C   s,   t  j   |  _ t  j t  j j t   d  S(   N(   t   ost   getcwdt   cwdt   chdirt   patht   dirnamet   __file__(   t   self(    (    sX   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test__monkey_scope.pyt   setUp   s    c         C   s   t  j |  j  d  S(   N(   R   R   R   (   R
   (    (    sX   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test__monkey_scope.pyt   tearDown   s    c         C   s)  t  j j   } d | d <t j d d | d g } t | d t d t d | } | j   \ } } |  j d	 | j	 | | f  t j | d
 g } t | d t d t } | j   \ } } |  j d	 | j	 | | f  | j
 d  j   }	 | j
 d  j   }
 |  j |	 |
  |  j | |  |	 | f S(   Nt   ignoret   PYTHONWARNINGSs   -ms   gevent.monkeyt   patchedt   stdoutt   stderrt   envi    t   stdlibs   utf-8(   R   t   environt   copyt   syst
   executableR    R   t   communicatet   assertEqualt
   returncodet   decodet
   splitlines(   R
   t   scriptR   t   argst   pt   goutt   gerrt   poutt   perrt   glinest   plines(    (    sX   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test__monkey_scope.pyt   _run   s    
c         C   s    |  j  t j j d d   d  S(   Nt   monkey_packages	   script.py(   R&   R   R   t   join(   R
   (    (    sX   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test__monkey_scope.pyt   test_run_simple)   s    c         C   sN   |  j  d  \ } } |  j | d j d  | d  |  j | d d  d  S(   NR'   i    s   __main__.pyi   t   __main__(   R&   t
   assertTruet   endswithR   (   R
   t   linest   _(    (    sX   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test__monkey_scope.pyt   test_run_package,   s    !c         C   s   |  j  t j j d d   \ } } |  j | d d  | d j d d  | d <|  j | d d  |  j | d	 d |  d  S(
   NR'   s   issue302monkey.pyi    t   Truei   s   \t   /s    monkey_package/issue302monkey.pyi   (   R&   R   R   R(   R   t   replace(   R
   R-   R.   (    (    sX   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test__monkey_scope.pyt   test_issue_3023   s
    $N(
   t   __name__t
   __module__t   Nonet   maxDiffR   R   R&   R)   R/   R3   (    (    (    sX   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test__monkey_scope.pyR   
   s   					R*   (   R   t   os.pathR   t   unittestt
   subprocessR    R   t   TestCaseR   R4   t   main(    (    (    sX   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test__monkey_scope.pyt   <module>   s   2