zmc
2023-10-12 ed135d79df12a2466b52dae1a82326941211dcc9
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
U
O±d¼ã@s¼ddlZddlZddlZddlmZddlmZddlmZddl    m
Z
m Z m Z m Z ddlmZGdd„dƒZGd    d
„d
ƒZGd d „d ƒZd d„Zdd„Zejje ddGdd„dƒƒZdS)éN)Ú TemporaryFile)Ú exec_command)Ú get_pythonexe)ÚtempdirÚassert_Ú assert_warnsÚIS_WASM)ÚStringIOc@s*eZdZdZd    dd„Zdd„Zdd„ZdS)
Úredirect_stdoutz9Context manager to redirect stdout for exec_command test.NcCs|ptj|_dS©N)ÚsysÚstdoutÚ_stdout)Úselfr ©rú^d:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\numpy/distutils/tests/test_exec_command.pyÚ__init__szredirect_stdout.__init__cCstj|_|jt_dSr )r r Ú
old_stdoutr©rrrrÚ    __enter__szredirect_stdout.__enter__cCs |j ¡|jt_|j ¡dSr )rÚflushrr r Úclose©rÚexc_typeÚ    exc_valueÚ    tracebackrrrÚ__exit__s
zredirect_stdout.__exit__)N©Ú__name__Ú
__module__Ú __qualname__Ú__doc__rrrrrrrr
s
r
c@s*eZdZdZd    dd„Zdd„Zdd„ZdS)
Úredirect_stderrz9Context manager to redirect stderr for exec_command test.NcCs|ptj|_dSr )r ÚstderrÚ_stderr)rr#rrrr szredirect_stderr.__init__cCstj|_|jt_dSr )r r#Ú
old_stderrr$rrrrr#szredirect_stderr.__enter__cCs |j ¡|jt_|j ¡dSr )r$rr%r r#rrrrrr's
zredirect_stderr.__exit__)Nrrrrrr"s
r"c@s*eZdZdZd
dd„Zdd„Zdd„Zd    S) Úemulate_nonposixz.Context manager to emulate os.name != 'posix' ú    non-posixcCs
||_dSr )Ú    _new_name)rÚosnamerrrr/szemulate_nonposix.__init__cCstj|_|jt_dSr )ÚosÚnameÚ    _old_namer(rrrrr2szemulate_nonposix.__enter__cCs |jt_dSr )r,r*r+rrrrr6szemulate_nonposix.__exit__N)r'rrrrrr&-s
r&c Cs´ttƒƒ:ttƒƒ$ttƒt d¡W5QRXW5QRXW5QRXtjdkr°t    ƒPttƒƒ:ttƒƒ$ttƒt d¡W5QRXW5QRXW5QRXW5QRXdS)Núcd '.'Úposix)
r
r    r"rrÚDeprecationWarningrr*r+r&rrrrÚtest_exec_command_stdout:s  
(
 
r0c Cs¸ttddƒ:ttƒƒ$ttƒt d¡W5QRXW5QRXW5QRXtjdkr´t    ƒPttƒƒ:ttƒƒ$ttƒt d¡W5QRXW5QRXW5QRXW5QRXdS)Nzw+)Úmoder-r.)
r
rr"r    rr/rr*r+r&rrrrÚtest_exec_command_stderrRs 
(
 
r2zCannot start subprocess)Úreasonc@s<eZdZdd„Zdd„Zdd„Zdd„Zd    d
„Zd d „Zd S)ÚTestExecCommandcCs tƒ|_dSr )rÚpyexerrrrÚ setup_methoddszTestExecCommand.setup_methodcKsVt d¡\}}t|dkƒt|dkƒt d|j¡\}}t|dkƒt|dkƒdS)Nzcmd /C echo path=%path%rÚz3"%s" -c "import sys;sys.stderr.write(sys.platform)"Úwin32)rrr5©rÚkwsÚsÚorrrÚcheck_ntgs  ÿ zTestExecCommand.check_ntcKsòtjd|Ž\}}t|dkƒt|dkƒtjd|Ž\}}t|dkƒt|dkƒtjdddi|—Ž\}}t|dkƒt|dkƒtjd|Ž\}}t|dkƒt|dkƒd    tjkrnd
tjd    <tjd|Ž\}}t|dkƒt|d
kƒtjdd    d i|—Ž\}}t|dkƒt|d kƒtjd|Ž\}}t|dkƒt|d
kƒtjd    =tjd|Ž\}}t|dkƒt|dkƒtjd|Ž\}}t|dkƒt|dkƒtjd|Ž\}}t|dkƒt|dkƒtjd|jf|Ž\}}t|dkƒt|dkƒdS)Nú
echo HellorÚHelloú    echo $AAAr7ú echo "$AAA"ZAAAZTereZBBBZHiú echo "$BBB"ZHeyÚthis_is_not_a_commandúecho path=$PATHz1"%s" -c "import sys,os;sys.stderr.write(os.name)"r.)r>)r@)rA)rA)rB)rB)rB)rB)rC)rD)rrr*Úenvironr5r9rrrÚ check_posixqsT         
            ÿÿþ zTestExecCommand.check_posixcGsÄtjd|jf|Ž\}}t|dkƒt|dkƒtjd|jf|Ž\}}t|dkƒt|dkƒtjd|jf|Ž\}}t|dkƒt|dkƒtjd|jf|Ž\}}t|dkƒt|d    kƒdS)
Nz"%s" -c "raise 'Ignore me.'"rr7zV"%s" -c "import sys;sys.stderr.write('0');sys.stderr.write('1');sys.stderr.write('2')"Z012z!"%s" -c "import sys;sys.exit(15)"éz"%s" -c "print('Heipa'")ZHeipa)rr5rr9rrrÚ check_basic¥s<ÿÿ  þÿý  ÿÿ  ÿÿ zTestExecCommand.check_basicc
Ks¸tƒ¨}d}tj ||¡}t|dƒ}| d¡W5QRXtjd|j|ff|Ž\}}t|dkƒt|dkƒtjd|j|ffd|i|—Ž\}}t|dkƒt|dkƒW5QRXdS)    NÚfileÚwr?z("%s" -c "f = open('%s', 'r'); f.close()"rr7z9"%s" -c "f = open('%s', 'r'); print(f.read()); f.close()"Z
execute_in)    rr*ÚpathÚjoinÚopenÚwriterr5r)rr:ZtmpdirÚfnZtmpfileÚfr;r<rrrÚcheck_execute_in¼s2 ÿÿþ  ÿÿþþ
 z TestExecCommand.check_execute_inc Cs¢ttƒƒŽttƒƒxttƒdtjdkrF|jdd|jddn"tjdkrh|jdd|jdd|j    dd|j    ddW5QRXW5QRXW5QRXdS)Nr.r)Zuse_teeéÚnt)
r
r    r"rr/r*r+rFr=rQrrrrÚ
test_basicÎs  
 
 
   zTestExecCommand.test_basicN)    rrr r6r=rFrHrQrTrrrrr4bs 
4r4)r*Zpytestr ÚtempfilerZnumpy.distutilsrZnumpy.distutils.exec_commandrZ numpy.testingrrrrÚior    r
r"r&r0r2ÚmarkZskipifr4rrrrÚ<module>s