Viewing File: /opt/alt/python35/lib64/python3.5/test/support/__pycache__/__init__.cpython-35.opt-2.pyc



Yf
Q@sedkredddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZ
ddlZ
ddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZyddlZddl Z Wnek
rdZdZ YnXyddl!Z"Wnek
rdZ"YnXyddl#Z#Wnek
rdZ#YnXyddl$Z$Wnek
r
dZ$YnXyddl%Z%Wnek
r8dZ%YnXyddl&Z&Wnek
rcdZ&YnXyddl'Z'Wnek
rdZ'YnXdddddd	d
ddd
ddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTgQZ(GdUd	d	e)Z*GdVd
d
e*Z+GdWddej,Z-ej.dXdYdZZ/d[d\fd]dZ0d^d_Z1d`daZ2dbd8Z3dcd9Z4ffd[ddd
Z5ded4Z6dfZ7dZ8da9da:d[Z;da<da=dgdZ>dhdZ?didZ@djdkZAejjBdlrd[dmdnZCdodpZDdqdrZEdsdtZFnejGZDejHZEdudtZFdvdZGdwdxZHdydZIdzd{ZJd|dZKd}d~ZLddZMddd ZNddZOdd!ZPdd"ZQdd#ZRdZSdZTejUejVdd@ZWeSddAZXddZYeYZZddZ[d:Z\d=Z]ej^e_j`djBddZaej^e#dZbej^e$dZcej^e%dZdej^e&dZeejjBdZfejgdkrdZhndZhdjiehejjZhdZkxDd>D]<ZlyejmejnelWneok
rYqXelZkPqWehdZpejdkr6ddlqZqeqjrdepZpejsZtdZuejgd?krejvjdkrehdZuyeujwetWnexk
rYqXeydeuetfdZunKejdkrydjzetWn(e{k
rehdjzetdZuYnXdZ|xHd@D]@ZgyegjzetWqe{k
rPejnehegZ|PYqXqWekrlehdekZ}ndZ}ej~Zej.dd[ddZej.d[ddZej.dd[ddZeedrej.ddCZejjejjeZejjeZejjedZdddZddZddSZddZdddddd$ZddBZGdddeZd[ddZej.ddJZej.ddKZGdddeZGddLdLejjZGdddeZGdd%d%eZeedejZeedejZeedejZej.dddfdd)Zej.ddZddZddZddZddZej.ddZddZdZdZeedr*deZdZedZddZddZdAZdBZddZddMZddTZdCZdeZdeZdeZejZddQZGdddZdXdd1Zdd2ZGdd*d*ZddZddZdd3ZdddZdadd;ZddZdd=ZddZddZd	d
ZddZd
dZdd+ZddZeoejdkoejdZejdk	oeZej^edZdddd,ZddZddZddFZddGZddHZddDZej.dddIZej.ddOZej.d dNZd!d"Zejeed#d$Zd%d&ZGd'dEdEe
jjZGd(dPdPeZdad)dZd*d-Zdad+d,Zd-d6Zd.dZd/fd0d:ZGd1dRdRZd2d3Zd4d5Zfd6d7ZdS(Dztest.supportz.support must be imported from the test packageN
PIPE_MAX_SIZEverbose
max_memuse
use_resourcesfailfastError
TestFailedResourceDenied
import_moduleimport_fresh_moduleCleanImportunloadforgetrecord_original_stdoutget_original_stdoutcaptured_stdoutcaptured_stdincaptured_stderrTESTFNSAVEDCWDunlinkrmtreetemp_cwdfindfilecreate_empty_filecan_symlinkfs_is_case_insensitiveis_resource_enabledrequiresrequires_freebsd_versionrequires_linux_versionrequires_mac_vercheck_syntax_errorTransientResourcetime_outsocket_peer_resetioerror_peer_resettransient_internetBasicTestRunnerrun_unittestrun_doctestskip_unless_symlink
requires_gziprequires_bz2
requires_lzma
bigmemtestbigaddrspacetestcpython_only
get_attributerequires_IEEE_754skip_unless_xattr
requires_zlibanticipate_failureload_package_testsdetect_api_mismatchrequires_multiprocessing_queue	is_jythoncheck_impl_detailHOSTIPV6_ENABLEDfind_unused_port	bind_portopen_urlresource
temp_umask
reap_childrenTestHandlerthreading_setupthreading_cleanupreap_threads
start_threadscheck_warningscheck_no_resource_warningEnvironmentVarGuardrun_with_locale	swap_item	swap_attrMatcherset_memlimitSuppressCrashReportsortdictrun_with_tzc@seZdZdS)rN)__name__
__module____qualname__rVrV-/opt/alt/python35/lib64/python3.5/__init__.pyrnsc@seZdZdS)rN)rSrTrUrVrVrVrWrqsc@seZdZdS)r	N)rSrTrUrVrVrVrWr	tsTccs>|r5tjtjddtdVWdQRXndVdS)Nignorez.+ (module|package))warningscatch_warningsfilterwarningsDeprecationWarning)rXrVrVrW_ignore_deprecated_imports|s
r]Frequired_oncCst|nytj|SWnUtk
ru}z5tjjt|rNtj	t
|WYdd}~XnXWdQRXdS)N)r]	importlibr
ImportErrorsysplatform
startswithtupleunittestSkipTeststr)name
deprecatedr^msgrVrVrWr
s	
cCs{|tjkr#t|tj|=xQttjD]@}||ksX|j|dr3tj|||<tj|=q3WdS)N.)ramodules
__import__listrc)rhorig_modulesmodnamerVrVrW_save_and_remove_modules

