mς &U²Ic@sχdZdkZdkZdkZdkZdkZydklZWn ej odk lZnXdk l Z y dk Z Wnej onXe i ddddeƒdeifd „ƒYZd „Zed joeid d ƒndS(sfTestCases for checking that it does not segfault when a DBEnv object is closed before its DB objects. N(sdb(sverbosetignoretmessagesDB could not be closed intcategorytDBEnvClosedEarlyCrashcBs,tZd„Zd„Zd„Zd„ZRS(NcCstiitiitidƒdƒ|_yti|iƒWnti j onX|it _ tii t i ƒƒd|_dt _ dS(Nitdb_homei(tostpathtjointdirnametsystargvtselfthomeDirtmkdirterrorttempfilettempdirtsplittmktemptfilenametNone(R ((t6/data/zmath/lib/python2.4/bsddb/test/test_env_close.pytsetUp#s+ cCsCtitii|idƒƒ}x|D]}ti|ƒq(WdS(Nt*( tglobRRRR R tfilestfiletremove(R RR((RttearDown+s!cCsηtiƒ}|i|ititiBtiBti Bdƒti |ƒ}|i|i ti titiBdƒy|iƒWnRtij oCy|iƒWntij o dSnXdp td‚nXdp td‚dS(NiΆisADB close did not raise an exception about its DBEnv being trasheds8dbenv did not raise an exception about its DB being open(tdbtDBEnvtdbenvtopenR R t DB_INIT_CDBt DB_CREATEt DB_THREADt DB_INIT_MPOOLtDBtdRtDB_BTREEtclosetDBErrortAssertionError(R RR&((Rttest01_close_dbenv_before_db1s  & cCsΫtiƒ}|i|ititiBtiBti Bdƒti |ƒ}|i|i ti titiBdƒy|iƒWntij onX~y dk}Wntj o d}nX|o|iƒndS(NiΆ(RRRR R R R!R"R#R$R%R&RR'R(R)tgct ImportErrorRtcollect(R R&R,R((Rt$test02_close_dbenv_delete_db_successJs"  &  (t__name__t __module__RRR+R/(((RR"s   cCs&tiƒ}|ititƒƒ|S(N(tunittestt TestSuitetsuitetaddTestt makeSuiteR(R4((Rt test_suiteds t__main__t defaultTestR7(t__doc__RR RRR2tbsddb3RR-tbsddbttest_alltverbosetwarningstfilterwarningstRuntimeWarningtTestCaseRR7R0tmain( RR>R?RRRR R7RR2((Rt?s*         B