Server : LiteSpeed
System : Linux server51.dnsbootclub.com 4.18.0-553.62.1.lve.el8.x86_64 #1 SMP Mon Jul 21 17:50:35 UTC 2025 x86_64
User : nandedex ( 1060)
PHP Version : 8.1.33
Disable Function : NONE
Directory :  /opt/cppython/lib/python3.8/test/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]


Current File : //opt/cppython/lib/python3.8/test/__pycache__/test_cmd_line.cpython-38.pyc
U

>��g���@s�ddlZddlZddlZddlZddlZddlmZddlmZm	Z	m
Z
mZmZe
ed�Zdd�ZGdd�dej�Ze�e�d	�Gd
d�dej��Zdd
�Zedkr�e�dS)�N)�support)�spawn_python�kill_python�assert_python_ok�assert_python_failure� interpreter_requires_environmentZgettotalrefcountcCst|�}|��}||fS�N)r�wait)�p�data�
returncode�r
�1/opt/cppython/lib/python3.8/test/test_cmd_line.py�_kill_python_and_exit_codesrc@s:eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	e
�e�d�dd��Z
dd�Zdd�Zdd�Zdd�Ze
�ejd�dd��Ze
�ejdkd�dd ��Ze
�ejdkd�d!d"��Ze
�ejd#kp�ejd$�d%d&��Zd'd(�Zd)d*�Zd+d,�Zd-d.�Zd/d0�Z d1d2�Z!d3d4�Z"d5d6�Z#d7d8�Z$d9d:�Z%d;d<�Z&d=d>�Z'e
�e(j)d?kd@�e
�ejdAkdB�dCdD���Z*dEdF�Z+dGdH�Z,dIdJ�Z-dKdL�Z.dMdN�Z/dOdP�Z0dQdR�Z1e
�e�dS�dTdU��Z2dVdW�Z3dXdY�Z4dZdZd[�d\d]�Z5d^d_�Z6dsdadb�Z7dcdd�Z8dedf�Z9dgdh�Z:didj�Z;e
�ejdkdk�dldm��Z<dndo�Z=dpdq�Z>drS)t�CmdLineTestcCstd�td�dS)N�.z< .)r��selfr
r
r�test_directoriesszCmdLineTest.test_directoriescCsBt|�\}}}|�|dkp"|�d��|�d|�|�d|�dS)N��
s	Traceback)r�
assertTrue�endswith�assertNotIn)rZcmd_line�rc�out�errr
r
r�verify_valid_flag szCmdLineTest.verify_valid_flagcCs|�d�|�d�dS)Nz-Oz-OO�rrr
r
r�
test_optimize&s
zCmdLineTest.test_optimizecCs|�d�dS)N�-Srrr
r
r�test_site_flag*szCmdLineTest.test_site_flagcCsBtd�\}}}|��}|�d|d�d�|dd���d�dS)Nz-hsusagerr��ascii)r�
splitlines�assertIn�join�decode)rrrr�linesr
r
r�
test_usage-szCmdLineTest.test_usagecCsTdtjdd��d�}dD]2}t|�\}}}|�|�|��|�|�|��qdS)NzPython %d.%d�r#)z-Vz	--versionz-VV)�sys�version_info�encoderZassertFalse�
startswithr)r�versionZswitchrrrr
r
r�test_version5s
zCmdLineTest.test_versioncCs8td�\}}}|�d|�td�\}}}|�d|�dS)Nz-vsstack overflowz-vv)rr�rrrrr
r
r�test_verbose<szCmdLineTest.test_verbosez6Cannot run -E tests when PYTHON env vars are required.cCs:dd�}|�}|�|i�|dd�}|�|ddd��dS)NcWs4tjdf|}|d7}t�|�}t|��d�}|S)N�-E)�-c� import sys; print(sys._xoptions)r)r+�
executable�
subprocess�check_output�evalr$)�argsr�optsr
r
r�get_xoptionsHs