rqcCsGd}ytj|||<Wntk
r5d}YnXdtj|<|S)NTF)rarlKeyError)rhroZsavedrVrVrW_save_and_block_modules

rscCs|r
tjSddS)NcSs|S)NrV)frVrVrW<lambda>sz$anticipate_failure.<locals>.<lambda>)reZexpectedFailure)Z	conditionrVrVrWr6scCsk|dkrd}tjjtjjtjjt}|jd|d|d|}|j||S)Nztest*Z	start_dirZ
top_level_dirpattern)ospathdirname__file__ZdiscoverZaddTests)Zpkg_dirloaderZstandard_testsrvZtop_dirZ
package_testsrVrVrWr7s			
cCst|i}g}t||z}y^x|D]}t||q3Wx*|D]"}t||sQ|j|qQWtj|}Wntk
rd}YnXWdx'|jD]\}	}
|
tj	|	<qWx|D]}tj	|=qWX|SWdQRXdS)N)
r]rqrsappendr_r
r`itemsrarl)rhZfreshZblockedriroZnames_to_removeZ
fresh_nameZblocked_nameZfresh_moduleZ	orig_namemoduleZname_to_removerVrVrWrs$





cCsIyt||}Wn+tk
r@tjd||fYnX|SdS)Nzobject %r has no attribute %r)getattrAttributeErrorrerf)objrhZ	attributerVrVrWr2
s

cCs
|adS)N)_original_stdout)stdoutrVrVrWrscCs
tptjS)N)rrarrVrVrVrWr#scCs'ytj|=Wntk
r"YnXdS)N)rarlrr)rhrVrVrWr
&s
cGsy||SWntk
r}z_tdkr`td|jj|ftd|j|ftj|tj||SWYdd}~XnXdS)Nz%s: %szre-run %s%r)	OSErrorrprint	__class__rSrwchmodstatS_IRWXU)rxfuncargserrrVrVrW
_force_run,srwincCs|||r|}n$tjj|\}}|p:d}d}xR|dkrtj|}|rm|n	||ks}dStj||d9}qFWtjd|tdddS)NrkgMbP?g?rz)tests may fail, delete still pending for 
stacklevel)	rwrxsplitlistdirtimesleeprYwarnRuntimeWarning)rpathnamewaitallryrhtimeoutLrVrVrW_waitfor7s
	

rcCsttj|dS)N)rrwr)filenamerVrVrW_unlinkXsrcCsttj|dS)N)rrwrmdir)ryrVrVrW_rmdir[srcs<fddt|ddtdd|dS)Ncsxt|tj|D]}tjj||}ytj|j}WnHtk
r}z(td||fdt	j
d}WYdd}~XnXtj|rt
|ddt|tj|qt|tj|qWdS)Nz-support.rmtree(): os.lstat(%r) failed with %sfilerrT)rrwrrxjoinlstatst_moderrra
__stderr__rS_ISDIRrrr)rxrhfullnamemodeexc)
_rmtree_innerrVrWr_s
z_rmtree.<locals>._rmtree_innerrTcSst|tj|S)N)rrwr)prVrVrWrunsz_rmtree.<locals>.<lambda>)r)rxrV)rrW_rmtree^srcsWytj|dSWntk
r)YnXfdd|tj|dS)Nc
sxt|tj|D]}tjj||}ytj|j}Wntk
rad}YnXtj	|r|t|tj
|qt|tj|qWdS)Nr)rrwrrxrrrrrrrr)rxrhrr)rrVrWrzs

z_rmtree.<locals>._rmtree_inner)shutilrrrwr)rxrV)rrWrss


cCs-yt|Wnttfk
r(YnXdS)N)rFileNotFoundErrorNotADirectoryError)rrVrVrWrscCs'yt|Wntk
r"YnXdS)N)rr)ryrVrVrWrs
rcCs'yt|Wntk
r"YnXdS)N)rr)rxrVrVrWrs
cCs]tjj|}tjjtjj|}tjj||d}tj|||S)Nc)	r_utilcache_from_sourcerwrxryabspathrrename)sourceZpyc_fileZup_oneZ
legacy_pycrVrVrWmake_legacy_pycs
rcCsvt|xetjD]Z}tjj||d}t|dx*dD]"}ttjj|d|qHWqWdS)Nz.pyrrroptimization)rrr)	r
rarxrwrrr_rr)rpryroptrVrVrWrs

