Your IP : 216.73.217.129


Current Path : /opt/alt/python35/lib64/python3.5/test/__pycache__/
Upload File :
Current File : //opt/alt/python35/lib64/python3.5/test/__pycache__/test_sys.cpython-35.opt-2.pyc



���]#��
@sPddlZddlZddlmZmZddlZddlZddlZddl	Z	ddl
Z
ddlZddlZddl
Z
ddlZddlZddlZddlZdayddlZWnek
r�dZYnXGdd�dej�ZejjGdd�dej��Zdd�Zed	krLe�dS)
�N)�assert_python_ok�assert_python_failurec@s
eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Ze
jed�dd��Zdd�Zdd�Zejjdd��Zdd�Zd d!�Zd"d#�Ze
jeed$�d%�d&d'��Zejjd(d)��Zd*d+�Zd,d-�Z ejj!d.d/��Z"d0d1�Z#d2d3�Z$e
jeed4�d�d5d6��Z%d7d8�Z&d9d:�Z'd;d<�Z(d=d>�Z)d?d@�Z*dAdB�Z+dCdD�Z,ejjdEdF��Z-dGdH�Z.e
jejj/dI�dJdK��Z0e
j1ej2ej3kdL�dMdN��Z4dOdPdQ�Z5dRdS�Z6dTdOdUdV�Z7dWdX�Z8dYdZ�Z9ejjd[d\��Z:e
jeed]�d^�d_d`��Z;ejj<dadb��Z=dOS)c�
SysModuleTestcCs(tj|_tj|_tj|_dS)N)�sys�stdout�orig_stdout�stderr�orig_stderr�displayhook�orig_displayhook)�self�r
�-/opt/alt/python35/lib64/python3.5/test_sys.py�setUpszSysModuleTest.setUpcCs5|jt_|jt_|jt_tjj	�dS)N)
rrrr	rrr
�test�supportZ
reap_children)rr
r
r�tearDownszSysModuleTest.tearDowncCs�ddl}tj�}|t_tj}|jt|�t|d�rO|`	|d�|j
|j�d�|jt|d��|d�|j
|j�d�|j
|j	d�t`|jt
|d�dS)Nr�_��*z42
)�builtins�io�StringIOrr�__displayhook__�assertRaises�	TypeError�hasattrr�assertEqual�getvalue�
assertTrue�RuntimeError)rr�outZdhr
r
r�test_original_displayhook$s		

z'SysModuleTest.test_original_displayhookcCs/t`tddd�}|jtt|�dS)N�42z<string>�single)rr
�compilerr �eval)r�coder
r
r�test_lost_displayhook9sz#SysModuleTest.test_lost_displayhookcCs>dd�}|t_tddd�}|jtt|�dS)NcSs
t�dS)N)�
ValueError)�objr
r
r�baddisplayhook?sz=SysModuleTest.test_custom_displayhook.<locals>.baddisplayhookr#z<string>r$)rr
r%rr)r&)rr+r'r
r
r�test_custom_displayhook>s	z%SysModuleTest.test_custom_displayhookcCs�tj�}|t_tj}|jt|�ytd��Wn5tk
ru}z|tj��WYdd}~XnX|j	|j
�jd��dS)NrzValueError: 42
)rrrr�__excepthook__rrr)�exc_inforr�endswith)r�errZeh�excr
r
r�test_original_excepthookEs		#z&SysModuleTest.test_original_excepthookcCsLtjjd��}tjddd�WdQRX|jd|j�k�dS)Nr��1zETypeError: print_exception(): Exception expected for value, str found)rrZcaptured_outputr�
excepthookrr)rrr
r
r�test_excepthookSs	zSysModuleTest.test_excepthookc(s�jttjdd��jt��}tj�WdQRX�j|jj�tdd�\}}}�j	|d��j	|d��j	|d��jt��}tjd�WdQRX�j	|jjd��jt��}tjd�WdQRX�j	|jjd��jt��}tjd�WdQRX�j	|jjd��jt��}tjd�WdQRX�j	|jjd�t
dd	�\}}}�j	|d
��j	|d��j	|d��fdd�}|d
d�|dd�|dddd�dS)Nrz-czimport sys; sys.exit()r��exit��zraise SystemExit(47)�/csntd||�\}}}�j|d��j|d��j|j|�dt|�t|�f�dS)Nz-cr3r7z%s doesn't start with %s)rrr�
startswith�ascii)r'�expectedZenv_vars�rcr!r0)rr
r�check_exit_message�s
z3SysModuleTest.test_exit.<locals>.check_exit_messagez?import sys; sys.stderr.write("unflushed,"); sys.exit("message")sunflushed,messagez)import sys; sys.exit("surrogates:\uDCFF")ssurrogates:\udcffzimport sys; sys.exit("h\xe9")sh��PYTHONIOENCODINGzlatin-1)r)r9r:)r9r:)rrrr8�
SystemExitZassertIsNone�	exceptionr'rrr)r�cmr?r!r0r@r
)rr�	test_exit\sD	zSysModuleTest.test_exitcCs0|jttjd�|jtj�t�dS)Nr)rrr�getdefaultencoding�assertIsInstance�str)rr
r
r�test_getdefaultencoding�sz%SysModuleTest.test_getdefaultencodingcCs�tj��qtjd�|jttj�tj�}x=ddd|fD])}tj|�|jtj�|�qLWWdQRXdS)N�ignorer�d�x)	�warnings�catch_warnings�simplefilterrrr�setcheckinterval�getcheckintervalr)r�orig�nr
r
r�test_setcheckinterval�s


