c3qSSKrSSKrSSKrSSKJr SSKJr SSKJr SSKJ r \Rr \RR\ \R5rSrSrSr"S S 5r"S S \R&5r\"5H7r\R,S SrS\3r\"\\\R&4S\05\"5\'M9 \S:Xa\R6"5 gg!\a SrNf=f!\a Sr Nf=f)N) import_helper) os_helper)sqlite3)ndbmc## [RH&n[US/S9nU[RU'Uv M( g![a M8f=f7f)Nopen)fromlist)dbm_names __import__ ImportError_modules)namemods 4/opt/alt/python313/lib64/python3.13/test/test_dbm.py dbm_iteratorrsN  TVH5C! T    s%A >A A A A  Ac8[R"[5 gN)rrmtreedirnamercleaunup_test_dirr's WrcL[5 [R"[5 gr)rosmkdirrrrrsetup_test_dirr*sHHWrc\rSrSrSSSSSSS.rS rS rS rS rS r Sr Sr Sr Sr SrSrSrSrSrSrSrSrSrSrg)AnyDBMTestCase/sPython:s ProgrammingstheswaysGuidosintended)abcdfgc[R"[S5nURH#nURUXR S5'M% UR 5 g)Nnascii)r r_fname_dictencodeclose)selfr%ks rinit_dbAnyDBMTestCase.init_db8sB HHVS !A#'::a=Ahhw   rc[SUR555n[URR55nURX#5 U$)Nc3B# UHoRS5v M g7f)r)N)decode).0r/s r -AnyDBMTestCase.keys_helper..?s:Ahhw''s)sortedkeysr+ assertEqual)r.r%r9dkeyss r keys_helperAnyDBMTestCase.keys_helper>s@:::tzz() % rcjUR[URR[55 gr) assertTrue issubclassmoduleerrorOSErrorr.s r test_errorAnyDBMTestCase.test_errorDs  4;;#4#4g>?rcjUR[R[R[5 gr) assertRaisesr rBrr*rDs rtest_anydbm_not_existing'AnyDBMTestCase.test_anydbm_not_existingGs #))SXXv6rc4[R"[S5nUR[ UR 55/5 UR H#nUR UXRS5'M% URU5 UR5 g)Nr#r)) r rr*r:listr9r+r, read_helperr-r.r%keys rtest_anydbm_creation#AnyDBMTestCase.test_anydbm_creationJsj HHVS ! affh,::C%)ZZ_Ajj! "   rc[R"[5 [R"[S5nUR [ U5S5 SSS5 g!,(df  g=f)Nr(r)rcreate_empty_filer*r rr:lenr.r%s r8test_anydbm_creation_n_file_exists_with_invalid_contentsGAnyDBMTestCase.test_anydbm_creation_n_file_exists_with_invalid_contentsRs@##F+ XXfc "a   SVQ '# " "s A A)c2UR5 [R"[S5nS=URS'US'UR U5 UR URSS5S5 UR USS5 UR5 g)Nr#sindentedr&gxxxfoo) r0r rr*r+rMr: setdefaultr-rUs rtest_anydbm_modification'AnyDBMTestCase.test_anydbm_modificationXsw  HHVS !$// 3!D'  ff5v> 6F+  rcUR5 [R"[S5nUR U5 UR UR S5URS5 UR UR SS5S5 URUR S55 UR[5 US SSS5 UR5 g!,(df  N=f)Nrar!rZr[) r0r rr*rMr:getr+ assertIsNonerHKeyErrorr-rUs rtest_anydbm_readAnyDBMTestCase.test_anydbm_readbs  HHVS !  tdjjo6 vv.7 !%%-(   x ( fI)  ) (s C!! C/cUR5 [R"[S5nUR U5nUR 5 g)Nr`)r0r rr*r<r-)r.r%r9s rtest_anydbm_keysAnyDBMTestCase.test_anydbm_keysns4  HHVS !"  rc[[RSS5S:XaURS5 [R"[ S5nUR UR5/5 SUS'UR UR5S/5 URSU5 UR USS5 UR URS5S5 UR URS5S5 UR5 g)Nlibraryz Berkeley DBzCBerkeley DB doesn't distinguish the empty value from the absent oner#rsempty) getattrr _defaultmodskipTestrr*r:r9assertInrbr\r-rUs rtest_empty_valueAnyDBMTestCase.test_empty_valuets 3??It 4 E MM0 1 HHVS ! 2&(  H:. h" 8c* x#. h/5  rcUR5 [R"[S5nSR S5nUR X!5 UR 5 g)Nr`r!r))r0r rr*r,ror-rNs rtest_anydbm_access!AnyDBMTestCase.test_anydbm_accesss>  HHVS !jj! c  rc~[R"[R"[5S5R 5 gNr#)r rrfsencoder*r-rDs rtest_open_with_bytes#AnyDBMTestCase.test_open_with_bytess" V$c*002rc~[R"[R"[5S5R 5 grv)r rrFakePathr*r-rDs rtest_open_with_pathlib_path*AnyDBMTestCase.test_open_with_pathlib_paths$ ##F+S1779rc[R"[R"[R "[ 55S5R5 grv)r rrr{rrwr*r-rDs r!test_open_with_pathlib_path_bytes0AnyDBMTestCase.test_open_with_pathlib_path_bytess- ##BKK$78#>DDFrcURU5nURH3nURURUXRS55 M5 g)Nr))r<r+r:r,)r.r%r9rOs rrMAnyDBMTestCase.read_helpersD"::C   TZZ_a 70C.D Erc^[R"[S5mURTR 5/5 SS/nUH up#UTU'M UR[ TR 55[ SU555 UH,up#UR UT5 URTUU5 M. URST5 UR[U4Sj5 SSS5 g!,(df  g=f)Nr#rabs 12345678910s019237410982340912840198242c3*# UH upUv M g7frr)r5r/vs rr6+AnyDBMTestCase.test_keys..s5HaFQaasrZc>TS$)NrZr)r$sr*AnyDBMTestCase.test_keys..s & r) r rr*r:r9r8ro assertNotInrHrd)r.r!r/rr$s @r test_keysAnyDBMTestCase.test_keyss XXfc "a   QVVXr *OPA!   VAFFH-v5Ha5H/H I a#  1q)   VQ '   h(9 :# " "s C C22 Dc[R"[S5nURUR 5/5 SS/nUH up4XAU'M UHup5UR X15 M UR[ U5[ U55 UR5 UR[ U5S5 UHup5URX15 M SSS5 g!,(df  g=f)Nr#rrr) r rr*r:r9rorTclearr)r.r$r!r/r_s r test_clearAnyDBMTestCase.test_clears XXfc "a   QVVXr *OPA! a#   SVSV , GGI   SVQ '  &# " "s B;C  C.cUR[[S[R5 UR[lUR[ 5 [ 5 g)Nrm) addCleanupsetattrr rmrArrrDs rsetUpAnyDBMTestCase.setUps6 mS__E++ )*rrN)__name__ __module__ __qualname____firstlineno__r+r0r<rErIrPrVr]rerhrprsrxr|rrMrrr__static_attributes__rrrrr/sx   E  @7(   3:GF ; 'rrc\rSrSrSr\R "\SS9S5r\R "\ SS9S5r \R "\ SS9S5r S r S r g ) WhichDBTestCasec@UR[[S[R5 [R "[ 5n[ [R"[ 5U[R"U5/n[5HnURn[5 U[lUR[ S5 SSS5 UH-nURX@RRU55 M/ UR[ S5nSUS'URSU5 URUSS5 SSS5 UH-nURX@RRU55 M/ M g!,(df  N=f!,(df  NW=f)Nrmr#w1)rrr rmrrwr*rr{rrrrr:whichdbro)r. _bytes_fnamefnamesrArpathr%s r test_whichdbWhichDBTestCase.test_whichdbs' mS__E{{6* ),,V4 2 2< @B"nF??D  $COVS))  xx'7'7'=>VS)Q$ dA&  4$/ *   xx'7'7'=>#%*)*)s?E>-F> F  F zTest requires ndbm)reasoncd[[S-S5 SSS5 [R"[5n[[R "[5U[R "U5/nUH-nUR URRU55 M/ g!,(df  N=f)Nz.dbwb) rr*rrwrr{rcr r)r.rrrs rtest_whichdb_ndbm!WhichDBTestCase.test_whichdb_ndbms{&5.$ ' '{{6* ),,V4 2 2< @BD   dhh..t4 5 ( 's B!! B/zTest requires dbm.sqlite3c[R"[S5nSUS'SSS5 URURR [5S5 g!,(df  N>=f)Nr#valuerO dbm.sqlite3) dbm_sqlite3rr*r:r r)r.dbs rtest_whichdb_sqlite3$WhichDBTestCase.test_whichdb_sqlite3sL  fc *bBuI+ ))&1=A+ *s A A(cz[R"S5nUR[5nUR S5 UR 5 SSS5 WR 5 URURR[5S5 g!,(df  NN=f!WR 5 f=f)NrzCREATE TABLE dummy(database)r) r import_moduleconnectr*executecommitr-r:r r)r.rcxs r test_whichdb_sqlite3_existing_db0WhichDBTestCase.test_whichdb_sqlite3_existing_dbs --i8 (B 9: ) HHJ ))&1=A )( HHJs"B("BB( B%!B((B:cxUR[5 [5 [R"S5Ulg)Nr )rrrrimport_fresh_moduler rDs rrWhichDBTestCase.setUps' )* 44U;r)r N)rrrrrunittest skipUnlessrrrrrrrrrrrrsx?2&:;6<6-HIBJB -HI BJ Brs &"*     gy// 0  IIX<C \\!" F6(#Hx .0A0AB (#0GIh  z MMOoK  Ds"CC*C'&C'*C54C5