z/CmdLineTest.test_xoptions.<locals>.get_xoptionsz-Xaz	-Xb=c,d=eTzc,d=e)�a�b)�assertEqual)rr<r;r
r
r�
test_xoptionsEs
	
zCmdLineTest.test_xoptionscs��fdd�}d}|d|�\}}}��|��d���|d�|ddd|�\}}}��|��d	�trr��|d
�n��|d�dS)Ncsdtjg}|�|�tj}tj|||d�}|��\}}|j��|j	��|j
}��|d�|||fS)N��stdout�stderrr)r+r6�extendr7�PIPE�Popen�communicaterB�closerCrr?)r:�cmdrEr
rrrrr
r�
run_pythonXs


z1CmdLineTest.test_showrefcount.<locals>.run_pythonr5r4s{}r�-X�showrefcounts{'showrefcount': True}s^\[\d+ refs, \d+ blocks\])r?�rstrip�Py_DEBUG�assertRegex)rrJ�coderrrr
rr�test_showrefcountWszCmdLineTest.test_showrefcountcCs0td�tdd�tddd�tdddd�dS)N�-mZ
fnord43520xyzZrunpy�timeit�-n�1�rrrr
r
r�test_run_moduless
zCmdLineTest.test_run_modulecCs\tddddd�}|j�d�|j�d�t|�}|�|�d�d	k�|�|�d
�d	k�dS)N�-irRrSrTrUsTimer
�exit()
s1 loop���s__main__.Timer)r�stdin�writerr�find)rr
rr
r
r�test_run_module_bug1764407sz&CmdLineTest.test_run_module_bug1764407cCs td�tdd�tdd�dS)Nr4zraise Exception�passrVrr
r
r�
test_run_code�s
zCmdLineTest.test_run_codezneed support.FS_NONASCIIcCs"dtjttj�f}td|�dS)Nzassert(ord(%r) == %s)r4)r�FS_NONASCII�ordr)rZcommandr
r
r�test_non_ascii�s�zCmdLineTest.test_non_ascii�win32z Windows has a native unicode APIcCs�d}tj��}d|d<d|d<d|d}tjtjd|gtjtj|d	�}|�	�\}}|j
d
krdd}n"|j
dkrtd
}ntd|j
|f��|�|�s�td||f��dS)N���C�LC_ALL�0ZPYTHONCOERCECLOCALEsimport locale; print(ascii("s""), locale.getpreferredencoding())r4)rBrC�envr"s3Unable to decode the command from the command line:rs'\xff' z Unknown exit code: %s, output=%az%a doesn't start with %a)
�os�environ�copyr7rFr+r6rE�STDOUTrGr�AssertionErrorr.)rZundecodablerirPr
rBrC�patternr
r
r�test_undecodable_code�s0
���
�


z!CmdLineTest.test_undecodable_codec
s�d�tjd�g}�fdd�}�fdd�}�fdd�}d	�d
�}d}||g}|||fD]D}|j|d��.|D]"}	||	�}
|�|
j��t|	��qjW5QRXqTdS)
Nz;import sys, os; s=os.fsencode(sys.argv[1]); print(ascii(s))r4cs tjd�|g}tj|tjdd�S)Nr4T�rB�text�r+r6r7�runrE��argrI�rPr
r�run_default�sz6CmdLineTest.test_invalid_utf8_arg.<locals>.run_defaultcs4tjd�|g}ttj�}d|d<tj|tjd|d�S)Nr4rfrgT)rBrrri)r+r6�dictrjrkr7rtrE)rvrIrirwr
r�run_c_locale�s

