Sindbad~EG File Manager

Current Path : /usr/local/lib/python3.9/test/__pycache__/
Upload File :
Current File : //usr/local/lib/python3.9/test/__pycache__/test_cmd_line.cpython-39.pyc

a

��g2��@s�ddlZddlZddlZddlZddlZddlZddlmZddlm	Z	m
Z
mZmZm
Z
eed�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
�./usr/local/lib/python3.9/test/test_cmd_line.py�_kill_python_and_exit_codesrc@sJeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	e
�e�d�dd��Z
dd�Zdd�Zdd�Zdd�Zdd�Ze
�ejd�dd��Ze
�ejdkd �d!d"��Ze
�ejdkd �d#d$��Ze
�ejd%kp�ejd&�d'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'd?d@�Z(dAdB�Z)e
�e*j+dCkdD�e
�ejdEkdF�dGdH���Z,dIdJ�Z-dKdL�Z.dMdN�Z/dOdP�Z0dQdR�Z1dSdT�Z2dUdV�Z3e
�e�dW�dXdY��Z4dZd[�Z5d\d]�Z6d^d^d_�d`da�Z7dbdc�Z8dwdedf�Z9dgdh�Z:didj�Z;dkdl�Z<dmdn�Z=e
�ejdkdo�dpdq��Z>drds�Z?dtdu�Z@dvS)x�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_version6s
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_xoptionsIs

z/CmdLineTest.test_xoptions.<locals>.get_xoptionsz-Xaz	-Xb=c,d=eTzc,d=e)�a�b)�assertEqual)rr<r;r
r
r�
test_xoptionsFs
	
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_pythonYs


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_showrefcountXszCmdLineTest.test_showrefcountcCs0td�tdd�tddd�tdddd�dS)N�-mZ
fnord43520xyzZrunpy�timeit�-n�1�rrrr
r
r�test_run_modulets
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_bug1764407�sz&CmdLineTest.test_run_module_bug1764407cCs`t��}tj�t��d�}t�|��(tddd�tddd�Wd�n1sR0YdS)N�testrR�unittestztest/test_longexp.pyz./test/test_longexp.py)	�os�getcwd�path�dirname�__file__�removesuffixrZ
change_cwdr)rZ	defaultwdZprojectlibpathr
r
r�test_relativedir_bug46421�s
z%CmdLineTest.test_relativedir_bug46421cCs 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)
ra�environ�copyr7rFr+r6rE�STDOUTrGr�AssertionErrorr.)rZundecodablerrrPr
rBrC�patternr
r
r�test_undecodable_code�s.
���
�


z!CmdLineTest.test_undecodable_codec	s�d�tjd�g}�fdd�}�fdd�}�fdd�}d	�d
�}d}||g}|||fD]X}|j|d��8|D]"}	||	�}
|�|
j��t|	��qjWd�qT1s�0YqTdS)
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)Nr4rorpT)rBrzrr)r+r6�dictrarsr7r|rE)r~rIrrrr
r�run_c_locale�s

�z7CmdLineTest.test_invalid_utf8_arg.<locals>.run_c_localecs$tjddd�|g}tj|tjdd�S)NrK�utf8r4Tryr{r}rr
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_cmdr�r�r�Z
valid_utf8Zinvalid_utf8Z	test_argsr�r~�procr
rr�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#rrorpr4)rBrrr)r-r'r#rarsrtr7rFr+r6rErGr?r)	rrzrPZdecoded�expectedrrr
rBrCr
r
r�test_osx_android_utf8�s

�z!CmdLineTest.test_osx_android_utf8cCs@t�d�}tjd|g}tj|tjtjddd�}|�|jd�dS)Nz�
            import sys
            out = sys.stdout
            print(out.isatty(), out.write_through, out.line_buffering)
            err = sys.stderr
            print(err.isatty(), err.write_through, err.line_buffering)
        r4T)rBrCrz�checkz#False False False
False False True
)	�textwrap�dedentr+r6r7r|rEr?rB)rrPr:r�r
r
r�%test_non_interactive_output_bufferings

