- 1?csdZdkZdkZdklZdklZdklZl Z dk Z dk l Z dklZddZd fd YZd efd YZd fdYZdS(s%Tests of the distributed commit lock.N(s Transaction(s TimeStamp(s zodb_picklesMinPO(sClientDisconnected(s TestThreadsisDummyDBcstZdZRS(NcsdS(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.pysDummyDBss WorkerThreadcs&tZddZdZdZRS(Ns tpc_finishcs>||_||_||_ti|_ti||dS(N( sstoragesselfstranssmethods threadingsEventsreadys TestThreads__init__stestcase(sselfstestcasesstoragestranssmethod((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/CommitLockTests.pys__init__&s    csy|ii|i|ii}ttd}|ii |t |d|i|ii}ttd}|ii |t |d|i|i |i djo|ii |in|ii|iWntj onXdS(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 csR|iii}|id|ii}|ii|i ||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  sCommitLockTestscstZdZdZdZdZdZdZdZdZ d Z d Z d Z d Z d ZdZdZdZRS(Nics>x.|iD]#\}}|i||iq Wg|_dS(N(sselfs _storagessstorestranss tpc_abortsclose(sselfstranssstore((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/CommitLockTests.pys_cleanup]s   cs^t}|ii||ii}|ii|tt t dd|||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  (csq|i\}}|ii||i|ii||ii|d|i |i |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   cs^|i\}}|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   csQ|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    cs)|i|ii}|ddSdS(Nisid(sselfs_dostores_storagesundoInfosL(sselfsL((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/CommitLockTests.pys _get_trans_ids cs,|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_undos cs|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     csy|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]}|iq WdS(N(sselfs_threadsstscleanup(sselfst((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/CommitLockTests.pys_finish_threadss cs?|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  cs9ti}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        .