-í ÿ?csádkZdkZdkZdkZdkZdkZdkZdkZdkZdk Z dk l Z dk lZdklZdklZdklZdklZdklZlZdklZlZd klZd kl Z d kl!Z!l"Z"l#Z#l$Z$d d Z%de i&i'fd„ƒYZ(de fd„ƒYZ)dfd„ƒYZ*defd„ƒYZ+de+fd„ƒYZ,de+fd„ƒYZ-de+fd„ƒYZ.de+fd„ƒYZ/dei0fd„ƒYZ1dS( N(s ClientStorage(sClientDisconnected(s Marshaller(sDisconnectedError(sforker(sDB(sget_transactions Transaction(s ReadOnlyErrors ConflictError(sStorageTestBase(sMinPO(s zodb_pickles zodb_unpickleshandle_all_serialsshandle_serialssisTestServerStubcs tZeiiiZd„ZRS(Ncs|i|ƒ|_|iSdS(N(sselfs'_TestServerStub__super_getInvalidationsstids _last_invals(sselfstid((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/ConnectionTests.pysgetInvalidations.s(s__name__s __module__sZEOs ServerStubs StorageServersgetInvalidationss'_TestServerStub__super_getInvalidations(((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/ConnectionTests.pysTestServerStub+ssTestClientStoragecs/tZeZeZd„Zd„Zd„ZRS(Ncs(tiƒ|_ti||ƒ|_dS(N(s threadingsEventsselfs end_verifys ClientStorages verify_cachesstubs verify_result(sselfsstub((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/ConnectionTests.pys verify_cache9scsti|ƒ|iiƒdS(N(s ClientStorages endVerifysselfs end_verifysset(sself((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/ConnectionTests.pys endVerify=s cs%zti||ƒSWdt|_XdS(N(s ClientStoragestestConnectionsselfsconnsTruestest_connection(sselfsconn((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/ConnectionTests.pystestConnectionAs( s__name__s __module__sFalsestest_connectionsTestServerStubsStorageServerStubClasss verify_caches endVerifystestConnection(((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/ConnectionTests.pysTestClientStorage3s   sDummyDBcstZd„ZRS(NcsdS(N((sselfsargsskwargs((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/ConnectionTests.pys invalidateHs(s__name__s __module__s invalidate(((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/ConnectionTests.pysDummyDBGssCommonSetupTearDownc sÚtZdZeiZeiZdZe Z e Z dZ e Zd„Zd„Zd„Zd„Zd„ZdZe dddde e e d „Zd „Zdddde d „Zdd „Zd e d„Zd d„ZRS(sCommon boilerplateics~|iƒtidtid|iƒƒtiƒ|_g|_ g|_ g|_ g|_ g|_ |iƒ|iƒdS(sÎTest setup for connection tests. This starts only one server; a test may start more servers by calling self._newAddr() and then self.startServer(index=i) for i in 1, 2, ... stestZEOs setUp() %sN(sselfs!_CommonSetupTearDown__super_setUpszLOGsLOGsINFOsidstempfilesmktempsfilesaddrs_pidss_serverss conf_pathsscachess_newAddrs startServer(sself((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/ConnectionTests.pyssetUpVs        c sãtidtid|iƒƒx|iD]}ti|ƒq*Wt |dt ƒt j oU|i i ƒt |i dƒo1tidtid|i iƒ|i iƒnnx/|iD]$}|t j oti|ƒnq¹Wt tdƒo(x!|iD]}ti|dƒqûWnx¹|iD]®}x¥ddfD]—}d ||f}d}tii|ƒoPd}xCtd ƒD]5}yti |ƒWnt!i"d ƒnXd}PqxWn|oti |ƒnq6Wq#W|i#ƒd S( sTry to cause the tests to haltstestZEOs tearDown() %ss_storagescleanupscleanup storage %sswaitpidiis c1-%s-%d.zecif0.5N($szLOGsLOGsINFOsselfsids conf_pathsspsossremovesgetattrsNones_storagescloseshasattrsDEBUGs__name__scleanups_serverss adminaddrsforkersshutdown_zeo_servers_pidsspidswaitpidscachesscsispathsneed_to_deletesexistssrangesdummysunlinkstimessleeps$_CommonSetupTearDown__super_tearDown( sselfsdummyscsneed_to_deletesis adminaddrspidspspath((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/ConnectionTests.pystearDownhsJ           cs|ii|iƒƒdS(N(sselfsaddrsappends_getAddr(sself((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/ConnectionTests.pys_newAddr‘scsdtidddƒfSdS(Ns localhosti¨ai0ui(srandoms randrange(sself((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/ConnectionTests.pys_getAddr”scs t‚dS(N(sNotImplementedError(sselfspathscreates read_only((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/ConnectionTests.pys getConfig˜sii@ c s¥|tjo(t|iiƒ}|iid7_n|ii|ƒt|i d|d|d|ddd|d|d |d |d |ƒ } | itƒtƒ| SdS( Nisclients cache_sizeswaitsmin_disconnect_pollf0.10000000000000001s read_onlysread_only_fallbacksusernamespasswordsrealm(scachesNonesstrsselfs __class__scache_idscachessappendsTestClientStoragesaddrs cache_sizeswaits read_onlysread_only_fallbacksusernamespasswordsrealmsstorages registerDBsDummyDB( sselfscaches cache_sizeswaits read_onlysread_only_fallbacksusernamespasswordsrealmsstorage((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/ConnectionTests.pysopenClientStorages    cs|ti|ƒ}|o d|_n|ioddf|_n|i o|i |_ n|i o|i |_ n|SdS(Nisi¤( sforkers ZEOConfigsaddrszconfsro_svrs read_onlysselfsmonitorsmonitor_addresssinvqsinvalidation_queue_sizestimeoutstransaction_timeout(sselfsaddrsro_svrszconf((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/ConnectionTests.pysgetServerConfig±s    c sã|i|} tidtid|||| fƒd|i|f} |i | ||ƒ}|i | |ƒ}|tjo |i}nti||| d|ƒ\} }} } |ii| ƒ|ii| ƒ|ii|ƒdS(NstestZEOs3startServer(create=%d, index=%d, read_only=%d) @ %ss%s.%di(sselfsaddrsindexszLOGsLOGsINFOscreates read_onlysfilespaths getConfigssconfsgetServerConfigsro_svrszconfskeepsNonesforkersstart_zeo_serverszeoports adminaddrspids conf_pathssappends_pidss_servers( sselfscreatesindexs read_onlysro_svrskeepssconfszconfs adminaddrspidspathszeoportsaddr((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/ConnectionTests.pys startServer½s   (csctidtid||i|fƒ|i|}|tj oti |ƒt|i|}y|iƒd}PWn t j ot i dƒnXq\W|i |ƒ|iiƒdS(Nstesti †sindexiii f0.5(sselfs_newAddrsopenClientStorages_storages_dostoresshutdownServers startServers did_a_storesrangesisClientDisconnectedstimessleepsassert_sclose(sselfsis did_a_store((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/ConnectionTests.pyscheckMultipleServersüs      cs9|iddƒ|_|it|iƒ|iiƒdS(Ns read_onlyi(sselfsopenClientStorages_storages assertRaisess ReadOnlyErrors_dostoresclose(sself((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/ConnectionTests.pyscheckReadOnlyClientscsh|iƒg|_|iddddddƒ|iddƒ|_|it|iƒ|ii ƒdS(Nscreateisindexsro_svris read_only( sselfsshutdownServers_serverss startServersopenClientStorages_storages assertRaisess ReadOnlyErrors_dostoresclose(sself((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/ConnectionTests.pyscheckReadOnlyServers   cs0|iddƒ|_|iƒ|iiƒdS(Nsread_only_fallbacki(sselfsopenClientStorages_storages_dostoresclose(sself((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/ConnectionTests.pyscheckReadOnlyFallbackWritable,s cs~|iƒg|_|iddddddƒ|iddƒ|_|i|iiƒƒ|it |i ƒ|ii ƒdS(Nscreateisindexsro_svrisread_only_fallback( sselfsshutdownServers_serverss startServersopenClientStorages_storagesassert_s isReadOnlys assertRaisess ReadOnlyErrors_dostoresclose(sself((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/ConnectionTests.pys#checkReadOnlyFallbackReadOnlyServer5s  cs~|iƒ|_|iƒ|iƒg|_|iƒ|it|iƒ|i ddƒ|i ƒ|iƒ|ii ƒdS(Nscreatei( sselfsopenClientStorages_storages_dostoresshutdownServers_serversspollDowns assertRaisessClientDisconnecteds startServerspollUpsclose(sself((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/ConnectionTests.pyscheckReconnectWritableHs      csR|iƒ|iddddƒ|_|it|iiddƒ|iiƒdS(Nstestièswaitisfredwashs(sselfsshutdownServersopenClientStorages_storages assertRaisessClientDisconnectedsloadsclose(sself((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/ConnectionTests.pyscheckDisconnectionError`s   cs|iƒ|_|iƒgi}tdƒD]}||iiƒƒq-~}t ƒ}|ii |ƒx<|D]4}tt|ƒƒ}|ii|t|d|ƒqoW|iƒ|it|ii|ƒ|ii|ƒ|iddƒ|iiƒ|iƒdS(Nisscreatei(sselfsopenClientStorages_storages_dostoresappends_[1]srangesisnew_oidsoidss Transactionstxns tpc_beginsoids zodb_picklesMinPOsdatasstoresNonesshutdownServers assertRaisessClientDisconnectedstpc_votes tpc_aborts startServers_wait(sselfstxnsisoidsoidss_[1]sdata((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/ConnectionTests.pyscheckDisconnectedAbortjs  "    csÏ|iddƒ|_|iiƒ}tdƒ}|i|d|ƒ}|ii ƒ|i ƒ|iddddƒ|_|ii |dƒ\}}|it|ƒtdƒƒ|i||ƒ|ii ƒdS(Nstesti †i sdataswaitis(sselfsopenClientStorages_storagesnew_oidsoidsMinPOsobjs_dostoresrevid1sclosesshutdownServersloadsdatasrevid2s assertEquals zodb_unpickle(sselfsobjsrevid2soidsdatasrevid1((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/ConnectionTests.pyscheckBasicPersistences   csâ|iddƒ|_|iiƒ}tddƒ}|i|d|ƒ|iiƒ}tddƒ}|i|d|ƒ|ii ƒ|i ƒ|iddddƒ|_|ii |d ƒ|ii |d ƒ|ii ƒdS( Nstestiès1iôsdatas2swaitis( sselfsopenClientStorages_storagesnew_oidsoid1sMinPOsobj1s_dostoresoid2sobj2sclosesshutdownServersload(sselfsobj1sobj2soid1soid2((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/ConnectionTests.pys checkRollover s  cs>|iƒ|_|iiƒ}tdƒ}|i|d|ƒti dti dƒ|i ƒti dti dƒ|i ddƒ|iiƒ}tdƒ}xvdony|i|d|ƒPWnBt j o6ti dti d d tiƒƒtƒiƒnXtid ƒq¡Wti dti d ƒ|iiƒdS( Ni sdatascheckReconnectionsAbout to shutdown serversAbout to restart serverscreateiis%Error after server restart; retrying.serrorf0.10000000000000001sfinished(sselfsopenClientStorages_storagesnew_oidsoidsMinPOsobjs_dostoreszLOGsLOGsINFOsshutdownServers startServersClientDisconnectedssyssexc_infosget_transactionsabortstimessleepsclose(sselfsobjsoid((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/ConnectionTests.pyscheckReconnection´s2    cs|idƒdS(Nssalty(sselfs _bad_message(sself((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/ConnectionTests.pyscheckBadMessage1ÙscsHdfd„ƒYatƒidddtƒfƒ}|i|ƒbdS(NsHackcstZRS(N(s__name__s __module__(((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/ConnectionTests.pysHackàsiisfoo(sHacks Marshallersencodesmsgsselfs _bad_message(sselfsmsg((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/ConnectionTests.pyscheckBadMessage2Ýs ! csª|iƒ|_|iƒ|iii}|i|ƒy|iƒWnt j onX|ii ƒ|i dƒ|ii ƒ|iƒ|_|iƒ|ii ƒdS(Ns-Server did not disconnect after bogus message( sselfsopenClientStorages_storages_dostores_serversrpcs zrpc_connsmessage_outputsmsgsClientDisconnectedsclosesfail(sselfsmsgs zrpc_conn((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/ConnectionTests.pys _bad_messageçs      csd}||_||_||_||_x4td|iƒD] }|iƒ|i d|ƒq=Wg}z†xAt|iƒD]0}t |d|ƒ}|i |ƒ|iƒqzWx;|D]3}|idƒ|i|iƒd|iƒƒqµWWdx|D]}|iƒq÷WXdS(NiisindexsT%di<s %s didn't die(sNsselfsnserverssnthreadssntranssnobjsrangesis_newAddrs startServersthreadss MSTThreadstsappendsstartsjoinsfailIfsisAlivesgetNames closeclients(sselfsthreadsstsisN((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/ConnectionTests.pysNOcheckMultiStorageTransactions0       (cslt|iƒƒ}|iƒ}|iƒ}tdƒ|d}y|i ƒPWn&t tfj ot id ƒnXqW|id ƒdS( Nscreateisindexs read_onlyiskeepsread_only_fallbacki,f0.10000000000000001s1Couldn't store after starting a read-write server(sselfsshutdownServers_serverss_newAddrs startServersopenClientStorages_storages assertRaisess ReadOnlyErrors_dostoresrangesisClientDisconnectedstimessleepsfail(sselfsi((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/ConnectionTests.pyscheckReconnectSwitchûs   "  cs‰|iƒ|_|i|iidƒ|iƒ|iƒ|iƒt|i_|i ddddƒ|i ƒ|i|iidƒdS(Nsfull verificationscreateiskeepsno verification( sselfsopenClientStorages_storages assertEquals verify_results_dostoresshutdownServerspollDownsNones startServerspollUp(sself((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/ConnectionTests.pys"checkNoVerificationOnServerRestarts     cs;|iddƒ}|i|idƒ|iƒ|_|iiƒ}|i|iidƒ|i|ƒ}|i||ƒ|i |dƒ|i ƒ|i ƒt |i_t |_tidtidƒ|iddd dƒ|iƒ|id |ƒ|i|iid ƒ|i|id ƒ|iƒ|iiƒdS( Nscachestestsfull verificationsstestZEOs2ALLBEEFscreateiskeepsstoragesno verification(sselfsopenClientStorages perstorages assertEquals verify_results_storagesnew_oidsoids_dostoresrevidsloadsshutdownServerspollDownsNoneszLOGsLOGsINFOs startServerspollUpsclose(sselfsoidsrevids perstorage((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/ConnectionTests.pys.checkNoVerificationOnServerRestartWith2Clients*s(      ( s__name__s __module__skeepsinvqscheckReadOnlyStorages$checkReadOnlyFallbackReadOnlyStoragescheckReconnectReadOnlyscheckReconnectFallbackscheckReconnectUpgradescheckReconnectSwitchs"checkNoVerificationOnServerRestarts.checkNoVerificationOnServerRestartWith2Clients(((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/ConnectionTests.pysReconnectionTestsŒs    s TimeoutTestscs;tZdZd„Zd„Zd„Zd„Zd„ZRS(Nics`|iƒ}tƒ}|i|ƒ|i|ƒtidƒ|i t |i |ƒ|i ƒdS(Ni( sselfsopenClientStoragesstorages Transactionstxns tpc_beginstpc_votestimessleeps assertRaisessClientDisconnecteds tpc_finishsclose(sselfstxnsstorage((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/ConnectionTests.pys checkTimeoutMs     csJ|iƒ}tƒ}|i|ƒ|i|ƒ|i|ƒ|iƒdS(N( sselfsopenClientStoragesstorages Transactionstxns tpc_beginstpc_votes tpc_abortsclose(sselfstxnsstorage((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/ConnectionTests.pyscheckTimeoutOnAbortVs      cs=|iƒ}tƒ}|i|ƒ|i|ƒ|iƒdS(N(sselfsopenClientStoragesstorages Transactionstxns tpc_begins tpc_abortsclose(sselfstxnsstorage((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/ConnectionTests.pyscheckTimeoutOnAbortNoLock^s     cs|i}|i}|iƒ|_}||ii ƒ|i ƒ}t dƒ}tƒ}|i|ƒ|i|tt|ƒd|ƒ}|i|ƒtidƒ|iƒ||iƒ ƒ|iƒ||iƒƒ|t|i|ƒ||ii ƒ|t|i|dƒdS(Nisi(sselfs assertRaisessraisess failUnlesssunlesssopenClientStorages_storagesstorages_caches_indexsnew_oidsoidsMinPOsobjs Transactionsts tpc_beginsstoresZEROs zodb_picklesrevid1stpc_votestimessleepssyncs is_connecteds_waitsClientDisconnecteds tpc_finishsKeyErrorsload(sselfsunlesssoidsstoragesrevid1sraisessobjst((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/ConnectionTests.pyscheckTimeoutAfterVotees$      !    csø|i}|i}|i}|iƒ|_}||i i ƒ|i ƒ}tdƒ} tƒ}|i|ƒ|i|tt| ƒd|ƒ} |i|ƒ} t|| | ƒ}|i|ƒd| _tƒ}|i|ƒ|i||t| ƒd|ƒ}|i|ƒ}t|||ƒ} t i!dƒ|i"ƒ||i#ƒ ƒ|i$ƒ||i#ƒƒ|t%|i|ƒd| _tƒ}|i|ƒ|i|| t| ƒd|ƒ|t&|i|ƒ|i'|ƒ|i|ƒd| _tƒ}|i|ƒ|i|| t| ƒd|ƒ|t&|i|ƒ|i'|ƒ|i|ƒd| _tƒ}|i|ƒ|i||t| ƒd|ƒ}|i|ƒ}t|||ƒ} |i|ƒ|i(|dƒ\} }|t+| ƒtdƒƒ||| ƒdS(Nisiii i i (,sselfs assertEqualseqs assertRaisessraisess failUnlesssunlesssopenClientStorages_storagesstorages_caches_indexsnew_oidsoidsMinPOsobjs Transactionsts tpc_beginsstoresZEROs zodb_picklesrevid1astpc_votesrevid1bshandle_serialssrevid1s tpc_finishsvaluesrevid2asrevid2bsrevid2stimessleepssyncs is_connecteds_waitsClientDisconnecteds ConflictErrors tpc_abortsloadsdatasrevids zodb_unpickle(sselfsunlesssstoragesoidsrevidsraisessrevid2asrevid2bseqsrevid1asrevid1bsobjsdatasrevid2srevid1st((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/ConnectionTests.pyscheckTimeoutProvokingConflictssb       !    !                ! (s__name__s __module__stimeouts checkTimeoutscheckTimeoutOnAbortscheckTimeoutOnAbortNoLockscheckTimeoutAfterVotescheckTimeoutProvokingConflicts(((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/ConnectionTests.pys TimeoutTestsJs    s MSTThreadcs/tZeiiZd„Zd„Zd„ZRS(Ncs&|id|ƒ||_g|_dS(Nsname(sselfs_MSTThread__super_initsnamestestcasesclients(sselfstestcasesname((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/ConnectionTests.pys__init__Ès c sD|iƒ}|i}|i}xPtt|iƒƒD]9}|i d|i|ƒ}d||_ |i |ƒq4WxÌt|i ƒD]»}x |D]}g|_h|_qŽWtƒ}x|D]}|i|ƒqºWx£t|iƒD]’}x‰|D]}|iƒ} |ii | ƒtd||i ||fƒ} t| ƒ} |i| t| d|ƒ}|iit| |ƒƒqîWqáWx6|D].}|i|ƒ}|iitt |ƒƒq~Wx|D]}|i!|ƒq·Wxk|D]c}x*|iD]} |i"|ii#| ƒƒqåWx-|ii$ƒD]} |i"| |ijƒqWqÕWqWdS(NsaddrsC%ds %s.%s.t%d.o%ds(%sselfsgetNamestnamestestcasesclientssrangeslensaddrsisopenClientStoragescs_MSTThread__namesappendsntranss_MSTThread__oidss_MSTThread__serialss Transactionsts tpc_beginsnobjsjsnew_oidsoidsMinPOsdatas zodb_picklesstoresZEROsssupdateshandle_all_serialsstpc_votesNones tpc_finishs failUnlessshas_keyskeys( sselfscsisclientssssjstestcaseststnamesdatasoid((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/ConnectionTests.pysrunÍsV         ! cs0x)|iD]}y|iƒWnnXq WdS(N(sselfsclientsscsclose(sselfsc((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/ConnectionTests.pys closeclientss  (s__name__s __module__s threadingsThreads__init__s_MSTThread__super_initsruns closeclients(((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/ConnectionTests.pys MSTThreadÄs   9(2sosssysstimesrandomssocketsasyncorestempfiles threadingszLOGsZEO.ServerStubsZEOsZEO.ClientStorages ClientStoragesZEO.ExceptionssClientDisconnectedsZEO.zrpc.marshals MarshallersZEO.zrpc.errorsDisconnectedErrors ZEO.testssforkersZODB.DBsDBsZODB.Transactionsget_transactions TransactionsZODB.POSExceptions ReadOnlyErrors ConflictErrorsZODB.tests.StorageTestBasesStorageTestBasesZODB.tests.MinPOsMinPOs zodb_pickles zodb_unpickleshandle_all_serialsshandle_serialssZEROs ServerStubs StorageServersTestServerStubsTestClientStoragesDummyDBsCommonSetupTearDownsConnectionTestss InvqTestssReconnectionTestss TimeoutTestssThreads MSTThread($sConnectionTestss TransactionsasyncoresTestClientStorages TimeoutTestss MSTThreadsrandomsDBsTestServerStubsforkerssyss ConflictErrorsget_transactionsStorageTestBaseshandle_all_serialssReconnectionTestssDummyDBsMinPOs ClientStoragessocketsClientDisconnecteds threadingstempfiles zodb_unpickles zodb_pickles InvqTestssZEOsCommonSetupTearDownsDisconnectedErrors Marshallershandle_serialss ReadOnlyErrorstimeszLOGsZEROsos((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/ConnectionTests.pys?s>                   ¡ÿ[F¾z