z#SysModuleTest.test_setcheckintervalz!Threading required for this test.cCs�|jttj�|jttjd�|jttjd�|jttjd�tj�}|j|dk|�zDx=ddd|fD])}tj|�|jtj�|�q�WWdtj|�XdS)	N�ag�?gg�?g�h㈵��>g�������?g@g�)rrr�setswitchintervalr)�getswitchintervalrZassertAlmostEqual)rrRrSr
r
r�test_switchinterval�s
z!SysModuleTest.test_switchintervalcCs|jttjd�tj�}|jttj�|jttjd�tjd�|jtj�d�tj|�dS)Nri'i���)rrr�getrecursionlimit�setrecursionlimitr)r)r�oldlimitr
r
r�test_recursionlimit�s
z!SysModuleTest.test_recursionlimitcs�ttd�r(tj�r(|jd�tj�}�fdd��z^xWdD]O}ytj|�Wntk
r~wPYnX|jt��|jt��qPWWdtj|�XdS)
N�gettracez(fatal error if run with a trace functioncs��dS)Nr
r
)�fr
rr^�sz5SysModuleTest.test_recursionlimit_recovery.<locals>.f�
��2�KrK���)r_r`rarbrKrcrd)rrr]ZskipTestrYrZ�RecursionErrorr)rr[�depthr
)r^r�test_recursionlimit_recovery�s


z*SysModuleTest.test_recursionlimit_recoveryc
s�ddlm����fdd��tj�}zVtjd�xBdD]:}|dkrj|d}n|d
d}�||�qKWWdtj|�XdS)Nr)�get_recursion_depthc
sh��}||krW�jt��}tj|�WdQRX�jt|j�d�n
�||�dS)Nz\cannot set the recursion limit to [0-9]+ at the recursion depth [0-9]+: the limit is too low)rrerrZZassertRegexrHrC)rf�limit�recursion_depthrD)rhr�set_recursion_limit_at_depthr
rrk�s	
zZSysModuleTest.test_setrecursionlimit_recursion_depth.<locals>.set_recursion_limit_at_depthi�r_r`rarbrK�����)r_r`rarbrKrlrm)�	_testcapirhrrYrZ)rr[rirfr
)rhrrkr�&test_setrecursionlimit_recursion_depth�s


z4SysModuleTest.test_setrecursionlimit_recursion_depthc
Cs�tjd�}tjj��txldD]d}tjtjd||gdtj	�}|j
�d}|j|j|j�|j
d|�q&WWdQRXdS)	Nz�
            import sys

            def f():
                try:
                    f()
                except RecursionError:
                    f()

            sys.setrecursionlimit(%d)
            f()ra��z-crr3s6Fatal Python error: Cannot recover from stack overflow)rarr)�textwrap�dedentrrZSuppressCrashReport�
subprocess�Popenr�
executable�PIPE�communicater�
returncode�assertIn)rr'�i�subr0r
r
r�test_recursionlimit_fatalerrors
	
z,SysModuleTest.test_recursionlimit_fatalerrorcCs�tjjtd�tj�}|jt|�d�|j|dt�|j|dt�|j|dt�|j|dt�|j|dt	�|j
ttj
|d�|j|jt�|j|jt�|j|jt�|j|jt�|j|jt	�|j|jt�|j|jt�|j|jt�|j|jt�|j|d|j�|j|d|j�|j|d|j�|j|d|j�|j|d|j�tj�\}}}}}dS)N�getwindowsversion�rr3�rnro)rr�
get_attributerrr�lenrG�intrHr�
IndexError�operator�getitem�major�minorZbuild�platformZservice_packZservice_pack_minorZservice_pack_majorZ
suite_maskZproduct_type)r�vZmaj�minZbuildnoZplatZcsdr
r
r�test_getwindowsversions0z$SysModuleTest.test_getwindowsversioncCs|jttjtd�dS)Nr�)rrr�call_tracing�type)rr
r
r�test_call_tracing8szSysModuleTest.test_call_tracing�setdlopenflagsztest needs sys.setdlopenflags()cCs�|jttd��|jttjd�tj�}|jttj�tj|d�|jtj�|d�tj|�dS)N�getdlopenflagsrr3)rrrrrr�r�r)rZoldflagsr
r
r�test_dlopenflags;szSysModuleTest.test_dlopenflagscCs�|jttj�tjd�}da|jtjd�|d�b|jtjd�|�ttd�r�|jtj�t	�dS)Nr3�gettotalrefcount)
rrr�getrefcountrSrrrGr�r�)r�cr
r
r�
test_refcountFszSysModuleTest.test_refcountcCsU|jttjdd�|jttjd�|jtjjtj�j	k�dS)Nri�5w)
rrr�	_getframer)rr�
test_getframe�__code__�f_code)rr
r
rr�Vs
	zSysModuleTest.test_getframecCsRd}yddl}Wntk
r0d}YnX|rD|j�n
|j�dS)NTrF)�_thread�ImportError�current_frames_with_threads�current_frames_without_threads)rZhave_threadsr�r
r
r�test_current_frames_s

z!SysModuleTest.test_current_framescs�ddl�ddl}�j���j��g��fdd�}����fdd���jd|�}|j��j�|jt��d��d}tj	�}�j
�}|j||�|j||�|j|�}|j
|tj�k�|j|�}|j|�}x@t|�D]%\}	\}
}}}
|dkr4Pq4W|jd	�|j|
d
�||	d\}
}}}
|j|d�|j|
dd
g��j�|j�dS)Nrcs��dS)Nr
r
)�g456r
r�f123xsz7SysModuleTest.current_frames_with_threads.<locals>.f123cs+�j�j���j��j�dS)N)�append�	get_ident�set�waitr
)�	entered_g�leave_g�thread_info�	threadingr
rr�{s
z7SysModuleTest.current_frames_with_threads.<locals>.g456�targetr3r�z)didn't find f123() on thread's call stackzg456()r�zleave_g.wait()zentered_g.set())r��	traceback�Event�Thread�startr�rr�r�_current_framesr�r{�poprr��
extract_stack�	enumerateZfailr��join)rr�r��tZ	thread_id�dZmain_id�frame�stackr|�filename�lineno�funcnameZ
sourceliner
)r�r�r�r�r�rr�ls<


%

z)SysModuleTest.current_frames_with_threadscCsStj�}|jt|�d�|jd|�|j|dtj�k�dS)Nr3r)rr�rr�r{rr�)rr�r
r
rr��sz,SysModuleTest.current_frames_without_threadscCs�|jtjt�|jtjt�|jtjd�|jtjt	�|jtj
t�|jtjt�|jtj
t�|jtjt�|jttj�d�|jtjjd�|jttj�d�|jtjjddk�|jtjjdk�|jttjj�t�|jttjj�t�|jtjt�|jttj�d�|jtjjdtjj�xUtdd	�D]D}|jt|tjjdtjj�dd
jtjj��q�W|jtjj t�|jtjj!t�|jtjj"t�t#j$d�}tjj%dkr�|jtjj&ddh�|jtjj'dddh�|dkr�|jtjj%d
�q	|dkr�|jtjj%d�q	|jtjj%dd
h�n|j|d�|j(tjj)d�|jtjj)d�|jtj*t�|jtj+t�|jtj+d�|jtj,t�|jtj-t�|jtj.t�|jtj/t�tj0}|j|dd�t	�|jt|�d�|j|dt�|j|dt�|j|dt�|j|dd�|j|dt�|j|j1t�|j|j2t�|j|j3t�|j|j4d�|j|j5t�|j|d|j1�|j|d|j2�|j|d|j3�|j|d|j4�|j|d|j5�|j|d k�|jtj6t�|jtj6d!�tj,j7d�s�|jtj8t�dS)"N�little�big�r�r�rr3�	rKz'sys.hash_info.modulus {} is a non-prime�Py_HASH_ALGORITHM�fnv�	siphash24� �@��i��rn�alpha�beta�	candidate�finalro�short�legacy�win)r�r�>r�r�)r�r�r�r�)r�r�r�r�)r3rr)r�r�)9rGr�api_versionr��argv�listr{�	byteorder�builtin_module_names�tuple�	copyrightrH�exec_prefix�base_exec_prefixrwrr��
float_info�radix�int_infor�bits_per_digit�sizeof_digitr��
hexversion�	hash_info�
assertLess�modulus�width�range�pow�format�inf�nan�imag�	sysconfig�get_config_var�	algorithm�	hash_bits�	seed_bits�assertGreaterEqual�cutoff�maxsize�
maxunicoder��prefix�base_prefix�version�version_infor�r��micro�releaselevel�serial�float_repr_styler<�abiflags)r�xZalgo�vir
r
r�test_attributes�s� 	zSysModuleTest.test_attributesr�cCsItj}|jt|�d�|j|jd�|j|jd�dS)	Nrn�nt�pthread�solaris�	semaphore�
mutex+cond)r�r�r�N)r�rN)rr�rr�r{�name�lock)r�infor
r
r�test_thread_infos	zSysModuleTest.test_thread_infocCs |jtjjtjj�dS)N)rr�
__stdout__�encoding�
__stderr__)rr
r
r�
test_43581szSysModuleTest.test_43581cCs�td7a|jttj�dtt�}|jtj|�|k�|j�j�}|jtj|�|k�Gdd�dt�}|jttj|d��dS)Nr3znever interned beforec@seZdZdd�ZdS)z$SysModuleTest.test_intern.<locals>.ScSsdS)N�{r
)rr
r
r�__hash__ sz-SysModuleTest.test_intern.<locals>.S.__hash__N)�__name__�
__module__�__qualname__r
r
r
r
r�Ssr�abc)�numrunsrrr�internrHr�swapcase)r�s�s2rr
r
r�test_interns
zSysModuleTest.test_internc
Cs�|jtj�d}xO|D]G}|jttj|�|�|jtttj|��t|�qW|jttj��|jt	tj�t	|��dS)N�debug�inspect�interactive�optimize�dont_write_bytecode�no_user_site�no_site�ignore_environment�verbose�
bytes_warning�quiet�hash_randomization�isolated)
rrrrrrrrrrr r!r")
rr�flagsrrr��getattrr��reprr�)rZattrs�attrr
r
r�test_sys_flags%s
)zSysModuleTest.test_sys_flagscCsRt|�}|jt��|�WdQRX|jt��|j|�WdQRXdS)N)r�rr�__new__)rZsys_attrZ	attr_typer
r
r�assert_raise_on_new_sys_type1s
z*SysModuleTest.assert_raise_on_new_sys_typecCs|jtj�dS)N)r)rr#)rr
r
r�test_sys_flags_no_instantiation:sz-SysModuleTest.test_sys_flags_no_instantiationcCs|jtj�dS)N)r)rr�)rr
r
r�&test_sys_version_info_no_instantiation=sz4SysModuleTest.test_sys_version_info_no_instantiationcCs*tjjtd�|jtj��dS)Nr)rrr�rr)r)rr
r
r�+test_sys_getwindowsversion_no_instantiation@sz9SysModuleTest.test_sys_getwindowsversion_no_instantiationcCstj�dS)N)r�_clear_type_cache)rr
r
r�test_clear_type_cacheEsz#SysModuleTest.test_clear_type_cachecCs5ttj�}d|d<tjtjddgdtjd|�}|j�dj	�}dtj
jd�}|j||�d	|d<tjtjddgdtjd|�}|j�dj	�}|j|d
�d|d<tjtjddgdtjdtjd|�}|j�\}}|j|d
�|j
d|�|j
d|�d|d<tjtjddgdtjdtjd|�}|j�\}}|j|d
�|j
d|�|j
d|�d|d<tjtjddgdtjd|�}|j�dj	�}|j|d�dS)N�cp424rAz-czprint(chr(0xa2))r�envr�¢z
ascii:replace�?r=rr7sUnicodeEncodeError:s'\xa2'zascii:z:surrogateescapezprint(chr(0xdcbd))s�)�dict�os�environrurvrrwrxry�strip�linesep�encoderr{)rr0�pr!r>r0r
r
r�test_ioencodingIsB


	
	
zSysModuleTest.test_ioencodingz*requires OS support of non-ASCII encodingscCs�ttj�}d|d<tjtjddtjj	gdtj
d|�}|j�dj�}|j
|tjtjj	��dS)NrrAz-cz	print(%a)rr0r)r3r4r5rurvrrwrr�FS_NONASCIIrxryr6r�fsencode)rr0r9r!r
r
r�test_ioencoding_nonasciits
z&SysModuleTest.test_ioencoding_nonasciizTest is not venv-compatiblecCs�|jtjjtj�tj�tjjtjjtj��}tj	dddgdtjdtj
d|�}|j�d}|j�j
d�}|j�|j|d	ttjjd
d��g�dS)NZnonexistentz-czEimport sys; print(sys.executable.encode("ascii", "backslashreplace"))rwr�cwdr�ASCIIzb''r=�backslashreplace)rr4�path�abspathrrw�dirname�realpathrurvrxryr6�decoder�r{r%r8)rZ
python_dirr9rrwr
r
r�test_executable�s"!	
zSysModuleTest.test_executableNcCs4|j|�tj|�|r0|j||�dS)N)ZassertIsNotNone�codecs�lookupr)r�fs_encodingr>r
r
r�check_fsencoding�s

zSysModuleTest.check_fsencodingcCsVtj�}tjdkr$d}ntjdkr<d}nd}|j||�dS)N�darwinzutf-8�win32�mbcs)r�getfilesystemencodingr�rJ)rrIr>r
r
r�test_getfilesystemencoding�s		z(SysModuleTest.test_getfilesystemencodingFc	
Cs�tjj�}d|d<djd�}tjd|g}|rM|jd�|dk	rf||d
<n|jd
d�tj	|dtj
dtjd|dd�}|j�\}}|S)N�C�LC_ALL�
�
import sys�def dump(name):�    std = getattr(sys, name)�(    print("%s: %s" % (name, std.errors))�
dump("stdin")�dump("stdout")�dump("stderr")z-cz-IrArrr0�universal_newlinesT)rSrTrUrVrWrXrY)
r4r5�copyr�rrwr�r�rurvrx�STDOUTry)	rr"rr0r'�argsr9rrr
r
r�c_locale_get_error_handler�s.
	

			z(SysModuleTest.c_locale_get_error_handlercCs�|jdd�}|j|d�|jdd�}|j|d�|jdd�}|j|d�|jdd	�}|j|d�|jdd
�}|j|d�|jdd�}|j|d�dS)Nr"TzHstdin: surrogateescape
stdout: surrogateescape
stderr: backslashreplace
rz:ignorez6stdin: ignore
stdout: ignore
stderr: backslashreplace
z	iso8859-1z6stdin: strict
stdout: strict
stderr: backslashreplace
z
iso8859-1:�:r)r^r)rr!r
r
r�test_c_locale_surrogateescape�s$						z+SysModuleTest.test_c_locale_surrogateescapecCs-ddddddddi}|jttjd	��|jttjd
��|jttjd��|jttjd��tjj}|j|dd
�|j|jf�|jd>|jd>B|jd>B||j	d>B|j
d>B}|jtjj|�|jtjjtjjj
��dS)Nr�r_r�r�r��r��rr�r��	cache_tagr���r�ror)rrr�implementationr�rr�r�r�r�r�r�r�lower)rZlevelsr�r�r
r
r�test_implementation�s&/z!SysModuleTest.test_implementationcCs[ddlm}ddg}||�\}}}|jd|�|jttjd�dS)Nr)rz-cz#import sys; sys._debugmallocstats()sfree PyDictObjectsT)�test.support.script_helperrr{rrr�_debugmallocstats)rrr]�retr!r0r
r
r�test_debugmallocstats�s
z#SysModuleTest.test_debugmallocstats�getallocatedblocksz0sys.getallocatedblocks unavailable on this buildcCs�tjd�}tj�}|jt|�t�|rJ|j|d�n|j|d�y|j	|tj
��Wntk
r�YnXtj
�tj�}|j||�tj
�tj�}|j|t|d|d��dS)N�
WITH_PYMALLOCrra)r�r�rrm�assertIsr�r�Z
assertGreaterr�r�r��AttributeError�gcZcollectZassertLessEqualr{r�)rZ
with_pymallocrU�br�r
r
r�test_getallocatedblocks	s 


z%SysModuleTest.test_getallocatedblockscCsN|jtj�d�d}td|�\}}}|j|j�d�dS)NFa�if 1:
            import sys

            class AtExit:
                is_finalizing = sys.is_finalizing
                print = print

                def __del__(self):
                    self.print(self.is_finalizing(), flush=True)

            # Keep a reference in the __main__ module namespace, so the
            # AtExit destructor will be called at Python exit
            ref = AtExit()
        z-csTrue)ror�
is_finalizingrr�rstrip)rr'r?rrr
r
r�test_is_finalizing&sz SysModuleTest.test_is_finalizing)>rrr
rrr"r(r,r2r6rErIrT�unittestZ
skipUnlessr�rXr\rgrr�cpython_onlyrqr~r�r�rrr�Z
refcount_testr�r�r�Zreap_threadsr�r�r�rrrr'r)r*r+r,r.r:r;r=ZskipIfr�r�rFrJrOr^r`rhrlrsZrequires_type_collectingrvr
r
r
rrsb	B		#
	
