
    0hht	                     "   S r SSKrSSKJr  SSKrSSKr\" \S5      (       d  \R                  " S5      e\R                  r	S\	;   a  S\	-   S-   r	\R                  " 5        " S S	\R                  5      5       r\S
:X  a  \R                  " 5         gg)zOBasic tests for os.popen()

Particularly useful for platforms that fake popen.
    N)supportpopenzneed os.popen() "c                   8    \ rS rSrS rS rS rS rS rS r	Sr
g	)
	PopenTest   c                     SnU[         U4-  n[        R                  " U5       nUR                  5       nS S S 5        [	        W5      SS  nU R                  Xb5        g ! , (       d  f       N.= f)Nz&%s -c "import sys; print(sys.argv)" %s   )pythonosr   readevalassertEqual)selfcmdlineexpectedcmdpdatagots          8/opt/python-3.13.8/usr/lib/python3.13/test/test_popen.py_do_test_commandlinePopenTest._do_test_commandline   sX    6VW%%XXc]a668D 4jn' ]s   A
A+c                     U R                  [        [        R                  5        U R	                  SSS/5        U R	                  S/ SQ5        U R	                  S/ SQ5        [
        R                  " 5         g )Nzfoo barfoobarz foo "spam and eggs" "silly walk")r   zspam and eggsz
silly walkzfoo "a \"quoted\" arg" bar)r   za "quoted" argr   )assertRaises	TypeErrorr   r   r   r   reap_children)r   s    r   
test_popenPopenTest.test_popen!   sh    )RXX.!!EN	
 	!!.2	
 	!!*,	
 	    c                 N   U R                  [        R                  " S5      R                  5       S 5        [        R                  " S5      R                  5       n[        R                  S:X  a  U R                  US5        g U R                  [        R
                  " U5      S5        g )Nzexit 0zexit 42nt*   )r   r   r   closenamewaitstatus_to_exitcode)r   statuss     r   test_return_codePopenTest.test_return_code1   sq    (+113T:)$**,77d?VR(R66v>Cr#   c                    [         R                  " S5       nU R                  UR                  5       S5        U R	                  UR
                  5        S S S 5        U R                  WR
                  5        g ! , (       d  f       N*= fN
echo hellohello
r   r   r   r   assertFalseclosed
assertTruer   fs     r   test_contextmanagerPopenTest.test_contextmanager9   sX    XXl#qQVVXy1QXX& $ 	! $#   <A77
Bc                    [         R                  " S5       nU R                  [        U5      S/5        U R	                  UR
                  5        S S S 5        U R                  WR
                  5        g ! , (       d  f       N*= fr.   )r   r   r   listr2   r3   r4   r5   s     r   test_iteratingPopenTest.test_iterating?   sX    XXl#qT!Wyk2QXX& $ 	! $#s   8A33
Bc                    [         R                  " SSSS9 nU R                  UR                  5       S5        U R	                  UR
                  5        S S S 5        U R                  WR
                  5        g ! , (       d  f       N*= f)Nr/   r)r   mode	bufferingr0   r1   r5   s     r   test_keywordsPopenTest.test_keywordsE   s^    XX,SB?1QVVXy1QXX& @ 	! @?r9    N)__name__
__module____qualname____firstlineno__r   r!   r+   r7   r<   rC   __static_attributes__rE   r#   r   r   r      s!    (  D"""r#   r   __main__)__doc__unittesttestr   r   syshasattrSkipTest
executabler   requires_subprocessTestCaser   rF   mainrE   r#   r   <module>rV      s   
   r7


-
.. 
&=6\CF2"!! 2" 2"j zMMO r#   