�z7CmdLineTest.test_invalid_utf8_arg.<locals>.run_c_localecs$tjddd�|g}tj|tjdd�S)NrK�utf8r4Trqrsrurwr
r�
run_utf8_mode�sz8CmdLineTest.test_invalid_utf8_arg.<locals>.run_utf8_mode�e:é, euro:€, non-bmp:􏿿�utf-8s��é�������)�run_cmd)r+r6r-�subTestr?rBrMr#)rZbase_cmdrxrzr|Z
valid_utf8Zinvalid_utf8Z	test_argsrrv�procr
rwr�test_invalid_utf8_arg�s	
�z!CmdLineTest.test_invalid_utf8_arg�darwinz%test specific to Mac OS X and Androidc	Cs�d�d�}d}|�dd�}t|��d�d}tj��}d|d<tjtj	d	||ftj
|d
�}|��\}}|�||�|�|j
d�dS)Nr}r~z%import sys; print(ascii(sys.argv[1]))�surrogateescaper#rrfrgr4)rBrir)r-r'r#rjrkrlr7rFr+r6rErGr?r)	rrrrPZdecoded�expectedrir
rBrCr
r
r�test_osx_android_utf8�s

�z!CmdLineTest.test_osx_android_utf8cCs�dD]|}d|}tdd|�\}}}|dkr.|n|}|�|dd|�d|}tdd|�\}}}|dkrj|n|}|�|dd	|�qdS)
NrAz6import os, sys; sys.%s.buffer.write(b'x'); os._exit(0)�-ur4rC�xzbinary %s not unbufferedz.import os, sys; sys.%s.write('x'); os._exit(0)ztext %s not unbuffered�rr?)r�streamrPrrrrr
r
r�test_unbuffered_outputs��z"CmdLineTest.test_unbuffered_outputcCsTd}tdd|�}|j�d�|j��t|�\}}|�|d�|�|�d�|�dS)Nz/import sys; sys.stdout.write(sys.stdin.read(1))r�r4r�r)rr[r\�flushrr?rr.)rrPr
rrr
r
r�test_unbuffered_inputs
z!CmdLineTest.test_unbuffered_inputcCsXd}d}|tj|}d}tdd||d�\}}}|�|�d�|�|�|�d�|�dS)NA�ABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEA�FGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJFGHIJ��if 1:
            import sys
            path = ":".join(sys.path)
            path = path.encode("ascii", "backslashreplace")
            sys.stdout.buffer.write(path)r r4�Z
PYTHONPATHr#)rj�pathseprr%r-)rZpath1Zpath2�pathrPrrrr
r
r�test_large_PYTHONPATHs�z!CmdLineTest.test_large_PYTHONPATHcCs<d}td|dd�\}}}td|dd�\}}}|�||�dS)Nr�r4�r�F)Z
__isolatedr�)rrPZrc1Zout1Zerr1Zrc2Zout2Zerr2r
r
r� test_empty_PYTHONPATH_issue16309-sz,CmdLineTest.test_empty_PYTHONPATH_issue16309cCs�dD]�}tj��}||d<tjtjdgtjtjtj|d�}d}|j	�
t|��d�d�|j	�
d�t
|�}t|��|d	�}|�||�qdS)
N)r#zlatin-1r~ZPYTHONIOENCODINGrX)r[rBrCriua=é b=� c=𐀀 d=􏿿r#rrY�backslashreplace)rjrkrlr7rFr+r6rErmr[r\r#r-r�reprr%)r�encodingrir
rrr�escapedr
r
r�test_displayhook_unencodable>s 
�z(CmdLineTest.test_displayhook_unencodablec
Cs�t�d��f}tj�d�}|�|�d��|��|�d�t	j
tjd|f|t	j
d��}|��\}}W5QRXW5QRX|�|��|�dS)Nzwb+�ASCII)sabcsdefrr4)r[rB)�tempfile�NamedTemporaryFilerj�linesepr-r\r&r��seekr7rFr+r6rErGr?rM)rrPr�r[�sepr�rBrCr
r
r�check_inputPs

� zCmdLineTest.check_inputcCs|�dd�dS)Nz-import sys; print(repr(sys.stdin.readline()))s'abc\n'�r�rr
r
r�test_stdin_readline\s�zCmdLineTest.test_stdin_readlinecCs|�dd�dS)Nzprint(repr(input()))s'abc'r�rr
r
r�test_builtin_inputcs�zCmdLineTest.test_builtin_inputcCsTd}td|�\}}}tjdkr8|�d|�|�d|�n|�d|�|�d|�dS)Nz�if 1:
            import sys
            print(1)
            print(2)
            print(3, file=sys.stderr)
            print(4, file=sys.stderr)r4rds1
