ó n®¸Qc@sùddlZddlZddlZddlmZmZmZmZdejfd„ƒYZ de fd„ƒYZ de fd„ƒYZ d e fd „ƒYZ d e fd „ƒYZ d e fd„ƒYZd„ZedkrõejddƒndS(iÿÿÿÿN(tdbt test_supporttget_new_environment_pathtget_new_database_pathtDBEnvcBseZd„Zd„ZRS(cCstƒ|_tjƒ|_dS(N(RthomeDirRRtenv(tself((s+/sys/lib/python2.7/bsddb/test/test_dbenv.pytsetUp s cCs'|jjƒ|`tj|jƒdS(N(RtcloseRtrmtreeR(R((s+/sys/lib/python2.7/bsddb/test/test_dbenv.pyttearDowns (t__name__t __module__RR (((s+/sys/lib/python2.7/bsddb/test/test_dbenv.pyR s t DBEnv_generalcBsÚeZd„Zd„Zejƒdkr?d„Zd„Znejƒdkrfd„Zd„Z nejƒdkrd „Z d „Z nd „Z d „Z ejƒdkrØd „Zd„Zd„Zd„ZnRS(cCsCtjtjB}|jj|j|ƒ|j||jjƒƒdS(N(Rt DB_CREATEt DB_INIT_MPOOLRtopenRt assertEqualtget_open_flags(Rtflags((s+/sys/lib/python2.7/bsddb/test/test_dbenv.pyttest_get_open_flagsscCsQtjtjBtjBtjB}|jj|j|ƒ|j||jj ƒƒdS(N( RRRt DB_INIT_LOCKt DB_THREADRRRRR(RR((s+/sys/lib/python2.7/bsddb/test/test_dbenv.pyttest_get_open_flags2siicCsGx@dddgD]/}|jj|ƒ|j||jjƒƒqWdS(Ni ii((Rtset_lk_partitionsRtget_lk_partitions(Rti((s+/sys/lib/python2.7/bsddb/test/test_dbenv.pyttest_lk_partitions scCs||jd|jjƒƒx@dddgD]/}|jj|ƒ|j||jjƒƒq)W|jtj|jjdƒdS(Ns rwx------s rw-rw-rw-s rw-r--r--tabcde(RtNoneRtget_intermediate_dir_modetset_intermediate_dir_modet assertRaisesRtDBInvalidArgError(Rtmode((s+/sys/lib/python2.7/bsddb/test/test_dbenv.pyt!test_getset_intermediate_dir_mode%s  icCsGx@dddgD]/}|jj|ƒ|j||jjƒƒqWdS(Niidiè(Rtset_thread_countRtget_thread_count(RR((s+/sys/lib/python2.7/bsddb/test/test_dbenv.pyt test_thread.scCs‘xŠddgD]|}|dd}|jjd|ƒ|jjƒ}|jd|dƒ|j||dkƒ|jd||dkƒq WdS(Ni@i€iiii(Rt set_cache_maxt get_cache_maxRt assertTrue(Rtsizetsize2((s+/sys/lib/python2.7/bsddb/test/test_dbenv.pyttest_cache_max3scCsM|jj|jtjtjBtjBƒ|jjƒ}|jd|kƒdS(Ntmutex_inuse_max( RRRRRRRt mutex_statR*(Rtstat((s+/sys/lib/python2.7/bsddb/test/test_dbenv.pyttest_mutex_stat=s cCsGx@dddgD]/}|jj|ƒ|j||jjƒƒqWdS(Ni€i°i¶(Rtset_lg_filemodeRtget_lg_filemode(RR((s+/sys/lib/python2.7/bsddb/test/test_dbenv.pyttest_lg_filemodeCscCsGx@dddgD]/}|jj|ƒ|j||jjƒƒqWdS(Niii*(Rtset_mp_max_openfdRtget_mp_max_openfd(RR((s+/sys/lib/python2.7/bsddb/test/test_dbenv.pyttest_mp_max_openfdHscCsxsdddgD]b}xYdddgD]H}|d9}|jj||ƒ|jjƒ}|j||f|ƒq&WqWd„}d „}d „}d „}d „}d „} d„} d„} d„} d„} d„}d„}d„}d„}d„}dS(NidiÈi,iiii@BcSs|jtj|jjƒdS(N(R!RR"Rt txn_begin(R((s+/sys/lib/python2.7/bsddb/test/test_dbenv.pyttest_invalid_txnUscSsQxJdddgD]9}|d9}|jj|ƒ|j||jjƒƒqWdS(Nii i@ii(Rtset_mp_mmapsizeRtget_mp_mmapsize(RR((s+/sys/lib/python2.7/bsddb/test/test_dbenv.pyttest_mp_mmapsizeYs cSsGx@dddgD]/}|jj|ƒ|j||jjƒƒqWdS(Ntatbbtccc(Rt set_tmp_dirRt get_tmp_dir(RR((s+/sys/lib/python2.7/bsddb/test/test_dbenv.pyt test_tmp_dir_scSsÐ|jjtjdƒ|jtj|jjƒƒ|jjtjdƒ|jtjtjB|jjƒƒ|jjtjdƒ|jtj|jjƒƒ|jjtjdƒ|jd|jjƒƒdS(Nii(Rt set_flagsRtDB_AUTO_COMMITRt get_flagst DB_TXN_NOSYNC(R((s+/sys/lib/python2.7/bsddb/test/test_dbenv.pyt test_flagsdscSsGx@dddgD]/}|jj|ƒ|j||jjƒƒqWdS(NièiÐi¸ (Rtset_lk_max_objectsRtget_lk_max_objects(RR((s+/sys/lib/python2.7/bsddb/test/test_dbenv.pyttest_lk_max_objectsoscSsGx@dddgD]/}|jj|ƒ|j||jjƒƒqWdS(NièiÐi¸ (Rtset_lk_max_locksRtget_lk_max_locks(RR((s+/sys/lib/python2.7/bsddb/test/test_dbenv.pyttest_lk_max_lockstscSsGx@dddgD]/}|jj|ƒ|j||jjƒƒqWdS(NièiÐi¸ (Rtset_lk_max_lockersRtget_lk_max_lockers(RR((s+/sys/lib/python2.7/bsddb/test/test_dbenv.pyttest_lk_max_lockersyscSsuxndddgD]]}|dd}|jj|ƒ|jjƒ}|j||kƒ|jd||kƒqWdS(Ni€iièii(Rtset_lg_regionmaxtget_lg_regionmaxR*(RRtj((s+/sys/lib/python2.7/bsddb/test/test_dbenv.pyttest_lg_regionmax~s cSs„tjtjtjtjtjtjtjtjg}|j tj ƒx7|D]/}|j j |ƒ|j ||j jƒƒqMWdS(N(RtDB_LOCK_DEFAULTtDB_LOCK_EXPIREtDB_LOCK_MAXLOCKStDB_LOCK_MINLOCKStDB_LOCK_MINWRITEtDB_LOCK_OLDESTtDB_LOCK_RANDOMtDB_LOCK_YOUNGESTtappendtDB_LOCK_MAXWRITERt set_lk_detectRt get_lk_detect(RRR((s+/sys/lib/python2.7/bsddb/test/test_dbenv.pyttest_lk_detect†s  cSsJxCddddgD]/}|jj|ƒ|j||jjƒƒqWdS(NR=R>R?tdddd(Rt set_lg_dirRt get_lg_dir(RR((s+/sys/lib/python2.7/bsddb/test/test_dbenv.pyt test_lg_dir‘scSsŠd}|jj|ƒ|j|jjƒ|kƒ|j|jjƒd|kƒ|jjd|ƒ|j|jjƒd|kƒdS(NiFiii(Rt set_lg_bsizeR*t get_lg_bsize(Rtlog_size((s+/sys/lib/python2.7/bsddb/test/test_dbenv.pyt test_lg_bsize–s  cSsDd}x|D]}|jj|ƒq W|j||jjƒƒdS(NR=tbtctd(R=RjRkRl(Rt set_data_dirRt get_data_dirs(RtdirsR((s+/sys/lib/python2.7/bsddb/test/test_dbenv.pyttest_setget_data_dirsžs cSsedd df}|jj|Œ|j||jjƒƒdd df}|jj|Œ|jjƒ}|j|d|dƒ|j|d|dƒ|jdtd |d|dƒƒ|jj|jtjtj Bƒdddf}|j tj |jj|Œ|jjƒ}|j|d|dƒ|j|d|dƒ|j |d|dkƒdS(Niiiiiiii}gY@ii iiii ( Rt set_cachesizeRt get_cachesizetintRRRRRR!R"R*(Rt cachesizet cachesize2t cachesize3((s+/sys/lib/python2.7/bsddb/test/test_dbenv.pyttest_setget_cachesize¤s"&  cSs5tj|jƒ}|jtj|jdddƒdS(Niiii(RtDBRR!R"Rq(RRl((s+/sys/lib/python2.7/bsddb/test/test_dbenv.pyttest_set_cachesize_dbenv_db¾s cSs½d}|jj|ƒ|j||jjƒƒ|jj|dƒ|j|d|jjƒƒ|jj|jtjtjBƒ|j tj |jj|ƒ|j|d|jjƒƒdS(Ni‰i( Rt set_shm_keyRt get_shm_keyRRRRRR!R"(Rtshm_key((s+/sys/lib/python2.7/bsddb/test/test_dbenv.pyttest_setget_shm_keyÅs  (Rtset_mp_max_writetget_mp_max_writeR(RRRStvR9R<RBRGRJRMRPRTRaReRiRpRwRyR}((s+/sys/lib/python2.7/bsddb/test/test_dbenv.pyttest_mp_max_writeMs*             cCs¨|jjƒ}|dd}|jj|ƒ|j||jjƒƒ|jj|ƒ|j||jjƒƒ|jj|jtjƒ|jtj |jj|ƒdS(Nii( Rt mutex_get_maxt mutex_set_maxRRRRRR!R"(RR€tv2((s+/sys/lib/python2.7/bsddb/test/test_dbenv.pyttest_mutex_setget_maxÖs cCs |jjƒ}d}|jj|ƒ|j||jjƒƒ|jj|ƒ|j||jjƒƒ|jj|jtjƒ|jtj |jj|ƒdS(Ni( Rtmutex_get_incrementtmutex_set_incrementRRRRRR!R"(RR€R„((s+/sys/lib/python2.7/bsddb/test/test_dbenv.pyttest_mutex_setget_incrementæs cCs¬|jjdƒ|jjƒ}|dd}|jj|ƒ|j||jjƒƒ|jj|ƒ|j||jjƒƒ|jj|jtjƒ|jj|ƒdS(Niii(Rtmutex_set_tas_spinstmutex_get_tas_spinsRRRRR(RR€R„((s+/sys/lib/python2.7/bsddb/test/test_dbenv.pyttest_mutex_setget_tas_spinsöscCsõ|jjƒ}d}|dkr*d}n|jj|ƒ|j||jjƒƒ|jtj|jjdƒ|jtj|jjdƒ|jjd|ƒ|jd||jjƒƒ|jj|jtj ƒ|jtj|jj|ƒdS(Ni@i€iii( Rtmutex_get_aligntmutex_set_alignRR!RR"RRR(RR€R„((s+/sys/lib/python2.7/bsddb/test/test_dbenv.pyttest_mutex_setget_aligns     (ii(ii(ii(ii(R R RRRtversionRR$R'R-R1R4R7RR…RˆR‹RŽ(((s+/sys/lib/python2.7/bsddb/test/test_dbenv.pyRs$          ˆ   t DBEnv_logcBsVeZd„Zd„Zejƒdkr6d„ZnejƒdkrTd„ZnRS(cCs8tj|ƒ|jj|jtjtjBtjBƒdS(N( RRRRRRRRt DB_INIT_LOG(R((s+/sys/lib/python2.7/bsddb/test/test_dbenv.pyR s cCs*|jjdƒ}|jd|dƒdS(Nislog.0000000001iòÿÿÿ(ii(Rtlog_fileR(RR’((s+/sys/lib/python2.7/bsddb/test/test_dbenv.pyt test_log_file$sicCsFd}|jj|ƒ|jjƒ}|j||jƒdkƒdS(NsThis is a test...i(Rt log_printft log_cursorR*tlast(Rtmsgtlogc((s+/sys/lib/python2.7/bsddb/test/test_dbenv.pyttest_log_printf*sicCs§|jjtjtjBdƒ|j|jjtjƒƒ|j|jjtjƒƒ|jjtjdƒ|j|jjtjƒƒ|j|jjtjƒƒdS(Nii(Rtlog_set_configRt DB_LOG_DSYNCt DB_LOG_ZEROR*tlog_get_configt assertFalse(R((s+/sys/lib/python2.7/bsddb/test/test_dbenv.pyttest_log_config1s (ii(ii(R R RR“RRR™RŸ(((s+/sys/lib/python2.7/bsddb/test/test_dbenv.pyRs    t DBEnv_log_txncBs_eZd„Zejƒdkr?ejƒdkr?d„Znejƒdkr]d„ZnRS( cCs?tj|ƒ|jj|jtjtjBtjBtj BƒdS(N( RRRRRRRRR‘t DB_INIT_TXN(R((s+/sys/lib/python2.7/bsddb/test/test_dbenv.pyR;s iiicsNg‰‡‡fd†}|ƒˆjt|ƒxˆD]}|jƒq6WdS(Ncs:x3tˆjjƒƒD]}ˆjˆjjƒƒqWdS(N(txrangeRt get_tx_maxR]R8(R(Rttxns(s+/sys/lib/python2.7/bsddb/test/test_dbenv.pyttxCs(R!t MemoryErrortabort(RR¥R((RR¤s+/sys/lib/python2.7/bsddb/test/test_dbenv.pyt test_tx_maxAs  cCs'd}|jjƒ}|jj|d|ƒ|jƒ|jjƒ}|jƒ|j||jƒdkƒd}|jjƒ}|jj|d|ƒ|jƒ|jƒ|j||jƒdkƒd}|jjƒ}|jj|d|ƒ|jƒ|jƒ|j||jƒdkƒdS(NsThis is a test...ttxnisThis is another test...sThis is a third test...( RR8R”tcommitR•R–R*tprevR§(RR—R©R˜((s+/sys/lib/python2.7/bsddb/test/test_dbenv.pyR™Qs&      (ii(ii(ii(R R RRRR¨R™(((s+/sys/lib/python2.7/bsddb/test/test_dbenv.pyR :s  $ t DBEnv_mempcBs>eZd„Zd„Zd„Zd„Zd„Zd„ZRS(cCsltj|ƒ|jj|jtjtjBtjBƒtj |jƒ|_|jjdtj tjdƒdS(Nttesti°( RRRRRRRRR‘RxtDB_HASH(R((s+/sys/lib/python2.7/bsddb/test/test_dbenv.pyRjs 'cCs$|jjƒ|`tj|ƒdS(N(RR RR (R((s+/sys/lib/python2.7/bsddb/test/test_dbenv.pyR ps cCs6|jjddƒ|j|jjdƒdkƒdS(Nthitbyeidi(RtputR*Rt memp_trickle(R((s+/sys/lib/python2.7/bsddb/test/test_dbenv.pyttest_memp_1_trickleuscCsÇ|jjddƒ|jjƒ|j|jjdƒdkƒ|jjddƒ|jjd ƒ|j|jjdƒdkƒ|jjddƒ|jjd ƒ|j|jjdƒdkƒdS( NR¯R°iditbye2itbye3i{ic(ii(i{ic(RR±Rt memp_syncR*R²(R((s+/sys/lib/python2.7/bsddb/test/test_dbenv.pyttest_memp_2_synczs cCs›|jjƒ}|jt|ƒdkƒ|jd|dkƒ|jjtjƒ}|jd|dkƒ|jjddƒ}|jd|dkƒdS(Nit cache_missiR(Rt memp_statR*tlenRt DB_STAT_CLEAR(Rtstats((s+/sys/lib/python2.7/bsddb/test/test_dbenv.pyttest_memp_stat_1ŠscCsZ|jjƒd}|jt|ƒƒdk|jd|kƒ|jd|dkƒdS(NiR­tpage_in(RR¹R*Rº(RR¼((s+/sys/lib/python2.7/bsddb/test/test_dbenv.pyttest_memp_stat_2“s(R R RR R³R·R½R¿(((s+/sys/lib/python2.7/bsddb/test/test_dbenv.pyR¬is      tDBEnv_logcursorcBskeZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z d „Z d „Z RS( cCsîtj|ƒ|jj|jtjtjBtjBtj Bƒ|jj ƒ}tj |jƒ|_|jjdtj tjdd|ƒ|j ƒxYdddgD]H}|jj ƒ}|jjd|d|t|ƒd|ƒ|j ƒqžWdS( NR­i°R©t2t8t20tkeytdata(RRRRRRRRR‘R¡R8RxR®RªR±Rs(RR©R((s+/sys/lib/python2.7/bsddb/test/test_dbenv.pyRšs % )cCs$|jjƒ|`tj|ƒdS(N(RR RR (R((s+/sys/lib/python2.7/bsddb/test/test_dbenv.pyR §s cCsº|jt|tƒƒ|jt|ƒdƒ|jt|dtƒƒ|jt|dƒdƒ|jt|ddtƒƒ|jt|ddtƒƒ|jt|dtƒƒdS(Niii(R*t isinstancettupleRRºRststr(Rtvalue((s+/sys/lib/python2.7/bsddb/test/test_dbenv.pyt _check_return¬scCs`|jjƒ}|jƒ}|j|ƒ|jd|dkƒ|jt|dƒdkƒdS(Nii(ii(RR•tfirstRÊR*Rº(RR˜R€((s+/sys/lib/python2.7/bsddb/test/test_dbenv.pyt test_1_first¶s   cCsS|jjƒ}|jƒd}|jƒ}|j|ƒ|j||dkƒdS(Ni(RR•RËR–RÊR*(RR˜t lsn_firstR€((s+/sys/lib/python2.7/bsddb/test/test_dbenv.pyt test_2_last½s   cCs |jjƒ}|jƒd}|j|jƒdƒ|jƒd}|jƒ}|j|ƒ|j||dkƒ|j||dkƒ|jƒ}|j|d|dkƒ|j||dkƒ|jƒ}|j|d|dkƒ|j||dkƒdS(Ni( RR•R–RtnextRRËRÊR*(RR˜tlsn_lastRÍR€R„tv3((s+/sys/lib/python2.7/bsddb/test/test_dbenv.pyt test_3_nextÄs    cCs |jjƒ}|jƒd}|j|jƒdƒ|jƒd}|jƒ}|j|ƒ|j||dkƒ|j||dkƒ|jƒ}|j|d|dkƒ|j||dkƒ|jƒ}|j|d|dkƒ|j||dkƒdS(Ni( RR•RËRR«RR–RÊR*(RR˜RÍRÐR€R„RÑ((s+/sys/lib/python2.7/bsddb/test/test_dbenv.pyt test_4_prevÖs    cCs?|jjƒ}|jƒ|jƒ}|j||jƒƒdS(N(RR•RËRÏRtcurrent(RR˜R€((s+/sys/lib/python2.7/bsddb/test/test_dbenv.pyttest_5_currentès  cCsr|jjƒ}|jƒ|jƒ}|j||jƒƒ|j||jƒƒ|j||j|dƒƒdS(Ni(RR•RËRÏtassertNotEqualRtset(RR˜R€((s+/sys/lib/python2.7/bsddb/test/test_dbenv.pyt test_6_setîs   cCs3|jjƒ}|jƒ|jtj|jƒdS(N(RR•R R!RtDBCursorClosedErrorRÏ(RR˜((s+/sys/lib/python2.7/bsddb/test/test_dbenv.pyttest_explicit_closeös cCs`gtdƒD]}|jjƒ^q }|jjƒx$|D]}|jtj|jƒq<WdS(Ni (R¢RR•R R!RRÙRÏ(RRR˜((s+/sys/lib/python2.7/bsddb/test/test_dbenv.pyttest_implicit_closeûs(  ( R R RR RÊRÌRÎRÒRÓRÕRØRÚRÛ(((s+/sys/lib/python2.7/bsddb/test/test_dbenv.pyRÀ™s        cCs~tjƒ}|jtjtƒƒ|jtjtƒƒ|jtjtƒƒ|jtjtƒƒ|jtjtƒƒ|S(N( tunittestt TestSuitetaddTestt makeSuiteRR¬RÀRR (tsuite((s+/sys/lib/python2.7/bsddb/test/test_dbenv.pyt test_suites t__main__t defaultTestRá(RÜtostglobttest_allRRRRtTestCaseRRRR R¬RÀRáR tmain(((s+/sys/lib/python2.7/bsddb/test/test_dbenv.pyts " ÿ /0h