csttdrtjSd}tjjdrddlddld}d}Gfdddj}j	j
}|j}|sj|}j
j}|j||j|j|j|}|sjt|j|@sd}ntjdkrdd	lm}	mm}
m}dd
lm}|	j|d}
|
jdkrd}naGfd
dd|}|}|
|}|
j|dks|
j|dkrd}|sy;ddlm}|}|j|j |j!Wnrt"k
r}zRt#|}t$|dkrq|ddd}dj%t&|j'|}WYdd}~XnX|t_(|t_tjS)NresultrrrcsCeZdZdjjfdjjfdjjfgZdS)z*_is_gui_available.<locals>.USEROBJECTFLAGSZfInheritZ	fReserveddwFlagsN)rSrTrUwintypesZBOOLDWORD_fields_rV)ctypesrVrWUSEROBJECTFLAGSsrz,gui not available (WSF_VISIBLE flag not set)darwin)cdllc_intpointer	Structure)find_libraryZApplicationServicesz0gui tests cannot run without OS X window managercs(eZdZdfdfgZdS)z._is_gui_available.<locals>.ProcessSerialNumberZ
highLongOfPSNZlowLongOfPSNN)rSrTrUrrV)rrVrWProcessSerialNumbers	rz#cannot run without OS X gui process)Tk2z [...]zTk unavailable due to {}: {}))hasattr_is_gui_availablerrarbrcrZctypes.wintypesrwindllZuser32ZGetProcessWindowStationZWinErrorrrZGetUserObjectInformationWZbyrefZsizeofboolrrrrZctypes.utilrZLoadLibraryZCGMainDisplayIDZGetCurrentProcessZSetFrontProcesstkinterrZwithdrawupdateZdestroy	ExceptionrglenformattyperSreason)rZ	UOI_FLAGSZWSF_VISIBLErZdllhZuofZneededresrrrrZapp_servicesrZpsnZpsn_prrooteZ
err_stringrV)rrrWrsh			"			

	
rcCstdkp|tkS)N)r)resourcerVrVrWrscCsWt|s.|dkr"d|}t||dkrStrSttjdS)Nz"Use of the %r resource not enabledgui)rr	rr)rrjrVrVrWr
s
csfdd}|S)Ncs4tjfdd}|_|S)Nc
stjkrtjjddd}y"ttt|jd}Wntk
rdYnAX|krdjtt	}t
jd||f||S)N-rrrkz(%s version %s or higher required, not %s)rbsystemreleaserrdmapint
ValueErrorrrgrerf)rkwversion_txtversionmin_version_txt)rmin_versionsysnamerVrWwrappers"
z:_requires_unix_version.<locals>.decorator.<locals>.wrapper)	functoolswrapsr)rr)rr)rrW	decorators'	z)_requires_unix_version.<locals>.decoratorrV)rrrrV)rrrW_requires_unix_versionsrcGs
td|S)NZFreeBSD)r)rrVrVrWr.scGs
td|S)NZLinux)r)rrVrVrWr 7scsfdd}|S)Ncs1tjfdd}|_|S)Ncstjdkrtjd}y"ttt|jd}Wntk
rUYn>X|krdjtt	}t
jd||f||S)Nrrrkz&Mac OS X %s or higher required, not %s)rarbZmac_verrdrrrrrrgrerf)rrrrr)rrrVrWrHs"
z4requires_mac_ver.<locals>.decorator.<locals>.wrapper)rrr)rr)r)rrWrGs$	z#requires_mac_ver.<locals>.decoratorrV)rrrV)rrWr!@sz	127.0.0.1z::1cCs/tj||}t|}|j~|S)N)socketr?close)familysocktypeZtempsockportrVrVrWr>bs
8
cCs
|jtjkr|jtjkrttdr]|jtjtjdkr]t	dttdrdt
jkry.|jtjtjdkrt	dWnt
k
rYnXttdr|jtjtjd|j|df|jd}|S)	NSO_REUSEADDRrzHtests should never set the SO_REUSEADDR socket option on TCP/IP sockets!SO_REUSEPORTZWITHIN_PYTHON_RPM_BUILDzHtests should never set the SO_REUSEPORT socket option on TCP/IP sockets!SO_EXCLUSIVEADDRUSEr)rrAF_INETrSOCK_STREAMr
getsockopt
SOL_SOCKETrrrwenvironrr
setsockoptrbindgetsockname)sockhostrrVrVrWr?s $
cCsstjrod}zLy3tjtjtj}|jtdfdSWntk
rYYnXWd|rn|jXdS)NrTF)rhas_ipv6AF_INET6rrHOSTv6rr)rrVrVrW_is_ipv6_enableds	
	rcs%tjfdd}|S)Ncsay||WnItk
r\}z)dt|krGtjdWYdd}~XnXdS)NZCERTIFICATE_VERIFY_FAILEDz.system does not contain necessary certificates)IOErrorrgrerf)rkwargsr)rtrVrWdecsz&system_must_validate_cert.<locals>.dec)rr)rtrrV)rtrWsystem_must_validate_certs!	rriZdoubleZIEEEztest requires IEEE 754 doublesz
requires zlibz
requires gzipzrequires bz2z
requires lzmajavaz$testz@testz	{}_{}_tmpæİŁφКא،تก €u-àòɘŁğrZNFDntceru-共Ł♡ͣztWARNING: The filename %r CAN be encoded by the filesystem encoding (%s). Unicode filename tests may not be effectives-surrogateescapewrccsd}|dkr9tj}d}tjj|}nOytj|d}Wn5tk
r|sitjd|t	ddYnXz	|VWd|rt
|XdS)NFTz+tests may fail, unable to create temp dir: r)tempfilemkdtemprwrxrealpathmkdirrrYrrr)rxquietZdir_createdrVrVrWtemp_dirs"



	r"ccsytj}ytj|Wn5tk
rT|s6tjd|tddYnXztjVWdtj|XdS)Nz)tests may fail, unable to change CWD to: rr)rwgetcwdchdirrrYrr)rxr!Z	saved_dirrVrVrW
change_cwds


