%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /opt/plesk/python/2.7/lib64/python2.7/bsddb/test/
Upload File :
Create Path :
Current File : //opt/plesk/python/2.7/lib64/python2.7/bsddb/test/test_replication.pyo

�
5}�ac@s�dZddlZddlZddlZddlmZmZmZmZm	Z	m
Z
dejfd��YZdefd��YZ
defd	��YZd
�Zedkr�ejdd
�ndS(s(TestCases for distributed transactions.
i����N(tdbttest_supportthave_threadstverbosetget_new_environment_pathtget_new_database_patht
DBReplicationcBseZd�Zd�ZRS(cs2t��_t��_tj��_tj��_�jj�jtjtj	Btj
BtjBtjBtj
BtjBtjBd��jj�jtjtj	Btj
BtjBtjBtj
BtjBtjBd�t�_�_�fd�}�fd�}�jj|��jj|�d�_�_dS(Ni�cs|tjkrt�_ndS(N(RtDB_EVENT_REP_MASTERtTruetconfirmed_master(tatbtc(tself(sD/opt/plesk/python/2.7/lib64/python2.7/bsddb/test/test_replication.pyR	!scs|tjkrt�_ndS(N(RtDB_EVENT_REP_STARTUPDONERtclient_startupdone(R
RR(R
(sD/opt/plesk/python/2.7/lib64/python2.7/bsddb/test/test_replication.pyR%s(Rt
homeDirMastert
homeDirClientRtDBEnvtdbenvMastertdbenvClienttopent	DB_CREATEtDB_INIT_TXNtDB_INIT_LOGt
DB_INIT_MPOOLtDB_INIT_LOCKtDB_INIT_REPt
DB_RECOVERt	DB_THREADtFalseR	Rtset_event_notifytNonetdbMastertdbClient(R
R	R((R
sD/opt/plesk/python/2.7/lib64/python2.7/bsddb/test/test_replication.pytsetUps>>cCs�|jr|jj�n|jr2|jj�nd�}|jj|�|jj|�|jj�|jj�tj|j�tj|j	�dS(NcWsdS(N((targs((sD/opt/plesk/python/2.7/lib64/python2.7/bsddb/test/test_replication.pytdummy=s(
R"tcloseR!RRRRtrmtreeRR(R
R%((sD/opt/plesk/python/2.7/lib64/python2.7/bsddb/test/test_replication.pyttearDown4s			

(t__name__t
__module__R#R((((sD/opt/plesk/python/2.7/lib64/python2.7/bsddb/test/test_replication.pyRs	%tDBReplicationManagercBseZd�ZRS(c	Cstj�}tj�}tj�dkr#|jjd|�|_|jjtjt	�|jjtj
t	�|jjd|�|_|jjd|�|_
|j
jtjt	�|jjd|�|_|jjtj
t	�ittt	tgtj6t	tttgtj6ttttgtj6t	ttt	gtj
6ttttgtj6}x�|j�D]y\}}xjt|j|j|j
|jg|�D]A\}}|r�|j|j|��q�|j|j|��q�WqcW|j|jj�|jj��|j|j
j�|jj��xct|j|j|j
|jg||||g�D].\}}|j�}|j|d|f�qXWxH|j|jgD]4}|j|j�|jj|j��j��q�Wx�|j
|jgD]4}|j|j�|jj|j��j��q�Wnl|jjd|�|jjd|�|jjd|�|jjd|�|jjd�|jjd�|jj d�|jj d�|jj!tj"d�|jj!tj"d�|j|jj#tj"�d�|j|jj#tj"�d�|jj!tj$d�|jj!tj$d	�|j|jj#tj$�d�|j|jj#tj$�d	�|jj!tj%d
�|jj!tj%d�|j|jj#tj%�d
�|j|jj#tj%�d�|jj&tj'�|jj&tj'�|jj(dtj)�|jj(dtj*�|j|jj+�d�|j|jj+�d�|j|jj,�d�|j|jj,�d�|j|jj-�tj'�|j|jj-�tj'�d
dl.}	|	j.�d}
x6|	j.�|
kr/|j/o|j0r/|	j1d�q�W|	j.�|
krdd
dl2}|j3dIJt	}n|jj4�}|jt5|�d�|j6�d}|j|dd�|j|d|�|j7|dtj8tj9f�|jj4�}|jt5|�d�|j6�d}|j|dd�|j|d|�|j7|dtj8tj9f�tj�dkr�|jj:dtj;�}|j7d|�ntj<|j�|_=|jj>�}
|j=j?dtj@tjAdd|
�|
jB�d
dl.}	d
dlC}|	j.�d}
xH|	j.�|
kr`|jDjE|jDjF|jGd��r`|	j1d�qWtj<|j�|_Hx�t	r	|jj>�}
y/|jHj?dtj@dtjIddd|
�WnCtjJk
r	|
jK�|jHjL�tj<|j�|_HqynX|
jB�PqyW|jj>�}
|j=jMddd|
�|
jB�d
dl.}	|	j.�d}
d}xo|	j.�|
kr�	|dkr�	|jj>�}
|jHjOdd|
�}|
jB�|dkri	|	j1d�qi	qi	W|	j.�|
kr
|r
|jPd�n|jQ|	j.�|
�|jd|�|jj>�}
|j=jRdd|
�|
jB�|	j.�d}
xo|	j.�|
kr�
|dk	r�
|jj>�}
|jHjOdd|
�}|
jB�|dkrh
|	j1d�qh
qh
W|jQ|	j.�|
�|jd|�dS(Niis	127.0.0.1i
ii�i�i��iP�i��i��ii����i<g{�G�z�?sBXXX: timeout happened beforestartup was confirmed - see issue 3892iitflagstmsgs_queuedttesti�ttxng{�G�z�?tmodetABCt123s>replication test skipped due to random failure, see issue 3892(ii(ii(SRtfind_unused_portRtversionRtrepmgr_sitetsitet
set_configtDB_GROUP_CREATORRt
DB_LOCAL_SITEtsite2Rtsite3tDB_BOOTSTRAP_HELPERtsite4Rt	DB_LEGACYtDB_REPMGR_PEERtitemstzipt
assertTruet
get_configtassertFalsetassertNotEqualtget_eidtget_addresstassertEqualtrepmgr_site_by_eidtrepmgr_set_local_sitetrepmgr_add_remote_sitetrep_set_nsitestrep_set_prioritytrep_set_timeouttDB_REP_CONNECTION_RETRYtrep_get_timeouttDB_REP_ELECTION_TIMEOUTtDB_REP_ELECTION_RETRYtrepmgr_set_ack_policytDB_REPMGR_ACKS_ALLtrepmgr_startt
DB_REP_MASTERt
DB_REP_CLIENTtrep_get_nsitestrep_get_prioritytrepmgr_get_ack_policyttimeR	Rtsleeptsyststderrtrepmgr_site_listtlentvaluestassertIntDB_REPMGR_CONNECTEDtDB_REPMGR_DISCONNECTEDtrepmgr_statt
DB_STAT_CLEARtDBR!t	txn_beginRtDB_HASHRtcommittos.pathtpathtexiststjoinRR"t	DB_RDONLYtDBRepHandleDeadErrortabortR&tputR tgettskipTestt
assertLesstdelete(R
tmaster_porttclient_porttdtitjtktvtaddrR[ttimeoutR]tstartup_timeoutR/tos((sD/opt/plesk/python/2.7/lib64/python2.7/bsddb/test/test_replication.pyttest01_basic_replicationHs$1""!#&

(
	  %
%	



!

!
(R)R*R�(((sD/opt/plesk/python/2.7/lib64/python2.7/bsddb/test/test_replication.pyR+GstDBBaseReplicationcBs�eZd�Zd�Zd�Zd�Zej�d
krHd�Znej�dkrfd�Z	nej�dkr�d	�Z
nRS(
cs�tj���fd�}�fd�}�jj|��jj|�ddl}|j��_|j��_�fd�}�fd�}�jjd|��jj	d��jjd|��jj	d	��j
�jj�d��j
�jj�d	��fd
�}�fd�}ddlm
}|d
|�}	|d
|�}
ddl}|jd	dkr�|	jt�|
jt�nt|	_t|
_|	�_|
�_d�_�_tg�_tg�_dS(Ncs.|tjks|tjkr*t�_ndS(N(RRtDB_EVENT_REP_ELECTEDRR	(R
RR(R
(sD/opt/plesk/python/2.7/lib64/python2.7/bsddb/test/test_replication.pyR	scs|tjkrt�_ndS(N(RRRR(R
RR(R
(sD/opt/plesk/python/2.7/lib64/python2.7/bsddb/test/test_replication.pyRsi����cs�jj||f�dS(N(tm2cRr(tdbenvtcontroltrectlsnptenvidR,(R
(sD/opt/plesk/python/2.7/lib64/python2.7/bsddb/test/test_replication.pyR�scs�jj||f�dS(N(tc2mRr(R�R�R�R�R�R,(R
(sD/opt/plesk/python/2.7/lib64/python2.7/bsddb/test/test_replication.pyR�si
i
iics"�j�j�jd�jt�S(Ni(t	thread_doRR�tmaster_doing_electionR((R
(sD/opt/plesk/python/2.7/lib64/python2.7/bsddb/test/test_replication.pyt
thread_master/scs"�j�j�jd�jt�S(Ni
(R�RR�tclient_doing_electionR((R
(sD/opt/plesk/python/2.7/lib64/python2.7/bsddb/test/test_replication.pyt
thread_client3s(tThreadttarget(RR#RRRtQueueR�R�trep_set_transportRMRHRYt	threadingR�R]tversion_infot	setDaemonRtdaemontt_mtt_cR R!R"RR�R�(R
R	RR�R�R�R�R�R�R�R�R]((R
sD/opt/plesk/python/2.7/lib64/python2.7/bsddb/test/test_replication.pyR#	s@

				cCs�|jr|jj�n|jr2|jj�n|jjd�|jjd�|jj�|j	j�d�}|j
j|�|jj|�|j
j
d|�|jj
d|�|jj�|j
j�tj|j�tj|j�dS(NcWsdS(N((R$((sD/opt/plesk/python/2.7/lib64/python2.7/bsddb/test/test_replication.pyR%Xsi
i(R"R&R!R�RrR R�R�RnR�RRRR�RR'RR(R
R%((sD/opt/plesk/python/2.7/lib64/python2.7/bsddb/test/test_replication.pyR(Ks"		

	

cCs\|jjdtj�|jjdtj�d�}||_|jj�|j	j�dS(NR,cSsHxAtrC|j�}|dkr%dS|j|d|d|�qWdS(Nii(RRsR trep_process_message(tenvtqR�telection_statustmust_be_masterR}((sD/opt/plesk/python/2.7/lib64/python2.7/bsddb/test/test_replication.pyR�hs
	(
Rt	rep_startRRVRRWR�R�tstartR�(R
R�((sD/opt/plesk/python/2.7/lib64/python2.7/bsddb/test/test_replication.pytbasic_rep_threadingds		
c	Cs�|j�ddl}|j�d}x6|j�|kr^|joJ|jr^|jd�q)W|j|j�|�tj|j�|_	|jj
�}|j	jdtjtj
dd|�|j�ddl}ddl}|j�d}xH|j�|kr:|jj|jj|jd��r:|jd�q�Wtj|j�|_x�tr�|jj
�}y/|jjdtjd	tjd
dd|�WnCtjk
r�|j�|jj�tj|j�|_qSnX|j�PqSW|jjd	tj�}|jd|�|jj
�}|j	jdd
d|�|j�ddl}|j�d}d}xo|j�|kr�|dkr�|jj
�}|jj dd|�}|j�|dkrk|jd�qkqkW|j|j�|�|j!d
|�|jj
�}|j	j"dd|�|j�|j�d}xo|j�|kr�|dk	r�|jj
�}|jj dd|�}|j�|dkrB|jd�qBqBW|j|j�|�|j!d|�dS(Ni����i<g{�G�z�?R.i�R/i
g{�G�z�?R,R0tmaster_changesR1R2(#R�R[R	RR\RuRRgRR!RhRRiRRjRkRlRmRnRRR"RRoRpRqR&trep_statRfRbRrR RsRHRv(R
R[RR/R�RyR}((sD/opt/plesk/python/2.7/lib64/python2.7/bsddb/test/test_replication.pyR�ssr

%
%	



!

!
iicCse|j�|jj�\}}|jj|d|d�|j|jj�|d|df�dS(Ni(R�Rtrep_get_requesttrep_set_requestRH(R
tminimumtmaximum((sD/opt/plesk/python/2.7/lib64/python2.7/bsddb/test/test_replication.pyttest02_test_request�s

ics�jjdtj��jjdtj��fd�}|�_�jj��jj��jj	tj
d��jj	tj
d�t�jd<xFtr�y%�jj
dd�t�jd<PWq�tjk
r�q�Xq�W�j�j�x�jj�ds	q�WdS(NR,cs#xtr|j�}|dkr%dS�j|d|d|�}|rp�jrp�jjdtj�t	}n|dtj
kr��fd�}�dr�jrddlm}t�d<|d|�}	ddl
}
|
jddkr|	jt�n	t|	_|	j�qqqWdS(	NiiR,csGx@trBy�jdd�t�d<PWqtjk
r>qXqWdS(Niii(Rt	rep_electRRtDBRepUnavailError((R�R�(sD/opt/plesk/python/2.7/lib64/python2.7/bsddb/test/test_replication.pytelect�s	
i����(R�R�i(RRsR R�R	RR�RRVRtDB_REP_HOLDELECTIONR�R�R]R�R�R�R�(R�R�R�R�R�R}trR�R�ttR](R
(R�R�sD/opt/plesk/python/2.7/lib64/python2.7/bsddb/test/test_replication.pyR��s&		
	iP�iiitstartup_complete(RR�RRWRR�R�R�R�RNRQRR�R�RR�RBR	R�(R
R�((R
sD/opt/plesk/python/2.7/lib64/python2.7/bsddb/test/test_replication.pyttest03_master_election�s&	


	
cCsLd\}}|jj||�|j||f|jj��|j�dS(Ni�i�(i�i�(Rtrep_set_clockskewRHtrep_get_clockskewR�(R
tfasttslow((sD/opt/plesk/python/2.7/lib64/python2.7/bsddb/test/test_replication.pyttest04_test_clockskew�s
(ii(ii(ii(R)R*R#R(R�R�RR4R�R�R�(((sD/opt/plesk/python/2.7/lib64/python2.7/bsddb/test/test_replication.pyR�s	B			F<cCs�tj�}tj�dkr�tj�}y|j�t}Wn
t}nX|j�~|rz|j	tj
t��ntr�|j	tj
t
��q�n|S(Nii(ii(tunittestt	TestSuiteRR4RRZRRR&taddTestt	makeSuiteR+RR�(tsuiteR�tReplicationManager_available((sD/opt/plesk/python/2.7/lib64/python2.7/bsddb/test/test_replication.pyt
test_suites



t__main__tdefaultTestR�(t__doc__R�R[R�ttest_allRRRRRRtTestCaseRR+R�R�R)tmain(((sD/opt/plesk/python/2.7/lib64/python2.7/bsddb/test/test_replication.pyt<module>s.9��	

Zerion Mini Shell 1.0