Your IP : 216.73.216.213


Current Path : /proc/self/root/opt/alt/python27/lib64/python2.7/site-packages/coverage/
Upload File :
Current File : //proc/self/root/opt/alt/python27/lib64/python2.7/site-packages/coverage/multiproc.pyc

�
�ÔWc@s�dZddlZddlZddlZddlZddlmZdZdZej	dkrpej
jZn	ej
ZejZdefd	��YZd
efd��YZede�d
��ZdS(s>Monkey-patching to add multiprocessing support for coverage.pyi����N(tcontracts_coverage$patchedt_COVERAGE_RCFILEiitProcessWithCoveragecBseZdZd�ZRS(s<A replacement for multiprocess.Process that starts coverage.cCsfddlm}tjt}|dtd|�}|j�zt|�SWd|j�|j	�XdS(s,Wrapper around _bootstrap to start coverage.i����(tCoveragetdata_suffixtconfig_fileN(
tcoverageRtostenvirontCOVERAGE_RCFILE_ENVtTruetstarttoriginal_bootstraptstoptsave(tselfRtrcfiletcov((sE/opt/alt/python27/lib64/python2.7/site-packages/coverage/multiproc.pyt
_bootstraps


(t__name__t
__module__t__doc__R(((sE/opt/alt/python27/lib64/python2.7/site-packages/coverage/multiproc.pyRstStowawaycBs)eZdZd�Zd�Zd�ZRS(sLAn object to pickle, so when it is unpickled, it can apply the monkey-patch.cCs
||_dS(N(R(RR((sE/opt/alt/python27/lib64/python2.7/site-packages/coverage/multiproc.pyt__init__.scCsi|jd6S(NR(R(R((sE/opt/alt/python27/lib64/python2.7/site-packages/coverage/multiproc.pyt__getstate__1scCst|d�dS(NR(tpatch_multiprocessing(Rtstate((sE/opt/alt/python27/lib64/python2.7/site-packages/coverage/multiproc.pyt__setstate__4s(RRRRRR(((sE/opt/alt/python27/lib64/python2.7/site-packages/coverage/multiproc.pyR,s		Rcs�ttt�rdStjdkr1tjt_n	tt_�t	j
t<yddlm}|j
�Wnttfk
r}nX��fd�}||_
tttt�dS(s�Monkey-patch the multiprocessing module.

    This enables coverage measurement of processes started by multiprocessing.
    This involves aggressive monkey-patching.

    `rcfile` is the path to the rcfile being used.

    Niii����(tspawncs �|�}t��|d<|S(s@Get the original preparation data, and also insert our stowaway.tstowaway(R(tnametd(toriginal_get_preparation_dataR(sE/opt/alt/python27/lib64/python2.7/site-packages/coverage/multiproc.pyt"get_preparation_data_with_stowaway[s(ii(thasattrtmultiprocessingtPATCHED_MARKERtsystversion_infoRRtOriginalProcesstProcessRRR	Rtget_preparation_datatImportErrortAttributeErrortsetattrR
(RRR!((R RsE/opt/alt/python27/lib64/python2.7/site-packages/coverage/multiproc.pyR8s	

	(ii(RR#tmultiprocessing.processRR%t
coverage.miscRR$R	R&tprocesstBaseProcessR'R(RRRtobjectRtstrR(((sE/opt/alt/python27/lib64/python2.7/site-packages/coverage/multiproc.pyt<module>s