2
s3
4s1
2
s3
4)rr+�platformr?�rrPrrrr
r
r�test_output_newlineis
zCmdLineTest.test_output_newlinecCs4tdd�\}}}|�|�dd�d�|�d|�dS)Nr4�'r#�ignore�SyntaxErrorr)rrOr'r?r1r
r
r�test_unmached_quotezszCmdLineTest.test_unmached_quotecCsDd}td|�\}}}|�d|�|�d|�|�|�dd�d�dS)Nz�if 1:
            import os, sys, test.support
            test.support.SuppressCrashReport().__enter__()
            sys.stdout.write('x')
            os.close(sys.stdout.fileno())r4r�xr#r�z"Exception ignored in.*
OSError: .*)rr?rOr'r�r
r
r�test_stdout_flush_at_shutdown�s�z)CmdLineTest.test_stdout_flush_at_shutdowncCs$d}td|�\}}}|�d|�dS)Nzimport sys; sys.stdout.close()r4rr�r�r
r
r�test_closed_stdout�szCmdLineTest.test_closed_stdout�posixztest needs POSIX semanticsZvxworksz.test needs preexec support in subprocess.Popencsldj�d�}�fdd�}tjtjdd|gtjtjtj|d�}|��\}}|�t�	|�d�|�|j
d	�dS)
Nz�if 1:
            import os, sys
            for i, s in enumerate({streams}):
                if getattr(sys, s) is not None:
                    os._exit(i + 1)
            os._exit(42)��streamscs:d�krt�d�d�kr$t�d�d�kr6t�d�dS)Nr[rrBr"rCr*)rjrHr
r�r
r�preexec�s

z+CmdLineTest._test_no_stdio.<locals>.preexecr3r4)r[rBrC�
preexec_fnr�*)�formatr7rFr+r6rErGr?rZstrip_python_stderrr)rr�rPr�r
rrr
r�r�_test_no_stdio�s��zCmdLineTest._test_no_stdiocCs|�dg�dS)Nr[�r�rr
r
r�
test_no_stdin�szCmdLineTest.test_no_stdincCs|�dg�dS)NrBr�rr
r
r�test_no_stdout�szCmdLineTest.test_no_stdoutcCs|�dg�dS)NrCr�rr
r
r�test_no_stderr�szCmdLineTest.test_no_stderrcCs|�dddg�dS)Nr[rBrCr�rr
r
r�test_no_std_streams�szCmdLineTest.test_no_std_streamscCs*|�d�g}tj�dd�dkr:ttj�}|d=d|d<ni}td�D]2}d}td|f|�\}}}|�|d	�|�|�qFt	t
|��}|jt|�d
d�
|�d�d
}td|dd�\}}}|�d|�td|dd�\}}}|�d|�td|dd�\}}}|�d|�tdd|dd�\}}}|�d|�dS)Nz-R�PYTHONHASHSEED�randomrUZ
__cleanenv�zprint(hash("spam"))r4rr"z83 runs produced an identical random hash  for "spam": {})�msgz<import sys; print("random is", sys.flags.hash_randomization)r��r�srandom is 1rhsrandom is 0)rrjrk�getry�rangerr?�append�sorted�setZ
assertGreater�lenr�r%)rZhashesri�irPrrrr
r
r�test_hash_randomization�s6


