Your IP : 216.73.216.213
�
g f � @ s� d Z d d l Z d d l m Z d d l Z d d l Z e j Z d e k r` d e d Z n Gd d � d e j � Z d d � Z
e d
k r� e
� n d S)zQBasic tests for os.popen()
Particularly useful for platforms that fake popen.
� N)�support� �"c @ sX e Z d Z d d � Z d d � Z d d � Z d d � Z d d
� Z d d � Z d
S)� PopenTestc C sd d } | t | f } t j | � � } | j � } Wd QXt | � d d � } | j | | � d S)Nz&%s -c "import sys; print(sys.argv)" %s� )�python�os�popen�read�eval�assertEqual)�selfZcmdlineZexpected�cmd�p�dataZgot� r �4/opt/alt/python34/lib64/python3.4/test/test_popen.py�_do_test_commandline s zPopenTest._do_test_commandlinec C si | j t t j � | j d d d g � | j d d d d g � | j d d d d g � t j � d S) Nzfoo barZfooZbarz foo "spam and eggs" "silly walk"z
spam and eggsz
silly walkzfoo "a \"quoted\" arg" barza "quoted" arg)ZassertRaises� TypeErrorr r r r Z
reap_children)r
r r r �
test_popen s
zPopenTest.test_popenc C ss | j t j d � j � d � t j d k rP | j t j d � j � d � n | j t j d � j � d � d S)Nzexit 0�ntzexit 42�* � i * )r r r �close�name)r
r r r �test_return_code- s "zPopenTest.test_return_codec
C s2 t j d � � } | j | j � d � Wd QXd S)Nz
echo hellozhello
)r r r r
)r
�fr r r �test_contextmanager4 s zPopenTest.test_contextmanagerc
C s5 t j d � � } | j t | � d g � Wd QXd S)Nz
echo hellozhello
)r r r �list)r
r r r r �test_iterating8 s zPopenTest.test_iteratingc C s) t j d d d d d d � � Wd QXd S)Nr zexit 0�mode�w� bufferingr ���)r r )r
r r r �
test_keywords<