Your IP : 216.73.216.213


Current Path : /opt/alt/python38/lib64/python3.8/test/__pycache__/
Upload File :
Current File : //opt/alt/python38/lib64/python3.8/test/__pycache__/test_cmd_line.cpython-38.opt-2.pyc

U

i�f���@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
�7/opt/alt/python38/lib64/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�-XZ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�-irQrRrSrTsTimer
�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�passrUrr
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.)rZundecodablerhrOr
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�rOr
r�run_default�sz6CmdLineTest.test_invalid_utf8_arg.<locals>.run_defaultcs4tjd�|g}ttj�}d|d<tj|tjd|d�S)Nr4rerfT)rBrqrh)r+r6�dictrirjr7rsrE)rurIrhrvr
r�run_c_locale�s

�z7CmdLineTest.test_invalid_utf8_arg.<locals>.run_c_localecs$tjddd�|g}tj|tjdd�S)NrK�utf8r4Trprrrtrvr
r�
run_utf8_mode�sz8CmdLineTest.test_invalid_utf8_arg.<locals>.run_utf8_mode�e:é, euro:€, non-bmp:􏿿�utf-8s��é�������)�run_cmd)r+r6r-�subTestr?rBrLr#)rZbase_cmdrwryr{Z
valid_utf8Zinvalid_utf8Z	test_argsr~ru�procr
rvr�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#rrerfr4)rBrhr)r-r'r#rirjrkr7rFr+r6rErGr?r)	rrqrOZdecoded�expectedrhr
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�streamrOrrrrr
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)rrZr[�flushrr?rr.)rrOr
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#)ri�pathseprr%r-)rZpath1Zpath2�pathrOrrrr
r
r�test_large_PYTHONPATHs�z!CmdLineTest.test_large_PYTHONPATHcCs<d}td|dd�\}}}td|dd�\}}}|�||�dS)Nr�r4�r�F)Z
__isolatedr�)rrOZrc1Zout1Zerr1Zrc2Zout2Zerr2r
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}ZPYTHONIOENCODINGrW)rZrBrCrhua=é b=� c=𐀀 d=􏿿r#rrX�backslashreplace)rirjrkr7rFr+r6rErlrZr[r#r-r�reprr%)r�encodingrhr
rqrZescapedr
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)rZrB)�tempfileZNamedTemporaryFileri�linesepr-r[r&r��seekr7rFr+r6rErGr?rL)rrOr�rZ�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)r4rcs1
2
s3
4s1
2
s3
4)rr+�platformr?�rrOrrrr
r
r�test_output_newlineis
zCmdLineTest.test_output_newlinecCs4tdd�\}}}|�|�dd�d�|�d|�dS)Nr4�'r#�ignore�SyntaxErrorr)rrNr'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?rNr'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)NrZrrBr"rCr*)rirHr
r�r
r�preexec�s

z+CmdLineTest._test_no_stdio.<locals>.preexecr3r4)rZrBrCZ
preexec_fnr�*)�formatr7rFr+r6rErGr?rZstrip_python_stderrr)rr�rOr�r
rrr
r�r�_test_no_stdio�s��zCmdLineTest._test_no_stdiocCs|�dg�dS)NrZ�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)NrZrBrCr�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�PYTHONHASHSEEDZrandomrTZ
__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 1rgsrandom is 0)rrirj�getrx�rangerr?�append�sorted�setZ
assertGreater�lenr�r%)rZhashesrh�irOrrrr
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_cwdrir�r&r�r[ZassertRaisesr7ZCalledProcessErrorr8r+r6ZDEVNULL)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)rTr")rqr")�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)rx�int�boolrr)r�valuer��env_vars�dont_write_bytecoderOr
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)�objectrrr�r)
rZNO_VALUEZcasesr�r�r�Z
exp_clauserOr:rhr
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�PYTHONMALLOCrKZdevT�rBrC�universal_newlinesrhr)rxrirj�popr+r6r7rsrErlr?rrBrL)rr�r�r:rhr�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?rM�	_testcapi�ImportErrorrZSuppressCrashReport�
with_pymalloc�faulthandler)rrOr�expected_filtersr�Z
alloc_namer�r
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+r6rxrirjr�r7rsrErlr?rrBrL)rZcmdline_optionZenvvar�
use_pywarningrOr:rhr�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�)rMr�r?)rr�rr
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)rxrirjr�r+r6r7rsrErlr?rBrLr)r�env_var�namerOrhr: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)rr)r�r�))rr)r�r�)r�r�)rr�rMrDrr)rrZdefault_nameZdefault_name_debugZtestsr�r�r
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�rhr�rrTr�)
rxrirjr�r+r6r7rsrEr?rBrLr)rrOrhr: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+r6rir��splitr7rsrEr?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)rBrCrqz'unknown option --unknown-option
usage: r)
r+r6r7rsrErrCr.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>.res2intrYzint_max_str_digits=0)rrzint_max_str_digits=4000)�rzint_max_str_digits=100000)順rrgzint_max_str_digits=6000)�pr)rrr?r+�get_int_max_str_digits)rrOrrr
r
r�test_int_max_str_digitss<
�
�z#CmdLineTest.test_int_max_str_digitsN)F)?�__name__�
__module__�__qualname__rrrr!r)r0r2�unittest�skipIfrr@rPrVr]r_Z
skipUnlessrr`rbr+r�ror�Z
is_androidr�r�r�r�r�r�r�r�r�r�r�r�r�rir�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrr	rrr
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)rZ	predicater�rOr
r
r�run_ignoring_vars?s
z'IgnoreEnvironmentTest.run_ignoring_varscCsd}|jd�|�|d�dS)NZshould_be_ignoredz'{}' not in sys.pathr�)rr�)rr�r
r
r�test_ignore_PYTHONPATHGs�z,IgnoreEnvironmentTest.test_ignore_PYTHONPATHcCs|jddd�dS)Nz!sys.flags.hash_randomization == 1rgr��rrr
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)
        rTr�r)rZexpected_outcomer
r
r�test_sys_flags_not_setPs�z,IgnoreEnvironmentTest.test_sys_flags_not_setN)rrrrrr r!r
r
r
rr;srcCst�tt�t��dSr)rZrun_unittestrrZ
reap_childrenr
r
r
r�	test_main_sr"�__main__)rir7r+r�rZtestrZtest.support.script_helperrrrrr�hasattrrMrZTestCaserrrr"rr
r
r
r�<module>s,
&�"