��z1CmdLineTest.test_non_interactive_output_bufferingcCs�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_input/s
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#)ra�pathseprr%r-)rZpath1Zpath2rcrPrrrr
r
r�test_large_PYTHONPATH9s�z!CmdLineTest.test_large_PYTHONPATHcCs<d}td|dd�\}}}td|dd�\}}}|�||�dS)Nr�r4�r�F)Z
__isolatedr�)rrPZrc1Zout1Zerr1Zrc2Zout2Zerr2r
r
r� test_empty_PYTHONPATH_issue16309Hsz,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[rBrCrrua=é b=� c=𐀀 d=􏿿r#rrY�backslashreplace)rarsrtr7rFr+r6rErur[r\r#r-r�reprr%)r�encodingrrr
rzr�escapedr
r
r�test_displayhook_unencodableYs 
�z(CmdLineTest.test_displayhook_unencodablec	Cs�t�d���}tj�d�}|�|�d��|��|�d�t	j
tjd|f|t	j
d��}|��\}}Wd�n1sv0YWd�n1s�0Y|�|��|�dS)Nzwb+�ASCII)sabcsdefrr4)r[rB)�tempfile�NamedTemporaryFilera�linesepr-r\r&r��seekr7rFr+r6rErGr?rM)rrPr�r[�sepr�rBrCr
r
r�check_inputks

�HzCmdLineTest.check_inputcCs|�dd�dS)Nz-import sys; print(repr(sys.stdin.readline()))s'abc\n'�r�rr
r
r�test_stdin_readlinews�zCmdLineTest.test_stdin_readlinecCs|�dd�dS)Nzprint(repr(input()))s'abc'r�rr
r
r�test_builtin_input~s�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)r4rms1
2
s3
4
s1
2
s3
4
)rr+�platformr?�rrPrrrr
r
r�test_output_newline�s
zCmdLineTest.test_output_newlinecCs4tdd�\}}}|�|�dd�d�|�d|�dS)Nr4�'r#�ignore�SyntaxErrorr)rrOr'r?r1r
r
r�test_unmached_quote�szCmdLineTest.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.Popencsfdj�d�}�fdd�}tjtjdd|gtjtjtj|d�}|��\}}|�|d�|�|jd	�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�vrt�d�d�vr$t�d�d�vr6t�d�dS)Nr[rrBr"rCr*)rarHr
r�r
r�preexec�s

z+CmdLineTest._test_no_stdio.<locals>.preexecr3r4)r[rBrC�
preexec_fnr�*)	�formatr7rFr+r6rErGr?r)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|�gd��dS)N)r[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]6}d}td|fi|��\}}}|�|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 1rqsrandom is 0)rrars�getr��rangerr?�append�sorted�setZ
assertGreater�lenr�r%)rZhashesrr�irPrrrr
r
r�test_hash_randomization�s6


��z#CmdLineTest.test_hash_randomizationcCsbtj}|�tj|�t|d��(}td|d�td|d�Wd�n1sL0Yt|�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�Wd�n1s�0Yt	|d
��$}|�
d�|�
d
�Wd�n1s�0Y|jtj
tjtj|g|tjd�tjtjd|g|d�}|�|��d�Wd�n1�s.0YdS)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_cwdrarcr&r�r\ZassertRaisesr7�CalledProcessErrorr8r+r6�DEVNULL)rrrrZtmpdirZfake�main�fr
r
r�test_isolatedmodes0

�
(
(
��zCmdLineTest.test_isolatedmodec	Cs~dD]t\}}t||||d�}tt|��}d|�d|�d�}|j|d��"td|fi|��Wd�q1sn0YqdS)N))r�r)rUr")rzr")�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)r��int�boolr�r)r�valuer��env_vars�dont_write_bytecoderPr
r
r�test_sys_flags_set7s ����
zCmdLineTest.test_sys_flags_setc