��z#CmdLineTest.test_hash_randomizationc	CsNtj}|�tj|�t|d��}td|d�td|d�W5QRXt|�dS)N�wz
import sys)�filezdel sys.modules['__main__'])rZTESTFNZ
addCleanup�unlink�open�printr)r�filenameZscriptr
r
r�test_del___main__�szCmdLineTest.test_del___main__cCs�tdd�\}}}|�d|�|�|���d�d�|�d|�tddd�\}}}|�d|�|�|���d�d�|�d|�tdddd�\}}}|�d|�|�d|�|�|���d�d�|�d|�dS)	Nr3z-zsUnknown option: -zr"r)Zwithoutz-asUnknown option: -a)rr%r?r$�countrr1r
r
r�test_unknown_options�sz CmdLineTest.test_unknown_options�6Cannot run -I tests when PYTHON env vars are required.c
Cs�|�d�|�d�tddddd�\}}}|�|��d�t����}tj�|d�}tj�|d	�}t	|d
��}|�
d�W5QRXt	|d
��}|�
d�|�
d
�W5QRX|jtj
tjtj|g|tjd�tjtjd|g|d�}|�|��d�W5QRXdS)N�-Iz-IEsr4zSfrom sys import flags as f; print(f.no_user_site, f.ignore_environment, f.isolated)r�)Zdummyvars1 1 1zuuid.pyzmain.pyr�z)raise RuntimeError('isolated mode test')
zimport uuid
zprint('ok')
)�cwdrC)r�sok)rrr?�stripr�temp_cwdrjr�r&r�r\ZassertRaisesr7�CalledProcessErrorr8r+r6�DEVNULL)rrrrZtmpdirZfake�main�fr
r
r�test_isolatedmodes2

�

��zCmdLineTest.test_isolatedmodec
CsfdD]\\}}t||||d�}tt|��}d|�d|�d�}|j|d��td|f|�W5QRXqdS)N))r�r)rUr")rrr")�2r*�ZPYTHONDEBUGZPYTHONOPTIMIZEZPYTHONDONTWRITEBYTECODEZ
PYTHONVERBOSEz�import sys; sys.stderr.write(str(sys.flags)); sys.exit(not (
                    sys.flags.debug == sys.flags.optimize ==
                    sys.flags.verbose ==
                    z:
                    and sys.flags.dont_write_bytecode == z
                )))Zenvar_valuer4)ry�int�boolr�r)r�valuer��env_vars�dont_write_bytecoderPr
