LJJč NSSKrSSKrSSKrSSKrSSKrSSKrSSKJr SSKJ r "SS\R5r "SS5r "SS \ 5r "S S \ \R5r"S S \ \R5r"SS\ \R5r"SS\R5r"SS\5r"SS\5r"SS\ \R5r"SS\ \R5r"SS\5r"SS\ \R5r"SS\ \R5r"S S!\5r"S"S#\ 5r"S$S%\\R5r"S&S'\\R5r"S(S)\ \R5r"S*S+\R5r"S,S-\5r "S.S/\ \R5r!"S0S1\ \R5r""S2S35r#S4r$"S5S6\R5r%"S7S8\R5r&"S9S:\R5r'"S;S<\R5r("S=S>\R5r)"S?S@\ \R5r*"SASB\R5r+"SCSD\R5r,"SESF\R5r-\.SG:Xa\R^"5 gg)HN)support) os_helperc<\rSrSrSrSrSrSrSrSr \r Sr g ) SortedDict cH[URR55$N)sorteddataitemsselfs =/opt/alt/python313/lib64/python3.13/test/test_configparser.pyr SortedDict.itemssdiioo'((cH[URR55$r )r r keysr s rrSortedDict.keyssdiinn&''rcRUR5Vs/sHoSPM sn$s snf)N)r )ris rvaluesSortedDict.valuess""jjl+l!l+++s$c4[UR55$r )iterr r s r iteritemsSortedDict.iteritemssDJJL!!rc4[UR55$r )rrr s riterkeysSortedDict.iterkeyssDIIK  rc4[UR55$r )rrr s r itervaluesSortedDict.itervaluessDKKM""rN) __name__ __module__ __qualname____firstlineno__r rrrrr"__iter____static_attributes__r$rrrr s')(,"!#Hrrc\rSrSrSrSrSrSrSr\ Rr Sr \ Rr\ RrS SjrS SjrS rg) CfgParserTestCaseClass#F)=:);#TNc [UURURURURUR UR URURURS9 nUR"S0UD6nU$)N) defaultsallow_no_value delimiterscomment_prefixesinline_comment_prefixesempty_lines_in_values dict_typestrictdefault_section interpolationr$) dictr4r5r6r7r8r9r:r;r< config_class)rr3 argumentsinstances r newconfig CfgParserTestCaseClass.newconfig.st..!22$($@$@"&"<"<nn;; 00,,  $$1y1rcJURU5nURU5 U$r )rA read_string)rstringr3cfs r fromstring!CfgParserTestCaseClass.fromstring>s! ^^H % v rr$r )r%r&r'r(r4r5r6r7r8 configparser _default_dictr9r: DEFAULTSECTr;_UNSETr<rArGr*r$rrr,r,#sNNJ!( **I F"..O ''M rr,c\rSrSrSrSrSrSrSrSr Sr S r S r S r S rS rSrSrSrSrSrSrSrSrSrSrSrSrg) BasicTestCaseDcN!/SQnUR(aURS5 UR5 SS/nUR5nUR5 URnU"XB5 UR S5nUR5 U"XC5 UVs/sHofPM nnUR5 URUR 5 UR5 U"XB5 USR 5n[[U55nU"XC5 UR 5n[[U55nUR [U5[U55 UHupvU"XvR5 M U"UR5XR 5 U"URSS5S5 U"URS S5S 5 U"URSS5S 5 U"URSS 5S 5 U"URSS5S5 U"URSS 5S 5 U"URSS5S5 U"URSS5S5 U"URSS5S5 U"URSS5S5 URURSS5S5 U"URSS5S5 U"UR!SS5S5 U"URSS5S5 U"URS S!5S"5 UR(aU"URSS#5S5 U"URSSS S$9S5 U"URSSSS 0S%9S 5 UR#[$R&5 URS&S5 SSS5 UR#[$R(5 URSS'5 SSS5 U"URS&SS S$9S 5 U"URSS'S S$9S 5 U"URS SSS$9S 5 U"URS(SSS$9S5 U"URSSS)S$9S5 U"URSS*S)S$9S)5 U"URSS*S+S$9S+5 UR#[$R(5 URSS*5 SSS5 URURSSS,S$9S5 URURSS-S,S$9S,5 U"URSS-S.S$9S.5 UR#[$R(5 URSS-5 SSS5 U"UR!SSS/S$9S5 U"UR!SS0S1S$9S15 U"UR!SS0S/S$9S/5 UR#[$R(5 UR!SS05 SSS5 U"UR!S2SS/S$9S/5 UR(a0U"URSS#SS$9S5 U"URSS3SS$9S5 U"USSS5 U"US SS 5 USnU"URS5 UR+UR,U5 UR#[.5 S4Ul SSS5 UR#[.5 S5UlSSS5 U"USS 5 U"US S 5 U"USSS5 U"USS S 5 U"USSS5 U"USSS5 U"US6SS75 UR(aU"USS#S5 U"USRSS 5S5 U"USRSS S$9S5 U"USRSSS 0S%9S 5 UR#[05 US&S SSS5 UR#[05 USS' SSS5 UR#[05 US&RSS S$9 SSS5 U"USRS'S 5S 5 U"USRS'S S$9S 5 U"USRS'5S5 U"US RSS5S 5 U"US RSSS$9S 5 UR#[05 US(RSS5 SSS5 U"USRSS)5S5 U"USRSS)S$9S5 U"USRS*S)5S)5 U"USRS*S)S$9S)5 U"USRS*S+5S+5 U"USRS*S+S$9S+5 U"USRS*5S5 URUSRSS,5S5 URUSRSS,S$9S5 URUSRS-S,5S,5 URUSRS-S,S$9S,5 U"USRS-S.5S.5 U"USRS-S.S$9S.5 U"USRS-5S5 U"USR!SS/5S5 U"USR!SS/S$9S5 U"USR!S0S15S15 U"USR!S0S1S$9S15 U"USR!S0S/5S/5 U"USR!S0S/S$9S/5 U"USR!S05S5 UR(alU"USRS#S5S5 U"USRS#SS$9S5 U"USRS3S5S5 U"USRS3SS$9S5 S8XR S9'S:XR S;'UR3UR5S55 UR7UR9SS55 UR7UR5S55 UR7UR5UR 55 UR3UR;SS5S<5 UR7UR9SS5S=5 UR7UR;SS5S>5 UR3UR9SS955 UR7UR;SS955 UR3UR;UR S955 UR7UR9SS955 UR7UR;UR S955 UR#[$R&5nUR;S?S5 SSS5 UR WR<R>S@5 U"URS6S5S75 US UR7SU;5 UR#[05 US SSS5 UR#[@5 XR SSS5 US S UR7SUS ;5 UR#[05 US S SSS5 UR3S;US ;5 UR#[05 US S; SSS5 XR S; UR7S;US ;5 UR#[05 XR S; SSS5 UR#[05 US?S SSS5 gs snf!,(df  G N=f!,(df  G N=f!,(df  G N=f!,(df  G N@=f!,(df  G N=f!,(df  G N=f!,(df  GN=f!,(df  GN=f!,(df  GN=f!,(df  GN=f!,(df  GN;=f!,(df  GNo=f!,(df  GN =f!,(df  GN=f!,(df  GN=f!,(df  GN=f!,(df  GNY=f!,(df  g=f)AN) Commented BarFoo BarInternationalized Stuff Long LineSection\with$weird%characters[ Spaces Spacey BarSpacey Bar From The BeginningTypesThis One Has A ] In ItNoValue)bazqwe)foobar3rXrRr^bar1rWbar2r_r\r]rQbar4rVkey with spacesvalueanother with spacessplat!rYint*42float)\(?z0.44booleanF123strange but acceptablerZforksspoonsoption-without-valuefallbackvarszNo Such Foo Barz no-such-foozNo Such Spacey Barz no-such-int18gz no-such-floatz0.0Tzno-such-booleanyesz No Such Typeszno-such-option-without-valuezName is read-onlyzParser is read-onlyrT7this line is much, much longer than my editor likes it.1 this_value2 that_valuez4remove_option() failed to report existence of optionz'remove_option() failed to remove optionzIremove_option() failed to report non-existence of option that was removedNo Such Section)r~)!r4appendsortsections assertEqualr r;r listlennamer3getgetintassertAlmostEqualgetfloat getboolean assertRaisesrINoSectionError NoOptionErrorassertIsparserAttributeErrorKeyError assertTrueremove_section assertFalse has_option remove_option exceptionargs ValueError) rrFEFLeqsectionrcms r basic_testBasicTestCase.basic_testFs     HHY   _ - KKM     1 HH4 5  1%' 'BWB '  %%&  1 . / 5 5 7 47O 1 HHJ 47O QQ(MD t\\ " 2;;="1123 266)U #V, 266, &/ 26615 96B 26615 95A 266/5 )62 266/5 )51 266(- .8 266(1 2H= 299We $b) 266'5 !4( r{{7G 266&6 =tD 299Web9 126 299Wmb9 92> 299Wmd9 ;TB   |99 : IIg} -; r{{7G47 + 9:> @ r{{7O47 + 9:= ? 2;;w%; @%H   |99 : KK 1; 2==)d= ;UC 2=="3e= D   2=="3d= CTJ   |99 : MM'#4 5; 2==)d= CTJ    rvvi!7%vH$ O rvvi!?$&', . 2i= ( 2l E "F+45 7<<89 gnnb)   ~ ..GL/   ~ .2GN/ 75>6" 75>5! 2o u %v. 2o u %u- 2h<) *G4 2h<- .9 2k?5 ! E G    r)}34d ; 2i=  UE *F3 2i=  UU  3V< 2i=  U%  8%@   x (  !% ()   x ( yM- ()   x (  ! % %ee % <) 2i=  ]E 2E: 2i=  ]U  ;UC 2i=  ] +T2 2l   t ,f5 2l     5v>   x ( # $ ( ( 5) 2g;  eR ("- 2g;  eb  126 2g;  mR 0"5 2g;  mb  92> 2g;  mT 2D9 2g;  md  ;TB 2g;  m ,d3 r'{33GSA4H r'{33G=@ 4 BCG I r'{33OSI3O r'{33O=@ 4 BCF H 2g;   7? 2g;  %  @%H 2g;   0$7 2g; ! !)T 2E: 2g; ! !)d ! ;UC 2g; ! !"3U ;UC 2g; ! !"3e ! D   2g; ! !"3T :DA 2g; ! !"3d ! CTJ 2g; ! !"3 4d;    r)}  !7? F r)}  !7% H$ O r)}  !?G O r)}  !?$!&', . 25   .14   . ))(34 x1BCD **845 **4+?+?@A ((E:N P y%8= ? )))U;( )  i>? )))\BC (()=)=|LM y,?@ ))$*>*> MN   |:: ;r   . 6< **,@A 266+u % E G wK B'   x (7 )   z *''(+ | U # "\"223   x (< ')  <(889   x (< .) ## $\ 2 L)99:   x (''(6)   x ($%e,) (} (R< ; : :; :; : ; :/ . . . ) ( ( ( ( () (r< ;) ( * *) () () ( ( (s }}$}6:~~~,+~> "0 4A@A@/A@*5A@< AAAA AA2"ABAB$ }36 ~ ~ ~), ~;>   " 14 A@@ A@@ A@'@* A@9@< AA A AAA AA/A2 ABB ABB AB$cSRURUR5nUR(aUS- nUR U5nUR U5 UR (aUR[R5 UR[R"SRUR555 SSS5 UR[R5 UR[R"SRUR555 SSS5 gUR[R"SRUR555 UR[R"SRUR555 g!,(df  N=f!,(df  g=f)Nax[Foo Bar] foo{0[0]}bar1 [Spacey Bar] foo {0[0]} bar2 [Spacey Bar From The Beginning] foo {0[0]} bar3 baz {0[0]} qwe [Commented Bar] foo{0[1]} bar4 {1[1]} comment baz{0[0]}qwe {1[0]}another one [Long Line] foo{0[1]} this line is much, much longer than my editor likes it. [Section\with$weird%characters[ ] [Internationalized Stuff] foo[bg]{0[1]} Bulgarian foo{0[0]}Default foo[en]{0[0]}English foo[de]{0[0]}Deutsch [Spaces] key with spaces {0[1]} value another with spaces {0[0]} splat! [Types] int {0[1]} 42 float {0[0]} 0.44 boolean {0[0]} NO 123 {0[1]} strange but acceptable [This One Has A ] In It] forks {0[0]} spoons z[NoValue] option-without-value z [Duplicate Options Here] option {0[0]} with a value option {0[1]} with another value z [And Now For Something] completely different {0[0]} True [And Now For Something] the larch {0[1]} 1 z [Duplicate Options Here] option {0[0]} with a value option {0[1]} with another value z [And Now For Something] completely different {0[0]} True [And Now For Something] the larch {0[1]} 1 )formatr5r6r4rGrr:rrIDuplicateOptionErrorrDtextwrapdedentDuplicateSectionErrorr config_stringrFs r test_basicBasicTestCase.test_basic&sb< F4??D112= >    ) M__] +  ;;""<#D#DEx0F4??+  -.F ""<#E#EFx0 F4??+  -.GF NN8??,t' ) * NN8??, t' ) *)FE GFs?F:5?G : G Gc SS0SS0SSS.SSS.SS00S S S S S .SSS.SSSSS.SS0S. nUR(aURSSS005 UR5nURU5 UR U5 UR (aUR [R5 URSS0SS0S.5 SSS5 UR [R5 URSS S!S".05 SSS5 gURSS0SS0S#.5 URSS S!S".05 g!,(df  N|=f!,(df  g=f)$Nr^r`rar_r])r^r\rbry BulgarianDefaultEnglishDeutsch)zfoo[bg]r^zfoo[en]zfoo[de]rdrf)rcrerhrkFrn)rgrjrl{rorp) rRrWrXrQrTrUrSrVrYrZr[rqkeykey2value2)rzrzDuplicate Options Herez with a valuezwith another value)optionOPTION)rSECTION) r4updaterA read_dictrr:rrIrrrconfigrFs rtest_basic_from_dict"BasicTestCase.test_basic_from_dictisvv.  2' $$ ($+'/  - 'K( R    MM*D  ^^  V  ;;""<#E#EF ))G ""<#D#DE ,"0"6/FE LL!7+"H-  LL(,2+ #GF FEs1E1E E Ec2UR5nURS5 URS5 URS5 UR5nUR5 URnU"U/SQ5 UR SSS5 U"UR S5S/5 U"URSS5SS5 UR[R5 UR SSS5 SSS5 URURSS55 URURSS55 UR SSS 5 S H%nURURSU5S 5 M' U"UR S5S /5 U"UR S5S/5 URSS5 U"UR S5/5 URS R!UR"S55nU"UR S5S/5 U"URSS5S5 URSR!UR"S5SS0S9nURURSS55 g!,(df  GN=f)NAaB)rrrrdb@could not locate option, expecting case-insensitive option namesA-B A-B valuea-bzA-bza-Br9has_option() returned false for option which should existr3[MySection] Option{} first line second line r MySectionrOptionfirst line second line[section] nekey{}nevalue rr3rKey)rA add_sectionrrrsetoptionsrrrIrrrrrrGrr5)rrFrropts rtest_case_sensitivity#BasicTestCase.test_case_sensitivitys& ^^  s s s KKM     1o sC! 2::c?SE" 266#s W M O   |:: ; FF3W %<  c3/0 sC01 sE;'/C OO c3'K M0 2::c?UG$ 2::c?SE" c" 2::c?B__ E L L" $% 2::k "XJ/ 266+x (*CD__006tq7I0J',Wo7  i785< ;s J Jc *UR5n0US'SS0US'0US'UVs/sHo"PM nnUR5 URnURnU"U[ SSUR S/55 U"USR 5S15 U"USSSS5 UR[5 SUSS'SSS5 URSUS;5 SUSS'S HnURXaS;S 5 M U"USR 5S 15 U"USR 5S15 USS U"USR 505 URS RURS 55nU"USR 5S15 U"USSS5 URSRURS 5SS0S9nURSUS;5 gs snf!,(df  GNF=f)Nrrrdrrrrrrrrrrrrrrrrrrr) rArrassertCountEqualr r;rrrrrGrr5)rrFrrrelem_eqrs r$test_case_sensitivity_mapping_access2BasicTestCase.test_case_sensitivity_mapping_accesss ^^ 3.33$& 'BWB '    '' 1fc3 4 4c:;< 2c7<<>C5! 2c73< M O   x ("BsGCL) r#w'$3/C OO#wK M0 2c7<<>E7# 2c7<<>C5! sGCL3 #__ E L L" $% 2k?   !H:. 2k?8 $&?@__006tq7I0J',Wo7 I./C () (s G>; H HcURSS05nURURURS5SS5 URSS05nURURURS5SS5 g)Nr^BarFoorzrrz[Foo] wrong-indent )r cfgparser.3 configdatasubdirr.z. # INI with as many tricky parts as possible utf-8encoding) rA parse_errorrI ParsingErrorrr5MissingSectionHeaderErrorrrr4rfindfileopen)rrFetrickyerrorexpectedfs rtest_parse_errorsBasicTestCase.test_parse_errorssu ^^  \6644:F4??1;M4N P \6644:F4??1;M4N P   R!G!G, . !>?""  \%>%> 9;A   QVVZ 0%%mLIFq!S($11"9$>>"AMOfw/1$$R20   QVVX .#0/s 1F** F8c[US5(aUnO[R"U5nURU5nUR U5 SSS5 UR $!,(df  WR $=f)Nreadline)hasattrioStringIOr read_filer)rrFexcsrcsiors rrBasicTestCase.parse_error-s` 3 # #C++c"C   s #r LL $||$ #||s A"" A;cUR5nURUR5/S5 URUR S5S5 UR [ R5 URS5 SSS5 UR [ R5 URSSS5 SSS5 URU[ RSS5nURURS5 URS5 URU[ RSS5nURURS5 g!,(df  N=f!,(df  N=f) Nz0new ConfigParser should have no defined sectionsrz5new ConfigParser should have no acknowledged sectionsr^barrd)r^)rr^)rArrr has_sectionrrIrrr get_errorrrrrrFrs rtest_query_errorsBasicTestCase.test_query_errors6s ^^  K M .$ %  |:: ; JJu <   |:: ; FF5% )< NN2|::E5 I * u NN2|995% H 0< ; ; ;s2E+E& E#& E4cURX45 URSUR<SUR<35 g!Ua nUsSnA$SnAff=f)Nzexpected exception type .)rfailr&r')rrFrrrrs rrBasicTestCase.get_errorGsL < FF7 # II)9)9; < H sAAAAAcZURSRURSS95n[SS5HpnUR UR SSU-55 UR UR SSU-55 UR[UR SS U-5 Mr g) Nz[BOOLTEST] T1{equals}1 T2{equals}TRUE T3{equals}True T4{equals}oN T5{equals}yes F1{equals}0 F2{equals}FALSE F3{equals}False F4{equals}oFF F5{equals}nO E1{equals}2 E2{equals}foo E3{equals}-1 E4{equals}0.1 E5{equals}FALSE AND MORErequalsrBOOLTESTzt%dzf%dze%d) rGrr5rangerrrrr)rrFxs r test_booleanBasicTestCase.test_booleanPs __ '(.vT__Q5Gv'H!$q!A OOBMM*eai@ A   R]]:uqyA B   j mmZ Drc  UR5nURS5 UR[R5nURS5 SSS5 WR nUR [U5S5 UR URS5 UR(Ga+UR[R5nUR[R"SRURSS95SS9 SSS5 UR nUR [U5S 5 UR URS 5 UR[R5nUR!S S S S.05 SSS5 UR nUR [U5S5 UR URS5 gg!,(df  GN=f!,(df  N=f!,(df  Nv=f)NrzSection 'Foo' already exists)rNNz [Foo] will this be added{equals}True [Bar] what about this{equals}True [Foo] oops{equals}this won't rr  sourcezFWhile reading from '' [line 5]: section 'Foo' already exists)rrrrvalzis really `opt`)rOPTzIWhile reading from '': option 'opt' in section 'Bar' already exists)rrzN)rArrrIrrrstrrr:rDrrrr5rr)rrFrrs rtest_weird_errorsBasicTestCase.test_weird_errorsis ^^  u   |AA Bb NN5 !C LL Q!?@ !45 ;;;""<#E#EF"x0F$//!"4F5 7@KLG A   SV&O P   QVV%< =""<#D#DE eU;L%MNOF A   SV&M N   QVV%C D)  C BGFFEs$G?G.8G? G+. G<? H cUR5n[R"SRURSS95nUR (a:UR [R5 URU5 SSS5 OURU5 URURSS5S5 g!,(df  N1=f)Nz_ [Foo] x{equals}1 y{equals}2 y{equals}3 rr rrrz) rArrrr5r:rrIrrDrr)rrFinis r%test_get_after_duplicate_option_error3BasicTestCase.test_get_after_duplicate_option_errors ^^ oo F$//!,F - / ;;""<#D#DEs#FE NN3  s+S1 FEs 1C CcSRURURSURS9nUR(aUS- nUR U5nSHn[ R"5nURXCS9 URSnU(aSRU5nSRUURS 9nUR(aUS - nURUR5U5 M g) Na8[Long Line] foo{0[0]} this line is much, much longer than my editor likes it. [{default_section}] foo{0[1]} another very long line [Long Line - With Comments!] test {0[1]} we {comment} can also {comment} place comments {comment} in multiline {comment} values r)commentr;z![Valueless] option-without-value )TF)space_around_delimitersz {} z[{default_section}] foo{equals}another very long line [Long Line] foo{equals}this line is much, much longer than my editor likes it. [Long Line - With Comments!] test{equals}we also comments multiline )rr;z"[Valueless] option-without-value ) rr5r6r;r4rGrrwritergetvalue)rrrFr$output delimiter expect_strings r test_writeBasicTestCase.test_writes 1F1Fq1I(,(<(<>      % M __] +'4 #[[]F HHVH M*I&"MM)4  V9,0,@,@B """   V__. >;(5rctURSRURSS95n"SS[5nUR SSS5 UR SSU"S55 UR SS S5 UR SS U"S55 UR SSS5 UR SS S5 g) N[sect] option1{eq}foo rrc\rSrSrSrg)2BasicTestCase.test_set_string_types..mystrir$N)r%r&r'r(r*r$rrmystrr0s rr1sectoption1splatoption2)rGrr5rr)rrFr1s rtest_set_string_types#BasicTestCase.test_set_string_typess __006$//!:L0MO C  vy'* vy%.1 vy'* vy%.1 vy'* vy'*rc:URSS:waURS5 [R"SSS9nUR 5nUR US/SS 9nUR X1/5 UR URS S 5S 5 UR 5nUR USS 9nUR X1/5 UR URS S 5S 5 UR 5nUR [R"U5SS 9nUR X1/5 UR URS S 5S 5 UR 5nUR [R"U5U/SS 9nUR X1U/5 UR URS S 5S 5 UR 5nUR S/SS 9nUR U/5 UR 5nUR /SS 9nUR U/5 g) Nrr.incompatible format cfgparser.1rrnonexistent-filerrrRr^newbar) r5skipTestrrrAreadrrrFakePath)rfile1rF parsed_filess rtest_read_returns_file_list)BasicTestCase.test_read_returns_file_lists ??1  $ MM/ 0  |D ^^ ww'9:WwM  w/  518< ^^ wwuww7  w/  518< ^^ wwy11%87wK  w/  518< ^^ ww 2 25 95AGwT  u~6  518< ^^ ww 23gwF  r* ^^ wwrGw4  r*rcURSS:waURS5 [R"SSS9R 5nUR 5nUR USS9nURX1/5 UR 5nUR S SS9nURU/5 UR 5nUR US /SS9nURX1/5 g) Nrr.r9r:rrrrsnonexistent-file)r5r=rrencoderAr>r)rfile1_bytestringrFrAs r0test_read_returns_file_list_with_bytestring_path>BasicTestCase.test_read_returns_file_list_with_bytestring_paths ??1  $ MM/ 0"++M,OVVX ^^ ww/'wB  '9: ^^ ww2WwE  r* ^^ ww 02EFQXwY  '9:rcXURSRURSS95$)Nah[Foo] bar{equals}something %(with1)s interpolation (1 step) bar9{equals}something %(with9)s lots of interpolation (9 steps) bar10{equals}something %(with10)s lots of interpolation (10 steps) bar11{equals}something %(with11)s lots of interpolation (11 steps) with11{equals}%(with10)s with10{equals}%(with9)s with9{equals}%(with8)s with8{equals}%(With7)s with7{equals}%(WITH6)s with6{equals}%(with5)s With5{equals}%(with4)s WITH4{equals}%(with3)s with3{equals}%(with2)s with2{equals}%(with1)s with1{equals}with [Mutual Recursion] foo{equals}%(bar)s bar{equals}%(foo)s [Interpolation Error] name{equals}%(reference)s rr )rGrr5r s rget_interpolation_config&BasicTestCase.get_interpolation_configs1 *.+1&8J&*K1M MrcfURSRUR5SS0S9n[UR SSS0S95nUR 5 UR X15 UR[R5 UR S5 SSS5 g!,(df  g=f) Nz [section] name {0[0]} %(value)s key{0[1]} |%(name)s| getdefault{0[1]} |%(default)s| default rrrdrtzno such section) rGrr5rr rrrrIr)rrrFrs rcheck_items_config BasicTestCase.check_items_config)s __ F4?? #y+.F H )7G*<= >  %   |:: ; HH& '< ; ;s B"" B0cURSRUR5SS0S9nURUR 5SS5 URUR 5SS5 URUR 5SS5 UR [ 5 UR 5 SSS5 g!,(df  g=f) N [section1] name1 {0[0]} value1 [section2] name2 {0[0]} value2 [section3] name3 {0[0]} value3 rMrNrrsection1section2section3)rGrr5rpopitemrrrs r test_popitemBasicTestCase.test_popitem6s __  F4?? #y+.FH a*5 a*5 a*5   x ( JJL) ( (s *C Cc URSS05nURURURS5SS5 SSS.US'URUR 5S/5 UR[ USR 551S k5 UR5 UR[ UR 55[ 55 UR[ XRR 55S15 g) Nr^rrrvalue1r)r3r5zing>r^r3r5)rArrr;rrrclearrs r test_clearBasicTestCase.test_clearEs ^^UEN +  FF4'' / N P"*h?6  1 RZ__./1NO   R[[]+SU3 R 4 45::<=wGrc*URSRUR5SS0S9nUR[ USR 55SS15 UR[ USR 55S S15 UR[ US R 55S S15 URUSSS 5 URUSS S 5 URUS S S5 URUR 5/SQ5 SS0US'UR[ USR 55SS15 URUSSS5 URS US5 URUR 5/SQ5 0US 'UR[ US R 55S15 URS US 5 URUR 5/SQ5 XRXR'UR[ XRR 55[ 55 0XR'UR[ XRR 55[ 55 UR[ USR 55S15 UR[ USR 55S15 UR[ US R 55[ 55 URUR 5/SQ5 USUS'UR[ USR 55S15 g)NrRnameDvalueDrrSname1namedrTname2rUname3rZrvalue3)rSrTrUname22value22) rGrr5rrrr assertNotInr;assertNotEqualrs r test_setitemBasicTestCase.test_setitemQs __  F4?? #w.AC R ^0023gw5GH R ^0023gw5GH R ^0023gw5GH J0(; J0(; J0(; (LM"I.: R ^0023h5HI J19= "Z.1 (LM: R ^0023gY? "Z.1 (LM#%&:&:#;    C#7#7 8 = = ?@#%H#%    R 4 45::<=suE R ^0023gY? R ^0023hZ@ R ^0023SU; (LMJ: R ^0023hZ@rcUR(aURS5 [R"SR UR S55nUR 5nUR[R5 URU5 SSS5 URURSS5S5 URUSSS5 g!,(df  NI=f)Nz2if no_value is allowed, ParsingError is not raisedzC [DEFAULT] test {0} test invalidrDEFAULTtest) r4r=rrrr5rArrIrrDrr)rinvalidrFs rtest_invalid_multiline_value*BasicTestCase.test_invalid_multiline_valuews    MMN O//#vdooa01  ^^    |88 9 NN7 #:  62F; Iv.7: 9s C C'r$N)r%r&r'r(rrrrrrrrrrrrr r*r6rBrGrJrOrWr]rkrqr*r$rrrNrNDs[-@A*FJX'9T&0PL/81"<D2E> 24?l ++B;$M6 (  H$AL 8rrNc0\rSrSr\R rSrSrg)StrictTestCaseiTr$N) r%r&r'r(rIRawConfigParserr>r:r*r$rrrtrts//L Frrtc\\rSrSr\R rSrSrSr Sr Sr Sr Sr S rS rg ) ConfigParserTestCaseicUR5nURnU"URSS5S5 U"URSS5S5 U"URSS5S5 URU[R SS5nUR [R:XaURURS 5 gg) Nrrz%something with interpolation (1 step)bar9z.something with lots of interpolation (9 steps)bar10z/something with lots of interpolation (10 steps)bar11)r{r5something %(with11)s lots of interpolation (11 steps)) rJrrrrIInterpolationDepthErrorr<rLr)rrFrrs rtest_interpolation'ConfigParserTestCase.test_interpolations  * * ,    266% !HI 266% ; = 266% ! < > NN2|CCUG T   !4!4 4   QVV&I J 5rcUR5nURU[RSS5nUR UR S5 UR UR S5 UR URS5 UR[R:XaUR URS5 gg)NInterpolation Errorr reference)rrz %(reference)sr) rJrrIInterpolationMissingOptionErrorrrrrr<rLrrs r test_interpolation_missing_value5ConfigParserTestCase.test_interpolation_missing_values  * * , NN2|KK0& : k2 $9: 6*   !4!4 4   QVV&B C 5rc*UR/SQ5 g)N)rMrN) getdefaultz ||)rz|value|)rrdrOr s r test_itemsConfigParserTestCase.test_itemss !4 5rc URSRURSS95nURUR SS5S5 UR [ R:Xa#URUR SS5S5 gg) Nzc[section] option1{eq}xxx option2{eq}%(option1)s/xxx ok{eq}%(option1)s/%%s not_ok{eq}%(option2)s/%%srr.rokzxxx/%snot_okz xxx/xxx/%s)rGrr5rrr<rIrLrs rtest_safe_interpolation,ConfigParserTestCase.test_safe_interpolations __9:@$(OOA$6:@:8 9  40(;   !4!4 4   RVVIx8, G 5rcURSRURSS95nURUR SS5S5 UR [ URSSS5 UR [ URSSS5 UR [ URSSS 5 URUR SS5S5 URSS S 5 URUR SS 5S 5 g) Nr-rr.r2r3r^z%foozfoo%zf%oor5zfoo%%barzfoo%bar)rGrr5rrrrrrs r#test_set_malformatted_interpolation8ConfigParserTestCase.test_set_malformatted_interpolations __006$//!:L0MO  2E: *bfffiH *bfffiH *bfffiH  2E: vy*-  2I>rcURSRURSS95nUR[UR SSS5 UR[UR SSS5 UR[UR SS[ 55 UR[UR SSS5 UR[UR SSS5 UR[UR SS[ 55 UR[UR SS S 5 UR[URS 5 g) Nr-rr.r2r3rg?r5rzinvalid opt name!)rGrr5r TypeErrorrobjectrrs rtest_set_nonstring_types-ConfigParserTestCase.test_set_nonstring_typess __006$//!:L0MO )RVVVYB )RVVVYD )RVVVYI )RVVVYB )RVVVYD )RVVVYI )RVVVS:MN )R^^S9rczUR5nUR[URUR5 gr )rArrrr;rs rtest_add_section_default-ConfigParserTestCase.test_add_section_defaults* ^^  *bnnd6J6JKrcURSS0S9nURXRSS5 URXRR S5S5 URSS0S9nURXRSS 5 URXRR S5S5 g) Nr333333@rrzz2.4r@rz5.2)rArr;rrrs rtest_defaults_keyword*ConfigParserTestCase.test_defaults_keywords ^^aX^ . 001#6> r"6"67@@EsK ^^c3Z^ 0 001#6> r"6"67@@EsKrr$N)r%r&r'r(rI ConfigParserr>r~rrrrrrrr*r$rrrwrws:,,L J C5 H? :LLrrwc\rSrSr\R rSr\R"S5R5r Sr Sr SrSrSrg) #ConfigParserTestCaseNoInterpolationiNz [numbers] one = 1 two = %(one)s * 2 three = ${common:one} * 3 [hexen] sixteen = ${numbers:two} * 8 cURUSSS5 URUSSS5 URUSSS5 URUSS S 5 g) Nnumbersonerztwoz %(one)s * 2threez${common:one} * 3hexensixteenz${numbers:two} * 8)rrs rassertMatchesIni4ConfigParserTestCaseNoInterpolation.assertMatchesInish Iu-s3 Iu-}= Iw/1DE GY/1EFrc\URUR5nURU5 gr )rGrrrs rtest_no_interpolation9ConfigParserTestCaseNoInterpolation.test_no_interpolations" __TXX & b!rcdUR5nURURS55 gN)rA assertIsNonerDrs rtest_empty_case3ConfigParserTestCaseNoInterpolation.test_empty_cases% ^^  "..,-rc"SS[R5nU"5nURUR5 UR U5 g)Nc\rSrSrSrSrg)bConfigParserTestCaseNoInterpolation.test_none_as_default_interpolation..CustomConfigParseriNr$)r%r&r'r(_DEFAULT_INTERPOLATIONr*r$rrCustomConfigParserrs%) "rr)rIrrDrr)rrrFs r"test_none_as_default_interpolationFConfigParserTestCaseNoInterpolation.test_none_as_default_interpolations< *!:!: * ! txx  b!rr$)r%r&r'r(rIrr>r<rrstriprrrrrr*r$rrrrsF,,LM //  G "."rrc\rSrSrSrSrg),ConfigParserTestCaseInvalidInterpolationTypeic[RSS4HMnURUS9 UR[5 [R "US9 SSS5 SSS5 MO g!,(df  N=f!,(df  Mr=f)Nrhza string)rdr<)rIExtendedInterpolationsubTestrrr)rrds r*test_error_on_wrong_type_for_interpolationWConfigParserTestCaseInvalidInterpolationType.test_error_on_wrong_type_for_interpolation sa"882 KEE*&&y1 --EB2+*L11+*s"A7A&A7& A4 0A77 B r$N)r%r&r'r(rr*r$rrrrsCrrc \rSrSrSrSrSrSrg))ConfigParserTestCaseNonStandardDelimitersiz:=$//"r$Nr%r&r'r(r5r6r7r*r$rrrrJ")rrc\rSrSrSrSrg)-ConfigParserTestCaseNonStandardDefaultSectionigeneralr$N)r%r&r'r(r;r*r$rrrrsOrrcb\rSrSr\R rSRSS5rSr Sr Sr Sr g ) MultilineValuesTestCaseizSI'm having spam spam spam spam spam spam spam beaked beans spam spam spam and spam!  cUR5n[S5HcnSRU5nURU5 [S5H/nUR USRU5UR 5 M1 Me [ [RSSS9nURU5 SSS5 g!,(df  g=f)Ndz section{} z lovely_spam{}wrr) rArrrrwonderful_spamrrTESTFNr%)rrFrsjrs rsetUpMultilineValuesTestCase.setUp s ^^ sA""1%A NN1 2Yq/003T5H5HI )""C' :a HHQK; : :s B77 CcL[R"[R5 gr )osunlinkrrr s rtearDown MultilineValuesTestCase.tearDown*s )""#rc"UR5n[[RSS9nUR U5 SSS5 UR UR SS5URRSS55 g!,(df  NK=f)Nrrsection8 lovely_spam4r ) rArrrrrrrreplace)r cf_from_filers r test_dominating_multiline_values8MultilineValuesTestCase.test_dominating_multiline_values-sr~~' )""W 5  " "1 %6 ))*nE,,44VTB D6 5s B Br$N) r%r&r'r(rIrr>rrrrrr*r$rrrrs3,,L,-4WS&-A$DrrcD\rSrSr\R rSrSrSr Sr Sr g)RawConfigParserTestCasei7cUR5nURnU"URSS5S5 U"URSS5S5 U"URSS5S5 U"URSS5S 5 g) Nrrz*something %(with1)s interpolation (1 step)ryz3something %(with9)s lots of interpolation (9 steps)rzz5something %(with10)s lots of interpolation (10 steps)r{r|)rJrrrrFrs rr~*RawConfigParserTestCase.test_interpolation:s~  * * ,    266%  7 9 266% @ B 266% ! B D 266% ! B Drc*UR/SQ5 g)N)r)rz |%(default)s|)rz |%(name)s|)rz %(value)srr s rr"RawConfigParserTestCase.test_itemsFs !8 9rcUR5nURS5 URSSS5 URSS/SQ5 URSSSS05 URUR SS5S5 URUR SS5/SQ5 URUR SS5SS05 URS 5 URS S S 5 URUR S S 5S 5 UR [ RLa>S UlURSSS5 URUR SS5S5 gg) Nz non-stringrgrr)rrrr r=pign! @rz this is sickTcU$r r$)rs rBRawConfigParserTestCase.test_set_nonstring_types..\sqr) rArrrr_dictrIrJ optionxformrs rr0RawConfigParserTestCase.test_set_nonstring_typesLs) ^^  |$ |UA& |V%>? |VdG_5  e4a8  f52 4  f5gG s sND) ^4d; 88|11 1)BN FF<A &   RVVL!4a 8 2rc6UR[5nURSS0S9 SSS5 WRnUR [ U5S5 URSS0S9nUR X0RSS5 g!,(df  Nh=f)Nrrrz%'int' object has no attribute 'lower'rrr)rrrArrrrr;)rctxerrrFs rr-RawConfigParserTestCase.test_defaults_keyword`s   ~ .# NNQHN -/mm S#JK ^^c3Z^ 0 r"6"67r~rrrr*r$rrrr7s#//L D9 9(Crrc \rSrSrSrSrSrSrg),RawConfigParserTestCaseNonStandardDelimitersijrrr$Nrr$rrrrjrrrc>\rSrSr\R rSrSrSr Sr Sr g)RawConfigParserTestSambaConfip)r1r0z----)rFc[R"SSS9nUR5nURUS/SS9nUR X1/5 /SQnUR UR 5U5 UR UR SS 5S 5 UR URSS 5S 5 UR UR SS 5S5 UR UR SS5S5 g)Nz cfgparser.2rrr;rr)globalhomesprinterszprint$z pdf-generatortmpAgustinr  workgroupMDKGROUPz max log size2z hosts allowz127.r z echo commandz cat %s; rm %s)rrrAr>rrrr)rsmbconfrFrArs r test_reading)RawConfigParserTestSambaConf.test_readingvs""=F ^^ ww);r6r7r8rr*r$rrrrps%//L)%! Irrc\rSrSr\R r\R"5rSr Sr S Sjr Sr Sr SrS rS rS rS rg))ConfigParserTestCaseExtendedInterpolationicommonTNcdURU5nU(aX4lURU5 U$r )rArrD)rrEr3rrFs rrG4ConfigParserTestCaseExtendedInterpolation.fromstrings) ^^H % (N v rcUR[R"S5R55nURnU"USSS5 U"USSS5 U"USSS5 U"USSS5 U"USSS 5 U"USS S 5 U"USS S 5 U"USSS5 U"USSS5 U"USSS5 U"USSS5 U"USSS5 U"USSS5 U"USSS5 U"USSS5 U"USS S 5 U"USSS5 g)Na [common] favourite Beatle = Paul favourite color = green [tom] favourite band = ${favourite color} day favourite pope = John ${favourite Beatle} II sequel = ${favourite pope}I [ambv] favourite Beatle = George son of Edward VII = ${favourite Beatle} V son of George V = ${son of Edward VII}I [stanley] favourite Beatle = ${ambv:favourite Beatle} favourite pope = ${tom:favourite pope} favourite color = black favourite state of mind = paranoid favourite movie = soylent ${common:favourite color} favourite song = ${favourite color} sabbath - ${favourite state of mind} rzfavourite BeatlePaulzfavourite colorgreentomzfavourite bandz green dayzfavourite popez John Paul IIsequelz John Paul IIIambvGeorgezson of Edward VIIzGeorge Vzson of George Vz George VIstanleyblackzfavourite state of mindparanoidzfavourite moviez soylent greenzfavourite songzblack sabbath - paranoid)rGrrrrrs rtest_extended_interpolationEConfigParserTestCaseExtendedInterpolation.test_extended_interpolations __X__.  ,UW-0   2h<* +V4 2h<) *G4 2e9' (&1 2e9& '1 2e9% & 4 2e9% &7 2e9X 0 2f:( )84 2f:' ('2 2f:) *J7 2f:' (+6 2i=+ ,h7 2i=* +W5 2i=2 3Z@ 2i=* +_= 2i=) *N; 2i=) * % 'rcnUR[R"S5R55nUR [ R 5 USS SSS5 UR [ R 5 USS SSS5 g!,(df  N?=f!,(df  g=f)Nz [one for you] ping = ${one for me:pong} [one for me] pong = ${one for you:ping} [selfish] me = ${me} z one for youpingselfishme)rGrrrrrIr}rs rtest_endless_loop;ConfigParserTestCaseExtendedInterpolation.test_endless_loops __X__ .  UW   |CC D } f %E   |CC D yM$ E DE D D Ds B B& B#& B4cURS5nURUSSS5 URUSSS5 URUSSS5 [RnUR U5nUSS  SSS5 URWR R S 5 URUR RS S 5 g!,(df  N^=f) Nz [dollars] $var = $$value $var2 = ${$var} ${sick} = cannot interpolate me [interpolated] $other = ${dollars:$var} $trying = ${dollars:${sick}} dollarsz$varz$value interpolatedz$otherz${sick}zcannot interpolate mez$tryingzdollars:${sickrz${dollars:${sick}})rGrrIrrrrr)rrFexception_classrs rtest_strange_options>ConfigParserTestCaseExtendedInterpolation.test_strange_optionss __    Iv.9 N+H5x@ Iy13JK&FF    /2 ~ y )0 //1AB **1-/CD0 /s ; C C*c:[R"S5R5nURU5nURnU"USSS5 U"USSS5 U"USSS5 U"USSS 5 U"US S S 5 U"US S S5 g)Naj [common] optionlower = value OptionUpper = Value [Common] optionlower = a better ${common:optionlower} OptionUpper = A Better ${common:OptionUpper} [random] foolower = ${common:optionlower} redefined FooUpper = ${Common:OptionUpper} Redefined r optionlowerrd OptionUpperValueCommona better valueA Better Valuerandomfoolowervalue redefinedFooUpperA Better Value Redefined)rrrrGrrrrFrs rtest_case_sensitivity_basicEConfigParserTestCaseExtendedInterpolation.test_case_sensitivity_basicsoo   UW __S !    2h< &0 2h< &0 2h< &(89 2h< &(89 2h< #%67 2h< #%?@rc[R"S5R5nUR[R 5 UR U5nSSS5 UR USS9nURnU"USSS5 U"USSS5 U"US SS 5 U"US SS 5 U"US S S5 U"US SS5 g!,(df  N=f)Na8 [common] option = value Option = Value [Common] option = a better ${common:option} Option = A Better ${common:Option} [random] foo = ${common:option} redefined Foo = ${Common:Option} Redefined cU$r r$)rs rr[ConfigParserTestCaseExtendedInterpolation.test_case_sensitivity_conflicts..s#r)rrrrdrr4r5r6r7r8r^r:rr<)rrrrrIrrGrr=s rtest_case_sensitivity_conflictsIConfigParserTestCaseExtendedInterpolation.test_case_sensitivity_conflictssoo   UW   |@@ A%BB__So_ >    2h< !7+ 2h< !7+ 2h< !#34 2h< !#34 2h<  12 2h<  :;B As C C$cURS5nUR[R5 USS SSS5 UR[R5 USS SSS5 UR[R5 USS SSS5 UR[R5 USS SSS5 UR[R5 USS SSS5 UR[ 5 SUSS 'SSS5 g!,(df  N=f!,(df  N=f!,(df  N=f!,(df  N=f!,(df  Ny=f!,(df  g=f) Na [interpolation fail] case1 = ${where's the brace case2 = ${does_not_exist} case3 = ${wrong_section:wrong_value} case4 = ${i:like:colon:characters} case5 = $100 for Fail No 5! zinterpolation failcase1case2case3case4case5z BLACK $ABBATHcase6)rGrrIInterpolationSyntaxErrorrrrs rtest_other_errors;ConfigParserTestCaseExtendedInterpolation.test_other_errorss2 __    |DD E # $W -F   |KK L # $W -M   |KK L # $W -M   |DD E # $W -F   |DD E # $W -F   z *0?B# $W -+ *F E L L L L E E E E * *sG D)! D: E  E1 E- E>) D7: E E E*- E;> F r$)NN)r%r&r'r(rIrr>rr<r;r:rGr#r)r/r>rCrMr*r$rrrrsL,,L 668MO F+'Z "E*A0<6@rrc\rSrSrSrSrg)ConfigParserTestCaseNoValuei/Tr$N)r%r&r'r(r4r*r$rrrPrP/sNrrPcF\rSrSr\R "5rSrSrSr Sr g)NoValueAndExtendedInterpolationi3Tc[R"S5nURU5nURUSSS5 UR USSS5 g)Nz@ [dummy] a b = ${a} dummyrrr)rrrGrrrs r&test_interpolation_with_allow_no_valueFNoValueAndExtendedInterpolation.test_interpolation_with_allow_no_value7sU"   __V $ bk#&- GS)2.rc[R"S5nURU5nURUSSS5 URUSSS5 g)NzG [dummy] a = None b = ${a} rTrNoner)rrrGrrs rtest_explicit_none2NoValueAndExtendedInterpolation.test_explicit_noneBsW"   __V $ GS)62 GS)62rr$N) r%r&r'r(rIrr<r4rUrYr*r$rrrRrR3s 668MN / 3rrRc,\rSrSr\R rSrg)/ConfigParserNoValueAndExtendedInterpolationTestiNr$N)r%r&r'r(rIrr>r*r$rrr\r\Ns ,,Lrr\c,\rSrSr\R rSrg)2RawConfigParserNoValueAndExtendedInterpolationTestiUr$N)r%r&r'r(rIrur>r*r$rrr^r^Us //Lrr^cH\rSrSr\R rS1rS1rSr Sr Sr Sr g) ConfigParserTestCaseTrickyFilei\r.r1Tc  [R"SSS9nUR5nUR[ UR USS95S5 URUR 5/SQ5 URURURSS S 0S 9S 5 UR[5 URURSS S S 0S9 SSS5 UR[ URSS5RS55S5 UR[ URSS5RS55S5 SnURURUS55 URURUS5S5 UR[ URS55S5 UR[ R"5 URS5 SSS5 URURSS5S5 URURSS5URSS55 URURS S5S!5 g!,(df  GN=f!,(df  N=f)"Nrrrrrr)strange corruption&yeah, sections can be indented as well another one!no values heretricky interpolationmore interpolationgo interpolatez-1rtT)rawrurbotherrrcrdrrdzare they subsectionszlets use some Unicodeu 片仮名rerrfrgletszdo thisrhz go shopping)rrrArrr>rrr;rrrsplitrrr rIr)rrrFlongnames rtest_cfgparser_dot_33ConfigParserTestCaseTrickyFile.test_cfgparser_dot_3bs!!- E ^^  RWWVgW>?C )? @ 4#7#7)6(=#?@B D   z * IId**Dd)40  2+ RVVIw7==dCDaH RVVL':@@FGL; x1GHI *ABKP RXXn56:   |KK L HH% &M  6?K  6? 6= ?  4f=}M!+ *M Ls3I-I?- I<? J c[R"SSS9nUR5nUR[5 UR USS9 SSS5 g!,(df  g=f)Nrrrasciir)rrrArUnicodeDecodeErrorr>)rrrFs rtest_unicode_failure3ConfigParserTestCaseTrickyFile.test_unicode_failuresK!!- E ^^    1 2 GGFWG -3 2 2s A A#r$N) r%r&r'r(rIrr>r5r6r4rrrwr*r$rrr`r`\s-,,LJuNN@.rr`c*\rSrSrSrSrSrSrSrg)Issue7005TestCaseiz[section] option = None cU"SS9nURS5 URSSS5 [R"5nUR U5 UR 5$NF)r4rr)rrrrr%r&)rr>cprs rprepareIssue7005TestCase.preparesJ  / y! y(D)kkm  ||~rc[R"SS9nURS5 UR[5 UR SSS5 SSS5 g!,(df  g=fr|)rIrrrrr)rr}s rtest_none_as_value_stringified0Issue7005TestCase.test_none_as_value_stringifiedsH  & &e < y!   y ) FF9h -* ) )s A A&cxUR[R5nURXR5 gr )r~rIrurexpected_output)rr's r"test_none_as_value_stringified_raw4Issue7005TestCase.test_none_as_value_stringified_raws*l::; !5!56rr$N) r%r&r'r(rr~rrr*r$rrrzrzs5O. 7rrzc\rSrSr\rSrSrg)SortedTestCaseicURS5n[R"5nURU5 UR UR 5S5 g)Nz [b] o4=1 o3=2 o2=3 o1=4 [a] k=v z,[a] k = v [b] o1 = 4 o2 = 3 o3 = 2 o4 = 1 )rGrrr%rr&)rrFr's r test_sortedSortedTestCase.test_sortedsJ __%&  *& 'rr$N)r%r&r'r(rr9rr*r$rrrrs I'rrc:\rSrSr\R rSrSrSr Sr g)CompatibleTestCaseiz#;r0c[R"S5nURU5nURUR SS5S5 URUR SS5S5 URUR SS5S5 g) Nz [Commented Bar] baz=qwe ; a comment foo: bar # not a comment! # but this is a comment ; another comment quirk: this;is not a comment ; a space must precede an inline comment rQr^zbar # not a comment!r\r]quirkzthis;is not a comment)rrrGrrrs rtest_comment_handling(CompatibleTestCase.test_comment_handlings| )  __] + 7/ 1 7? 90 2rr$N) r%r&r'r(rIrur>r6r7rr*r$rrrrs//L!2rrc6\rSrSr\R rSSjrSrg) CopyTestCaseiNcTURU5nURU5 UR5nURU5 UR5HPnURUR :XaMX0R R 5HupgXVU:XdMXV M MR U$r )rArDrrrr;r )rrEr3rFcf_copyrrMrds rrGCopyTestCase.fromstrings ^^H % v..""~~'G||t333"$%9%9":"@"@"B#u,(#C( rr$r ) r%r&r'r(rIrr>rGr*r$rrrrs,,L rrc \rSrSrSrSrSrg)FakeFileic[R"SSS9n[USS9nUR5UlURR 5 SSS5 g!,(df  g=f)Nr:rrrr)rrr readlineslinesreverse)r file_pathrs r__init__FakeFile.__init__sI$$]<H )g .!DJ JJ   / . .s 0A A'cl[UR5(aURR5$gr)rrpopr s rrFakeFile.readlines# tzz??::>># #r)rN)r%r&r'r(rrr*r$rrrrs ! rrc#v# UR5nU(aUv UR5nU(aMgg7fr )r)rlines rreadline_generatorrs* ::', line: 3 ' KEY2 = VAL2\n')rIrrMultilineContinuationErrorrrrrrs r-test_keys_without_value_with_extra_whitespace>ReadFileTestCase.test_keys_without_value_with_extra_whitespaceMs  **    |FF G3   U #H     H Gs A<< B r$N) r%r&r'r(rrrrrr*r$rrrrs A==- ^ rrc8\rSrSrSrSrSrSrSrSr Sr g ) CoverageOneHundredTestCaseifc[R"SS5nURURS5 URURS5 URUR S5 URUR S5 URURS5 UR[U5S5 g)Nrr)rrNNz3Option 'option' in section 'section' already exists) rIrrrrrlinenorrrrs rtest_duplicate_option_error6CoverageOneHundredTestCase.test_duplicate_option_erroris11)XF  2 x0 t, t, %FG U&6 7rc[R"SSS5nURURS5 URURS5 URUR S5 g)Nrrrawval)rrr)rIr}rrrrrs rtest_interpolation_depth_error9CoverageOneHundredTestCase.test_interpolation_depth_errorssV44Xy5=? %DE x0  2rcPUR[5n[R"5 SSS5 [R"SS9nUR UR S5 [R"S5nUR UR S5 g!,(df  Nq=f)Nrr)rrrIrrr)rrrs rtest_parsing_error-CoverageOneHundredTestCase.test_parsing_errorzst   y )R  % % '*)): x0))(3 x0 * )s B B%c[R"5nURS5 UR[R5nUSS SSS5 UR [ WR5S5 UR[R5nUSS SSS5 UR [ UR5S5 g!,(df  N=f!,(df  NE=f)Nz [section] invalid_percent = % invalid_reference = %(() invalid_variable = %(does_not_exist)s rinvalid_percentz.'%' must be followed by '%' or '(', found: '%'invalid_referencez+bad interpolation variable reference '%(()')rIrrDrrLrrrrrrs rtest_interpolation_validation8CoverageOneHundredTestCase.test_interpolation_validations**,    |DD E 9 / 0F R\\*-> ?   |DD E 9 1 2F R\\*-? @ F EF Es C C# C # C1c[R"5nURS5 UR[ US5S5 g)Nz7 [section] key = value rz)rIrrDrreprrs rtest_sectionproxy_repr1CoverageOneHundredTestCase.test_sectionproxy_reprs@**,   fY/02FGrcx[R"5nSSKnURURS'UR S5 UR SUR5 URURSS5S5 URURSS5S 5 URUSRS5S5 URUSRS5S 5 U?UR[5 URSS5 SSS5 UR SUR5 URS URSUR5 UR[5 URSS5 SSS5 UR[5 USRS5 SSS5 UR[5 USRS5 SSS5 g!,(df  N=f!,(df  N=f!,(df  Nc=f!,(df  g=f) NrdecimalzS [s1] one = 1 [s2] two = 2 s1rrs2rr) rIrrDecimal convertersrDrr getdecimalrrri)rrrs r"test_inconsistent_converters_state=CoverageOneHundredTestCase.test_inconsistent_converters_states**,'.)$  i!2!23 **47; **47; 007; 007;     ~ .   dE */ i!2!23   i ( F$5$56   ~ .   dE */   ~ . 4L # #E */   ~ . 4L # #E */ ./ . / . . . . .s0G88H (HH+8 H H H(+ H9r$N) r%r&r'r(rrrrrrr*r$rrrrfs"731@"H+rrcV\rSrSrSrSrSrSrSrSr Sr S r S r S r S rS rg)ExceptionPicklingTestCaseicNSSKn[R"S5n[URS-5HonUR X#5nUR U5nURURUR5 UR[U5[U55 Mq g)Nrrdr) picklerIErrorrHIGHEST_PROTOCOLdumpsloadsrmessagerrre1protopicklede2s r test_error$ExceptionPicklingTestCase.test_errors{    (622Q67Ell2-Gg&B   RZZ 4   T"XtBx 0 8rcSSKn[R"S5n[URS-5HnUR X#5nUR U5nURURUR5 URURUR5 URURUR5 UR[U5[U55 M g)Nrrr) rrIrrrrrrrrrrrs rtest_nosectionerror-ExceptionPicklingTestCase.test_nosectionerrors  ( ( 3622Q67Ell2-Gg&B   RZZ 4   RWWbgg .   RZZ 4   T"XtBx 0 8rc4SSKn[R"SS5n[URS-5HnUR X#5nUR U5nURURUR5 URURUR5 URURUR5 URURUR5 UR[U5[U55 M g)Nrrrr) rrIrrrrrrrrrrrrs rtest_nooptionerror,ExceptionPicklingTestCase.test_nooptionerrors  ' ') <622Q67Ell2-Gg&B   RZZ 4   RWWbgg .   RZZ 4   RYY 2   T"XtBx 08rcSSKn[R"SSS5n[URS-5GHnUR X#5nUR U5nURURUR5 URURUR5 URURUR5 URURUR5 URURUR5 UR[U5[U55 GM g)Nrrrrr)rrIrrrrrrrrrrrrrs rtest_duplicatesectionerror4ExceptionPicklingTestCase.test_duplicatesectionerrors  / / 8S I622Q67Ell2-Gg&B   RZZ 4   RWWbgg .   RZZ 4   RYY 2   RYY 2   T"XtBx 08rcSSKn[R"SSSS5n[URS-5GH.nUR X#5nUR U5nURURUR5 URURUR5 URURUR5 URURUR5 URURUR5 URURUR5 UR[U5[U55 GM1 g)Nrrrrrr)rrIrrrrrrrrrrrrrrs rtest_duplicateoptionerror3ExceptionPicklingTestCase.test_duplicateoptionerrors  . .y(H 622Q67Ell2-Gg&B   RZZ 4   RWWbgg .   RZZ 4   RYY 2   RYY 2   RYY 2   T"XtBx 08rc6SSKn[R"SSS5n[URS-5HnUR X#5nUR U5nURURUR5 URURUR5 URURUR5 URURUR5 UR[U5[U55 M gNrrrmsgr) rrIInterpolationErrorrrrrrrrrrrrs rtest_interpolationerror1ExceptionPicklingTestCase.test_interpolationerrors  , ,Xy% H622Q67Ell2-Gg&B   RZZ 4   RWWbgg .   RZZ 4   RYY 2   T"XtBx 08rcSSKn[R"SSSS5n[URS-5GHnUR X#5nUR U5nURURUR5 URURUR5 URURUR5 URURUR5 URURUR5 UR[U5[U55 GM g)Nrrrrrr)rrIrrrrrrrrrrrrrs r$test_interpolationmissingoptionerror>ExceptionPicklingTestCase.test_interpolationmissingoptionerrors  9 9(I k#622Q67Ell2-Gg&B   RZZ 4   RWWbgg .   RZZ 4   RYY 2   R\\2<< 8   T"XtBx 08rc6SSKn[R"SSS5n[URS-5HnUR X#5nUR U5nURURUR5 URURUR5 URURUR5 URURUR5 UR[U5[U55 M gr) rrIrLrrrrrrrrrrrs rtest_interpolationsyntaxerror7ExceptionPicklingTestCase.test_interpolationsyntaxerrors  2 28Y N622Q67Ell2-Gg&B   RZZ 4   RWWbgg .   RZZ 4   RYY 2   T"XtBx 08rc6SSKn[R"SSS5n[URS-5HnUR X#5nUR U5nURURUR5 URURUR5 URURUR5 URURUR5 UR[U5[U55 M g)Nrrrrr) rrIr}rrrrrrrrrrrs rtest_interpolationdeptherror6ExceptionPicklingTestCase.test_interpolationdeptherrors  1 1(I 622Q67Ell2-Gg&B   RZZ 4   RWWbgg .   RZZ 4   RYY 2   T"XtBx 08rc0SSKn[R"S5nURSS5 URSS5 URSS5 [ UR S-5HnUR X#5nURU5nURURUR5 URURUR5 URURUR5 URURUR5 UR[U5[U55 M [R"S 5nURSS5 URSS5 URSS5 [ UR S-5HnUR X#5nURU5nURURUR5 URURUR5 URURUR5 URURUR5 UR[U5[U55 M g) Nrrrline1rline2rline3filename)rrIrrrrrrrrrrerrorsrrs rtest_parsingerror+ExceptionPicklingTestCase.test_parsingerror*s  & &x 0 !W !W !W622Q67Ell2-Gg&B   RZZ 4   RWWbgg .   RYY 2   RYY 2   T"XtBx 08 & &z 2 !W !W !W622Q67Ell2-Gg&B   RZZ 4   RWWbgg .   RYY 2   RYY 2   T"XtBx 08rcSSKn[R"SSS5n[URS-5GHnUR X#5nUR U5nURURUR5 URURUR5 URURUR5 URURUR5 URURUR5 UR[U5[U55 GM g)Nrrrrr)rrIrrrrrrrrrrrrrs rtest_missingsectionheadererror8ExceptionPicklingTestCase.test_missingsectionheadererrorEs  3 3JV L622Q67Ell2-Gg&B   RZZ 4   RWWbgg .   RWWbgg .   RYY 2   RYY 2   T"XtBx 08rr$N)r%r&r'r(rrrrrrrrr rrr*r$rrrrs91 1 1 1 1 1 1 1 116 1rrc\rSrSrSrSrg)InlineCommentStrippingTestCaseiSc[R"SS9nURS5 USnURUSS5 URUSS5 URUS S 5 URUS S 5 URUS S5 URUSS5 URUSS5 USnURUSS5 URUSS5 URUS S5 g)N)r0r1r)r7a [section] k1 = v1;still v1 k2 = v2 ;a comment k3 = v3 ; also a comment k4 = v4;still v4 ;a comment k5 = v5;still v5 ; also a comment k6 = v6;still v6; and still v6 ;a comment k7 = v7;still v7; and still v7 ; also a comment [multiprefix] k1 = v1;still v1 #a comment ; yeah, pretty much k2 = v2 // this already is a comment ; continued k3 = v3;#//still v3# and still v3 ; a comment rk1z v1;still v1k2v2k3v3k4z v4;still v4k5z v5;still v5k6zv6;still v6; and still v6k7zv7;still v7; and still v7 multiprefixzv3;#//still v3# and still v3)rIrrDr)rcfgrs rtest_stripping-InlineCommentStrippingTestCase.test_strippingWs ''A     N 4-0 4$' 4$' 4-0 4-0 4"=> 4"=>   4-0 4$' 4"@Arr$N)r%r&r'r(r$r*r$rrrrSsBrrc2\rSrSrSrSrSrSrSrSr g) ExceptionContextTestCaseiwc6[R"5nURS5 UR[R5nU UR SS5 SSS5 UR URRS5 g!,(df  N5=f)Nz [Paths] home_dir: /Users my_dir: %(home_dir1)s/lumberjack my_pictures: %(my_dir)s/Pictures Pathsmy_dirT) rIrrDrrrrr__suppress_context__rs rtest_get_basic_interpolation5ExceptionContextTestCase.test_get_basic_interpolation{sq**,    |KK L  JJw ) bll77>Rs B  BcZ[R"[R"5S9nURS5 UR [R 5nU UR SS5 SSS5 URURRS5 g!,(df  N5=f)Nrz [Paths] home_dir: /Users my_dir: ${home_dir1}/lumberjack my_pictures: ${my_dir}/Pictures r)r*T) rIrrrDrrrrrr+rs rtest_get_extended_interpolation8ExceptionContextTestCase.test_get_extended_interpolations**$::<>    |KK L  JJw ) bll77>Rs B B*c0[R"5nURS5 UR[R5nUR S5 SSS5 UR WRRS5 g!,(df  N5=f)Nz2 [Paths] home_dir: /Users roT) rIrrDrrrrrr+rs rtest_missing_options-ExceptionContextTestCase.test_missing_optionssm**,    |:: ;r NN6 "< bll77>< ;s B Bc[R"5nUR[R5nUR SSS5 SSS5 UR WR RS5 g!,(df  N5=f)NSection1an_int15T)rIrrrrrrr+rrrs rtest_missing_section-ExceptionContextTestCase.test_missing_sections\**,   |:: ;r JJz8T 2< bll77>< ;s A88 Bc[R"5nUR[R5nUR SS5 SSS5 UR WR RS5 g!,(df  N5=f)Nr5r6T)rIrrrrrrr+r8s rtest_remove_option+ExceptionContextTestCase.test_remove_options\**,   |:: ;r  X 6< bll77>< ;s A77 Br$N) r%r&r'r(r,r/r2r9r<r*r$rrr'r'ws ? ??? ?rr'cJ^\rSrSr\R rSU4SjjrSrSr U=r $)ConvertersTestCaseicB>[TU]US9nSURS'U$)NrcUR5Vs/sH*nUR5(dMUR5PM, sn$s snfr )rpr)vrs rr.ConvertersTestCase.newconfig..s6AGGI1?Iq45GGI2;I1?1?s AAr)superrAr)rr3r@ __class__s rrAConvertersTestCase.newconfigs,7$h$7'?F#rct UR5nURSUR5 URSUR5 URURS5 URURS5 URURS5 UR URS5 UR [ UR5S5 UR[5 SURS'SSS5 UR[5 SURS'SSS5 URS 5 US nUR US S 5 UR USS 5 UR USS5 UR USS5 UR USS5 UR URS S 5S 5 UR URS S5S 5 UR URS S5S5 UR URS S5S5 UR URS S5S5 UR URS S 5S 5 UR URS S5S5 UR URS S5S5 UR URS S5/SQ5 UR URS S5S5 UR URS 5S 5 UR URS5S5 UR URS5S5 UR URS5/SQ5 UR URS5S5 UR[5 UR!S S5 SSS5 UR[5 UR!S5 SSS5 SSKnUR$URS'URSUR5 UR URS5 UR [ UR5S5 UR%S5nUR UR!S S5U5 UR UR!S5U5 URS UR'SUR5 UR [ UR5S5 UR[5 UR!S S5 SSS5 UR[5 UR!S5 SSS5 UR[(5 URS SSS5 UR[(5 URS SSS5 UR[(5 URS SSS5 g!,(df  GN=f!,(df  GN=f!,(df  GNa=f!,(df  GND=f!,(df  GN=f!,(df  N=f!,(df  N=f!,(df  N=f!,(df  g=f)NrlrrgrjrncU$r r$rBs rr4ConvertersTestCase.test_converters..s1rrcU$r r$rIs rrrJsQrz~ [s] str = string int = 1 float = 0.5 list = a b c d e f g bool = yes rrrErzz0.5z a b c d e f gboolrxrg?)rrcdrrgTrrr)rArrrassertIsNotNonerrrrrDrrrgetlistrrrrrrir)rr#rrdec0_5s rtest_converters"ConvertersTestCase.test_converterssnn i0 fcnn- #../0 #..12 #..34 S^^F34 S^^,a0   z *!,CNN2 +   z *#.CNN4 +    H 58, 53' 7U+ 6O4 6E* e,h7 e,c2 g.6 f-? f-u5 e,h7 C/3 c73S9 S&14C D V4d; ux0 %!, G,c2 6*-< = f-t4   ~ . NN3 (/   ~ . LL !/$+OOy! i0 S^^I67 S^^,a0' W5v> g.7 NN9 % CNN3 S^^,a0   ~ . NN3 (/   ~ . LL !/   x (y))   x (r")   x (t$) (u+ * * *B/ . . ./ . . . ( ( ( ( ( (sl;X)X.YYY$Y6/ZZZ) X+. X= Y Y!$ Y36 Z Z Z&) Z7r$r ) r%r&r'r(rIrr>rArSr* __classcell__rEs@rr?r?s! ,,L D%D%rr?c0\rSrSrSrSrSrSrSrSr g) !BlatantOverrideConvertersTestCaseiz [one] one = false two = false three = long story short [two] one = false two = false three = four c[R"S[0S9nURUR5 UR U5 UR URS5 g)Nr)r)rIrrrDr _test_lenrPrrr#s rtest_converters_at_init9BlatantOverrideConvertersTestCase.test_converters_at_initsI''E3<@  $ s S^^E23rc"SS[R5nU"5nURUR5 UR U5 UR UR S5 URURSS55 URURSS55 URURSS55 URURSS55 URUR S'URURSS55 URURSS55 URURSS55 URURSS55 g)Ncr^\rSrSrSrSS\R S.U4SjjrSS\R S.SjrSr U=r $) OBlatantOverrideConvertersTestCase.test_inheritance..StrangeConfigParseriz0a historic borough in south central PennsylvaniaFNrlrursc.>X:Xag[TU]XX4US9$)NTra)rDr)rrrrlrursrEs rrZBlatantOverrideConvertersTestCase.test_inheritance..StrangeConfigParser.getbooleans*$w)'s3;*==rc .URX[X4US9$)Nra) _get_convr)rrrrlrurss rgetlenVBlatantOverrideConvertersTestCase.test_inheritance..StrangeConfigParser.getlens!~~gs/7&99rr$) r%r&r'r( gettysburgrIrLrrfr*rUrVs@rStrangeConfigParserr`s:KJ9>T!-!4!4 = = 6; , 3 3 9 9rrirrrrl) rIrrDrrZrrrrr_convert_to_boolean)rrir#s rtest_inheritance2BlatantOverrideConvertersTestCase.test_inheritances) 9,";"; 9"#  $ s #../0 ue45 ue45 u56 u56$'$;$;y! u56 u56 u56 u56rc^UR[UR5S5 URSUR5 URSUR5 UR SUR5 UR URS5 UR URS5 UR URS5 URUR SS5S5 URUR SS 5S5 URUR SS 5S 5 URUR S S5S5 URUR S S 5S5 URUR S S 5S5 URUR S S S S9S 5 UR[R5 UR S S 5 SSS5 URUSR S5S5 URUSR S 5S5 URUSR S 5S 5 URUS R S5S5 URUS R S 5S5 URUS R S 5S5 URUS R S S 5S 5 URUS R S 5S5 g!,(df  GN1=f)Nrnrlrtysburgrgrjrrrrfourrrr) rrrrrirrfrrIrr[s rrZ+BlatantOverrideConvertersTestCase._test_len2s S^^,a0 i0 eS^^, CNN3 #../0 #..12 #..34 E5115 E5115 E73R8 E5115 E5115 E73Q7 E6A>B   |99 : JJuf %; U**5115 U**5115 U**73R8 U**5115 U**5115 U**73Q7 U**615q9 U**62D9; :s L L,c ^[R"5mSTlU4SjTlTR UR 5 UR [TR5S5 URSTR5 URSTR5 URTRS5 URTRS5 URTRS5 URTRSS55 URTRS S 55 URTRSS 55 URTRS S55 TRTRS'URTRSS55 URTRS S 55 URTRSS 55 URTRS S55 UR TRSS5S 5 UR TRSS 5S 5 UR TRSS 5S 5 UR TRS S5S 5 UR TRS S 5S 5 UR TRS S 5S 5 UR[ 5 UR TSRS5S 5 SSS5 UR[ 5 UR TS RS5S 5 SSS5 g!,(df  NQ=f!,(df  g=f)Ncg)NTr$)rrs rrLBlatantOverrideConvertersTestCase.test_instance_assignment..Nsrc&>[TUU5$r )r)rrr#s rrrtOsSWf1E-Frrrlrrgrjrrrrrorn)rIrrrfrDrrrrrrirrrjrrrr[s @rtest_instance_assignment:BlatantOverrideConvertersTestCase.test_instance_assignmentLs'')5F   $ S^^,a0 i0 / #../0 #..12 #..34 ue45 ue45 ue45 ue45$'$;$;y! u56 u56 u56 u56 E5115 E5115 E73R8 E5115 E5115 E73Q7  ~ .   SZ..u5q 9/   ~ .   SZ..u5q 9/ ./ . . .s>%M.%M?. M<? N r$N) r%r&r'r(rr\rkrZrvr*r$rrrXrXs F4 7::4:rrXc,\rSrSrSrSrSrSrSrg)SectionlessTestCaseincP[R"SS9nURU5 U$)NTallow_unnamed_section)rIrrD)rrEr#s rrGSectionlessTestCase.fromstringps#''dC  rcURS5nUR[[RS/5[UR 555 URSU[RS5 URSU[RS5 URSUSS5 [ R"5nURU5 URUR55nURSU[RS5 URSU[RS5 URSUSS5 g) NzC a = 1 b = 2 [sect1] c = 3 sect1rzrr|r3rM) rGrrrIUNNAMED_SECTIONrrrr%r&rcfg1r'cfg2s rtest_no_first_section)SectionlessTestCase.test_no_first_sectionus"   l::GDEs4==?G[\ d<#?#?@EF d<#?#?@EF d7mC01 6v01 d<#?#?@EF d<#?#?@EF d7mC01rcURS5nUR[R/UR 55 URSU[RS5 URSU[RS5 [ R "5nURU5 URUR55nUR[R/UR 55 URSU[RS5 URSU[RS5 g)Nz% a = 1 b = 2 rzrr|r) rGrrIrrrrr%r&rs rtest_no_section#SectionlessTestCase.test_no_sections   ,667I d<#?#?@EF d<#?#?@EF 6v01 ,667I d<#?#?@EF d<#?#?@EFrcf[R"SS9nURS5 URS5 UR[R/UR 55 URSU[RS5 URSU[RS5 g) NTr{za = 1zb = 2rzrr|r)rIrrDrrrr[s rtest_multiple_configs)SectionlessTestCase.test_multiple_configss''dC     ,667H c,">">?DE c,">">?DErr$N) r%r&r'r(rGrrrr*r$rrryryns 2,G$Frryc\rSrSrSrSrg) MiscTestCaseic:[R"U[S1S9 g)Nr) not_exported)r check__all__rIr s r test__all__MiscTestCase.test__all__sTrs "%%.B@ 8*@ 8F]H$5$5 VL=(*;*;VLr!"-9J9J!"FC83D3DC*0D*  4H DmX->->D:0CmX->->0Cf*3J* I#98;L;LI(h@ x?P?Ph@V"63&<36-# -0# 0*.%;X=N=N*.Z7))7:','.2/1B1B2,=("3"3&  f x((f VO+!2!2O+dX1 1 1X1v!BX%6%6!BH3?x003?lO%(9(9O%dl:(9(9l:^6F(++6FrI8$$I  z MMOr