?Q	+
&rcs�eZdZdd�ZejjZdd�Zdd�Zdd�Z	�fd	d
�Z
dd�Zd
d�Zdd�Z
�S)�
SizeofTestcCs=tjd�|_tjj|_ddl}|j|_	dS)N�Pr)
�struct�calcsizerzrr�r��	longdigitrpZSIZEOF_PYGC_HEAD�gc_headsize)rrpr
r
rr@szSizeofTest.setUpcCsbtjj}|j}|jtjd�|d�|j�|jtjg�|d�|�dS)NTr�Pn)rr�calcvobjsizer~rr�	getsizeofr})r�vsizeZgc_header_sizer
r
r�test_gc_head_sizeHs	&zSizeofTest.test_gc_head_sizecCs�Gdd�d�}|jttj|��Gdd�d�}|jttj|��dg}|jtj|�|�|�Gdd�d�}|jttj|��|jtj|�|�|�Gdd	�d	t�}|jtj|tj��tj|j	�|jt
��tj|tjd
��WdQRX|jt��tj|d��WdQRX|jtt
f�� tj|tjd
��WdQRXdS)Nc@seZdZdd�ZdS)z)SizeofTest.test_errors.<locals>.BadSizeofcSs
t�dS)N)r))rr
r
r�
__sizeof__Ssz4SizeofTest.test_errors.<locals>.BadSizeof.__sizeof__N)rrr
r�r
r
r
r�	BadSizeofRsr�c@seZdZdd�ZdS)z-SizeofTest.test_errors.<locals>.InvalidSizeofcSsdS)Nr
)rr
r
rr�Xsz8SizeofTest.test_errors.<locals>.InvalidSizeof.__sizeof__N)rrr
r�r
r
r
r�
InvalidSizeofWsr��sentinelc@seZdZdd�ZdS)z+SizeofTest.test_errors.<locals>.FloatSizeofcSsdS)Ng@r
)rr
r
rr�_sz6SizeofTest.test_errors.<locals>.FloatSizeof.__sizeof__N)rrr
r�r
r
r
r�FloatSizeof^sr�c@seZdZdd�ZdS)z.SizeofTest.test_errors.<locals>.OverflowSizeofcSs
t|�S)N)r�)rr
r
rr�esz9SizeofTest.test_errors.<locals>.OverflowSizeof.__sizeof__N)rrr
r�r
r
r
r�OverflowSizeofdsr�r3���)rr)rr�rror�rr�r~�
OverflowError)rr�r�r�r�r�r
r
r�test_errorsQs$	!zSizeofTest.test_errorscCs_tjj}|jtjd�|d�|j�|jtjdd�|d�|j�dS)NTrr3r�)rrr�rrr�r})r�sizer
r
r�test_defaultps&zSizeofTest.test_defaultc%s	tj}tjj�tjj}|j��d|d�|j��t�d��dddg}x7|D]/}t	|�}�||d�|j
��qnW�tt	���d���d|d	�d
��d\|d	�d
�dd�}�|�jd�d���|�j
�d���|j
�d��dd�}�|j
�d�d
��tdd
��d���tj�d��ddl}�|jj�d��ddl}	�|	jj�d���tj�d���ij�d���i�d�|d�d|d��d
d
ddddddddd d d!d!ddi}
�|
�d�|d�d"|d���ij��d���ij��d���ij��d���ti��d#���tij���d#���tij���d#���tij���d#��Gd$d%�d%t�}�|j�d���t��d&���t ddddd��d'���t!ddddd��d'���t"ddd
d��d'���t#�d��ddl$}ddl%}
|j&|
j'j(�}�|�d(���t)g��d)���t*d��d���t+d��d*���t,j-|d�|j.tt,j-��ddl/}d+}|j0�}t|j1j2�}t|j1j3�}|j1j4|j1j5||d
}�||d,|d-d|d��d.d/�}�|�d0��G��fd1d2�d2�}d3d4�}�|��d5���td6��d7��ddl6}�|j7dd��d��gd
ddgd8d9d:gg}x2|D]*}�||d;�t|�|j.�q(W�tg��d7���t*g��d���d|d���d
|d�|j��d]|d�|j�dt,j8j9}�t|�|d�d|j��t|dd
�|d�d|j��t|d�|d�d|j��t:�d<���d�d���t;�d���t��d��G��fd=d%�d%t�}�tt<d
���d>���t*d��d���t<d
��d���t<d?��d��d}gt<d�t<d@�g}�dA|ddB�}x�|D]�}t|�}|dkr�d
}|d}|}x||kr�|d
>}q�W|dkr��t=|�|��t>|�|�qo�t=|�|||d���t>|�|||d��qoW�tt=���dC���t?d��dD���t@t��dD���f|d���d^|d�d|j.�dE}tAt,dF�r�	|dG7}||�}�t|�||dH�}||d�d|d�7}GdIdJ�dJt�}�||��|�j�d_��d8dKdLd@dMdNdOdKdPdQdRdKg}dS}|dT} | d}!x�|D]�}tBtC|��}"|"dUkr�
�|�t|�d
}#nt|"dVkr�| �t|�d
}#nK|"dWkrD�| �dt|�d
}#n�| �dt|�d
}#�||#�q�
WtDdX�}�|�| �d�tE|dYdZ��|�| �dd�ddlF}$�|$jGt��d[���|$jHt��d[��dS)`NTrZ4Pr7�ui��Zn2PiZnPrSr3�xr_r�csd��fdd�}|S)Nrcs�S)Nr
r
)r�r
r�inner�sz<SizeofTest.test_objecttypes.<locals>.get_cell.<locals>.innerr
)r�r
)r�r�get_cell�sz-SizeofTest.test_objecttypes.<locals>.get_cellrrzZ5i9Pi3Pcs�fdd�}|S)Ncs�S)Nr
r
)r�r
rr��sz=SizeofTest.test_objecttypes.<locals>.get_cell2.<locals>.innerr
)r�r�r
)r�r�	get_cell2�sz.SizeofTest.test_objecttypes.<locals>.get_cell2Z2dZ3PPZ3P2PZ2PZn2PZ2nPnr�r�rnror���reZP2nPnc@seZdZdS)z&SizeofTest.test_objecttypes.<locals>.CN)rrr
r
r
r
rrP�srPZ5Pbz	5Pb 2P2nPZ32B2iBZn3Pr��Z12P3icZ3icSsdS)Nr
r
r
r
r�func�sz)SizeofTest.test_objecttypes.<locals>.funcZ12PcsZeZdZedd��Zedd��Z�e�d���e�d��dS)z&SizeofTest.test_objecttypes.<locals>.ccSsdS)Nr
r
r
r
r�foo�sz*SizeofTest.test_objecttypes.<locals>.c.foocSsdS)Nr
)�clsr
r
r�bar�sz*SizeofTest.test_objecttypes.<locals>.c.barZPPN)rrr
�staticmethodr��classmethodr�r
)�checkr�r
rr��sr�css	dVdS)Nr3r
r
r
r
r�get_gen�sz,SizeofTest.test_objecttypes.<locals>.get_genZPb2PPPrZlPr4�2�3rZPnPPPcs\eZdZdd�Zdd�Zdd�Zeeeed�Z�e�d��d	S)
z&SizeofTest.test_objecttypes.<locals>.CcSs|jS)N)�_C__x)rr
r
r�getxsz+SizeofTest.test_objecttypes.<locals>.C.getxcSs
||_dS)N)r�)r�valuer
r
r�setxsz+SizeofTest.test_objecttypes.<locals>.C.setxcSs
|`dS)N)r�)rr
r
r�delxsz+SizeofTest.test_objecttypes.<locals>.C.delxrZ4PiN)rrr
r�r�r��propertyr�r
)r�r�r
rrPs
Z4li�raZ3nPZ2nPZP3n�3PZP2n15Pl4Pn9Pn11PIPZ	getcountsZ3n2PZ3P36P3P10P2P4Pc@seZdZdS)z2SizeofTest.test_objecttypes.<locals>.newstyleclassN)rrr
r
r
r
r�
newstyleclassNsr�rK�ÿuĀ�(u￿u𐀀�u􏿿ZnnbPZnPnr��ii@z<stdin>r&Z2Pn2Ps
xxxxxxxxxxr�)r3r�rnZn2P2nPn)Ir{r|rr�calcobjsizer��check_sizeofr}r��	bytearray�	__alloc__�iter�__closure__r��complexrHrg�datetimeZ	timedeltaZdays�collections�defaultdict�default_factoryr��__add__�__iter__�keys�values�items�object�__dict__�
BaseException�UnicodeEncodeError�UnicodeDecodeError�UnicodeTranslateError�EllipsisrGZencodings.iso8859_3�
charmap_build�	iso8859_3�decoding_tabler��reversed�floatrr�rzr�currentframer��co_cellvars�co_freevars�co_stacksize�
co_nlocals�re�finditerr�r�rw�NotImplementedr�r��	frozenset�slice�superr�ord�max�chrr%�weakref�ref�proxy)%rr|r�Zsamples�sampler�r�r�r�r�ZlongdictrPrG�	encodingsrZCO_MAXBLOCKSZncellsZnfrees�extrasr�r�r�r�ZPyLong_BASEZ
PySet_MINSIZErZminused�tmpZnewsize�fmtr�ZasciifieldsZ
compactfieldsZ
unicodefieldsZmaxchar�Lr�)�	__class__)r�r�r�test_objecttypesus		
!+6+%%"*"'!
($,(	

!%






!zSizeofTest.test_objecttypescCsetj|�tj|�}tj|�rHtj|�rH||j7}|jtj|�|�dS)N)rr�r{r|rqZ
is_trackedr~r)rr*�base�extrar>r
r
r�check_slotsxs
zSizeofTest.check_slotsc	Cs7|j}Gdd�dt�}||�t�d�Gdd�dt�}||dg�dgid�Gdd�dt�}||�gd�Gd	d
�d
t�}||�t�d�Gdd�dt�}||�t�d�d
dlm}Gdd�d|�}||dg�|dg�d�dS)Nc@seZdZdZdS)z!SizeofTest.test_slots.<locals>.BArUrrr�N)rUrrr�)rrr
�	__slots__r
r
r
r�BA�sr�r�c@seZdZdZdS)z SizeofTest.test_slots.<locals>.DrUrrr�N)rUrrr�)rrr
r�r
r
r
r�D�sr�r�c@seZdZdZdS)z SizeofTest.test_slots.<locals>.LrUrrr�N)rUrrr�)rrr
r�r
r
r
rr��sr�c@seZdZdZdS)z SizeofTest.test_slots.<locals>.SrUrrr�N)rUrrr�)rrr
r�r
r
r
rr�src@seZdZdZdS)z!SizeofTest.test_slots.<locals>.FSrUrrr�N)rUrrr�)rrr
r�r
r
r
r�FS�sr�r)�OrderedDictc@seZdZdZdS)z!SizeofTest.test_slots.<locals>.ODrUrrr�N)rUrrr�)rrr
r�r
r
r
r�OD�sr�)r�r�r3r�r�r�r�r�)	rr�r�r�r�rr�r�r�r
r
r�
test_slots~s	zSizeofTest.test_slotscCs�tjj}tjj}|j}ddl}||j�|d��y
t�WnAtk
r�tj	�d}|dk	r�|||d��YnX|tj
|d�|jttj
��dS)Nrrzr�Z2P2ir)
rrr�r�r��_astZASTrrr.r#rzr�)rr�r�r�r��tbr
r
r�test_pythontypes�s	

zSizeofTest.test_pythontypes)rrr
rrrr�r�r�r�r�r�r�r�r
r
)r�rry=s	�rycCstjjtt�dS)N)rrZrun_unittestrryr
r
r
r�	test_main�sr��__main__)rwZtest.supportrrirrrrr4r{rursrMr�rGrqr�r�rr�r�ZTestCaserrrxryr�rr
r
r
r�<module>s4$
���)�n