r
r�test_sys_flags_sets��
zCmdLineTest.test_sys_flags_setc
Cs�t�}dddddd|dfg}|D]�\}}}|dkr6dn
d|�d	�}d
|�d�}d|g}|dkrbind
|i}	||kr�ddg|dd�<n|dk	r�dd|��g|dd�<|j||d��$t���t||	�W5QRXW5QRXq dS)N)NNN)�fooNr�)N�barr�)r�r�r�)r�r�Nr�zis Nonez== "�"z,import sys; sys.exit(not sys.pycache_prefix �)r4ZPYTHONPYCACHEPREFIXrK�pycache_prefixrzpycache_prefix=)�envval�opt)�objectr�rr�r)
rZNO_VALUEZcasesr�r�r�Z
exp_clauserPr:rir
r
r�test_set_pycache_prefix3s(�	
z#CmdLineTest.test_set_pycache_prefixT)�check_exitcode�xdevcGs�ttj�}|�dd�|�dd�|�dd�|rDtjddf|�}ntjf|�}tj|tjtj	d|d�}|r||�
|jd|�|j�
�S)	N�PYTHONWARNINGS�
PYTHONDEVMODE�PYTHONMALLOCrK�devT�rBrC�universal_newlinesrir)ryrjrk�popr+r6r7rtrErmr?rrBrM)rr�r�r:rir�r
r
r�run_xdevMs 
�zCmdLineTest.run_xdevc	Cspd}|jd|dd�}|�|d�|�d|�}|�|d�d}trFd}nd	}|�d|�}|�||�|�d
d|�}|�|d|���|�dd|�}|�|d
|���|�dd|�}|�|d|���zddl}Wntk
r�YnJXd}t���|jd|dd�}W5QRXt���rd}nd}|�||�zddl}Wntk
�rNYnXd}|�d|�}|�|d�dS)N�%import sys; print(sys.flags.dev_mode)r4F)r��False�Truez\import warnings; print(' '.join('%s::%s' % (f[0], f[2].__name__) for f in warnings.filters))zdefault::Warningz�default::Warning default::DeprecationWarning ignore::DeprecationWarning ignore::PendingDeprecationWarning ignore::ImportWarning ignore::ResourceWarningz-bzdefault::BytesWarning �-bbzerror::BytesWarning z-Werrorzerror::Warning r�<import _testcapi; print(_testcapi.pymem_getallocatorsname()))r��pymalloc_debug�malloc_debugz5import faulthandler; print(faulthandler.is_enabled()))	r�r?rN�	_testcapi�ImportErrorrZSuppressCrashReport�
with_pymalloc�faulthandler)rrPr�expected_filtersr�Z
alloc_namerr
r
r�	test_xdev`sF

zCmdLineTest.test_xdevFcCsx|r
d}nd}|d7}tjd|dd|f}ttj�}|�dd�||d<tj|tjtj	d	|d
�}|�
|jd|�|j�
�S)Nz}import sys; from test.support import import_fresh_module; warnings = import_fresh_module('warnings', blocked=['_warnings']); zimport sys, warnings; zKprint(' '.join('%s::%s' % (f[0], f[2].__name__) for f in warnings.filters))z-Wr�r4r�r�Tr�r)r+r6ryrjrkr�r7rtrErmr?rrBrM)rZcmdline_optionZenvvar�
use_pywarningrPr:rir�r
r
r�check_warnings_filters�s 
�z"CmdLineTest.check_warnings_filterscCsHd}ts|d7}|�dd�}|�||�|jdddd�}|�||�dS)Nz9error::BytesWarning once::UserWarning always::UserWarningz� default::DeprecationWarning ignore::DeprecationWarning ignore::PendingDeprecationWarning ignore::ImportWarning ignore::ResourceWarningzonce::UserWarningzalways::UserWarningT)r)rNrr?)rrrr
r
r�test_warnings_filter_precedence�s��z+CmdLineTest.test_warnings_filter_precedencecCs�d}ttj�}|�dd�|dk	r,||d<n|�dd�tjd|f}tj|tjtj	d|d�}|�
|j��|�|�
|j
d�dS)Nr�r�r�r4Tr�r)ryrjrkr�r+r6r7rtrErmr?rBrMr)r�env_var�namerPrir:r�r
r
r�check_pythonmalloc�s

�zCmdLineTest.check_pythonmallocc
Cs�t��}|rtrdnd}d}ntr&dnd}d}d|fd|fddg}|rP|�d�|D].\}}|j||d	��|�||�W5QRXqTdS)
Nr��pymallocr��malloc�debug)r
r
)r�r�))r	r	)r�r�)rr)rr�rNrDr�r)rr	Zdefault_nameZdefault_name_debugZtestsrrr
r
r�test_pythonmalloc�s �
zCmdLineTest.test_pythonmalloccCs�d}ttj�}|�dd�tjd|f}tj|tjd|d�}|�	|j
��d�|�	|jd|�d|d<tj|tjd|d�}|�	|j
��d	�|�	|jd|�dS)
Nr�r�r4T)rBr�rir�rrUr�)
ryrjrkr�r+r6r7rtrEr?rBrMr)rrPrir:r�r
r
r�test_pythondevmode_env�s"

�
�z"CmdLineTest.test_pythondevmode_envz!bpo-32457 only applies on WindowscCsbtjddf}tj�tj�\}}|d|}tj|tj|d�}|�|j	d|�|�|j
��d�dS)Nr4zprint(0)z\.\.\.\)rBr6r�0)r+r6rjr��splitr7rtrEr?rrBr�)rr:�prefixZexer6r�r
r
r�test_argv0_normalizations
�z$CmdLineTest.test_argv0_normalizationcCsNtjddg}tj|tjtjdd�}d}|�|j�|�|j�|�|j	d�dS)Nr�z--unknown-optionT)rBrCrrz'unknown option --unknown-option
usage: r)
r+r6r7rtrErrCr.ZassertNotEqualr)rr:r��err_msgr
r
r�test_parsing_error
s�zCmdLineTest.test_parsing_errorcCsBd}tddd|�tddd|�tddd|�tddd|dd�td|d	d�td|d
d�dd�}td|�}|�||�d
t��f�tddd|�}|�||�d�tddd|�}|�||�d�tddd|�}|�||�d�td|dd�}|�||�d�td|dd�}|�||�d�tddd|dd�}|�||�d�dS)NzMimport sys; print(sys.flags.int_max_str_digits, sys.get_int_max_str_digits())rK�int_max_str_digitsr4zint_max_str_digits=foozint_max_str_digits=100Z4000)ZPYTHONINTMAXSTRDIGITSr�Z100cSs&|j���d�}tdd�|��D��S)Nr~css|]}t|�VqdSr)r�)�.0r�r
r
r�	<genexpr>%szGCmdLineTest.test_int_max_str_digits.<locals>.res2int.<locals>.<genexpr>)rr�r'�tupler)�resrr
r
r�res2int#sz4CmdLineTest.test_int_max_str_digits.<locals>.res2intrZzint_max_str_digits=0)rrzint_max_str_digits=4000)�rzint_max_str_digits=100000)順rrhzint_max_str_digits=6000)�pr)rrr?r+�get_int_max_str_digits)rrPrrr
r
r�test_int_max_str_digitss<
�
�z#CmdLineTest.test_int_max_str_digitsN)F)?�__name__�
__module__�__qualname__rrrr!r)r0r2�unittest�skipIfrr@rQrWr^r`Z
skipUnlessrrarcr+r�rpr�Z
is_androidr�r�r�r�r�r�r�r�r�r�r�r�r�rjrr�r�r�r�r�r�r�r�r�r�r�r�rrrrrr
rrrr
r
r
rrs�	�
	