Cst�}dddddd|dfg}|D]�\}}}|dur6dn
d|�d	�}d
|�d�}d|g}|durbind
|i}	||ur�ddg|dd�<n|dur�dd|��g|dd�<|j||d��Ft���t|i|	��Wd�n1s�0YWd�q 1s�0Yq 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:rrr
r
r�test_set_pycache_prefixNs(�	
z#CmdLineTest.test_set_pycache_prefixT)�check_exitcode�xdevcGs�ttj�}|�dd�|�dd�|�dd�|rFtjddg|�R}ntjg|�R}tj|tjtj	d|d�}|r�|�
|jd|�|j�
�S)	N�PYTHONWARNINGS�
PYTHONDEVMODE�PYTHONMALLOCrK�devT�rBrC�universal_newlinesrrr)r�rars�popr+r6r7r|rErur?rrBrM)rr�r�r:rrr�r
r
r�run_xdevhs 
�zCmdLineTest.run_xdevcCs�d}|jd|dd�}|�|d�|�d|�}|�|d�d}trFd}nd	}|�d|�}|�||�|�d
d|�}|�|d|���|�dd|�}|�|d
|���|�dd|�}|�|d|���zddl}Wnty�Yn`0d}t��� |jd|dd�}Wd�n1�s0Yt���r0d}nd}|�||�zddl}Wnt�y`Yn0d}|�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()))	rr?rN�	_testcapi�ImportErrorrZSuppressCrashReport�
with_pymalloc�faulthandler)rrPr�expected_filtersrZ
alloc_namerr
r
r�	test_xdev{sF
0
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-Wrr4r�r�Tr�r)r+r6r�rarsr�r7r|rErur?rrBrM)rZcmdline_optionZenvvar�
use_pywarningrPr:rrr�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?)rrrr
r
r�test_warnings_filter_precedence�s��z+CmdLineTest.test_warnings_filter_precedencecCs�d}ttj�}|�dd�|dur,||d<n|�dd�tjd|f}tj|tjtj	d|d�}|�
|j��|�|�
|j
d�dS)Nrr�r�r4Tr�r)r�rarsr�r+r6r7r|rErur?rBrMr)r�env_var�namerPrrr:r�r
r
r�check_pythonmalloc�s

�zCmdLineTest.check_pythonmallocc	Cs�t��}|rtrdnd}d}ntr&dnd}d}d|fd|fddg}|rP|�d�|D]B\}}|j||d	��|�||�Wd�qT1s�0YqTdS)
Nr�pymallocr�malloc�debug)rr)rr))rr)rr)rr)rr
rNrDr�r)rrZ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)
Nrr�r4T)rBr�rrrrrUr)
r�rarsr�r+r6r7r|rEr?rBrMr)rrPrrr: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+r6rarc�splitr7r|rEr?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)rBrCrzz'unknown option --unknown-option
usage: r)
r+r6r7r|rErrCr.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>@rzGCmdLineTest.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)�r%zint_max_str_digits=100000)順r&rqzint_max_str_digits=6000)�pr')rrr?r+�get_int_max_str_digits)rrPr$r#r
r
r�test_int_max_str_digits2s6
�
�z#CmdLineTest.test_int_max_str_digitsN)F)A�__name__�
__module__�__qualname__rrrr!r)r0r2r`�skipIfrr@rQrWr^rgriZ
skipUnlessrrjrlr+r�rxr�Z
is_androidr�r�r�r�r�r�r�r�r�r�r�r�r�r�rarr�r�r�r�r�r�r�r�r�r�r�rr
rrrrrrrr)r
r
r
rrs�	�
	

�
!�
+�

	�%�
;
�


rr�c@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�IgnoreEnvironmentTestcKsd�|�}tdd|fi|��S)Nz@import sys; sys.stderr.write(str(sys.flags)); sys.exit(not ({}))r3r4)r�r)r�	predicater�rPr
r
r�run_ignoring_varsZs
z'IgnoreEnvironmentTest.run_ignoring_varscCsd}|jd�|�|d�dS)NZshould_be_ignoredz'{}' not in sys.pathr�)r0r�)rrcr
r
r�test_ignore_PYTHONPATHbs�z,IgnoreEnvironmentTest.test_ignore_PYTHONPATHcCs|jddd�dS)Nz!sys.flags.hash_randomization == 1rqr��r0rr
r
r�test_ignore_PYTHONHASHSEEDgs�z0IgnoreEnvironmentTest.test_ignore_PYTHONHASHSEEDcCsd}|j|ddddd�dS)Nz�
            (sys.flags.debug == sys.flags.optimize ==
             sys.flags.dont_write_bytecode == sys.flags.verbose == 0)
        rUr�r2)rZexpected_outcomer
r
r�test_sys_flags_not_setks�z,IgnoreEnvironmentTest.test_sys_flags_not_setN)r*r+r,r0r1r3r4r
r
r
rr.Vsr.cCst��dSr)r�
reap_childrenr
r
r
r�tearDownModulezsr6�__main__)rar7r+r�r�r`r_rZtest.support.script_helperrrrrr�hasattrrNrZTestCaserr-r.r6r*r�r
r
r
r�<module>s.
@�"

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists