mò Sã¸Ec@sdZdkZdklZdklZdklZlZlZdk l Z dk l Z dk Z defd„ƒYZdS( s!More recovery and iterator tests.N(s Transaction(sIteratorDeepCompare(sMinPOs zodb_unpicklessnooze(sDB(s referencesftRecoveryStoragecBsGtZd„Zd„Zd„Zd„Zd„Zd„Zd„ZRS(NcCs‡|iiƒ}|i|ddƒ}|i|d|ddƒ}|i|d|ddƒ}|ii|iƒ|i|i|iƒdS(Ntdatai trevidi i ( tselft_storagetnew_oidtoidt_dostoreRt_dsttcopyTransactionsFromtcompare(RRR((t9/data/zmath/zope/lib/python/ZODB/tests/RecoveryStorage.pytcheckSimpleRecoverys cCsý|iiƒ}|i|ddƒ}|i|d|ddƒ}|i|d|ddddƒ}|i|d|ddddƒ}tƒ}|ii|ƒ|ii dd |ƒ|ii |ƒ|ii |ƒ|i i |iƒ|i|i|i ƒdS( NRiRiitversiontonei"t(RRRRRRt Transactionttt tpc_begint commitVersionttpc_votet tpc_finishRR R (RRRR((R tcheckRecoveryAcrossVersions#s!! c Csƒ|iiƒ}|i|ddddƒ}|i|d|ddddƒ}|i|d|ddddƒ}tƒ}|ii|ƒ|ii d|ƒ\}}|ii |ƒ|ii |ƒ|i||gƒ|ii|iƒ|i|i|iƒx€|i|ifD]l}|iƒ}x|D]}q(W|d} |it|d „d ƒ|i| i|ƒ|i| idƒqWdS( NRiR RRii"icCs||S(N(Rti(RR((R tHsi(RRRRRRRRRt abortVersionttidtoidsRRt assertEqualRR R tstiteratortiterttransRt assertRaisest IndexErrortNone( RRRRRRRRR R((R tcheckRecoverAbortVersion2s,!!   c Cs|iiƒ}d}|i|dtdƒƒ}|i|d|d|dtdƒƒ}|i|d|d|dtdƒƒ}|i |ii ƒdd |gƒ|i |d ƒ|i |ii ƒdd |gƒ|i i|iƒ|i|i|i ƒ|i|ƒ|i|ii|ƒƒ|i |ii ƒdd |gƒ|i|ii|ƒ ƒ|ii||ƒ\}}|it|ƒtdƒƒ|ii|d ƒ\}}|it|ƒtdƒƒ|i}|i |_|i|ƒ|i|ii|ƒƒ|i |ii ƒdd |gƒ|i|ii|ƒ ƒ|ii||ƒ\}}|it|ƒtdƒƒ|ii|d ƒ\}}|it|ƒtdƒƒ||_|i iƒ|i iƒ|iƒ|_ |i i|iƒ|i|i|i ƒdS( NtaVersionRi[RR i\i]itidR(RRRRR RtMinPOtrevid_atrevid_btrevid_ct_undotundoInfot_commitVersionRR R t _abortVersiontassert_t versionEmptytloadRRRt zodb_unpicklettmptclosetcleanuptnew_dest( RR3R RRR)R*R(R((R tcheckRecoverUndoInVersionLsH$$ $   $   cCsUt|iƒ}|iƒ}|iƒ}tdƒ}|d objisroot -> obj -> objs root -X->R(RR!traisesR:RR;R<tconnR>R'R@R8RAtgetttxntnoteRBR9RR tsnoozeRCRDRER1t_p_oidRtserialtKeyError( RR8RPR;RR9RMRTR>RN((R t(checkPackWithGCOnDestinationAfterRestoreŸs,            c CsJdkl} t|i| ƒ} t|iƒ}|iƒ}|i ƒ}t dƒ|dR?R'RARBRYt assertEqualsRStobj1_oidtobj2_oidtgetSizetposR,tinfoRRRRtundoRRRR!tAttributeErrortgetattrR/t _data_findRR R ( RRcRR=R;R_RbR?RR`R[R]R((R t)checkRestoreWithMultipleObjectsInUndoRedo»s^          %% %) ( t__name__t __module__R RR$R7RLRVRh(((R Rs    9  (t__doc__RARtZODB.tests.IteratorStoragetIteratorDeepComparetZODB.tests.StorageTestBaseR'R2RRtZODBR:tZODB.serializeRERDR( RARDR:RmRRERRRR2R'((R t?s