�
!�
+�

	�%�
;
�


rr�c@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�IgnoreEnvironmentTestcKsd�|�}tdd|f|�S)Nz@import sys; sys.stderr.write(str(sys.flags)); sys.exit(not ({}))r3r4)r�r)r�	predicater�rPr
r
r�run_ignoring_vars?s
z'IgnoreEnvironmentTest.run_ignoring_varscCsd}|jd�|�|d�dS)NZshould_be_ignoredz'{}' not in sys.pathr�)r&r�)rr�r
r
r�test_ignore_PYTHONPATHGs�z,IgnoreEnvironmentTest.test_ignore_PYTHONPATHcCs|jddd�dS)Nz!sys.flags.hash_randomization == 1rhr��r&rr
r
r�test_ignore_PYTHONHASHSEEDLs�z0IgnoreEnvironmentTest.test_ignore_PYTHONHASHSEEDcCsd}|j|ddddd�dS)Nz�
            (sys.flags.debug == sys.flags.optimize ==
             sys.flags.dont_write_bytecode == sys.flags.verbose == 0)
        rUr�r()rZexpected_outcomer
r
r�test_sys_flags_not_setPs�z,IgnoreEnvironmentTest.test_sys_flags_not_setN)rr r!r&r'r)r*r
r
r
rr$;sr$cCst�tt�t��dSr)rZrun_unittestrr$�
reap_childrenr
r
r
r�	test_main_sr,�__main__)rjr7r+r�r"�testrZtest.support.script_helperrrrrr�hasattrrNrZTestCaserr#r$r,rr
r
r
r�<module>s,
&�"

F1le Man4ger