mò .á¸Ec@sHdkZdklZdklZdkZdkZdkZdkZdk l Z l Z l Z l Z lZlZlZdklZdkZdklZdklZde i e i e ie ieifd„ƒYZd „Zd „Zd „Zd „Zed jo:e ei!ƒdjoe"ƒei!dƒqDeƒndS(N(sMinPO(sTemporaryStorage(sStorageTestBases BasicStoragesSynchronizationsConflictResolutions CorruptionsRevisionStorages MTStorage(s Persistent(sDB(sReadConflictErrortTemporaryStorageTestscBsPtZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z RS( NcKstidƒ|_dS(Ntfoo(tTemporaryStoragetselft_storage(Rtkwargs((tE/data/zmath/zope/lib/python/tempstorage/tests/testTemporaryStorage.pytopenscCstii|ƒ|iƒdS(N(tStorageTestBasetsetUpRR(R((RR scCstii|ƒdS(N(RttearDownR(R((RR scCsJti}ti}dt_dt_z |iiƒ}|i |dt dƒƒt i tidƒ|iiƒ}|i |dt dƒƒ|iiƒ}|i |dt dƒƒt|iiƒdjpt‚t i tidƒ|iiƒ}|i |dt dƒƒt|iiƒdjpt‚Wd|t_|t_XdS(Nitdataii i ii (RtCONFLICT_CACHE_GCEVERYt old_gceverytCONFLICT_CACHE_MAXAGEt old_maxageRRtnew_oidtoidt_dostoretMinPOttimetsleeptoid2toid3tlent_conflict_cachetAssertionErrortoid4(RRRRRR R((RtcheckConflictCacheIsCleared"s(     $ c Csétiƒ}|id|d|ƒ} | iƒ}t dƒ}||d<|d}t dƒ|_ |i ƒi ƒtiƒ}|id|d|ƒ}|iƒ}|i|i|iƒt dƒ|_|i ƒi ƒ|d}|i |S(Ntmvccttransaction_managertroottptchild1tchild2(t transactiontTransactionManagerttm1tdbRRtconnRtr1RtobjR!tgettcommitttm2tcn2tr2Rt assertEqualt _p_serialR"( RR&RR%R,R)R(R.R-R'((Rtdoreadconflict9s"        cCs,t|iƒ}|it|i|tƒdS(N(tDBRRR&t assertRaisestReadConflictErrorR1tFalse(RR&((Rt"checkWithoutMVCCRaisesReadConflictXscCsst|iƒ}|i|tƒ}|i|it ƒ|it |dt ƒƒi dƒ|i t |ddƒƒdS(NR!R"(R2RRR&R1tTruetobt assertEqualst __class__RtgetattrtvaluetfailIftNone(RR&R8((Rt$checkWithMVCCDoesntRaiseReadConflict\s "cCs•|iiƒ}|i|dtdƒƒ|ii|dƒ\}}|ii |dƒ\}}}|i ||ƒ|i ||ƒ|i |dƒdS(NR itwhatevert(RRRRRRtloadtloadptloadstloadExtexptexstexvR/(RRRHRGRFRCRD((Rt checkLoadExcs( t__name__t __module__RR R RR1R6R?RI(((RRs       cCs8titdƒ}titidƒ}|i|ƒ|S(Ntcheck(tunittestt makeSuiteRtsuitet CorruptiontFileStorageCorruptTeststsuite2taddTest(RRRO((Rt test_suitems cCs,tƒ}tiddƒ}|i|ƒdS(Nt verbosityi (RTtalltestsRMtTextTestRunnertrunnertrun(RXRV((Rtmainss cCstƒiƒdS(N(RTtdebug(((RR[xscCsdk}|idƒdS(Nsdebug()(tpdbRY(R\((Rtpdebug{s t__main__i(#tZODBtZODB.tests.MinPORt tempstorageRtsystosRMRt ZODB.testsRt BasicStoragetSynchronizationtConflictResolutionRPtRevisionStoraget MTStoraget persistentt PersistentR#tZODB.DBR2tZODB.POSExceptionR4tSynchronizedStoragetConflictResolvingStorageRRTRZR[R]RJRtargvtglobals(RPRMR2ReRTRgRhR]RiRfRRZR4RkRbRRRR#R_RR[Rc((Rt?s"   $1    1^