- 1?csdZdkZdkZdklZdklZdklZl Z dk Z dk l Z dklZddZd fd YZ!d efd YZOd fdYZdS(s%Tests of the distributed commit lock.N(s Transaction(s TimeStamp(s zodb_picklesMinPO(sClientDisconnected(s TestThreadsisDummyDBcstZdZRS(Ncs dS(N((sselfsargsskwargs((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/CommitLockTests.pys invalidates(s__name__s __module__s invalidate(((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/CommitLockTests.pysDummyDBs s WorkerThreadcs2!tZ&ddZ-dZ>dZRS(Ns tpc_finishcsP&'||_(||_)||_*ti|_+ti||dS(N( sstoragesselfstranssmethods threadingsEventsreadys TestThreads__init__stestcase(sselfstestcasesstoragestranssmethod((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/CommitLockTests.pys__init__&s    cs"-.y/|ii|i0|ii}1ttd}2|ii |t |d|i3|ii}4ttd}5|ii |t |d|i6|i 7|i djo8|ii |in:|ii|iWn;tj o <nXdS(Nscss tpc_finish(sselfsstorages tpc_beginstranssnew_oidsoids zodb_picklesMinPOspsstoresZEROsmyvotesmethods tpc_finishs tpc_abortsClientDisconnected(sselfspsoid((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/CommitLockTests.pystestrun-s"" csd>I|iii}J|id|ii}K|iiL|i |M|ii dS(Nsvote( sselfsstorages_serversrpcs_deferred_calls_serialsmsgidsreadyssets_deferred_waits_check_serials(sselfsmsgidsrpc((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/CommitLockTests.pysmyvote>s  (s__name__s __module__s__init__stestrunsmyvote(((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/CommitLockTests.pys WorkerThread!s  sCommitLockTestscsOtZQdZ]dZcdZjdZxdZdZdZdZ d Z d Z d Z d Z d ZdZdZdZRS(NicsP]^x7|iD^])\}}_|i|`|iqWag|_dS(N(sselfs _storagessstorestranss tpc_abortsclose(sselfstranssstore((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/CommitLockTests.pys_cleanup]s  cspcdt}e|ii|f|ii}g|ii|tt t dd|h||fSdS(Nis( s Transactionstxnsselfs_storages tpc_beginsnew_oidsoidsstoresZEROs zodb_picklesMinPO(sselfstxnsoid((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/CommitLockTests.pys _start_txncs  +csjk|i\}}l|ii|n|ip|ii|q|ii|ds|i u|i v|i dS(Ns( sselfs _start_txnsoidstxns_storagestpc_votes_begin_threadss tpc_finishsloads_finish_threadss_dostores_cleanup(sselfstxnsoid((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/CommitLockTests.pyscheckCommitLockVoteFinishjs   csvxy|i\}}z|ii|||i~|ii||i|i |i dS(N( sselfs _start_txnsoidstxns_storagestpc_votes_begin_threadss tpc_aborts_finish_threadss_dostores_cleanup(sselfstxnsoid((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/CommitLockTests.pyscheckCommitLockVoteAbortxs   csf|i\}}|ii||i|ii|i|i dS(N( sselfs _start_txnsoidstxns_storagestpc_votes_begin_threadsscloses_finish_threadss_cleanup(sselfstxnsoid((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/CommitLockTests.pyscheckCommitLockVoteCloses   cs5|i|ii}|ddSdS(Nisid(sselfs_dostores_storagesundoInfosL(sselfsL((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/CommitLockTests.pys _get_trans_ids cs8|iii}|id||iiSdS(NstransactionalUndo(sselfs_storages_serversrpcs_deferred_callstrans_ids_serial(sselfstrans_idsrpc((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/CommitLockTests.pys _begin_undoscs |iiii|SdS(N(sselfs_storages_serversrpcs_deferred_waitsmsgid(sselfsmsgid((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/CommitLockTests.pys _finish_undoscs|i}|i\}}|i|}|i|i ||i i ||i i ||i i |d|i|i|idS(Ns(sselfs _get_trans_idstrans_ids _start_txnsoidstxns _begin_undosmsgids_begin_threadss _finish_undos_storagestpc_votes tpc_finishsloads_finish_threadss_dostores_cleanup(sselfstxnsoidstrans_idsmsgid((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/CommitLockTests.pyscheckCommitLockUndoFinishs   cs|i}|i\}}|i|}|i|i ||i i ||i i ||i |i|idS(N(sselfs _get_trans_idstrans_ids _start_txnsoidstxns _begin_undosmsgids_begin_threadss _finish_undos_storagestpc_votes tpc_aborts_finish_threadss_dostores_cleanup(sselfstxnsoidstrans_idsmsgid((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/CommitLockTests.pyscheckCommitLockUndoAborts   cs|i}|i\}}|i|}|i|i ||i i ||i i |i |idS(N(sselfs _get_trans_idstrans_ids _start_txnsoidstxns _begin_undosmsgids_begin_threadss _finish_undos_storagestpc_votescloses_finish_threadss_cleanup(sselfstxnsoidstrans_idsmsgid((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/CommitLockTests.pyscheckCommitLockUndoCloses  csg|_g|_xt|iD]}|i}t}|i }t |||}|ii||i|ii|djo|in|ii||fq.WdS(Ni(sselfs _storagess_threadssranges NUM_CLIENTSsis_duplicate_clientsstorages Transactionstxns_get_timestampstids WorkerThreadstsappendsstartsreadyswaitsclose(sselfstxnstsistidsstorage((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/CommitLockTests.pys_begin_threadss     cs.x!|iD]}|iqWdS(N(sselfs_threadsstscleanup(sselfst((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/CommitLockTests.pys_finish_threadss csQ|ii}tii|dd}|itt |SdS(s.Open another ClientStorage to the same server.swaitiN( sselfs_storages_addrsaddrsZEOs ClientStoragesnews registerDBsDummyDBsNone(sselfsaddrsnew((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/CommitLockTests.pys_duplicate_clients csEti}ti|d |df}t| SdS(Nii<(stimestsgmtimes TimeStamp(sselfst((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/CommitLockTests.pys_get_timestamps!(s__name__s __module__s NUM_CLIENTSs_cleanups _start_txnscheckCommitLockVoteFinishscheckCommitLockVoteAbortscheckCommitLockVoteCloses _get_trans_ids _begin_undos _finish_undoscheckCommitLockUndoFinishscheckCommitLockUndoAbortscheckCommitLockUndoCloses_begin_threadss_finish_threadss_duplicate_clients_get_timestamp(((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/CommitLockTests.pysCommitLockTestsOs             (s__doc__s threadingstimesZODB.Transactions TransactionsZODB.TimeStamps TimeStampsZODB.tests.StorageTestBases zodb_picklesMinPOsZEO.ClientStoragesZEOsZEO.ExceptionssClientDisconnectedsZEO.tests.TestThreads TestThreadsZEROsDummyDBs WorkerThreadsCommitLockTests( s TransactionsCommitLockTestssClientDisconnecteds zodb_pickles TimeStampsZEOs WorkerThreads threadingsZEROsMinPOstimesDummyDBs TestThread((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/CommitLockTests.pys?s     .