r%ZtempcwdccsDtd|d|(}t|d|}|VWdQRXWdQRXdS)Nrxr!)r"r%)rhr!Z	temp_pathZcwd_dirrVrVrWrsumaskccs-tj|}z	dVWdtj|XdS)N)rwr&)r&ZoldmaskrVrVrWrAs	datacCstjj|r|S|dk	r7tjj||}tgtj}x9|D]1}tjj||}tjj|rN|SqNW|S)N)rwrxisabsr
TEST_HOME_DIRraexists)rZsubdirrxZdnfnrVrVrWrs
cCs4tj|tjtjBtjB}tj|dS)N)rwopenO_WRONLYO_CREATO_TRUNCr)rfdrVrVrWrs#cCs<t|j}dd|D}dj|}d|S)NcSsg|]}d|qS)z%r: %rrV).0ZpairrVrVrW
<listcomp>s	zsortdict.<locals>.<listcomp>z, z{%s})sortedr}r)dictr}Z	reprpairsZ
withcommasrVrVrWrQscCs9ttd}z|jSWd|jttXdS)Nwb)r,rfilenorr)rrVrVrWmake_bad_fd	s

r7linenooffsetcCs|jt}t|ddWdQRX|j}|j|j|dk	ra|j|j||j|j|dk	r|j|j|dS)Nz
<test string>exec)assertRaisesSyntaxErrorcompile	exceptionZassertIsNotNoner8assertEqualr9)testcaseZ	statementr8r9cmrrVrVrWr"s	csddl}ddl}jdd|jj|djdd}tjjt	|}fdd}tjj
|r||}|dk	r|St|tdt
rtd	|d
t|jj}tr|jjd|j|d
d}trC|jjddkrCtjd|}zOt|d9}	|j}
x#|
r|	j|
|j}
qgWWdQRXWd|jX||}|dk	r|Std|dS)Nrcheckr/rcsMt|}dkr"|S|r?|jd|S|jdS)Nr)r,seekr)r+rt)rrBrrVrWcheck_valid_file)s
z*open_urlresource.<locals>.check_valid_fileZurlfetchz	fetching %s ...rAccept-EncodinggziprzContent-Encodingfileobjr5zinvalid resource %r)rFrG)Zurllib.requestZurllib.parsepopparseurlparserrwrxr
TEST_DATA_DIRr*rrrrrZrequestZbuild_openerrGZ
addheadersr|r,ZheadersgetZGzipFilereadwriterr)Zurlrrurllibrr+rErtZopeneroutsrV)rrBrrWr@ s<#	

	
c@sFeZdZddZddZeddZddZd	S)
WarningsRecordercCs||_d|_dS)Nr)	_warnings_last)selfZ
warnings_listrVrVrW__init__Vs	zWarningsRecorder.__init__cCs\t|j|jkr,t|jd|S|tjjkrBdStd||fdS)Nrz%r has no attribute %rrJ)rrVrWrrYWarningMessage_WARNING_DETAILSr)rXattrrVrVrW__getattr__Zs
zWarningsRecorder.__getattr__cCs|j|jdS)N)rVrW)rXrVrVrWrYaszWarningsRecorder.warningscCst|j|_dS)N)rrVrW)rXrVrVrWreseteszWarningsRecorder.resetN)rSrTrUrYr]propertyrYr^rVrVrVrWrURsrUc
cs^tjd}|jjd}|r1|jtjdd&}tjdjdt	|VWdQRXt
|}g}x|D]\}}d}	xd|ddD]R}|j}
tj
|t|
tjrt|
j|rd}	|j|qW|	r|r|j||jfqW|r@td|d	|rZtd
|d	dS)NrZ__warningregistry__recordTrYalwaysFzunhandled warning %srz)filter (%r, %s) did not catch any warning)ra	_getframe	f_globalsrOclearrYrZrlsimplefilterrUrnmessagerematchrgI
issubclassrremover|rSAssertionError)filtersr!frameregistrywZreraisemissingrjcatseenwarningrVrVrW_filterwarningsis0
	rucOsC|jd}|s6dtff}|dkr6d}t||S)Nr!rT)rOWarningru)rmrr!rVrVrWrHsccsOtjdd&}tjddtdVtWdQRX|j|gdS)Nr`Tracategory)rYrZr[ResourceWarning
gc_collectr?)r@ZwarnsrVrVrWrIs
c@s4eZdZddZddZddZdS)rcGsitjj|_xP|D]H}|tjkrtj|}|j|krWtj|j=tj|=qWdS)N)rarlcopyoriginal_modulesrS)rXmodule_namesmodule_namer~rVrVrWrYs


zCleanImport.__init__cCs|S)NrV)rXrVrVrW	__enter__szCleanImport.__enter__cGstjj|jdS)N)rarlrr{)rX
ignore_excrVrVrW__exit__szCleanImport.__exit__N)rSrTrUrYr~rrVrVrVrWrs
c@seZdZddZddZddZddZd	d
ZddZd
dZ	ddZ
ddZddZddZ
dS)rJcCstj|_i|_dS)N)rwr_environ_changed)rXrVrVrWrYszEnvironmentVarGuard.__init__cCs|j|S)N)r)rXenvvarrVrVrW__getitem__szEnvironmentVarGuard.__getitem__cCs9||jkr(|jj||j|<||j|<dS)N)rrrO)rXrvaluerVrVrW__setitem__szEnvironmentVarGuard.__setitem__cCsE||jkr(|jj||j|<||jkrA|j|=dS)N)rrrO)rXrrVrVrW__delitem__szEnvironmentVarGuard.__delitem__cCs
|jjS)N)rkeys)rXrVrVrWrszEnvironmentVarGuard.keyscCs
t|jS)N)iterr)rXrVrVrW__iter__szEnvironmentVarGuard.__iter__cCs
t|jS)N)rr)rXrVrVrW__len__szEnvironmentVarGuard.__len__cCs|||<dS)NrV)rXrrrVrVrWsetszEnvironmentVarGuard.setcCs||=dS)NrV)rXrrVrVrWunsetszEnvironmentVarGuard.unsetcCs|S)NrV)rXrVrVrWr~szEnvironmentVarGuard.__enter__cGsexR|jjD]A\}}|dkrD||jkrQ|j|=q||j|<qW|jt_dS)N)rr}rrwr)rXrkvrVrVrWrs
zEnvironmentVarGuard.__exit__N)rSrTrUrYrrrrrrrrr~rrVrVrVrWrJsc@s4eZdZddZddZddZdS)
DirsOnSysPathcGs6tjdd|_tj|_tjj|dS)N)rarxoriginal_valueoriginal_objectextend)rXpathsrVrVrWrYszDirsOnSysPath.__init__cCs|S)NrV)rXrVrVrWr~#szDirsOnSysPath.__enter__cGs&|jt_|jtjdd<dS)N)rrarxr)rXrrVrVrWr&szDirsOnSysPath.__exit__N)rSrTrUrYr~rrVrVrVrWrsrc@s=eZdZddZddZdddddZdS)r#cKs||_||_dS)N)rattrs)rXrrrVrVrWrY0s	zTransientResource.__init__cCs|S)NrV)rXrVrVrWr~4szTransientResource.__enter__NcCst|dk	rpt|j|rpxO|jjD]2\}}t||sJPt|||kr.Pq.WtddS)Nz%an optional resource is not available)rjrrr}rrr	)rXZtype_r	tracebackr\Z
attr_valuerVrVrWr7szTransientResource.__exit__)rSrTrUrYr~rrVrVrVrWr#+serrnorg>@errnosc	#sddd d!d"g}d$d&d(d*d+g}td||gsrdd|Ddd|Dfdd}tj}z!y"|dk	rtj|dVWntjk
r}z/trtjj	j
dd|WYdd}~Xntk
r}zxr|j
}t|dkr_t
|dtr_|d}q$t|dkrt
|dtr|d}q$Pq$W||WYdd}~XnXWdtj|XdS),NECONNREFUSEDo
ECONNRESEThEHOSTUNREACHqENETUNREACHe	ETIMEDOUTn	EAI_AGAINrEAI_FAILr
EAI_NONAMEr
EAI_NODATA
WSANO_DATA*zResource %r is not availablecSs(g|]\}}tt||qSrV)rr)r1rhnumrVrVrWr2ds	z&transient_internet.<locals>.<listcomp>cSs(g|]\}}tt||qSrV)rr)r1rhrrVrVrWr2fs	cst|dd}t|tjst|tjrB|kst|tjjrvd|jkoqdknst|tjj	rd|j
ksd|j
ksd|j
ks|krtstj
jjdd|dS)	NriiWConnectionRefusedErrorTimeoutErrorEOFErrorr
)r
isinstancerrgaierrorrRerror	HTTPErrorcodeURLErrorrrrastderrrQr)rn)captured_errnosdenied
gai_errnosrVrWfilter_errorisz(transient_internet.<locals>.filter_errorrrr)rr)rr)rr)rr)rr)rr)rr)rr)rr)rr)r	rgetdefaulttimeoutsetdefaulttimeoutnntplibZNNTPTemporaryErrorrrarrQrrrr)	Z
resource_namerrZdefault_errnosZdefault_gai_errnosrZold_timeoutrarV)rrrrWr'LsN			
	

		%
%

c
cs[ddl}tt|}tt||jztt|VWdtt||XdS)Nr)iorrasetattrStringIO)Zstream_namerZorig_stdoutrVrVrWcaptured_outputsrcCs
tdS)Nr)rrVrVrVrWrscCs
tdS)Nr)rrVrVrVrWrscCs
tdS)Nstdin)rrVrVrVrWrs
cCs5tjtrtjdtjtjdS)Ng?)gcZcollectr:rrrVrVrVrWrys




ryc
cs7tj}tjz	dVWd|r2tjXdS)N)r	isenableddisableenable)Zhave_gcrVrVrW
disable_gcs
	rcCsQtjdpd}d}x)|jD]}|jdr(|}q(W|dkS)N	PY_CFLAGSrz-O-O0-Og)rrr)	sysconfigget_config_varrrc)ZcflagsZ	final_optrrVrVrWpython_is_optimizeds
rZnPZ0ngettotalrefcountZ2PZ0PrcCstjt|tS)N)structcalcsize_header_align)fmtrVrVrWcalcobjsizesrcCstjt|tS)N)rr_vheaderr)rrVrVrWcalcvobjsizesr	cCsddl}tj|}t|tkr:|jt@s_t|tkrlt|jt@rl||j7}dt|||f}|j|||dS)Nrz&wrong size for %s: got %d, expected %d)		_testcapira	getsizeofr	__flags___TPFLAGS_HEAPTYPE_TPFLAGS_HAVE_GCZSIZEOF_PYGC_HEADr?)testosizerrrjrVrVrWcheck_sizeofs%
rcsfdd}|S)Ncs4fdd}j|_j|_|S)Ncsy.ddl}t|}|j|}Wn&tk
rEYnCd}}Yn2Xx.D]&}y|j||PWq^Yq^Xq^Wz||SWd|r|r|j||XdS)Nr)localer	setlocaler)rkwdsrrwZorig_localeloc)catstrrlocalesrVrWinner	s$

	z1run_with_locale.<locals>.decorator.<locals>.inner)rS__doc__)rr)rr)rrWrsz"run_with_locale.<locals>.decoratorrV)rrrrV)rrrWrKscsfdd}|S)Ncs1fdd}j|_j|_|S)Ncsy
tj}Wn!tk
r0tjdYnXdtjkrPtjd}nd}tjd<|z||SWd|dkrtjd=n
|tjd<tjXdS)Nztzset requiredZTZ)rtzsetrrerfrwr)rrrZorig_tz)rtzrVrWr-s




z-run_with_tz.<locals>.decorator.<locals>.inner)rSr)rr)r)rrWr,szrun_with_tz.<locals>.decoratorrV)rrrV)rrWrR+sc	Csdddtdtddti}tjd|tjtjB}|dkr`td|ftt|j	d||j	d	j
}|a|tkrt}|t
dkrtd
|f|adS)Nrimgtz(\d+(\.\d+)?) (K|M|G|T)b?$zInvalid memory limit %rrrz$Memory limit %r too low to be useful)_1M_1Grgrh
IGNORECASEVERBOSErrfloatgrouplowerreal_max_memuseMAX_Py_ssize_t_2Gr)limitZsizesrmemlimitrVrVrWrOUs2c@s4eZdZddZddZddZdS)_MemoryWatchdogcCs(djdtj|_d|_dS)Nz/proc/{pid}/statmpidF)rrwgetpidprocfilestarted)rXrVrVrWrYosz_MemoryWatchdog.__init__cCsyt|jd}WnOtk
rg}z/tjdj|ttjj	dSWYdd}~XnXt
d}tjtj
|gd|dtj|_|jd|_dS)Nrz!/proc not available for stats: {}zmemory_watchdog.pyrrT)r,rrrYrrrrarflushr
subprocessPopen
executableDEVNULLmem_watchdogrr)rXrtrZwatchdog_scriptrVrVrWstartss

z_MemoryWatchdog.startcCs'|jr#|jj|jjdS)N)rr	terminatewait)rXrVrVrWstops	
z_MemoryWatchdog.stopN)rSrTrUrYrrrVrVrVrWrjsrcsfdd}|S)Ncs.fdd__S)Nc
sj}j}ts!d}n|}ts4r_t||kr_tjd||dtrtrttdjd||dt}|j	nd}z||SWd|r|j
XdS)	Niz'not enough memory: %.1fG minimum neededirz* ... expected peak memory use: {peak:.1f}GZpeaki@i@)rmemuserrerfrrrrrr)rXrrmaxsizeZwatchdog)dry_runrtrrVrWrs*			
	
z.bigmemtest.<locals>.decorator.<locals>.wrapper)rr)rt)rrr)rtrrWrs		zbigmemtest.<locals>.decoratorrV)rrrrrV)rrrrWr/s
!csfdd}|S)Ncs^ttkrPtd
kr6tdkr6tjdqZtjdtdn
|SdS)
Nr?rz-not enough memory: try a 32-bit build insteadz'not enough memory: %.1fG minimum neededirllli@)rrrerf)rX)rtrVrWrsz!bigaddrspacetest.<locals>.wrapperrV)rtrrV)rtrWr0sc@seZdZddZdS)r(cCstj}|||S)N)reZ
TestResult)rXrrrVrVrWruns
zBasicTestRunner.runN)rSrTrUrrVrVrVrWr(scCs|S)NrV)rrVrVrW_idsrcCsP|dkr&tr&tjtjSt|r6tStjdj|SdS)Nrzresource {0!r} is not enabled)rreskiprrrr)rrVrVrWrequires_resources
rcCstdd|S)NcpythonT)impl_detail)rrVrVrWr1scKszt|rtS|dkrmt|\}}|r=d}nd}t|j}|jdj|}tj|S)Nz*implementation detail not available on {0}z%implementation detail specific to {0}z or )	r;r
_parse_guardsr3rrrrer)rjguardsZ
guardnamesdefaultrVrVrWrs	rcCsjtdkrGddl}y|jdaWntk
rFdaYnXd}trW|Stj||S)NrTFz6requires a functioning shared semaphore implementation)_have_mp_queuemultiprocessingQueuer`rer)rrrjrVrVrWr9s


cCs7|sddidfSt|jd}||fS)NrTFr)rnvalues)rZis_truerVrVrWrsrcKs.t|\}}|jtjj|S)N)rrOrbZpython_implementationr)rrrVrVrWr;scs<ttdsStjfdd}|SdS)Ngettracecs?tj}ztjd||SWdtj|XdS)N)rar"settrace)rrZoriginal_trace)rrVrWrs

zno_tracing.<locals>.wrapper)rrarr)rrrV)rrW
no_tracings!r$cCstt|S)N)r$r1)rrVrVrW
refcount_test#sr%cCsog}xY|jD]N}t|tjrEt|||j|q||r|j|qW||_dS)N)Z_testsrre	TestSuite
_filter_suiter|)suiteZpredZnewtestsrrVrVrWr'.s
r'cCstr'tjtjdddt}n	t}|j|}|jst	|j
dkr~|jr~|j
dd}nIt	|jdkr|j
r|jdd}nd}ts|d7}t|dS)N	verbosityrrrrzmultiple errors occurredz!; run in verbose mode for details)
rreZTextTestRunnerrarrr(rZ
wasSuccessfulrerrorsZfailuresr)r(ZrunnerrrrVrVrW
_run_suite:s	
r+cCswtdkrdS|j}xTtD]L}tj||r?dSx-|jdD]}tj||rOdSqOWq#WdS)NTrkF)match_testsidfnmatchfnmatchcaser)rZtest_idZ
match_testrhrVrVrW_match_testNs
r0cGstjtjf}tj}x|D]}t|trx|tjkri|jtjtj|qt	dq%t||r|j|q%|jtj
|q%Wt|tt
|dS)Nz)str arguments must be keys in sys.modules)rer&ZTestCaserrgrarlZaddTestZ
findTestCasesrZ	makeSuiter'r0r+)classesZvalid_typesr(clsrVrVrWr)_s
 
cCsdS)NrVrVrVrVrW_check_docstringsvsr3win32WITH_DOC_STRINGSztest requires docstringscCsddl}|dkr!t}nd}|j|d|d|\}}|rdtd||ftrtd|j|f||fS)Nrroptionflagsz%d of %d doctests failedz,doctest (%s) ... %d tests with zero failures)doctestrtestmodrrrS)r~r)r6r7rtrrVrVrWr*s	!cCstjjfS)N)rarlrzrVrVrVrW
modules_setupsr9cCsMddtjjD}tjjtjj|tjj|dS)NcSs1g|]'\}}|jdr||fqS)z
encodings.)rc)r1rrrVrVrWr2s		z#modules_cleanup.<locals>.<listcomp>)rarlr}rdr)Z
oldmodules	encodingsrVrVrWmodules_cleanups
r;cCs-trtjtjjfSdffSdS)Nr)_thread_count	threading	_danglingrzrVrVrVrWrDscGsats
dSd}xJt|D]<}tjtjf}||krEPtjdtqWdS)Ndg{Gz?)r<ranger=r>r?rrry)Zoriginal_valuesZ
_MAX_COUNTcountr!rVrVrWrEs
cs/ts
Stjfdd}|S)Ncs)t}z|SWdt|XdS)N)rDrE)rkey)rrVrWrs	zreap_threads.<locals>.decorator)r<rr)rrrV)rrWrFs!c	CsXttdrTd}x<y,tj|tj\}}|dkrCPWqPYqXqWdS)NwaitpidrrrJ)rrwrDWNOHANG)Zany_processrstatusrVrVrWrBs	ccsvt|}g}ziy,x%|D]}|j|j|qWWn1trmtdt|t|fYnXdVWdz|r|tj}}xtddD]{}|d7}x.|D]&}|jt	|tjdqWdd|D}|s	Ptrtdt||fqWWdd	d|D}|rpt
jtj
td
t|XXdS)Nz/Can't start %d threads, only %d threads startedrr<g{Gz?cSs"g|]}|jr|qSrV)isAlive)r1rrVrVrWr2s	z!start_threads.<locals>.<listcomp>z7Unable to join %d threads during a period of %d minutescSs"g|]}|jr|qSrV)rH)r1rrVrVrWr2s	zUnable to join %d threads)rnrr|rrrrrArmaxfaulthandlerZdump_tracebackrarrl)threadsZunlockrrendtimeZ	starttimerrVrVrWrGs>

	

$c
cst||rNt||}t|||z	|VWdt|||Xn9t|||z	dVWdt||rt||XdS)N)rrrdelattr)rr\new_valreal_valrVrVrWrMs		ccsh||kr:||}|||<z	|VWd|||<Xn*|||<z	dVWd||krc||=XdS)NrV)ritemrNrOrVrVrWrL:s

	
	cCstjdd|j}|S)Ns\[\d+ refs, \d+ blocks\]\r?\n?)rgsubstrip)rrVrVrWstrip_python_stderrYsrTZ	getcountsz-types are immortal if COUNT_ALLOCS is definedcCs
tjS)N)r_args_from_interpreter_flagsrVrVrVrWargs_from_interpreter_flagsfsrVc@s@eZdZddZddZddZddZd	S)
rCcCs#tjjj|d||_dS)Nr)logginghandlersBufferingHandlerrYmatcher)rXrZrVrVrWrYpszTestHandler.__init__cCsdS)NFrV)rXrVrVrWshouldFlushyszTestHandler.shouldFlushcCs$|j||jj|jdS)N)rbufferr|__dict__)rXr`rVrVrWemit|s
zTestHandler.emitcKs:d}x-|jD]"}|jj||rd}PqW|S)NFT)r\rZmatches)rXrrdrVrVrWr_szTestHandler.matchesN)rSrTrUrYr[r^r_rVrVrVrWrCos	c@s.eZdZdZddZddZdS)	rNrjrfcKsPd}xC|D];}||}|j|}|j|||s
d}Pq
W|S)NTF)rOmatch_value)rXr`rrrrdvrVrVrWr_s

zMatcher.matchescCsjt|t|kr!d}nEt|tk	sB||jkrQ||k}n|j|dk}|S)NFr)rrg_partial_matchesfind)rXrrbrrrVrVrWras	!zMatcher.match_valueN)rjrf)rSrTrUrcr_rarVrVrVrWrNsc
Csotdk	rtStd}ytjt|d}Wn!tttfk
rWd}YnXtj||a|S)NrTF)_can_symlinkrrwsymlinkrNotImplementedErrorrrk)Zsymlink_pathcanrVrVrWrs


cCs,t}d}|r|Stj||S)Nz*Requires functional symlink implementation)rrer)rokrjrVrVrWr+s	cCs	tdk	rtSttds(d}ntj\}}zttd}yutj|ddtj|jddt	j
}tjd|}|dkpt
|jddk}Wntk
rd}YnXWdQRXWdttt|X|a|S)	NsetxattrFr5s	user.testrQz
2.6.(\d{1,2})r')
_can_xattrrrwrmkstempr,rrjr6rbrrgrhrrrr)rhZtmp_fpZtmp_namefpZkernel_versionrrVrVrW	can_xattrs&	+

rocCs,t}d}|r|Stj||S)Nz(no non-broken extended attribute support)rorer)rrirjrVrVrWr4s	cCs}tjd|d}|j}|j}||krB|j}ytjj||SWntk
rqdSYnXWdQRXdS)NdirF)	rNamedTemporaryFilerhupperrrwrxsamefiler)Z	directorybase	base_pathZ	case_pathrVrVrWrs	
rXcCsUtt|tt|}|r8|t|8}tdd|D}|S)Ncss4|]*}|jds(|jdr|VqdS)___N)rcendswith)r1rrVrVrW	<genexpr>sz&detect_api_mismatch.<locals>.<genexpr>)rrp)Zref_apiZ	other_apirXZ
missing_itemsrVrVrWr8s
"c@s4eZdZdZdZddZddZdS)rPNc
Cstjjdrddl}|jj|_d}|jj||_|jj|j|Byddl	}|j
Wnttfk
rYqXi|_
xH|j|j|jgD]C}|j
||j}|j||j}||f|j
|<qWntdk	r]y9tjtj|_tjtjd|jdfWnttfk
r\YnXtjdkrdddd	g}tj|d
tjdtj}||jd}	WdQRX|	jdkrtd
dddd|S)Nrrrrrz/usr/bin/defaultsrPzcom.apple.CrashReporterZ
DialogTyperrs	developerz:this test triggers the Crash Reporter, that is intentionalendrrT) rarbrcrrZkernel32_k32SetErrorMode	old_valuemsvcrtCrtSetReportModerr`	old_modesZCRT_WARNZ	CRT_ERRORZ
CRT_ASSERTZCRTDBG_MODE_FILECrtSetReportFileZCRTDBG_FILE_STDERRrZ	getrlimitRLIMIT_CORE	setrlimitrrrrPIPEcommunicaterSr)
rXrZSEM_NOGPFAULTERRORBOXr~report_typeold_modeold_filecmdprocrrVrVrWr~	sN						
zSuppressCrashReport.__enter__cGs|jdkrdStjjdr|jj|j|jrddl}x|jjD]2\}\}}|j	|||j
||q]WnAtdk	rytjtj
|jWnttfk
rYnXdS)Nrr)r}rarbrcr{r|rr~r}rrrrrrr)rXrr~rrrrVrVrWrL	s	"zSuppressCrashReport.__exit__)rSrTrUr}rr~rrVrVrVrWrP	sAcstdyjWn*ttfk
rPtdYnXdfdd}|j|t|dS)NFTcs*rtn
tdS)N)rrMrV)
attr_is_local	attr_nameobject_to_patchr}rVrWcleanupw	szpatch.<locals>.cleanup)rr]rrrZ
addCleanupr)Z
test_instancerrZ	new_valuerrV)rrrr}rWpatcha	s


rcCsYyddl}Wntk
r$YnX|jr@tjdddl}|j|S)NrzUrun_in_subinterp() cannot be used if tracemalloc module is tracing memory allocations)tracemallocr`Z
is_tracingrerfrrun_in_subinterp)rrrrVrVrWr	s
rcsbGfddd|}d||||jttt|jdS)Ncs%eZdZfddZdS)z%check_free_after_iterating.<locals>.Acs-dytWntk
r(YnXdS)NT)next
StopIteration)rX)doneitrVrW__del__	s

z-check_free_after_iterating.<locals>.A.__del__N)rSrTrUrrV)rrrVrWA	srF)r;rrryZ
assertTrue)rrr2rrrV)rrrWcheck_free_after_iterating	s	rii@i@i@ii)r	r
rrr
rrrrrr)rr)rrrrri@ii)rSr`collections.abccollections
contextlibrrJr.rrr_importlib.utilZlogging.handlersrWrrwrbrgrrrrrrarrrreZurllib.errorrRrYr<r>Zmultiprocessing.processrzlibrGbz2lzmar__all__rrrrfr	contextmanagerr]r
rqrsr6r7rr2rrrrrr,rrrr
rrcrrrrrrrrrrrrrrr r!r<rrrr>r?rr=rrZ
SOCK_MAX_SIZEZ
skipUnlessr
__getformat__r3r5r,r-r.r:rhrrrZFS_NONASCII	characterfsdecodefsencodeUnicodeErrorZTESTFN_UNICODEZunicodedata	normalizegetfilesystemencodingZTESTFN_ENCODINGZTESTFN_UNENCODABLEZgetwindowsversionencodeUnicodeEncodeErrorrdecodeUnicodeDecodeErrorZTESTFN_UNDECODABLEZTESTFN_NONASCIIr#rr"r%rrrArxryrrzZTEST_SUPPORT_DIRr)rrNrrrQr7r"r@objectrUrurHrIrabcMutableMappingrJrr#rrr$rr%r&r'rrrrryrrrrrrrrrrrKrRrrrZ_4GrrrOrr/r0r(rrr1rrr9rr;r$r%r'r+r0r)r3rZMISSING_C_DOCSTRINGSrZHAVE_DOCSTRINGSZrequires_docstringsr*r9r;rDrErFrBrGrMrLrTZskipIfZrequires_type_collectingrVrXrYrCrNrerr+rlror4rr8rPrrrrVrVrVrW<module>st






										
2	
!		
J			>&			




	



!2' 5	J		



$#


	0

			#
		"
_"
Back to Directory File Manager