spvSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSK r SSK r SSK r SSK r SSK r SSKJr SSKJr SSKJr SSKJrJr SSK Jr "SS\R.5r"S S \ R25r"S S \ R25r\R6"S S\55r"SS\5r"SS\5r"SS\ 5r!Sr""SS\ RF5r$"SS\%5r&\4r'\&"S\'05r("SS\(5r)"SS\(5r*"SS \(5r+"S!S"\(5r,"S#S$\(5r-"S%S&\(5r."S'S(\(5r/"S)S*\(5r0"S+S,\(5r1"S-S.\(5r2"S/S0\(5r3"S1S2\(5r4"S3S4\(5r5"S5S6\(5r6"S7S8\(5r7"S9S:\(5r8"S;S<\(5r9"S=S>\(5r:"S?S@\(5r;"SASB\(5r<"SCSD\(5r="SESF\(5r>"SGSH\(5r?"SISJ\(5r@"SKSL\(5rA"SMSN\(5rB"SOSP\(5rC"SQSR\(5rD"SSST\(5rE"SUSV\(5rF"SWSX\(5rG"SYSZ\(5rH"S[S\\(5rI"S]S^\(5rJ"S_S`\(5rK"SaSb\(5rL"ScSd\(5rM"SeSf\(5rN"SgSh\(5rO"SiSj\(5rP"SkSl\(5rQ"SmSn\(5rR"SoSp\5rS"SqSr\(5rT"SsSt\(5rU"SuSv\(5rV"SwSx\(5rW"SySz\(5rX"S{S|\(5rY"S}S~\(5rZ"SS\(5r["SS\(5r\"SS\(5r]"SS\(5r^"SS\(5r_"SS\(5r`"SS\(5ra"SS\(5rb"SS\(5rc"SS\(5rd"SS\(5re"SS\(5rf"SS\(5rg"SS\(5rh"SS\(5ri"SS\(5rj"SS\(5rk"SS\(5rl"SS\(5rm"SS\(5rn"SS\(5ro"SS\(5rp"SS\(5rq"SS\(5rr"SS\(5rs"SS\(5rt"SS\(5ru"SS\(5rv"SS\(5rw"SS\(5rx"SS\(5ry"SS\(5rz"SS\(5r{"SS\(5r|"SS\(5r}"SS\(5r~"SS\(5r"SS\(5r"SS\(5r"SS\\(5r"SS\\(5r"SS\5r\"5r\"5r"SS5r\"S5r\"S5r\"S5r\"S5r\"S5r\"S5r"SS\5r"SS\\(5r"SS\\(5r"SS\\(5r"SS\5r\GR&"SS\\(55r\GR&"SS\\(55r\GR&"SS\\(55r\GR&"SS\55r"SS\5r"SS\5r"SS\(5r"SS\(5r"SS\(5r"SS\5r"SS\(5r"SS\5r"SS\(5r"SGS\5r"GSGS\5r"GSGS\5r"GSGS\5r"GSGS\5r"GS GS \5r"GS GS \\5r"GS GS\\5r"GSGS\\5r"GSGS\\5r"GSGS\\5r"GSGS\\5r"GSGS\\5r"GSGS\\5r"GSGS\\5r"GSGS\\5r"GSGS \\5r"GS!GS"\\5r"GS#GS$\5r"GS%GS&\\5r"GS'GS(\\5r"GS)GS*\\5r"GS+GS,\\5r"GS-GS.\\5r"GS/GS0\\5r"GS1GS2\\5r"GS3GS4\\5r"GS5GS6\5r"GS7GS8\5r"GS9GS:\5r"GS;GS<\%5r\4r'\"GS=\'05r"GS>GS?\5r"GS@GSA\5r"GSBGSC\5r"GSDGSE\5r"GSFGSG\5r"GSHGSI\5r"GSJGSK\5r"GSLGSM\5r"GSNGSO\5r"GSPGSQ\5r"GSRGSS\5r"GSTGSU\5r"GSVGSW\5r"GSXGSY\5r"GSZGS[\5r"GS\GS]\5r"GS^GS_\5r"GS`GSa\5r"GSbGSc\5r"GSdGSe\5r"GSfGSg\5r"GShGSi\5r"GSjGSk\5r"GSlGSm\5r"GSnGSo\5r"GSpGSq\5r"GSrGSs\5r"GStGSu\5r"GSvGSw\5r"GSxGSy\5r"GSzGS{\5r"GS|GS}\5r"GS~GS\5r"GSGS\5r"GSGS\5r"GSGS\5r"GSGS\5r"GSGS\5r"GSGS\5r"GSGS\5r"GSGS\5r"GSGS\5r"GSGS\5r"GSGS\5r"GSGS\5r"GSGS\5r"GSGS\5r"GSGS\5r"GSGS\5r"GSGS\5r"GSGS\5r"GSGS\5r"GSGS\5r"GSGS\5r"GSGS\5r"GSGS\5r"GSGS\5r"GSGS\5r"GSGS\5r"GSGS\5r"GSGS\5r"GSGS\5r"GSGS\5r"GSGS\5Gr"GSGS\5GrGSGrG\GS:Xa]G\"\GR 5GS:a1\GR GSGS:Xa\"\ 5 \GR "S5 \ GR"5 gg(N)StrEnum)captured_stderr) os_helper)TestTranslationsBaseupdate_translation_snapshots)mockc2^\rSrSrSU4SjjrSrSrU=r$) StdIOBufferc>URS5n[TU] [R"[R "U55SUS9 g)Nutf-8)newline)encodesuper__init__ioBufferedWriterBytesIO)self initial_valuer __class__s 9/opt/alt/python313/lib64/python3.13/test/test_argparse.pyrStdIOBuffer.__init__!s@%,,W5  **2::m+DE '  3cUR5 URRR5R S5$)Nr )flushbufferrawgetvaluedecoders rrStdIOBuffer.getvalue&s- {{'')0099r) )__name__ __module__ __qualname____firstlineno__rr__static_attributes__ __classcell__rs@rr r s3 ::rr c \rSrSrSrSrSrg) StdStreamTest+c[R"5n[R"S5 [R "S5 UR SSS9 SSS5 SSS5 g!,(df  N=f!,(df  g=f)Nargparse._sys.exitrfoo)statusmessage)argparseArgumentParser contextlibredirect_stderrrpatchexitrparsers rtest_skip_invalid_stderr&StdStreamTest.test_skip_invalid_stderr-sX((*  & &t , JJ+ , KKq%K 0 - - , , , - ,s#A6A%A6% A3 /A66 Bc [R"5nURUR[R "UR S/54HnURUS9 [R"S5 [5n[R"U5 [R"S5 U"5 URUR5S5 SSS5 SSS5 SSS5 SSS5 SSS5 M g!,(df  N3=f!,(df  N<=f!,(df  NE=f!,(df  NN=f!,(df  GM =f)N-h)funcr1zusage:)r5r6 print_usage print_help functoolspartial parse_argssubTestr7redirect_stdoutr r8rr9 assertRegexr)rr<rA mocked_stderrs rtest_skip_invalid_stdout&StdStreamTest.test_skip_invalid_stdout5s((*         f//$ 8 D  $ '**40 **=9 /0  !7!7!99E1:1('  10:9 10('sl!E 8 D9D( D 1(D D !D( )D91E  DD  D%!D( ( D6 2D99 E E  E r#N)r&r'r(r)r=rKr*r#rrr.r.+s 1Frr.c\rSrSrSrSrg)TestCaseHcVUR[R"55nSUS'g)N80COLUMNS) enterContextrEnvironmentVarGuardrenvs rsetUpTestCase.setUpJs& = = ?@Irr#N)r&r'r(r)rWr*r#rrrNrNHsrrNc,\rSrSrSrSrSrSrSrg) TempDirMixinRc[R"5Ul[R"5Ul[R "UR5 gN)tempfilemkdtemptemp_dirosgetcwdold_dirchdirr!s rrWTempDirMixin.setUpUs/ ((* yy{  rc[R"UR5 [R"URSS9H\upnUHPn[R "[R RURU5[R5 MR M^ [R"URS5 g)NF)topdownT) rardrcwalkr`chmodpathjoinstatS_IWRITEshutilrmtree)rrootdirsfilesnames rtearDownTempDirMixin.tearDownZst !#!F DdmmT:DMMJ"G  dmmT*rc[RRURU5n[ USSS9nUR U5 SSS5 U$!,(df  U$=f)Nwr encoding)rarjrkr`openwrite)rfilename file_pathfiles rcreate_writable_file!TempDirMixin.create_writable_fileasNGGLL9 )S7 3t JJx 44 3s A A!cl[R"URU5[R5 gr])rarirrlS_IREAD)rr|s rcreate_readonly_file!TempDirMixin.create_readonly_filegs **84dllCr)rcr`N) r&r'r(r)rWrtrrr*r#rrrZrZRs + DrrZc\rSrSrSrSrg)SigjcXlX lgr]argskwargsrrrs rr Sig.__init__ls   rrNr&r'r(r)rr*r#rrrrjsrrc&\rSrSrSrSrSrSrg)NSqc :URRU5 gr])__dict__update)rrs rr NS.__init__ss V$rc[URR55nSRUVs/sHnSU-PM sn5n[ U5R <SU<S3$s snf)Nz, z%s=%r())sortedritemsrktyper&)r sorted_itemstup kwarg_strs r__repr__ NS.__repr__vsUdmm1134 II E w} EF :.. ::FsA&c0[U5[U5:H$r])varsrothers r__eq__ NS.__eq__{sDzT%[((rr#N)r&r'r(r)rrrr*r#rrrrqs%; )rrc\rSrSrSSjrSrg)ArgumentParserErrorNc`[RXX#5 XlX lX0lX@lgr]) Exceptionrr4stdoutstderr error_code)rr4rrrs rrArgumentParserError.__init__s&4&9   $r)rr4rr)NNNrr#rrrrs%rrc ,[[R[5(d#[[R[5(aU"U0UD6$[Rn[Rn[5[l[5[lU"U0UD6n[ [ U55Hn[XV5nU[RLa[XVU5 M/U[RRLa[XV[US[55 MiU[RLa[XVU5 MU[RRLdM[XV[US[55 M UU[lU[l$![a[nURn [RR5n [RR5n [SXU 5SeSnAff=f!U[lU[lf=f)Nr SystemExit) isinstancesysrr rlistrgetattrsetattrrBIN_STDOUT_SENTINELBIN_STDERR_SENTINELrcoderr) rFrr old_stdout old_stderrresultkeyattrerrrs rstderr_to_parser_errorrs#**k**j[.Q.Q4*6**JJCJCJ  >00FDL)v+3::%F4SZZ...FXGZ)[\SZZ'F4SZZ...FXGZ)[\*    >66DZZ((*FZZ((*F%fd49= >  >   s,CF F G8AG33G88G;;Hc@^\rSrSrU4SjrU4SjrU4SjrSrU=r$)ErrorRaisingArgumentParserc>>[[U] n[U/UQ70UD6$r])rrrFr)rrrrFrs rrF%ErrorRaisingArgumentParser.parse_argss%5tG %jB4B6BBrc>>[[U] n[U/UQ70UD6$r])rrr:r)rrrr:rs rr:ErrorRaisingArgumentParser.exits%/;%d>[[U] n[U/UQ70UD6$r])rrerrorr)rrrrrs rr ErrorRaisingArgumentParser.errors%0$=%e=d=f==rr#) r&r'r(r)rFr:rr*r+r,s@rrrsC=>>rrc\rSrSrSrSrg)ParserTesterMetaclasscUS:Xag[US5(d[5Ul[US5(d [UlSnSnSnSnSn"S S [ 5n XEU4Hn Xx4H n U "X U 5 M M g) NParserTestCaseparser_signature parser_classcbUH)nUR"UR0URD6 M+ gr]) add_argumentrr)r<argument_signaturessigs r no_groups1ParserTesterMetaclass.__init__..no_groupss'*##SXX<<+rcURS5nUH)nUR"UR0URD6 M+ g)Nr2)add_argument_grouprrr)r<rgrouprs r one_group1ParserTesterMetaclass.__init__..one_groups7--e4E*""CHH; ;+rc[U5H?up#URSU-5nUR"UR0URD6 MA g)Nzfoo:%i) enumeraterrrr)r<rirrs r many_groups3ParserTesterMetaclass.__init__..many_groupssC#$7811(Q,?""CHH; ;9rc$URU5$r])rF)r<rs rlistargs0ParserTesterMetaclass.__init__..listargss$$T* *rc[RnUS/U-[lUR5U[l$!U[lf=f)Nr)rargvrF)r<r old_sys_argvs rsysargs/ParserTesterMetaclass.__init__..sysargss>88L$Q(4/CH (((*'<s ? A c,\rSrSrSrSrSrSrSrg)0ParserTesterMetaclass.__init__..AddTestscFX lX0lURRnURRnURUR4H=nURnXtU4nSR U5n U4Sjn Xl[XU 5 M? g![ a Nf=f)N_cU"U5 gr]r#r test_funcs rwrapperJParserTesterMetaclass.__init__..AddTests.__init__..wrapper  !$r)_add_arguments _parse_argsr& test_failurestest_successesrk TypeErrorr) r tester_cls add_argumentsrFadd_arguments_nameparse_args_namer func_namenames test_namers rr9ParserTesterMetaclass.__init__..AddTests.__init__s&3##- %)%8%8%A%A""&"2"2";";"&"4"4d6I6I!JI ) 2 2I%?JE #I09(+4(J7;"K%s<B B B cURRnURRnUR"U0UD6nUR XAR 5 U$r])rrrrrr)rtesterrrr<s r _get_parser.AddTests._get_parsersR..330077,,d=f=##F,F,FG rc>URU5nURHYnUR5nURUS9 UR [ US9 UR U5 SSS5 SSS5 M[ g!,(df  N=f!,(df  M~=f)Nr)msg)rfailuressplitrG assertRaisesrrF)rrr<args_strrs rr>ParserTesterMetaclass.__init__..AddTests.test_failuress}))&1 &H#>>+DT2#001D$0O"--d3P32!0PO32s$B A<'B < B B  B c2URU5nURHdup4[U[5(aUR 5nUR US9 UR X#5nURXE5 SSS5 Mf g!,(df  Mx=f)Nr)r successesrstrr rGr assertEqual)rrr<r expected_ns result_nss rr?ParserTesterMetaclass.__init__..AddTests.test_successes"sz))&1)/)9)9%D!$,,#zz|T2$($4$4V$B **;B32*:32s #B B )rrN) r&r'r(r)rrrrr*r#rrAddTestsrs <&  4 Crr)hasattrrrrrobject) clsrsbasesbodydictrrrrrrrrFs rrParserTesterMetaclass.__init__s # # s.//#&5C sN++9C   =  <  < + (+ Cv+ C^(K@M'1 Z82Arr#Nrr#rrrrs a9rrrc x\rSrSr\"S5/r/SQrS\"SS94S\"SS94S \"SS94S \"S S94S \"S S94/rS r g)TestOptionalsSingleDashi8-x)ra--foo-x --fooz-x -yr$Nx-x ar-xaz-x -1-1z-x-1r# r&r'r(r)rrr rrr*r#rrrr8sXt9+8H R$Z c S  "t* d Irrc$\rSrSr\"SSS9\"SSSS9\"S 5/r/S QrS \"S S S S94S\"SS S S94S\"S S SS94S\"S S SS94S\"SS SS94S\"SS SS94S\"SS SS94S\"SS SS94S\"S SS S94S\"S SS S94S\"SSSS94S\"SSSS94/ rSr g )TestOptionalsSingleDashCombinediFr store_trueactionz-yyy store_const*r,const-z) rr r%r!z-x -zz-z -xz-yxz-yz az-yyyxz-yyyzaz-xyzaz-x=r$FN)r#yyyzT-zar-z az-xzaz-xz az-x -zaz-x -z a-yz -x -yyy -zaz -x -yyy -z ar#r'r#rrr)r)Fs D& F=3 D  CH R%TT *+ rDdd+, U,- e-. d,- "t-. 2$#./ B43/0 rErT*+ et,- TrS12 dc23 Irr)c x\rSrSr\"S5/r/SQrS\"SS94S\"SS94S \"S S94S \"SS94S \"SS94/rS r g)TestOptionalsSingleDashLongi`-foo)r9rr z -foo --fooz-foo -y-fooar$Nr2z-foo arz-foo -1r&z-fo a-f ar#r'r#rrr8r8`sXv;-GH RD\ 2#; B4L! "+  Irr8c \rSrSr\"S5\"S5\"S5/r/SQrS\"SSSS94S \"S SSS94S \"S SSS94S \"S SSS94S\"SSSS94S\"SS SS94S\"SSS S94/rSr g)&TestOptionalsSingleDashSubsetAmbiguousin-f-foobar-foorab)r?r9-fo-foo bz-foobz-foobaz-foorar$N)ffoobarfoorabr<r-fa-foaoar:ooa -foobar a -foorab ar#r'r#rrr>r>nst9c)nc)nEKH R$tD 12 c$t45 Sd34 d456 "uT$78 b4D9: b4S9:Irr>c\rSrSr\"S5\"S5/r/SQrS\"SSS94S\"S SS94S \"S SS94S \"SS S94S \"SS S94S \"S SS94S\"S SS94S\"SS S94S\"SS S94S\"S SS94S\"S SS94S\"SS S94S\"SS S94/ rSr g) TestOptionalsSingleDashAmbiguousi~r@rA) r?r<rGrHr9rBrCz-f=az-foo=br$N)rErFz-foob arz-foob=az-foor az-foor=az-fooba az-fooba=az-foora az-foora=arKz -foobar=arLz -foorab=ar#r'r#rrrNrN~sy>3y>:"H RtD )* Bc$/0 Bc$/0 Bd3/0 Bd3/0 Rs401 Rs401 RtC01 RtC01 bD12 bD12 bS12 bS12IrrNch\rSrSr\"SSS9/r/SQrS\"SS94S \"S S94S \"S S94S \"S S94/rSr g)TestOptionalsNumericir&onedest)r&rz-1 --fooz-1 -yz-1 -1z-1 -2r$N)rQz-1 arz-1az-1-2-2r#r'r#rrrPrPsPt%01AH RD\  s   IrrPc x\rSrSr\"S5/r/SQrS\"SS94S\"SS94S \"SS94S \"S S94S \"S S94/rS r g)TestOptionalsDoubleDashir )r r?r<rz--foo -xz --foo --barr$Nr;z--foo arz--foo=az --foo -2.5z-2.5z --foo=-2.5r#r'r#rrrVrVsXw<.FH RD\ B3K B3K rf~& rf~& IrrVc \rSrSr\"SSS9\"S5/r/SQrS\"SS S 94S \"SS S 94S \"SS S 94S\"SS S 94S\"SS S 94S\"SS S 94/rSr g )#TestOptionalsDoubleDashPartialMatchi--badgerr*r+z--bat)--bar--b--ba--b=2z--ba=4 --badge 5r$FN)badgerbatz--bat XX--badT--badg--badger#r'r#rrrXrXs J|, G HH Ru$ '( Be-. "Dd+, 2Tt,- Bd-. Rt./ IrrXc \rSrSr\"SSS9\"S5/r/SQrS\"SS S 94S \"SS S 94S \"SS S 94S\"SS S 94S\"SS S 94S\"SS S 94S\"SS S 94/rSr g )"TestOptionalsDoubleDashPrefixMatchirYr*r+r\)rZr[r\r]r^r$FN)r_baz--ba Xraz--ba=XrbTrcrdr#r'r#rrrfrfs J|, F >H Ru &' 2Us+, 2Us+, "DT*+ 2Td+, Bdt,- Rt-.Irrfc \rSrSr\"SSS9\"S5\"SSSS 9/r/S QrS \"S S S S94S\"SS S S94S\"S SS S94S\"SSS S94S\"SS SS94S\"SS SS94/rSr g )TestOptionalsSingleDoubleDashir?r*r+rZ-bazr-r.r/)rZ-fbarz-fbazz-bazf-b BBr$FNrDbarbazTz--ba Brmz -f --bar Bz-f -bz-ba -fr#r'r#rrriris D& G  F=3 AH R%Tt ,- rDd-. 23D12 rDct45 "t2./ 2$B/0 Irric \rSrSr\"SSS9r\"SSS9\"S5\"S S S S 9/r/S QrS\"SSSS94S\"SSSS94S\"SSSS94S\"SSSS94S\"SSS S94S\"SSS S94/r Sr g)!TestOptionalsAlternatePrefixCharsi+:/F prefix_charsadd_help+fr*r+::bar/bazr-r.r/) rZrkrlrmr?--bar Brjr@--helpz+hz::helpz/helpr$NrnT::ba Brm +f ::bar B+f /b/ba +fr# r&r'r(r)rrrr rrr*r#rrrrrrs> D& G  F=3 qH R%Tt ,- rDd-. 23D12 rDct45 "t2./ 2$B/0 Irrrc \rSrSr\"SSS9r\"SSS9\"S5\"S S S S 9/r/S QrS\"SSSS94S\"SSSS94S\"SSSS94S\"SSSS94S\"SSS S94S\"SSS S94/r Sr g)*TestOptionalsAlternatePrefixCharsAddedHelpirsTrtrwr*r+rxryr-r.r/)rZrkrlrmr?rzrjr$FNrnr|rmr}r~rr#rr#rrrrs = D& G  F=3 HH R%Tt ,- rDd-. 23D12 rDct45 "t2./ 2$B/0 Irrc \rSrSr\"SSS9r\"SSS9\"SSS9\"S SS9/r/S QrS \"SSSS 94S\"S SSS 94S\"S S SS 94S\"S S S S 94/r Sr g)2TestOptionalsAlternatePrefixCharsMultipleShortArgsiz+-Frtrr*r+z+yz+z)-wz-xyzz+xr6z+xyzr$r#yr3Tz+y -xz+yz -xr#Nrr#rrrrsu= D& D& D& H R%5E *+ rDEU+, "ttu-. 2-. Irrc |\rSrSr\"SSSSSS9/r/SQrS \"S S 94S\"S S 94S\"S S 94S\"S S 94S\"S S 94/rS r g)TestOptionalsShortLongi)-v --verbose-nz--noisyr*r+)z --x --verbosez-Nrz-v xr$F)verboseTr#Nr'r#rrrr)sk D+tY|D4H R  r$ b&' r$ Bt$% Irrc |\rSrSr\"S5\"SSS9/rS/rS\"SS S 94S \"S S S 94S \"SSS 94S\"SSS 94/rSr g )TestOptionalsDesti9z --foo-bar--bazzabbazrRrz --foo-bar frDN)foo_barrz--baz ggz--foo-bar h --baz ihrz--baz j --foo-bar kkjr#r'r#rrrr9se{+Sx-HIuH 3t45 BtC01 3s ;< 3s ;< Irrcl\rSrSr\"S5\"SSS9/rS/rS\"SSS 94S \"S SS 94S \"SS S 94/rSr g)TestOptionalsDefaultiFrr6r.defaultrr$Nr#rz-xxr#z-yyrr#r'r#rrrrFsTt9c$&;<uH R$"  SB TS!"IrrcN\rSrSr\"S5/rSS/rS\"SS94S\"SS94/rSr g) TestOptionalsNargsDefaultiRrrr$Nr"r$r#r'r#rrrrRs8t9+T{H R$Z cIrrcN\rSrSr\"SSS9/rSS/rS\"SS94S \"S/S94/rS r g) TestOptionalsNargs1i]rnargsrr$Nr"r$r#r'r#rrrr]s>t1-.T{H R$Z seIrrcP\rSrSr\"SSS9/r/SQrS\"SS94S \"/S QS94/rS r g) TestOptionalsNargs3ihrr)rrr$-x a ba -xa -x br$Nr"z-x a b crbcr#r'r#rrrrhs9t1-.>H R$Z R/*+Irrc\rSrSr\"SSS9\"SSSS9\"SSS S 9\"S S\S S S9/rS/rS\"SSS SS94S\"SSS SS94S\"SSS SS94S\"SSS SS94S\"SSS SS94S\"SSSSS94S\"SSSSS94S \"SSS SS94S\"SSS SS94/ r Sr g)TestOptionalsNargsOptionalisr?rrr.)rr0r6spamrrr14284)rrr0r2r$NTrwr#rr3z-w 2z-x 2z-y 2z-z 2r# r&r'r(r)rintrr rrr*r#rrrrss D D2& DV, D#T4@  uH R$$&B /0 rDDFb12 cTVr23 rDB&B/0 dcVr23 rDDDB/0 ddcR01 rDDFb12 ddf23 Irrc \rSrSr\"SSS9\"SSSS9/rS/rS \"S SS 94S\"/SS 94S \"S/SS 94S \"SS/SS 94S\"S /S 94S\"S S/S 94S\"S SS/S 94/rSr g )TestOptionalsNargsZeroOrMoreir*rr6rrrr$Nrr$rr-y a-y a br#r'r#rrrrs D DV,uH R$& !" rB&!" sev&' 2c f-. rDB dse$% 2c +,Irrc \rSrSr\"SSS9\"SSSS9/r/SQrS \"S SS 94S \"S /SS 94S\"S S/SS 94S\"S S /S 94S\"S S S/S 94/rSr g )TestOptionalsNargsOneOrMoreir+rr6rr)rrr6rza -y br$Nrr$rrrrrr#r'r#rrrrs D DV,3H R$& !" sev&' 2c f-. dse$% 2c +, Irrc \rSrSr\"SSS9\"S\\"S5S9/r/SQrS \ "S S S 94S \ "S S S 94S\ "SS S 94S\ "S SS 94S\ "S SS 94S\ "SSS 94/r Sr g )TestOptionalsChoicesir?abcchoicesz-grr)rz-f dz-f abz-fadz-gaz-g 6r$N)rDrr<rz-f crz-g 0rz-g 03rz-fb -g4rr# r&r'r(r)rrrangerr rrr*r#rrrrs D%  DsE!H-/=H R$$  cT"# cT"# da! "tq/" BN# IrrcN\rSrSr\"S\SS9/rSS/rS\"SS 94S \"S S 94/r S r g )TestOptionalsRequiredirTrrequiredrr$-x 1rr"z-x42r.r#Nrr#rrrrsB DsT*RyH a bIrrcL\rSrSr\"SSS9/rSS/rS\"SS 94S \"S S 94/rS r g) TestOptionalsActionStoreirstorer+rrr$Nr"z-xfoor2r#r'r#rrrrs<tG45V}H R$Z "u+IrrcL\rSrSr\"SS\S9/rS/rS\"SS94S\"\S94/r S r g) TestOptionalsActionStoreConstir6r-r/rr$Nrr#) r&r'r(r)rrrr rrr*r#rrrrs<tMHIuH R$Z rF|IrrcL\rSrSr\"SSS9/r/SQrS\"SS94S\"S S94/rS r g ) TestOptionalsActionStoreFalseir1 store_falser+)rr4r5r$T)r3Fr#Nr'r#rrrrs8tM:;#H R$Z rE{IrrcL\rSrSr\"SSS9/r/SQrS\"SS94S\"S S94/rS r g ) TestOptionalsActionStoreTrueiz--appler*r+)rz --apple=bz --apple br$F)appleTr#Nr'r#rrrrs8y>?.H Re_ BTN#Irrc \rSrSr\"S\R S9/rSS/rS\ "SS94S\ "S S94S \ "S S94S \ "S S94S \ "S S94/r Sr Sr Sr g)TestBooleanOptionalActionir r+ --foo bar --foo=barr$Nr;T--no-fooFz--foo --no-fooz--no-foo --fooc[R"5nUR[5nUR SS[R S9 SSS5 UR S[WR55 g!,(df  N4=f)Nr Tr0r,z*got an unexpected keyword argument 'const') r5r6r rrBooleanOptionalActionassertInr exceptionrr<cms r test_const$TestBooleanOptionalAction.test_constsc((*   y )R   tH# G G  F F*- F;> G  G G.r#)r&r'r(r)rr5rrr rrrrr*r#rrrrsrwx/M/MNO[)H RD\ ", RE]# 2%=) 2$<( IW)rrc`\rSrSr\"SS\R S9/rS/rS\ "SS94S\ "SS94/r S r g ) !TestBooleanOptionalActionRequiredi7r T)rr,r$r;rFr#N) r&r'r(r)rr5rrr rrr*r#rrrr7sF Gd8+I+IJtH ", RE]#Irrc`\rSrSr\"SSS9/r/SQrS\"SS94S \"S /S94S \"S S /S94/rS r g)TestOptionalsActionAppendiCrappendr+rra --baz --baz a br$Nrp--baz ar--baz a --baz brr#r'r#rrrrCsKwx895H RD\ BC5M" BC:./Irrch\rSrSr\"SSS/S9/r/SQrS\"S/S94S \"SS /S94S \"/S QS94/rS r g)$TestOptionalsActionAppendWithDefaultiOrrrar,rrr$rrrr)rarrr#Nr'r#rrrrOsPwx#GH5H RSE] BC:&' B?34Irrc \rSrSr\"SSS9\"SSS9\"SSS9\"SSS9/r/S QrS \"S S S S S 94S\"S /S S S S 94S\"S S /S S S 94S\"S S S S S 94S\"S S S S S 94/rS r g )!TestConstActionsMissingConstKwargi[r? append_constr+r rr-rZ)z-f vrrr$N)rDr2rror#r'r#rrrr[s D( GN+ D' GM*  2H R$DDd 34 rTF$78 "t$4T:; rDdd56 "t489 Irrc t\rSrSr\"SS\S9\"SSSS9/r/S QrS \"S S 94S\"\/S 94S \"\S\S/S 94/r Sr g )TestOptionalsActionAppendConstinrrr/rrrr,rSrrza -cz-bxz-b xr$Nr-b -cx -b -cyzr#yzr# r&r'r(r)rrrr rrr*r#rrr r nsc Dy9 D,2H R$Z rYK ! 2CD ABCIrr c ~\rSrSr\"SS\S/S9\"SSSS 9/r/S QrS \"S/S 94S\"S\/S 94S \"S\S\S/S 94/r Sr g))TestOptionalsActionAppendConstWithDefaulti}rrra)r,r0rrrrr r r$r r r#rr#Nrr#rrrr}sn Dy3%H D,2H R3%[ rS)$%& 2ii FGHIrrcL\rSrSr\"SSS9/r/SQrS\"SS94S\"S S94/rS r g) TestOptionalsActionCountircountr+)rr$z-x bz -x a -x br$Nr"rr#r'r#rrrrs7tG451H R$Z rAwIrrc \rSrSr\"S5\"S5\"SSS9/rSS/rS \"S S S S 94S \"SS S S 94S\"SS S S 94S\"S SS S 94S\"S SS S 94S\"SS SS 94/rSr g )"TestOptionalsAllowLongAbbreviationir --foobaz--foobler*r+z--foob 5--foobr$NF)r2foobazfooblez--foo 77z--foo=7z --fooba arz --fooba=az--foobl --foo grTr#r'r#rrrrs G  J J|, H%H RDe 45 B3tE:; B3tE:; bT#e<= bT#e<= B3tDAB Irrc \rSrSr\"SS9r\"S5\"SSS9\"S5/r/S QrS \"S SS S 94S \"SSS S 94S\"SSSS 94/r Sr g )%TestOptionalsDisallowLongAbbreviationiF allow_abbrevr --foodler*r+--foonly)-foon 3z--foon 3--foodz--food --foo 2r$Nr2foodlefoonlyz--foo 33z--foonly 7 --foodle --foo 2rTrr#rr#rrrrsq. G  J|, J CH RDt 45 B3uT:; &s4(LMIrrc \rSrSr\"SSS9r\"S5\"SSS9\"S 5/r/S QrS \"S SS S 94S\"SSS S 94S\"SSSS 94/r Sr g )0TestOptionalsDisallowLongAbbreviationPrefixCharsirFrur z++fooz++foodler*r+z++foonly)z+foon 3z++foon 3z++foodz++food ++foo 2r$Nr%z++foo 3r(z++foonly 7 ++foodle ++foo 2rTrr#rr#rrr*r*ss%@ G  J|, J CH RDt 45 B3uT:; &s4(LMIrr*c \rSrSr\"SS9r\"S5\"SSS9\"S5/r/S QrS \"S SS S 94S \"SSS S 94S\"SSSS 94/r Sr g )/TestOptionalsDisallowSingleDashLongAbbreviationiFrr9z-foodler*r+z-foonly)r#z-foodz -food -foo 2r$Nr%z-foo 3r(z-foonly 7 -foodle -foo 2rTrr#rr#rrr-r-sp. F  Il+ I 4H RDt 45 2#eD9: #RCS%IJIrr-c \rSrSr\"SS9r\"S5\"SSS9/rSS/rS \"S S S 94S \"S S S 94S\"SS S 94S\"S SS 94S\"S SS 94S\"SSS 94/r Sr g )/TestDisallowLongAbbreviationAllowsShortGroupingiFrz-rrrr+z-c -rr$Nrrz-rarz-rccccz-ccrz-cc -raz-ccrccr#rr#rrr/r/s. D  D!gH R$$  SD!" dd#$ TQ BN# 2?# Irr/c \rSrSr\"SSS9r\"S5\"SSS9/rSS /rS \"S S S 94S \"SS S 94S\"SS S 94S\"S SS 94S\"SSS 94S\"SSS 94/r Sr g )5TestDisallowLongAbbreviationAllowsShortGroupingPrefixirFr+z+rz+crr+z+c +rr$Nr0z+rarz+rccr2z+ccrz+cc +raz+ccrccr#rr#rrr4r4s%@ D  D!gH R$$  SD!" dd#$ TQ BN# 2?# Irr4c<\rSrSr"SS\5rSrSrSrSr g) TestStrEnumChoicesic \rSrSrSrSrSrSrg)TestStrEnumChoices.Coloriredgreenbluer#N)r&r'r(r)REDGREENBLUEr*r#rrColorr8srr?c[R"5nURSURS9 UR SS/5nUR UR URR5 g)N--colorrr9)r5r6rr?rFrcolorr<rr<rs rtest_parse_enum_value(TestStrEnumChoices.test_parse_enum_value sX((*Itzz:  )U!34 TZZ^^4rc[R"5nURSURSS9 UR SUR 55 UR SUR 55 g)NrAzChoose a colorrhelpz[--color {red,green,blue}]z --color {red,green,blue})r5r6rr?r format_usage format_helpr;s r'test_help_message_contains_enum_choices:TestStrEnumChoices.test_help_message_contains_enum_choicessZ((*Itzz@PQ 2F4G4G4IJ 2F4F4F4HIrc[R"SS9nURSURS9 UR [R SUR SS/5 g)NF exit_on_errorrArz9invalid choice: 'yellow' \(choose from red, green, blue\)yellow)r5r6rr?assertRaisesRegex ArgumentErrorrFr;s r$test_invalid_enum_value_raises_error7TestStrEnumChoices.test_invalid_enum_value_raises_errorsT((u=Itzz:   " " H     !  rr#N) r&r'r(r)rr?rDrKrSr*r#rrr6r6s 5 J  rr6c@\rSrSr\"S5/r/SQrS\"SS94/rSr g)TestPositionalsNargsNonei#r2r$ra brr;r#Nr'r#rrrVrV#s(u:, H bSkIrrVc@\rSrSr\"SSS9/r/SQrS\"S/S94/rSr g ) TestPositionalsNargs1i-r2rrrWrr;r#Nr'r#rrrZrZ-s.uA./ H bcUmIrrZcB\rSrSr\"SSS9/r/SQrS\"SS/S 94/rS r g ) TestPositionalsNargs2i7r2rr)r$rra b crXrrr;r#Nr'r#rrr\r\7s1uA./'H Sz"#Irr\c^\rSrSr\"SSS9/rS/rS\"/S94S\"S/S94S \"SS /S94/rS r g ) TestPositionalsNargsZeroOrMoreiAr2rrrr$r;rrXrr#Nr'r#rrr_r_AsMuC01vH RBZ bcUm Sz"#Irr_c`\rSrSr\"SSSS9/rS/rS\"SS94S \"S /S94S \"S S /S94/rS r g )%TestPositionalsNargsZeroOrMoreDefaultiMr2rrorrr$r;rrXrr#Nr'r#rrraraMsOuC?@vH RE] bcUm Sz"#IrracR\rSrSr\"SSS9/rSS/rS\"S/S94S \"SS /S94/rS r g ) TestPositionalsNargsOneOrMoreiYr2rrr$rrr;rXrr#Nr'r#rrrcrcYsCuC01DzH bcUm Sz"#IrrccL\rSrSr\"SSS9/rSS/rS\"SS 94S \"S S 94/rS r g) TestPositionalsNargsOptionalidr2rrrrXr$Nr;rr#r'r#rrrereds<uC01e}H RD\ bSkIrrecN\rSrSr\"SSSS9/rSS/rS\"SS 94S \"S S 94/rS r g ) #TestPositionalsNargsOptionalDefaultior2rr.rrrXr$r;rr#Nr'r#rrrgrgos>uC<=e}H RBZ bSkIrrgcP\rSrSr\"SS\SS9/r/SQrS\"SS 94S \"S S 94/r S r g ),TestPositionalsNargsOptionalConvertedDefaultizr2rrrrr)rrX1 2r$r.r;1rr#Nrr#rrririzs@ E35$H RBZ bQiIrricP\rSrSr\"S5\"S5/r/SQrS\"SSS94/rS r g ) TestPositionalsNargsNoneNoneir2ro)r$rrr]rXrrr2ror#Nr'r#rrrnrns2u:s5z2'H s$%IrrncP\rSrSr\"S5\"SSS9/r/SQrS\"SS /S 94/rS r g ) TestPositionalsNargsNone1ir2rorr)r$r rr]rXrrror#Nr'r#rrrqrqs7u:s5':;*H s&'IrrqcR\rSrSr\"SSS9\"S5/r/SQrS\"SS /S S 94/rS r g )TestPositionalsNargs2Noneir2rrror$r rrXa b c dr]rrrror#Nr'r#rrrsrss9uA.E ;3H "#s-.Irrsc*\rSrSr\"S5\"S5\"SSS9/r/SQrS\"S S/S 94S \"S SS /S 94S \"S SS S/S 94S\"SS/S 94S\"SS/S 94S\"SSS /S 94S\"SSS /S 94S\"SSS /S 94S\"SSS S/S 94S\"SSS S/S 94S\"SSS S/S 94/ rSr g )"TestPositionalsNargsNoneZeroOrMoreirr2rorr)r$r  a b -x X crNr#r2rorXrr]r-x X araa -x X-x X a ba -x X ba b -x X -x X a b c a -x X b c a b c -x Xr#r'r#rrrwrwst9c%j#e32GH*H b4Sb)* Ts./ "t3*56 2"-. 2"-. R#3SE23 R#3SE23 R#3SE23 rCSsCj9: rCSsCj9: rCSsCj9: Irrwc\rSrSr\"S5\"S5\"SSS9/r/SQrS\"S S S /S 94S \"S S S S/S 94S\"SS S /S 94S\"SS S /S 94S\"SS S /S 94S\"SS S S/S 94S\"SS S S/S 94S\"SS S S/S 94/rSr g )!TestPositionalsNargsNoneOneOrMoreirr2rorrr$r rrxrXNrrryr]rr|rar}r~rrrr#r'r#rrrrst9c%j#e32GH/H Ts./ "t3*56 R#3SE23 R#3SE23 R#3SE23 rCSsCj9: rCSsCj9: rCSsCj9: Irrc \rSrSr\"S5\"S5\"SSS9/r/SQrS\"S SS S 94S \"S SS S 94S \"SSS S 94S\"SSS S 94S\"SSS S 94S\"SSS S 94S\"SSS S 94/rSr g ) TestPositionalsNargsNoneOptionalirr2rorrr$r r]rNryrXrrzrar{r|r}r~r#r'r#rrrrst9c%j#e32GH%H b4Sd+, Ts,- 2$/0 2$/0 R#3C01 R#3C01 R#3C01Irrc\rSrSr\"S5\"SSS9\"S5/r/SQrS\"S /SS 94S \"S S/S S 94S \"S SS /SS 94S\"S/SS 94S\"S/SS 94S\"SS/S S 94S\"SS/S S 94S\"SSS /SS 94S\"SSS /SS 94/ rSr g )"TestPositionalsNargsZeroOrMoreNoneirr2rrro)r$r r}rrxrNryrXrr]rrzrar{r|r~rrr#r'r#rrrrst9c%s&;SZHDH b4RS)* Tu#./ "t#s56 2-. 2-. R#C5c23 R#C5c23 rCc3ZS9: rCc3ZS9: Irrc \rSrSr\"S5\"SSS9\"S5/r/SQrS\"S S /S S 94S \"S S S /SS 94S\"SS /S S 94S\"SS /S S 94S\"SS /S S 94S\"SS S /SS 94S\"SS S /SS 94/rSr g )!TestPositionalsNargsOneOrMoreNoneirr2rrro)r$r rrrxrXNrrryr]rr|rar}r~rrr#r'r#rrrrst9c%s&;SZH=H Tu#./ "t#s56 R#C5c23 R#C5c23 R#C5c23 rCc3ZS9: rCc3ZS9:Irrc`\rSrSr\"SSSS9\"S5/r/SQrS\"SSS 94S \"SS S 94/rS r g ) TestPositionalsNargsOptionalNoneir2rr.rrorrrorXrr#Nr'r#rrrrsFuCuA.E0EF(H "#s#/0Irrcd\rSrSr\"SSS9\"SSS9/r/SQrS\"S S /S S 94S \"S S /SS 94/rSr g )TestPositionalsNargs2Optionalir2rrror)r$r rrurXrrNror]rr#r'r#rrrrsOuA.E0EF,H Szt,- "#s-.Irrcx\rSrSr\"SSS9\"SSS9/rSS/rS \"/S /S 94S \"S /S /S 94S \"S S /S/S 94/rSr g)TestPositionalsNargsZeroOrMore1i)r2rrrorr$r rrorXrr]rr#Nr'r#rrrr)sfuC0#e12EFGH bRcU#$ u3%() "#s#/0Irrcf\rSrSr\"SSS9\"SSS9/r/SQrS\"S /S /S 94S \"S S /S /S 94/rSr g)TestPositionalsNargsOneOrMore1i5r2rrrorrrXrrror]rr#Nr'r#rrrr5sQuC0#e12EF!H u3%() "#s#/0Irrc`\rSrSr\"SSS9\"SSS9/r/SQrS\"S S/S 94S \"SS /S 94/rS r g )TestPositionalsNargsOptional1i@r2rrrorrrNrorXrr#r'r#rrrr@sKuC0#e12EF%H bTu%& s&'Irrc\rSrSr\"S5\"S5\"SSS9\"SSS9/r/S QrS \"S S /S /S94S\"S S S /S/S94S\"SS /S /S94S\"SS /S /S94S\"SS /S /S94S\"SS S /S/S94S\"SS S /S/S94S\"SS S /S/S94/rSr g )#TestPositionalsNargsNoneZeroOrMore1iKrr2rorrrprrrXNrrr#r2rorpr]rr|rar}r~rrrr#r'r#rrrrKs D  E  E E  0H Ts67 "t3%cU;< R#3BSE:; R#3BSE:; R#3BSE:; rCSse#?@ rCSse#?@ rCSse#?@ Irrc8\rSrSr\"S5\"S5\"SSS9\"SSS9/r/S QrS \"S S S /S/S94S\"S S S S/S/S94S\"SS S /S/S94S\"SS S /S/S94S\"SS S /S/S94S\"SS S /S/S94S\"SS S S/S/S94S\"SS S S/S/S94S\"SS S S/S/S94/ rSr g )"TestPositionalsNargsNoneOneOrMore1iarr2rorrrpr)r$r rrz a b -x X c dz a b c -x X dr]Nrrrrrurrrarrxrz -x X a b c dz a -x X b c dz a b c d -x Xr#r'r#rrrras D  E  E E  GH "t3%cU;< B3S#JSEBC rCSse#?@ rCSse#?@ rCSse#?@ rCSse#?@ csc FG csc FG csc FG Irrc \rSrSr\"S5\"S5\"SSSS9\"SS S 9/r/S QrS \"S SSS/S94S\"S SSS/S94S\"SSSS/S94S\"SSSS/S94S\"SSSS/S94S\"SSSS/S94S\"SSSS/S94S\"SSSS/S94/rSr g )!TestPositionalsNargsNoneOptional1ixrr2ror?rrprrrrXNrrrr]rr|rar}r~rrrr#r'r#rrrrxs D  E  Ee, E  0H TsC59: "t#C59: R#3Eu=> R#3Eu=> R#3Eu=> rCScu=> rCScu=> rCScu=> Irrcn\rSrSr\"SSS9\"SSSS9/rSS /rS \"S SS 94S \"S SS 94S\"S SS 94/rSr g )$TestPositionalsNargsOptionalOptionalir2rrror.rr r]r$NrorrXrr#r'r#rrrrsb E Eb)!H RDb !" bSb!" s$%Irrc \rSrSr\"SSS9\"SSS9/rS/rS\"S /S 94S \"S /S 94S \"S S /S 94S\"S S S/S 94/rSr g )&TestPositionalsNargsOptionalZeroOrMoreir2rrrorr r$NrorrXrr]rr#r'r#rrrrsmuC0#e32GHyH RDb !" bSb!" s&' "3*-. Irrct\rSrSr\"SSS9\"SSS9/rSS/rS \"S S /S 94S \"S S /S 94S\"S S S/S 94/rSr g )%TestPositionalsNargsOptionalOneOrMoreir2rrrorr$r rNrorXrr]rr#r'r#rrrrsbuC0#e32GHG}H bTu%& s&' "3*-.IrrcX\rSrSr\"S\"S5S9/r/SQrS\"SS94S\"SS94/r S r g ) TestPositionalsChoicesStringirabcdefgrr$r rrefrrrr#N) r&r'r(r)rsetrr rrr*r#rrrrs<vs9~>?-H bcl bclIrrcZ\rSrSr\"S\\"S5S9/r/SQrS\ "SS94S \ "S S94/r S r g ) TestPositionalsChoicesIntirrr4rr15r#Nrr#rrrrs>vCrCD-H baj rr{IrrcT\rSrSr\"SSS9\"SSSS9/r/SQrS\"S S S //S 94/rS r g)TestPositionalsActionAppendirrr+rr,rrtr]rrrrr#Nr'r#rrrrsF F8$ F81-4H "3c +,-IrrcP\rSrSr\"SSS9\"SSSS9/r/SQrS\"/S QS 94/rS r g ) TestPositionalsActionExtendirextendr+rrrtr]rrr#Nr'r#rrrrs= F8$ F81-4H "/*+Irrc ~\rSrSr\"SSS9\"SSSS9/rS S /rS \"S S S94S\"SS S94S\"S SS94S\"SSS94/rSr g )"TestOptionalsNumericAndPositionalsir#rrz-4rr*rSr,rTz-315r$NFrrTz-4 ar#r'r#rrrrsp Cs Ds<0f~H R$% ! b3% ! rDD!" cT"# Irrc \rSrSr\"SSS9\"SSSS9/rS /rS \"S S S 94S\"SS S 94S\"SS S 94S\"S SS 94S\"SSS 94/rSr g )(TestOptionalsAlmostNumericAndPositionalsir#rrz-k4rr*rz-k3r$NFrrTrTz-k4 ar#r'r#rrrrs} Cs EL1wH R$% ! rDE"# b3% ! TT"# "sd#$ Irrc~\rSrSr\"SSSS9\"S5/rS/rS\"S S //S S 94S \"S //S S 94S\"S S //SS 94/rSr g )!TestOptionalsAndPositionalsAppendi r2rrrr,rZr9rXrrNro --bar a b a b --bar crr#r'r#rrrr sj EX. G xH c |./ bseW#./ c |56Irrcx\rSrSr\"SSSS9\"S5/rS/rS\"S S /S S 94S \"S /S S 94S\"S S /SS 94/rSr g )!TestOptionalsAndPositionalsExtendir2rrrrZr9rXrrNrorrrr#r'r#rrrrsd EX. G xH Szt,- bcU,- Szs34Irrc \rSrSr\"SSS9\"SSSS9/rS/rS /\"S S S 94S /\"S S S 94S /\"S S S 94SS /\"S S S 94SS /\"S S S 94SS /\"S S S 94S/\"S S S 94S/\"S S S 94/rSr g )$TestEmptyAndSpaceContainingArgumentsi$r#rrr6z--yyyrrRr$Nrza badgerz -a badgerz--yyy=a badgerz--yyy=-a badgerr#r'r#rrrr$s Cs D'$vH rB$ rJ$/0 [D12 R$"%&  R$*56  b4;78  R$*56  b4;78 Irrc \rSrSr\"SS9r\"SSSSS9\"S S \S S 9\"S SSS9/rSS/rS\ "SS SS94S\ "SS SS94S\ "SS SS94S\ "SSSS94S \ "SS SS94S\ "SS SS94/r Sr g) TestPrefixCharacterOnlyArgumentsi7z-+ru-r#rr_)rSrr0rrr.)rSrrz-+-r3r*rr6z+ -r$NFrz- Xraz+ -3Tz- ===z===r#) r&r'r(r)rrrrr rrr*r#rrrr7s- CcH5 CcR0 EL1 e}H R$" &' b8rU+, SB%() dbE*+ TR4() "ue,- Irrc \rSrSr\"SSS9\"SSS9/r/rS\"S/S94S\"//S94S \"S //S94S \"S /S /S94S \"SS /S94S \"/S /S94S\"S /S /S94/rSr g)TestNargsZeroOrMoreiJrrrrr$Nrr$rz -x a -- brrrr#r'r#rrrrJst3/S1DEH R$"  rB"~ ser"# bC5SE*+ b4C5!" bSE"# 2#'(Irrc \rSrSr\"S5\"SSS9\"S5/r/SQrS\"S/S S 94S \"S/S S 94S \"SSS/S S 94S\"S/SQS S 94S\"S/SQS S 94S\"S/SQS S 94S\"SSS/S S 94/rSr g )TestNargsRemainderiZr#r...rr1)r$r1z-z ZraNrz-z Z XZz -z Z X A BArmz X -z Z A B)r1rrrmz X A -z Z B)rr1rrm X A B -z Z)rrmr1rz X Y --fooYr r#r'r#rrrrZss8SE%:CIF!H b3"%& 2rS)* rCC:56 rC#8DAB rC#8DAB rC#8DAB b33.D9:Irrc\rSrSr\"S\S9\"S\SS9\"SSS 9/r/S QrS \"S S /S 94S\"SS /S 94S\"SS S/S 94S\"S S/S 94S\"S S/S 94S\"S S/S 94S\"S SS/S 94S\"S S S/S 94S\"SS S/S 94S\"SS S/S 94S\"S SS/S 94/ r Sr g )TestOptionLikeijrrz-3r)rrSr3rr) rz-y2.5r%z-x -az-x -3z-x -3.5z-3 -3.5z-x -2.5z -x -2.5 az-3 -.5za x -1z-x -1 az-3 -1 ar$Nrz-x 2.5@z-x 2.5 arz-3.5?z-3-.5gz-3 .5za -3.5za -x 1g?z-x 1 az-3 1 ar#) r&r'r(r)rfloatrr rrr*r#rrrrjs Du Du3' Cs 0H R$$" %& 2tr*+ R##/0 dcR() "ttr*+ "tsb)* 2u-. b44C5)* 2tu-. 2tu-. 2u-. Irrct\rSrSr\"SS\\RS9\"SS\\RS9\"SS\RS 9\"S S\\RS9\"S S\\RS9/r/S Qr S \ "54S\ "SS94S\ "SS/S94S\ "SS94S\ "SSS94S\ "SS/SS94S \ "SS94S\ "SS94S \ "/S94S\ "SS/S94/ r Sr g) TestDefaultSuppressir2rrjrorrr*rz--qux--quux)rrz1 ar$rlrr;rkrroTrz1 --bazr2rpz --baz 1 2r2rorpN)quxz--qux 1)quuxz --quux 1 2r#) r&r'r(r)rrr5SUPPRESSrr rrr*r#rrrrs E30A0AB E30A0AB GL(2C2CD G3S(2C2CD HCc83D3DE "H RT bQi qqc"# ", B1$'( bQQCT23 ", B1I 22; r1v' Irrc \rSrSr\"\R S9r\"SSS9\"SSS9\"SS S 9/rS /r S \ "54S \ "S S94S\ "S S/S94S\ "SS94S\ "S SS94S\ "S S/SS94/r Sr g)TestParserDefaultSuppressiargument_defaultr2rrrorrr*r+rr$rr;rXrroTrrrrrr#N) r&r'r(r)rr5rrrr rrr*r#rrrrsH,=,=> E E GL) vH RT bSk s&' ", B3D)* bSse67 Irrc \rSrSr\"SS9r\"SSSS9\"SS S 9\"S S S 9\"S SS9/rS/rS\"SSSSS94S\"SSSSS94S\"SS/SSS94S \"SSSSS94S\"SSSSS94S\"SS/SSS94/r Sr g)TestParserDefault42ir.r --versionversion1.0r,rr2rrrorrr*r+rr$)r2rorprrrXrTrrr#Nrr#rrrrsB/ K 59 E E GL)  vH RBBB 34 bSbb"56 s2r:; "r:; B3BD"=> bSserBC Irrc ^\rSrSrU4Sjr\"SS9r\"S5\"S5\"SSS 9/r/S QrS \ R-r S \ "S SS/S94S\ "SSSS/S94S\ "S \ S/S94S\ "S S\ /S94S\ "S\ SS/S94S\ "SS\ S/S94/SQ\ "SSS/S94/r \ R(aL\ RRS5r\R$"\5r\ S\ "S \S/S94S\ "S S\/S94/- r SrU=r$SrSrU=r$) TestArgumentsFromFileic >[[U] 5 S[R"UR 5S-4SSSUR S-4/nUH+up#[US5nURU5 SSS5 M- g!,(df  M?=f)Nhello ) recursives -a A @hello)invalids@no-such-path undecodablewb) rrrWrafsencoderrrzr{r file_textsrjtextr~rs rrWTestArgumentsFromFile.setUps #T02 bkk$**-5 6 % , D,,u4 5  %JDdD!T 4 "!%!!s A>> B @fromfile_prefix_charsrr#rrr)r$rraz@invalidz@missingz hello world!zX YNrar)rr#rz X -a A Y Zrr@hello XzX @helloz-a B @recursive Y ZzX @recursive Z -a Brm)rr$rarr$@z@undecodable XzX @undecodablerr#)r&r'r(r)rWrrrr r FS_NONASCIIrrrTESTFN_UNDECODABLElstriprrafsdecodedecoded_undecodabler*r+r,s@rrrsM !5 D  C Cs 7H Y22 2E TSSE*+ rC33*56 R$%C512 R$#%12 SEc3Z @A SCE3< @A rB##78I##2299$?  kk+6 rD,?C5I J rDC4G3HI J   rrcx^\rSrSrU4Sjr"SS\5r\r\"SS9r \"SSS 9/r /r S \ "/S QS 94/r S rU=r$)TestArgumentsFromFileConverteric>[[U] 5 S/nUH+up#[US5nUR U5 SSS5 M- g!,(df  M?=f)N)rs hello world! r)rr rWrzr{rs rrW$TestArgumentsFromFileConverter.setUpsP ,d9; ( %JDdD!T 4 "!%!!s A  A c\rSrSrSrSrg)>TestArgumentsFromFileConverter.FromFileConverterArgumentParseric#p# UR5HnUR5(dMUv M g7fr])r strip)rarg_lineargs rconvert_arg_line_to_argsWTestArgumentsFromFileConverter.FromFileConverterArgumentParser.convert_arg_line_to_argss)~~'yy{{ (s46r#N)r&r'r(r)rr*r#rrFromFileConverterArgumentParserr s rrrrrrrr)rzworld!rarr#)r&r'r(r)rWrrrrrrr rrr*r+r,s@rr r sU!*D3L5 CsH R234Irr c2\rSrSrSrSrSrSrSrSr g) TestFileTypeRepricf[R"S5nURS[U55 g)Nr1z FileType('r')r5FileTyperreprrrs rtest_rTestFileTypeRepr.test_rs&  % $t*5rch[R"SS5nURS[U55 g)NrrzFileType('wb', 1)rrs r test_wb_1TestFileTypeRepr.test_wb_1s)  q) ,d4j9rcd[R"SSS9nURS[U55 g)Nr1latin_1rxz!FileType('r', encoding='latin_1')rrs r test_r_latinTestFileTypeRepr.test_r_latin s)  y9 [[U] 5 SHPn[[R R URU5SSS9nURU5 SSS5 MR URS5 g!,(df  Mu=f)Nrorwr rxreadonly) rrMrWrzrarjrkr`r{rr file_namer~rs rrWTestFileTypeR.setUpdsp mT(*'Ibggll4==)<G-04 9%--( !!*---s A<< B rrrr1)rr$znon-existent-file.txtr2Nr#r -x foo barro bar -x foo-x - -rOr#)r&r'r(r)rWrr5rrr rr?eq_stdinrr*r+r,s@rrMrMas. Dx((*+ F**3/03H Te -. rE%LuU|<= rE%LuU|<= 2x01 R$U:%678 IrrMc~^\rSrSrU4Sjr\"S\R"S5SS9/rS/r S\ "\ "S 5S 94/r S r U=r$) TestFileTypeDefaultsiyc>[[U] 5 [[R R URS5SSS9nURS5 UR5 g)Ngoodrwr rx) rrYrWrzrarjrkr`r{rI)rr~rs rrWTestFileTypeDefaults.setUp{sG "D/1BGGLL7wO 6 rrr1z no-file.txtrrr$z-c goodr[)rr#)r&r'r(r)rWrr5rrr rr?rr*r+r,s@rrYrYysH Dx((-}EtHR%-012IrrYc ^\rSrSrU4Sjr\"S\R"S5S9\"S\R"S5S9/rSS/r S\ "S \ "S5S 94S \ "\ "S5\ "S 5S 94S \ "\ "S5\ "S 5S 94S\ "\ \ S 94/r SrU=r$)TestFileTypeRBic>[[U] 5 SHPn[[R R URU5SSS9nURU5 SSS5 MR g!,(df  Md=f)Nrorwr rx) rr_rWrzrarjrkr`r{rPs rrWTestFileTypeRB.setUps` nd)+'Ibggll4==)<G-04 9%--(--s A++ A: rrbrrr$r2NrSrTrorUrVr#)r&r'r(r)rWrr5rrr rr? eq_bstdinrr*r+r,s@rr_r_s& Dx((./ F**401bzH Te -. rE%LuU|<= rE%LuU|<= 2 23 Irr_c.\rSrSr\"5rSrSrSrg)WFileicXlgr]rArBs rrWFile.__init__rDrcXR;a_SnSUR;aURS5nURU5 UR 5 URR U5 UR UR :H$)NzCheck that file is writable.rrF)rGmoderr{rIaddrsrJs rr WFile.__eq__sc  !1Dejj {{7+ KK  KKM IIMM% yyEJJ&&rrAN) r&r'r(r)rrGrrr*r#rrreres 5D'rrec (^\rSrSrU4Sjr\"S\R"S5S9\"S\R"S5S9/r/SQr S\ "S \ "S5S 94S \ "S \ "S 5S 94S \ "\ "S5\ "S 5S 94S\ "\ "S5\ "S 5S 94S\ "\ \ S 94/r SrU=r$) TestFileTypeWicf>[TU]5 URS5 URS5 gNrOwritablerrWrrrrs rrWTestFileTypeW.setUp(   !!*- !!*-rrrwrr)rr$rOr2NrSrprTrorUrVr#r&r'r(r)rWrr5rrr rre eq_stdoutrr*r+r,s@rrmrms. Dx((-. F**3/0&H Te -. R$U:%678 rE%LuU|<= rE%LuU|<= 2 23 Irrmc^\rSrSrU4Sjr\"S\R"S5S9\"S\R"S5S9/r/SQr S\ "\ "S 5\ "S 5S 94S \ "\ \ S 94/r S rU=r$) TestFileTypeXicf>[TU]5 URS5 URS5 grorqrrs rrWTestFileTypeX.setUprtrrr#rr)rr$rOrprTr2rorSrVr#rur,s@rrxrxsp. Dx((-. F**3/02H rE%LuU|<= 2 23Irrxc \rSrSr\"S\R "S5S9\"S\R "S5S9/rSS/rS\ "S\ "S5S 94S \ "\ "S5\ "S 5S 94S \ "\ "S5\ "S 5S 94S \ "\ \ S 94/r Sr g)TestFileTypeWBirrrrr$r2NrSrTrorUrVr#)r&r'r(r)rr5rrr rre eq_bstdoutrr*r#rrr|r|s Dx((./ F**401bzH Te -. rE%LuU|<= rE%LuU|<= 2 45 Irr|c\rSrSr\"S\R "S5S9\"S\R "S5S9/rS\"\ "S5\ "S5S 94S \"\ \ S 94/r S r g ) TestFileTypeXBirxbrrrTr2rorSrVr#N) r&r'r(r)rr5rrrrer}rr*r#rrrrse Dx((./ F**401 rE%LuU|<= 2 45Irrc \rSrSrSrSrSrg)TestFileTypeOpenArgsic 2[RnU"S5S4U"SS5S4U"SSS9S4U"S S S 9S 4U"SS SS5S4/n[R"S5nUH upEU"S5 UR"S/UQ76 M" SSS5 g!,(df  g=f)Nrb)rbNNrwr)rwrNNr,r-)rwrNr,rr&rx)rrr&Nrl1strict)rwrrrz builtins.openr2)r5rrr9assert_called_with)rFTcasesmrrs rtest_open_args#TestFileTypeOpenArgs.test_open_argss    X- . QZ- . I &(B C v &(@ A Qh ')A B  ZZ (A# U $$U2T2$) ( (s 'B BcUR[5 [R"S5"S5 SSS5 g!,(df  g=f)Nrz-test)r  ValueErrorr5rr!s rtest_invalid_file_type+TestFileTypeOpenArgs.test_invalid_file_type s/   z *   c "7 ++ * *s < A r#N)r&r'r(r)rrr*r#rrrrs  3,rrc\rSrSrSrSrg)!TestFileTypeMissingInitializationic6[R"5nUR[5nUR S[R S9 SSS5 UR [R <S3[WR55 g!,(df  NF=f)Nrrz: is a FileType class object, instance of it must be passed) r5r6r rrrrrrrs rtest&TestFileTypeMissingInitialization.testsq((*   z *b   8+<+<  =+    #   + *s B  Br#Nr&r'r(r)rr*r#rrrrs  rrcl\rSrSr\"S\S9\"S\S9/r/SQrS\ "SSS 94S \ "S S S 94S \ "SSS 94/r Sr g)TestTypeCallablei$--eggsrr)r42jz--eggs az --eggs 2iz --eggs=42 42r.gE@)eggsrz--eggs 2j -- -1.5y@z1024.675Ng3333@r#) r&r'r(r)rcomplexrrr rrr*r#rrrr$s[ H7# F5H $/0 bbt45 RT12Irrc\rSrSr"SS\5r\"S\S9\"S\S9/r/rS\ "\"S5\"S 5S 94S \ "\"S 5\"S 5S 94/r Sr g)TestTypeUserDefinedi3c \rSrSrSrSrSrg)TestTypeUserDefined.MyTypei6cXlgr]valuerrs rr#TestTypeUserDefined.MyType.__init__8Jrc`[U5UR4[U5UR4:H$r]rrrs rr!TestTypeUserDefined.MyType.__eq__;'J +U U[[/II IrrNr<r#rrMyTyper6   JrrrrrrrrrS-xf grDrr#N) r&r'r(r)rNrrrr rrr*r#rrrr3sjJJ Dv F H 2s &+67 "vc{56Irrc\rSrSr"SS5r\"S\S9\"S\S9/r/rS\"\"S5\"S 5S 94S \"\"S 5\"S 5S 94/r Sr g)TestTypeClassicClassiIc \rSrSrSrSrSrg)TestTypeClassicClass.CiLcXlgr]rrs rrTestTypeClassicClass.C.__init__Nrrc`[U5UR4[U5UR4:H$r]rrs rrTestTypeClassicClass.C.__eq__QrrrNr<r#rrCrLrrrrrrrrrrSrrDrr#N) r&r'r(r)rrrr rrr*r#rrrrIshJJ Dq FH 2#QsV,- "qvAcF+,Irrc\rSrSrSrSrg)TestTypeRegistrationi_cvSn[R"5nURSSU5 URSSS9 URSSS9 UR UR SR 55[SSS 95 UR UR S R 55[SS S 95 g) Nc SU-$)Nz my_type{%s}r#strings r get_my_type.TestTypeRegistration.test..get_my_typeds  6) )rrmy_typerrrrlz my_type{1}rz-x 1 42z my_type{42})r5r6registerrrrFr r)rrr<s rrTestTypeRegistration.testbs *((* ;7Dy1Ci0 **399;7dl3 5 **9??+<=lm< >rr#Nrr#rrrr_s >rrc \rSrSr"SS\R 5r"SS\R 5r\"SS\\ SS 9\"S \\ S S S 9/r /r S\ "SS S94S\ "SSS94S\ "SSS94S\ "SSS94/rSrg)TestActionUserDefinedivc\rSrSrSSjrSrg)$TestActionUserDefined.OptionalActioniyNc[SS9nUS;aSUlOUS;aSUlO[SU-5e[ US U5 g![an[SU-5eSnAff=f) N?r)?rr)@r value: %szopt_action failed: %sr)rr_AssertionErrorrrrr< namespacer option_stringrrs r__call__-TestActionUserDefined.OptionalAction.__call__{su G !dm N*)*K&e^)+K&(u)<== Ivu -" G)*AA*EFF Gs!A AA A  AA r#r]r&r'r(r)rr*r#rrOptionalActionrys .rrc\rSrSrSSjrSrg)&TestActionUserDefined.PositionalActioniNc[SS9nUS;aSUlO*US;aSUlOUS;aSUlO[S U-5e[ US U5 g![an[S U-5eSnAff=f) Nrr_)r.rr)rr)rrrzarg_action failed: %sr_)rrrrrrs rr/TestActionUserDefined.PositionalAction.__call__s G!l H$'+K$c\',K$c\',K$(u)<== Ix /" G)*AA*EFF Gs&A A AA A.A))A.r#r]rr#rrPositionalActionrs 0rrz-srr)rSr,rrr_rr)r,rrrz-s0.125r)rr_rr.z -s 0.625 1rrz84 -s2rrr#N)r&r'r(r)r5Actionrrrrrrr rrr*r#rrrrvs..,08??04 Dvn & H-C , H BE!,- rtB'( ruQ/0 23r*+ IrrcD\rSrSr"SS\R 5rSrSrg)TestActionRegistrationic\rSrSrSSjrSrg)TestActionRegistration.MyActioniNc6[X RSU-5 g)Nzfoo[%s])rrS)rr<rvaluesrs rr(TestActionRegistration.MyAction.__call__s Iyy)f*< =rr#r]rr#rrMyActionrs >rrc,[R"5nURSSUR5 UR SSS9 UR UR S/5[SS95 UR UR S/5[S S95 g) Nr, my_actionr_r+rlzfoo[1]rrzfoo[42])r5r6rrrrrFrr;s rrTestActionRegistration.tests{((*+t}}=H[9 **C512X3FG **D62Bi4HIrr#N) r&r'r(r)r5rrrr*r#rrrrs>8??> JrrcB\rSrSr\"SSS\S9/rSrS\"/SQS 94/r Sr g ) TestActionExtendir rr)r,rrr#z--foo f1 --foo f2 f3 f4)f1f2f3f4r;N) r&r'r(r)rrrr rrr*r#rrrrs4 GHCc:H "B+C$DEIrrcJ\rSrSr"SS\R 5rSrSrSr g)TestInvalidActionic\rSrSrSrg)#TestInvalidAction.ActionWithoutCallir#Nr&r'r(r)r*r#rrActionWithoutCallrs rrc[R"5nURSURS9 UR [ UR SS/5 g)Nr r+ro)r5r6rrr NotImplementedErrorrFr;s rtest_invalid_type#TestInvalidAction.test_invalid_typesG((*GD,B,BC -v/@/@7EBRSrc[5nURS5nSUlUR[UR SS/5 g)Nr rro)rrrr rrFrr<r,s rtest_modified_invalid_action.TestInvalidAction.test_modified_invalid_actions?+-$$W-  -v/@/@7EBRSrr#N) r&r'r(r)r5rrrrr*r#rrrrs HOO T Trrc^\rSrSrSrS!SjrU4SjrSrSrSr Sr S r S r S r S rS rSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSr Sr!S r"U=r#$)"TestAddSubparsersic8UR"[/UQ70UD6 gr]r rrs rassertArgumentParserError+TestAddSubparsers.assertArgumentParserError -???rcdU(a&[SSUS9nURUSS-S-SSS 9 O[SSS 9nURS SSS 9 URS [S S9 SS0nU(a SUS'SUS'OSUS'UR"S50UD6nUR [ R SUR5 [SS9nU(aSUS'U(aSS/US'UR"S60UD6nURS[SS9 URS /S!QS"S#9 [S$S9n U(aS%U S'UR"S70U D6n U RS&/S'QS(S#9 U RS)[S*S+S,9 [S-S9n U(aS.U S'UR"S80U D6n U RS/[S0S9 U RS1S2S3S49 U$)9NPROGmain description)prog descriptionrurrr2r*foo helpr,rHrrr robar helprrHrFCOMMANDrcommandstitle command helprHz(cannot have multiple subparser argumentsz 1 descriptionrz1 help1alias11alias2aliasesrw helpr#rx helprGz 2 descriptionz2 helpr6rlrr(y helpr3rz help)rrrHz 3 descriptionz3 helptzt helpurzu helprrHr#rl)r)r() rrradd_subparsersrQr5rRdict add_parserrr) rsubparser_helprurr<subparsers_kwargs subparsersparser1_kwargsparser1parser2_kwargsparser2parser3_kwargsparser3s rrTestAddSubparsers._get_parsers  /);,XF   Q!#e+Lz  S0);=F    :  ? J  0(/ +4 i ()3 g &(6 f %**?->?  x55I%44 6 /: %-N6 " )2I(>N9 %''>~>T(;S/I/: %-N6 "''>~>T?JSwcI/: %-N6 "''>~>Ss:SH= rct>[TU]5 UR5UlURSS9Ulg)NT)r)rrWrr<command_help_parserrrs rrWTestAddSubparsers.setUp* s2  &&( #'#3#34#3#H rcSH9nUR5nURURRU5 M; g)N)r$rza az0.5 az0.5 1z0.5 1 -yz0.5 2 -w)r rr<rF)rr rs rtest_parse_args_failures*TestAddSubparsers.test_parse_args_failures/ s41H>>#D  * *4;;+A+A4 H1rc $URURRSR55[ SSSSS95 URURRSR55[ SS S S S /S 95 URURRSR55[ SSSSS95 URURRSR55[ SSS/SQS95 g)N 0.5 1 b -w 7Frrr2rorwr#z0.25 --foo 2 -y 2 3j -- -1jTrry@y)r2rorr3z--foo 0.125 1 crrz-1.5 3 11 -- a --foo 7 -- br )rr r--r)r2rorr)rr<rFr rr!s rtest_parse_args!TestAddSubparsers.test_parse_args6 s  KK " ">#7#7#9 : 5cQ# .   KK " "#@#F#F#H I 4TSRI 6   KK " "#4#:#:#< = 4Udc 2   KK " "#@#F#F#H I 5db,J K rc URURRSR55[ SSSSS9/45 URURRSR55[ SSSSS9S/45 URURRS R55[ SSSSS9S/45 URURRS R55[ SSSSS9S S /45 URURRS R55[ SSSSS9/SQ45 g)Nr0Frr1rr2z0.5 -p 1 b -w 7-p0.5 1 b -w 7 -pz0.5 1 b -q -rs -w 7z-qz-rsz0.5 -W 1 b -X Y -w 7 Z)z-Wz-Xrr)rr<parse_known_argsr rr!s rtest_parse_known_args'TestAddSubparsers.test_parse_known_argsI sC  KK ( ()=)=)? @ Esa3 / 4   KK ( ():)@)@)B C Esa3 /$ 8   KK ( ():)@)@)B C Esa3 /$ 8   KK ( ()>)D)D)F G Esa3 /$ ?   KK ( ()A)G)G)I J Esa3 /1G H rcn"SS5nURURRSR5US9US/45 UR UR S5 URUR S5 URURS5 URURS 5 g) Nc\rSrSrSrg)ETestAddSubparsers.test_parse_known_args_to_class_namespace..Ci` r#Nrr#rrrr?`  rrr9)rr8Frr1r) rr<r:r assertIsr2rorwr#)rrs r(test_parse_known_args_to_class_namespace:TestAddSubparsers.test_parse_known_args_to_class_namespace_ s    KK ( ():)@)@)Ba ( P K  aeeU# $ a  c"rc [5nURS5 URS5 UR5nURS5nURS5 URS5 UR UR /SQ5[ SSSSS95 UR UR /S Q5[ SSSSS95 URUR /S Q5 UR UR /S Q5[ SSSSS95 UR UR /S Q5[ SSSSS95 UR UR /S Q5[ SSSSS95 URUR /SQ5 g)Nr!r"ro--foz--foonew)r$rprorp)r&r'fofoonew)--foonrpro)rErpro)rorErp)ror rp)rorHrp)ror$rp)rrrrrrFrrrr<r!r#s rtest_abbreviation#TestAddSubparsers.test_abbreviationk se+-J'J'**, ''.V$Z( **+CD5$tL N **+CD4$tL N &&v'8'8:PQ **+AB4tL N **+BC4eL N **+CD4eL N &&v'8'8:RSrc[5nURSSSSS9 URSSSSS9 URURSS/5[ S SS 9S/45 URURSS/5[ S SS 9S/45 URURS /5[ S SS 9S/45 UR URS /5 URURS /5[ SSS 9S /45 URURS/5[ SSS 9S/45 URURS/5[ S SS 9S/45 UR URS/5 URURS/5[ S SS 9S/45 URURS/5[ S S S 9S/45 UR URS/5 UR URS/5 UR URS/5 URURS/5[ S S S 9S/45 g)Nz-kz--knownrrrrz--newz-ur)knownnewz-kuz-k=uz-ukz-u=kz -kunknownz-unknownz -k=unknownz -ku=nknownz -u=nknownz-knewz-ewz-kn=ewz-k-newz-kn-ewz-kne-wz-e-w)rrrr:rrr;s r-test_parse_known_args_with_single_dash_option?TestAddSubparsers.test_parse_known_args_with_single_dash_option sR+-D)GQGD''1E 00$>1!,tf5 7 00$>1!,tf5 7 00%91!,tf5 7 &&v'>'>I 00%91!,ug6 8 00&:1!,vh7 9 00+?1!,zl; = &&v'>'>O 00,@1!,{m< > 00';1!,ug6 8 &&v'>'> K &&v'>'> K &&v'>'> K 00(<1!,vh7 9rc [5nURSSS9 URSS9nURS5nURS5 UR [ SSS S 9UR S R555 g) Nr r*r+rorRrlrpFrrrk)rrrrrrrFr rIs r test_destTestAddSubparsers.test_dest s{+-GL9***6 '',U# 3C8**5;;=9 ;rcURS/5nURURS5 URURS5 g)Nrunr#)rFrcommandr)rr<rets r_test_required_subparsers+TestAddSubparsers._test_required_subparsers s@( e, &&v'8'8"=rc[5nURSS9nSUlURS5 UR U5 g)NrVrRTrU)rrrrrXrr<r!s r&test_required_subparsers_via_attribute8TestAddSubparsers.test_required_subparsers_via_attribute sA+-** *: " e$ &&v.rc|[5nURSSS9nURS5 URU5 g)NrVTrSrrU)rrrrXr[s r"test_required_subparsers_via_kwarg4TestAddSubparsers.test_required_subparsers_via_kwarg s;+-** D*I e$ &&v.rc[5nURSS9nURS5 URS5nUR UR 5 g)NrVrRrUr#rrrrF assertIsNonerVrr<r!rWs r test_required_subparsers_default2TestAddSubparsers.test_required_subparsers_default sM+-** *: e$# #++&rcF[5nURSS9nURS5 URS5 UR[5nUR S5 SSS5 UR WRRS5 g!,(df  N5=f)NTrr2ror#z8error: the following arguments are required: {foo,bar} $ rrrr rrFrIrrrr<r!excinfos r-test_required_subparsers_no_destination_error?TestAddSubparsers.test_required_subparsers_no_destination_error s+-**D*9 e$e$   2 3w   b !4     $ $ G 4 3 B B cF[5nURSS9nURS5 URS5 UR[5nUR S5 SSS5 UR WRRS5 g!,(df  N5=f)NTrir2rorzLerror: argument {foo,bar}: invalid choice: 'baz' \(choose from foo, bar\)\n$rjrks r3test_wrong_argument_subparsers_no_destination_errorETestAddSubparsers.test_wrong_argument_subparsers_no_destination_error s+-**D*9 e$e$   2 3w   h '4     $ $ [ 4 3roc[5nURSSS9nURS5 URS5nUR UR 5 g)NrVFr_rUr#rcres rtest_optional_subparsers*TestAddSubparsers.test_optional_subparsers sO+-** E*J e$# #++&rcURURR5S5 URURR5[R "S55 g)N)usage: PROG [-h] [--foo] bar {1,2,3} ... a? usage: PROG [-h] [--foo] bar {1,2,3} ... main description positional arguments: bar bar help {1,2,3} command help options: -h, --help show this help message and exit --foo foo help )rr<rIrJtextwrapdedentr!s r test_helpTestAddSubparsers.test_help sQ 113E G 002HOO E 5 rcURSS9nURUR5S5 URUR5[R "S55 g)Nz+:-rz)usage: PROG [-h] [++foo] bar {1,2,3} ... a? usage: PROG [-h] [++foo] bar {1,2,3} ... main description positional arguments: bar bar help {1,2,3} command help options: -h, --help show this help message and exit ++foo foo help rrrIrJrxryr;s rtest_help_extra_prefix_chars.TestAddSubparsers.test_help_extra_prefix_chars s\!!u!5 ,,.E G ++-x @ 0 rc[SSS9nURSSSS9 URUR5[R "S55 g) Nrrrz--non-breakingruRhelp message containing non-breaking spaces shall not wrap at non-breaking spacesru7 usage: PROG [-h] [--non-breaking] main description options: -h, --help show this help message and exit --non-breaking help message containing non-breaking spaces shall not wrap at non-breaking spaces rrrrJrxryr;s rtest_help_non_breaking_spaces/TestAddSubparsers.test_help_non_breaking_spaces s[+%79 ];  < ++-x @ 0 rc>[SSS9nURSSS9 URUR5[R "S55 [SSS9nURS/SS 9 URUR5[R "S 55 g) Nrrrr2z rHz usage: PROG [-h] foo main description positional arguments: foo options: -h, --help show this help message and exit z %(choices)srGz usage: PROG [-h] {} main description positional arguments: {} options: -h, --help show this help message and exit rr;s rtest_help_blank!TestAddSubparsers.test_help_blank s+%79    ++-x @ 0 ,%79 2   ++-x @ 0 rcURSS9nURUR5S5 URUR5[R "S55 g)Nrsrz)usage: PROG [+h] [++foo] bar {1,2,3} ... a? usage: PROG [+h] [++foo] bar {1,2,3} ... main description positional arguments: bar bar help {1,2,3} command help options: +h, ++help show this help message and exit ++foo foo help r}r;s r test_help_alternate_prefix_chars2TestAddSubparsers.test_help_alternate_prefix_chars; s\!!u!5 ,,.E G ++-x @ 0 rcURURR5S5 URURR5[R "S55 g)Nrwa usage: PROG [-h] [--foo] bar {1,2,3} ... main description positional arguments: bar bar help {1,2,3} command help 1 1 help 2 2 help 3 3 help options: -h, --help show this help message and exit --foo foo help )rr*rIrJrxryr!s rtest_parser_command_help*TestAddSubparsers.test_parser_command_helpM sU 11>>@E G 11==?!* rch[SSS9nURSSSS9 URSS S 9 URS S S S9nURS5nURS5nUR UR 5S5 UR UR 5[R"S55 g)Nrrrr r*rrror r subcommandsrzadditional text)r rrHrlrz'usage: PROG [-h] [--foo] bar {1,2} ... av usage: PROG [-h] [--foo] bar {1,2} ... main description positional arguments: bar bar help options: -h, --help show this help message and exit --foo foo help subcommands: command help {1,2} additional text ) rrrrrrIrJrxry)rr<r!r#r%s rtest_subparser_title_help+TestAddSubparsers.test_subparser_title_helpb s+8JLGLzJE 3**7E0A+C '','', ,,.C E ++-x@0 rcUR[5nURRUR 55 SSS5 UR UWR R5 g!,(df  N5=fr])r rr<rFr rrr)rr  expected_helprs r_test_subparser_help&TestAddSubparsers._test_subparser_help sT   2 3r KK " "8>>#3 44  (;(;<4 3s *A// A=cPURS[R"S55 g)Nz5.0 1 -ha usage: PROG bar 1 [-h] [-w W] {a,b,c} 1 description positional arguments: {a,b,c} x help options: -h, --help show this help message and exit -w W w help rrxryr!s rtest_subparser1_help&TestAddSubparsers.test_subparser1_help " !!*hoo ? / rcPURS[R"S55 g)Nz5.0 2 -ha usage: PROG bar 2 [-h] [-y {1,2,3}] [z ...] 2 description positional arguments: z z help options: -h, --help show this help message and exit -y {1,2,3} y help rr!s rtest_subparser2_help&TestAddSubparsers.test_subparser2_help rrc URSS9nURURSR55[ SSSSS9/45 URURSR55[ SSSSS9/45 g) NTrz 0.5 1alias1 bFrrr2z 0.5 1alias2 b)rrr:r rr;s rtest_alias_invocation'TestAddSubparsers.test_alias_invocation s!!$!/   # #O$9$9$; < Esdc 2B 7    # #O$9$9$; < Esdc 2B 7 rcvURSS9nURURSR55 g)NTrz 0.5 1alias3 b)rrrFr r;s rtest_error_alias_invocation-TestAddSubparsers.test_error_alias_invocation s8!!$!/ &&v'8'8'6'<'<'> @rcURSSS9nSUlURUR5[R "S55 g)NT)rra  usage: PROG [-h] [--foo] bar COMMAND ... main description positional arguments: bar bar help options: -h, --help show this help message and exit --foo foo help commands: COMMAND 1 (1alias1, 1alias2) 1 help 2 2 help 3 3 help )rmaxDiffrrJrxryr;s rtest_alias_help!TestAddSubparsers.test_alias_help sH!!$t!D  ++-x@0 r)r*rr<)FNF)$r&r'r(r)rrrWr-r5r;rBrJrOrRrXr\r`rfrmrqrtrzr~rrrrrrrrrrrr*r+r,s@rrrs@>B!7rI I & , #T,98;>// '    '"&$ D$*<=    @ rrc&\rSrSrSrSrSrSrg)TestPositionalsGroupsi c[5nURS5 URS5nURS5 URS5 [SSSS9nUR S R 55nUR X45 g) Nr2rrorprlrr(r1 2 3)rrrrrFr rrr<rexpectedrs rtest_nongroup_first)TestPositionalsGroups.test_nongroup_first sv+-E"))#. 5!E"#3C0""7==?3 *rc[5nURS5nURS5 URS5 URS5 [SSSS9nUR S R 55nUR X45 g) Nxxxr2rorprlrr(rrrrrrrFr rrs rtest_group_first&TestPositionalsGroups.test_group_first sv+-))%0 5!E"E"#3C0""7==?3 *rc\[5nURS5nURS5 URS5 URS5 URS5nURS5 [SSS S S 9nUR S R 55nUR X45 g) Nrr2rorpr2frellrlrr(r)r2rorprz1 2 3 4rrs rtest_interleaved_groups-TestPositionalsGroups.test_interleaved_groups s+-))%0E" 5!E"))%0 7##3Cs;""9??#45 *rr#N)r&r'r(r)rrrr*r#rrrr s++ +rrc^\rSrSrSrU4SjrSrSrSrSr Sr S r S r S r S rS rSrSrSrSrSrSrU=r$)TestParentParsersi c8UR"[/UQ70UD6 gr]rrs rr+TestParentParsers.assertArgumentParserError rrc>[TU]5 [SS9UlURR S5 URR S5nUR S5 URR S5 [SS9UlUR R S5 UR R S5 UR R S 5nUR S 5 [SS9UlURR S5 [SS9UlURR S5 [SS9Ul URR5nUR S S S 9 UR SS S 9 [RR[RS5Ulg)NFrvz--wr#r6r3rrrz--drr*r+r)rrWr wxyz_parentrr abcd_parentw_parentz_parentab_mutex_parentadd_mutually_exclusive_grouprarjbasenamerr main_program)rx_groupc_grouprrs rrWTestParentParsers.setUp sb  5uE %%e,""55c:T" %%c*5uE %%c* %%d+""55c:U#2EB  ""5)2EB  ""3' :5I$$AAC 4 5 4 5GG,,SXXa[9rc [UR/S9nURURSR 55[ SSSS95 g)Nparentsz -y 1 2 --w 3r(rlrrwrr3)rrrrFr rr;s rtest_single_parent$TestParentParsers.test_single_parent sE+T5E5E4FG **>+?+?+ABcSC0 2rcURURR5 [UR/S9nURUR5 gNr)_test_mutex_abrrFrr;s rtest_single_parent_mutex*TestParentParsers.test_single_parent_mutex sC D00;;<+T5I5I4JK F--.rc|UR/n[SUS9n[U/S9nURUR5 g)NF)rvrr)rrrrFrrr<s rtest_single_granparent_mutex.TestParentParsers.test_single_granparent_mutex s<''(+UGL+VH= F--.rcURU"/5[SSS95 URU"S/5[SSS95 URU"S/5[SSS95 URUSS/5 URUSS/5 URUS/5 URUSS/5 URUSS/5 g)NFrrrTrr)rrr)rrFs rr TestParentParsers._test_mutex_ab% s Beu)=> TF+R$%-@A TF+R%4-@A &&zD$<@ &&zD$<@ &&zD6: &&zD$<@ &&zD$<@rc URUR/n[US9nURUR SR 55[ SSSSSSS95 g)Nrz--d 1 --w 2 3 4r(rlrr)rrrrwrr3)rrrrrFr rrs rtest_multiple_parents'TestParentParsers.test_multiple_parents/ sZ##T%5%56+G< **+<+B+B+DEcTSC43G Irc bURUR/n[US9nURUR SR 55[ SSSSSS95 URURSR 55 URURS R 55 g) Nrz -a --w 2 3TFrr()rrrwrr3z -a --w 2 3 -bz -a -b --w 2 3)rrrrrFr rrrs rtest_multiple_parents_mutex-TestParentParsers.test_multiple_parents_mutex5 s'')9)9:+G< **<+=+=+?@desdcB D &&   446 8 &&   446 8rcUR[R[RURUR /S9 gr)r r5rRr6rrr!s rtest_conflicting_parents*TestParentParsers.test_conflicting_parents? s9   " "  # #]]D$4$45  7rcUR[R[RURUR /S9 gr)r r5rRr6rrr!s rtest_conflicting_parents_mutex0TestParentParsers.test_conflicting_parents_mutexE s;   " "  # #%%t';';<  >rc URUR/n[US9nURUR SR 55[ SSSS95 g)Nrrkrr)rrrrrFr rrs rtest_same_argument_name_parents1TestParentParsers.test_same_argument_name_parentsK sM##T]]3+G< **5;;=9ddc2 4rc [5nUR5nURSUR/S9nUR S5 UR UR SR55[SSSSS 95 g) Nrorrzbar -b 1 --d 2 3 4r(rlrr)rrrr) rrrrrrrFr r)rr<r! abcde_parsers rtest_subparser_parents(TestParentParsers.test_subparser_parentsQ sw+-**, !,,UT=M=M+-**, ''(**5'*B // :S!##T%9%9:#..ug.F##C( **:+;+;+=>des3 5 **+>+D+D+FGetsdcSI K &&   }224 6 &&   }224 6rc URUR/n[US9nUR5nURnUR U[ R"SRXD(aSOS555 g)NraG usage: {}{}[-h] [-b B] [--d D] [--w W] [-y Y] a z positional arguments: a z options: -h, --help show this help message and exit -b B --w W c: --d D x: -y Y  r$) rrrrJrrrxryformat)rrr< parser_helpprognames rtest_parent_help"TestParentParsers.test_parent_helpl sm##T%5%56+G<((* $$ hoo7 " F8HS" 6#'8 9rc [SS9nURSSS9nURS5 URS5 UR5nURS5 URS 5 [U/S 9nUR [ UR /S Q5 UR5nURnURU[R"S RXf(aS OS555 g)NFrrgdr rrrr6r1rr6rr1rz usage: {}{}[-h] [-w W] [-x X] [-y Y | -z Z] options: -h, --help show this help message and exit -y Y -z Z g: gd -w W -x X rr$) rrrrr rrFrJrrrxryr)rparentrrr<rrs rtest_groups_parents%TestParentParsers.test_groups_parents s+U;  % %CT % B t t  / / 1 t t+VH= -v/@/@ " $((* $$ hoo 7  F8HS" 6 '8 9rc8UR[[S/S9 g)Nrr)r rrr!s rtest_wrong_type_parents)TestParentParsers.test_wrong_type_parents s )%?!Mrc[SS9nURSSS9nURS5 URS5 UR5nURS5 URS 5 [S U/S 9nUR [ UR /S Q5 UR5nURU[R"S 55 g)NFrrrrrrr6r1r)rrrz usage: PROG [-h] [-w W] [-x X] [-y Y | -z Z] options: -h, --help show this help message and exit g: gd -w W -x X -y Y -z Z ) rrrrr rrFrJrrxry)rrrrr<rs rtest_mutex_groups_parents+TestParentParsers.test_mutex_groups_parents s+U;  % %CT % B t t * * , t t+&J -v/@/@ " $((*  hoo 7 ' r)rrrrrr)r&r'r(r)rrWrrrrrrrrrrrrrrrr*r+r,s@rrr sa@:82 / / AI 87 > 4 96&909<Nrrc2\rSrSrSrSrSrSrSrSr g) TestMutuallyExclusiveGroupErrorsi c\[5nURnU"[URSS9 g)Nr2)r )rr rr)rr<raisess rtest_invalid_add_argument_group@TestMutuallyExclusiveGroupErrors.test_invalid_add_argument_group s'+-""y&==UKrc[5nUR5nURnURnU"[USSS9 U"[US5 U"[USSS9 U"[USSS9 U"[US[ R S9 g)Nr Trirorrr)rrrr rr5PARSER)rr<rrr s rtest_invalid_add_argument:TestMutuallyExclusiveGroupErrors.test_invalid_add_argument sv+-335)) ""z<4@z</z<c:z<a8z<hooFrcB[SS9nUR5nURSSS9 URSSS9 UR5nURSSS9 URS SS9 S nURUR 5[ R "U55 g) Nrrr r*r+rZrz--soupz--nutsz usage: PROG [-h] [--foo | --bar] [--soup | --nuts] options: -h, --help show this help message and exit --foo --bar --soup --nuts )rrrrrJrxry)rr<group1group2rs rrz*TestMutuallyExclusiveGroupErrors.test_help s+8446GL9GM:446H\:H];  ++-xx/HIrc SUl[SS9nURSSS9nURS5nUR 5nUR SS[ RS 9 UR S S[ RS 9 S nS nUR U5 S USUSUSUS3 nURUR5[R"U55 g)Nrrr rV)r rSr2rr*rz--quietz--longlonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglongڀLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGz> usage: PROG foo [-h] [rzj] options: -h, --help show this help message and exit z ) rrrrrrr5rrrJrxry)rr<r cmd_foorlongoptlongmetars rCtest_help_subparser_all_mutually_exclusive_group_members_suppresseddTestMutuallyExclusiveGroupErrors.test_help_subparser_all_mutually_exclusive_group_members_suppressed s +8((z (J%%e,446 ;|(BSBST 9\@Q@QR"W%%Yaz2iq #  ,,.0IJrc[R"5nUR5nUR[5 UR S/5 SSS5 g!,(df  g=f)Nr@)r5r6rr rrFrr<rs rtest_empty_group1TestMutuallyExclusiveGroupErrors.test_empty_group sH((*335   z *   tf %+ * *s A A%)rN) r&r'r(r)r rrzrr!r*r#rrr r  sL GJ(K*&rr cD\rSrSrSrSrSrSrSrSr Sr S r S r g ) MEMixini cURSS9Rn[nURH;nUR US9 UR X!UR 55 SSS5 M= g!,(df  MO=fNFrir get_parserrFrr rGr r rrFr args_strings rtest_failures_when_not_required'MEMixin.test_failures_when_not_required sa__e_4?? #==K;/!!%[5F5F5HI0/)//s !A,, A; cURSS9Rn[nURS/-H;nUR US9 UR X!UR 55 SSS5 M= g!,(df  MO=f)NTrir$rr'r)s rtest_failures_when_required#MEMixin.test_failures_when_required sh__d_3>> #==B4/K;/!!%[5F5F5HI0/0//s !A00 A? c URSS9RnURUR-nUHDup4UR US9 U"UR 55nUR XT5 SSS5 MF g!,(df  MX=fr&)r(rFrsuccesses_when_not_requiredrGr r)rrFrr*r actual_nss r test_successes_when_not_required(MEMixin.test_successes_when_not_required sw__e_4?? NNT%E%EE (1 $K;/&{'8'8':;   80/)2//s (A>> B cURSS9RnURHDup#URUS9 U"UR 55nUR XC5 SSS5 MF g!,(df  MX=f)NTrir)r(rFrrGr r)rrFr*rr2s rtest_successes_when_required$MEMixin.test_successes_when_required sg__d_3>> (, $K;/&{'8'8':;   80/)7//s (A// A> cURSS9RnURnURU"5[R "U55 gNFri)r(rIusage_when_not_requiredrrxryrrIexpected_usages rtest_usage_when_not_required$MEMixin.test_usage_when_not_required' s>6CC 55 )HIrcURSS9RnURnURU"5[R "U55 gNTri)r(rIusage_when_requiredrrxryr;s rtest_usage_when_required MEMixin.test_usage_when_required, s>5BB 11 )HIrcURSS9RnURUR-nUR U"5[ R "U55 gr9)r(rJr:rHrrxryrrJrHs rtest_help_when_not_required#MEMixin.test_help_when_not_required1 sGoouo5AA ++dii7 (=>rcURSS9RnURUR-nUR U"5[ R "U55 gr@)r(rJrArHrrxryrEs rtest_help_when_requiredMEMixin.test_help_when_required6 sGooto4@@ ''$))3 (=>rr#N) r&r'r(r)r+r.r3r6r=rBrFrIr*r#rrr$r$ s.JJ99J J ? ?rr$c \rSrSrSSjrSS/rS\"SSS94S \"S SS94S \"SS S94S \"SS S94/rS\"SSS94/rSr Sr Sr Sr g)TestMutuallyExclusiveSimplei< Ncz[SS9nURUS9nURSSS9 URSSS S S 9 U$) NrrrirZr rrrrbaz help)rr0rHrrrrrr<rs rr(&TestMutuallyExclusiveSimple.get_parser> sN+833X3F 74 7#SzJ r--bar X --baz Yz --bar X --baz--bar Xrarorpz--bar X --bar Zr--baz Yrrr$z; usage: PROG [-h] [--bar BAR | --baz [BAZ]] z; usage: PROG [-h] (--bar BAR | --baz [BAZ]) z options: -h, --help show this help message and exit --bar BAR bar help --baz [BAZ] baz help r#r] r&r'r(r)r(r rrr1r:rArHr*r#rrrLrL< s"?3H B3D)* B3D12 B4S)* "3'( I RDd #$#   DrrLc \rSrSrSSjrS/rS\"SSSSS94S\"S SSSS94S \"SSSSS94S \"SS SSS94/rS \"SSSSS94/rS r Sr Sr Sr g)TestMutuallyExclusiveLongi_ Nc[SS9nURSSS9 URSSS9 URUS9nURS S S9 URS S S9 U$) Nrrz--abcdez abcde helprz--fghijz fghij helpriz--klmnoz klmno helpz--pqrstz pqrst helprrrrPs rr($TestMutuallyExclusiveLong.get_parsera sp+8IL9IL933X3F 9<8 9<8 rz--klmno X --pqrst Yz --klmno Xra)abcdefghijklmnopqrstz--abcde Y --klmno Xrz --pqrst Xz--pqrst X --fghij Yr$zi usage: PROG [-h] [--abcde ABCDE] [--fghij FGHIJ] [--klmno KLMNO | --pqrst PQRST] zi usage: PROG [-h] [--abcde ABCDE] [--fghij FGHIJ] (--klmno KLMNO | --pqrst PQRST) z options: -h, --help show this help message and exit --abcde ABCDE abcde help --fghij FGHIJ fghij help --klmno KLMNO klmno help --pqrst PQRST pqrst help r#r]rVr#rrrXrX_ s&&H bt4s$GH  SCt < > bt4t3GH  TD < > I Rd$d$ ?@# DrrXct\rSrSrSrS/rS\"SSS94S\"S SS94S \"S S S94/rS \"S SS94/rSr Sr Sr Sr g )$TestMutuallyExclusiveFirstSuppressedi c[SS9nURUS9nURS[RS9 URSSSS 9 U$) Nrrrirrr6rrrrrrr5rrPs rr(/TestMutuallyExclusiveFirstSuppressed.get_parser sR+833X3F 4h&7&78 4 HE rz-x X -yz-x XraTrz -x X -x Yrr6NFr$z& usage: PROG [-h] [-y] z$ usage: PROG [-h] -y zm options: -h, --help show this help message and exit -y y help r#rVr#rrrara st{H cT"# b3$'( rDE"#I R$$  #   Drrac \rSrSrSr/SQrS\"SSSS94S\"S S SS94S \"S SS S94S \"SSSS94/rS \"S SSS94/rS=r r Sr Sr g)#TestMutuallyExclusiveManySuppressedi c[SS9nURUS9nURnU"SS[RS9 U"SS[RS9 U"S [RS 9 U$) Nrrri--spamr*rrYrz --bladderrrc)rrr<rrjs rr(.TestMutuallyExclusiveManySuppressed.get_parser sc+833X3F   H\0A0AB J}83D3DE Kh//0 r)z--spam --badgerz--badger --bladder Bz--bladder B --spamrhTN)rr_bladderrYFz --bladder Brmz --spam --spamr$z! usage: PROG [-h] P options: -h, --help show this help message and exit r# r&r'r(r)r(r rrr1rAr:rHr*r#rrrfrf sH 24d;< RU5$?@ dC@A "$tTBC I RU4 67#5  1 Drrfc \rSrSrSr/SQrS\"SS/S94S\"S S /S94S \"S SS /S94S \"S S/S QS94/rS\"S S/S94/rSr Sr Sr Sr g)*TestMutuallyExclusiveOptionalAndPositionali c[SS9nURUS9nURSSSS9 URSS S 9 URS S S S9 U$)Nrrrir r*FOOrrhSPAMrr_rBADGERrrOrPs rr(5TestMutuallyExclusiveOptionalAndPositional.get_parser sa+833X3F 7 r)z--foo --spam Sz --spam S XzX --foozX Y Z --spam S --foo X Yr TNr2rr_z--spam SFSrazX Y Z)rarrr$zD usage: PROG [-h] [--foo | --spam SPAM | badger ...] zD usage: PROG [-h] (--foo | --spam SPAM | badger ...) z positional arguments: badger BADGER options: -h, --help show this help message and exit --foo FOO --spam SPAM SPAM r#rVr#rrrnrn sH "D45 REB78 bUse45 "T/BC I RER 01#   Drrnc\rSrSrSr/SQrS\"SSSSSS94S\"SSSSSS94S \"SSSSSS94S \"SSSSSS94S \"SSSSSS94S \"SSSSSS94/rS \"SSSSSS94S\"SSSSSS94S\"SSSSSS94/rS=r r Sr Sr g)#TestMutuallyExclusiveOptionalsMixedi c[SS9nURSSSS9 URUS9nURSSS S9 URS SS S9 URS SS S9 URSSSS9 U$)Nrrrr*rrrira helprb helpr6rrc helprZrPs rr(.TestMutuallyExclusiveOptionalsMixed.get_parser s+8DHE33X3F 4 8D 4 8DDHE 4 8D r)z-a -b-b -cz-a -cz-a -b -crTFrrrr#rrrz-a -xz-y -bz-x -y -cr$rr6z: usage: PROG [-h] [-x] [-a] [-b] [-y] [-c] z options: -h, --help show this help message and exit -x x help -a a help -b b help -y y help -c c help r#Nrlr#rrrxrx s7H rDEUeu=> rETUeu=> rEUdeu=> "tu?@ "u$?@ R%5DDDAB I R%5EUe <= rEUetu=> rEUeu=># 5  1 Drrxcj\rSrSrSSjrSS/rS\"SSS94S \"SS S94/rS \"SSS94/rS r S r Sr Sr g)TestMutuallyExclusiveInGroupi& Nc[SS9nURSSS9nURUS9nURSSS 9 URS S S 9 U$) Nrrz Titled groupzGroup descriptionrrirZr rrrN)rrrr)rrr< titled_group mutex_groups rr('TestMutuallyExclusiveInGroup.get_parser( sk+800 .A1C   5 5x 5 H   z :  z : rrRz--baz X --bar YrSrarTrUrr$z9 usage: PROG [-h] [--bar BAR | --baz BAZ] z9 usage: PROG [-h] (--bar BAR | --baz BAZ) z options: -h, --help show this help message and exit Titled group: Group description --bar BAR bar help --baz BAZ baz help r#r]rVr#rrrr& si"#45H B3D)* B4S)*I RDd #$#   Drrc \rSrSrSr/SQrS\"SSSSSS94S \"S S SSSS94S \"S SS SSS94S \"SSSSS S94S\"S S SSS S94/rS\"S SSSSS94S\"S SSSS S94/rS=r r Sr Sr g )1TestMutuallyExclusiveOptionalsAndPositionalsMixediN c[SS9nURSSS9 URSSSS 9 URUS 9nURS S S S9 URSSSS 9 URSSSS 9 U$)Nrrr#rrr6r*rrrirrrzrrr{rr|rZrPs rr( B#>? I b45ESE:; deut<=# 5  1 Drrc6\rSrSrSrSrSrSrSrSr Sr Sr Sr g)TestMutuallyExclusiveNestediw cf[SS9nURUS9nURS5 URS5 [R"5 [R "S[ 5 URUS9nSSS5 WRS5 URS5 [R"5 [R "S[ 5 URUS9nSSS5 WRS 5 URS 5 U$!,(df  N=f!,(df  NC=f) Nrrrirrr'rrrr?)rrrwarningscatch_warnings simplefilterr)rrr<rrgroup3s rr(&TestMutuallyExclusiveNested.get_parser~ s+833X3F 4  4  $ $ &  ! !(,> ?777JF' D!D!  $ $ &  ! !(,> ?88(8KF' D!D! ' & ' &s+D:+D" D" D0zO usage: PROG [-h] [-a A | -b B | [-c C | -d D | [-e E | -f F]]] zO usage: PROG [-h] (-a A | -b B | (-c C | -d D | (-e E | -f F))) z options: -h, --help show this help message and exit -a A -b B -c C -d D -e E -f F Nr#) r&r'r(r)r(r:rArHr+r.r3r6r*r#rrrrw s8"   D'+#"&'+$#' rrcz\rSrSrSSjrSS/rS\"SSS94S \"SSS94S \"SSS94/rS \"SSS94/rS r S r Sr Sr g)%TestMutuallyExclusiveOptionalOptionali Ncx[SS9nURUS9nURS5 URSSS9 U$)Nrrrir rZrrrOrPs rr(0TestMutuallyExclusiveOptionalOptional.get_parser sE+833X3F 7# 7#. r--foo X --bar Yz --foo X --bar--foo XrarorSrZr$z; usage: PROG [-h] (--foo FOO | --bar [BAR]) z; usage: PROG [-h] [--foo FOO | --bar [BAR]] z{ options: -h, --help show this help message and exit --foo FOO --bar [BAR] r#r]rlr#rrrr s| H B3D)* B4S)* "4()I RDd #$#   Drrcz\rSrSrSSjrSS/rS\"SSS 94S \"SSS 94S \"SS S 94/rS \"SSS 94/rSr Sr Sr Sr g)(TestMutuallyExclusiveOptionalWithDefaulti Nc[SS9nURUS9nURS5 URS[SS9 U$)Nrrrir rZTr]rrrrrPs rr(3TestMutuallyExclusiveOptionalWithDefault.get_parser sG+833X3F 7# 7t< rrz--foo X --bar=rraTrorSz--bar=Fr$z9 usage: PROG [-h] (--foo FOO | --bar BAR) z9 usage: PROG [-h] [--foo FOO | --bar BAR] zx options: -h, --help show this help message and exit --foo FOO --bar BAR r#r]rlr#rrrr s| H B3D)* B4T*+ 2$E*+I RDd #$#   Drrch\rSrSrSSjrS/rS\"SSS94S\"SSS94/rS \"SSS94/rS r S r S r S r g)*TestMutuallyExclusivePositionalWithDefaulti Nc[SS9nURUS9nURS5 URSS[SS9 U$) Nrrrir rorTrjrrPs rr(5TestMutuallyExclusivePositionalWithDefault.get_parser sI+833X3F 7# 5$E rrtrraTror$z3 usage: PROG [-h] (--foo FOO | bar) z3 usage: PROG [-h] [--foo FOO | bar] z positional arguments: bar options: -h, --help show this help message and exit --foo FOO r#r]rlr#rrrr sj H B3D)* bTt$%I RDd #$#   Drrc,^\rSrSrSU4SjjrSrU=r$)MEPBaseicV>[[U] US9n[URSU/S9nU$)NriF)rrvr)rrr(rr)rrrr<rs rr(MEPBase.get_parsers4w0(0C+uvh@ rr#r])r&r'r(r)r(r*r+r,s@rrrs rrc\rSrSrSrg)&TestMutuallyExclusiveGroupErrorsParentir#Nrr#rrrrrrc\rSrSrSrg)!TestMutuallyExclusiveSimpleParenti#r#Nrr#rrrr#rrrc\rSrSrSrg)TestMutuallyExclusiveLongParenti(r#Nrr#rrrr(rrrc\rSrSrSrg)*TestMutuallyExclusiveFirstSuppressedParenti-r#Nrr#rrrr-rrrc\rSrSrSrg))TestMutuallyExclusiveManySuppressedParenti2r#Nrr#rrrr2rrrc\rSrSrSrg)0TestMutuallyExclusiveOptionalAndPositionalParenti7r#Nrr#rrrr7rrrc\rSrSrSrg))TestMutuallyExclusiveOptionalsMixedParenti<r#Nrr#rrrr<rrrc\rSrSrSrg)7TestMutuallyExclusiveOptionalsAndPositionalsMixedParentiAr#Nrr#rrrrArrrc>\rSrSrSrSrSrSrSrSr Sr S r g ) TestSetDefaultsiIc [5nURSS9 URSSS9 UR[SSSS9UR /55 UR[SSSS9UR /[555 UR[SSSS9UR /[SS955 UR[SSSS9UR /[SSS 955 g) Nr2r"ror)rr3rrpr)r#r3r set_defaultsrrrFr;s rtest_set_defaults_no_args)TestSetDefaults.test_set_defaults_no_argsKs+-e$eq) eu2**2. 0 eu2**2rt4 6 eu2**2rE{; = eu2**2rEQ/?@ Brc [5nURSSS9 URSSS9 UR[ SSS9UR /55 UR[ SSS9UR /[ 555 UR[ SSS9UR /[ SS955 UR[ S SS9UR S R 555 UR[ S SS9UR S R 5[ 555 UR[ S SS9UR S R 5[ SS955 g) Nr2rorrxfooxrrpr"rlr)rrrrrrFr r;s rtest_set_defaults_with_args+TestSetDefaults.test_set_defaults_with_argsXs6+-eu-D'2 g/**2. 0 g/**2rt4 6 eu-**2rE{; = cU+**6<<>: < cU+**6<<>24@ B cU+**6<<>2;G Irc[5nURSS9 UR5nURS5nURSS9 UR [ SSS9UR SR555 g)Nr2r"rrorr)rrrrrrrFr )rr<r!parser_as rtest_set_defaults_subparsers,TestSetDefaults.test_set_defaults_subparsersisu+-e$**, ((-& eu-**399;7 9rc[SS9nURSS9 [U/S9nUR[SS9UR /55 g)NFrr2r"rr)rrr<s rtest_set_defaults_parents)TestSetDefaults.test_set_defaults_parentsrsH+U;e$+VH= ef&7&7&;0"0rrc\rSrSrSrSrg)TestGetDefaultic[5nURURS55 URURS55 URS5 URURS55 URURS55 URS[SS9 URURS55 UR SURS55 UR SS9 UR SURS55 UR SURS55 g) Nr2ror rZr.r]r_r;)rrd get_defaultrrrrr;s rtest_get_defaultTestGetDefault.test_get_defaults +- &,,U34 &,,U34G$ &,,U34 &,,U34G#r: &,,U34 V//67) 6#5#5e#<= V//67rr#N)r&r'r(r)rr*r#rrrrs8rrc \rSrSrSrSrSrg)TestNamespaceContainsSimpleicv[R"5nURSU5 URSU5 g)Nr$r#)r5 Namespace assertNotInrnss r test_empty&TestNamespaceContainsSimple.test_emptys0    ! R  b!rc[R"SSS9nURSU5 URSU5 URSU5 URSU5 URSU5 g) Nrrrr$r#rxxr3)r5rrrrs rtest_non_empty*TestNamespaceContainsSimple.test_non_emptys`   !q ) R  c2 c2 r" b!rr#N)r&r'r(r)rrr*r#rrrrs " "rrc\rSrSrSrSrg)TestHelpFormattingMetaclassicXUS:Xag"SS[5nSHupVU"XU5 M g)N HelpTestCasec8\rSrSrSrSrSrSrSrSr Sr g ) 6TestHelpFormattingMetaclass.__init__..AddTestsicX lX0lURURUR4H/nUR <SU<3nU4SjnXVl[XU5 M1 g![ a Nf=f)NrcU"U5 gr]r#rs r test_wrapperUTestHelpFormattingMetaclass.__init__..AddTests.__init__..test_wrapperrr) func_suffixstd_name test_format test_printtest_print_filer&rr)r test_classrrrrrs rr?TestHelpFormattingMetaclass.__init__..AddTests.__init__sw#. ( "&"2"2"&//"&"6"6"8I,5+=+={ KI5>(09-J<@"8%s A$$ A10A1cv[R"URR0URRD6n[ US/5H)nUR "UR0URD6 M+ [ US/5nUHZupVUR"UR0URD6nUH)nUR "UR0URD6 M+ M\ [ US/5nU(a?UR5n UH)n U R"U R0U RD6 M+ U$)Nrargument_group_signaturessubparsers_signatures) r5r6rrrrrrrr) rrr< argument_sig group_sigs group_sig argument_sigsrsubparsers_sigsr! subparser_sigs rrBTestHelpFormattingMetaclass.__init__..AddTests._get_parsers=!00,,116--446%,F4I2$NL''):):?*6*=*=?%O%V-H"M 0:,I"55y~~J8A8H8HJE(5 **L,=,=B-9-@-@B)61; #*&2I2"N"!'!6!6!8J)8 "--}/A/AG1>1E1EG*9 rc[XR5n[R"U5nSUlUR X25 gr])rrrxryrr)rr parser_text expected_texts r_test.AddTests._tests5 '0@0@ A ( > !%""=>rcURU5n[USUR-5nURX"55 g)Nz format_%s)rrrr)rrr<rs rrBTestHelpFormattingMetaclass.__init__..AddTests.test_formats9))&1 t7G7G)GH 668,rcURU5n[USUR-5n[[UR5n[ [UR[ 55 U"5 [[UR5R5n[ [URU5 URX5 g![ [URU5 f=fNzprint_%s) rrrrrrr rr)rrr<print_ old_streamrs rrATestHelpFormattingMetaclass.__init__..AddTests.test_print s))&1 d6F6F)FG$S$--8 T]]KM:<H")#t}}"="F"F"HKC ; 6/C ;s )/CC"cURU5n[USUR-5n[5nU"U5 UR 5nUR X5 gr )rrrr rr)rrr<rsfilers rrFTestHelpFormattingMetaclass.__init__..AddTests.test_print_filesO))&1 d6F6F)FG# u #nn.  6/r)rrN) r&r'r(r)rrrrrrr*r#rrrrs! A" , ?  - 0 0rr))usager)rHr)r)rrsrrrrrs rr$TestHelpFormattingMetaclass.__init__s5 > ! F 0vF 0R&: !K Sx 0&:rr#Nrr#rrrrsO1rrrc \rSrSr\"SSSS9r\"SSSS S 9\"S S S S9\"SSS9\"SSS9\"SSS9/r/rSr\S-r Sr Sr g)TestHelpBiggerOptionalsi(r DESCRIPTIONEPILOGrrepilogrrr0.1rrr*X HELPr--yY HELPrr2FOO HELProBAR HELPz; usage: PROG [-h] [-v] [-x] [--y Y] foo bar aW DESCRIPTION positional arguments: foo FOO HELP bar BAR HELP options: -h, --help show this help message and exit -v, --version show program's version number and exit -x X HELP --y Y Y HELP EPILOG  0.1 r#N r&r'r(r)rrrrrrHrr*r#rrrr(sM"*, D+i? DH5 E! E # E # !# E  D  Grrc\rSrSrSr\R r\Rr\RrSr \ S-r \Rr Sr g)TestShortColumnsiLcpUR[R"55nURSS5 g)NrRr)rSrrTrrUs rrWTestShortColumns.setUpRs) = = ?@  4 rz usage: PROG [-h] [-v] [-x] [--y Y] foo bar a DESCRIPTION positional arguments: foo FOO HELP bar BAR HELP options: -h, --help show this help message and exit -v, --version show program's version number and exit -x X HELP --y Y Y HELP EPILOG r#N) r&r'r(r)rWrrrrrrHrr*r#rrr%r%LsR !#:"J"J"9"M"M"9"S"S E  D:#:"A"AGrr%c \rSrSr\"SSSS9r\"SSSS S 9\"S S S S9\"SSS9\"SSS9\"SSS9/r\"SSS9\"SSS9\"SSSS9/4/rSr\S -r S!r S"r g#)$TestHelpBiggerOptionalGroupsirrrrrrrrrrr*rrrrrr2r ror!z GROUP TITLEzGROUP DESCRIPTIONrrpzBAZ HELPr1rzZ HELPrzN usage: PROG [-h] [-v] [-x] [--y Y] [-z Z [Z ...]] foo bar baz a DESCRIPTION positional arguments: foo FOO HELP bar BAR HELP options: -h, --help show this help message and exit -v, --version show program's version number and exit -x X HELP --y Y Y HELP GROUP TITLE: GROUP DESCRIPTION baz BAZ HELP -z Z [Z ...] Z HELP EPILOG r"r#Nr#r#rrr)r)sM"*, D+i? DH5 E! E # E #  ](; < J ' Ch /?1 2!  E  D, Grr)cn\rSrSr\"SSS9r\"SSSS9\"S S S 9\"S S S 9\"SSS 9/r/rSr\S-r Sr Sr g)TestHelpBiggerPositionalsiUSAGErrrrr*rrrrrekiekiekifekangzEKI HELPror! usage: USAGE a DESCRIPTION positional arguments: ekiekiekifekang EKI HELP bar BAR HELP options: -h, --help show this help message and exit -x X HELP --y Y Y HELP r$r#Nr#r#rrr+r+skmD DH5 E! J/ E #  !# E   DGrr+cv\rSrSr\"SSS9r\"SSSS9\"S S S S9/r\"S S S9\"SSSS9/4/rSr\S-r Sr Sr g)TestHelpReformattingirze oddly formatted description that is so long that it should go onto multiple lines when wrappedrrrzoddly formatted -x helprrHrr2z normal y helpr z' oddly formatted group descriptionrrr*z` oddly formatted -a help again, so long that it should be wrapped over multiple linesr2 usage: PROG [-h] [-x XX] [-a] yyy a oddly formatted description that is so long that it should go onto multiple lines when wrapped positional arguments: yyy normal y help options: -h, --help show this help message and exit -x XX oddly formatted -x help title: oddly formatted group description -a oddly formatted -a help again, so long that it should be wrapped over multiple lines r$r#Nr#r#rrr1r1s )* D$&= > C_5 W#0 1 d<$ % &  ' ! E   D(Grr1cx\rSrSr\"SSS9r\"SSSS9\"S S S S9/r\"S 5\"S SSS9/4/rSr\S-r Sr Sr g)TestHelpWrappingShortNamesirzZD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DrrrzxXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXr2rr2dYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHALPHASrr*zPAHHH HHAAHHH HHAAHHH HHAAHHH HHAAHHH HHAAHHH HHAAHHH HHAAHHH HHAAHHH HHAAHHH HHArr3a D DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD D positional arguments: yyy YH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YH options: -h, --help show this help message and exit -x XX XHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HX ALPHAS: -a AHHH HHAAHHH HHAAHHH HHAAHHH HHAAHHH HHAAHHH HHAAHHH HHAAHHH HHAAHHH HHAAHHH HHA r$r#Nr#r#rrr5r5sy[A D$]3 C\2 X \ @B C! E   D,Grr5c\rSrSr\"SSS9r\"SSSSS 9\"S S S S 9\"SSSS 9/r\"S5\"SSSS 9\"SSSS 9/4/rSr\S-r Sr Sr g)TestHelpWrappingLongNamesi,r,zZD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD Dr-rrrzZV VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV VrrXXXXXXXXXXXXXXXXXXXXXXXXXzdXH XHXH XHXH XHXH XHXH XHXH XHXH XHXH XHXH XHXH XHXH XHXH XHXH XHXH XHXH XHXH XHXH XHXH XHXH XHXH XHr2ryyyyyyyyyyyyyyyyyyyyyyyyyr6r7rAAAAAAAAAAAAAAAAAAAAAAAAAzdAH AHAH AHAH AHAH AHAH AHAH AHAH AHAH AHAH AHAH AHAH AHAH AHAH AHAH AHAH AHAH AHAH AHAH AHAH AHAH AHr3zzzzzzzzzzzzzzzzzzzzzzzzzzdZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHr/ag D DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD D positional arguments: yyyyyyyyyyyyyyyyyyyyyyyyy YH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YH options: -h, --help show this help message and exit -v, --version show program's version number and exit -x XXXXXXXXXXXXXXXXXXXXXXXXX XH XHXH XHXH XHXH XHXH XHXH XHXH XHXH XHXH XHXH XHXH XHXH XHXH XHXH XHXH XHXH XHXH XHXH XHXH XHXH XH ALPHAS: -a AAAAAAAAAAAAAAAAAAAAAAAAA AH AHAH AHAH AHAH AHAH AHAH AHAH AHAH AHAH AHAH AHAH AHAH AHAH AHAH AHAH AHAH AHAH AHAH AHAH AHAH AH zzzzzzzzzzzzzzzzzzzzzzzzz ZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZH zs V VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV V r#Nr#r#rrr9r9,szB D+iD D(6 C 5 X h\ : XL 9; <!  E   D< Grr9cj\rSrSr\"SS9r\"SSSS9\"SS S S9\"S S S 9\"S S SS9\"SSSS9\"SS\RS9\"SSS\RS9\"SSS\RS9\"S\R\RSS9/ r \"S 5\"S!SS"S9\"S#S$S%S9\"S&S&S S9\"S'S'SS9/4/r S(r \ S)-r S*r S+rg,)- TestHelpUsageibrrrrrwrrrr#rrrr)rHrrrr zWhether to foorHr,rZzWhether to barT)rHrr,r?z--foobarz--barfoor+z--bazzzBazz!)r,rrHrr6rr1rr3rra/ usage: PROG [-h] [-w W [W ...]] [-x [X ...]] [--foo | --no-foo] [--bar | --no-bar] [-f | --foobar | --no-foobar | --barfoo | --no-barfoo] [--bazz | --no-bazz] [-y [Y]] [-z Z Z Z] a b b [c] [d ...] e [e ...] az positional arguments: a a b b c c options: -h, --help show this help message and exit -w W [W ...] w -x [X ...] x --foo, --no-foo Whether to foo --bar, --no-bar Whether to bar -f, --foobar, --no-foobar, --barfoo, --no-barfoo --bazz, --no-bazz Bazz! group: -y [Y] y -z Z Z Z z d d e e r$r#N)r&r'r(r)rrr5rrrrrrHrr*r#rrr?r?bs' D#& D#& Cc Cc# Cc% G*83Q3QR G*D$:: < D*j1O1OP HX;;&//g ?  W Cc * AC ( #S ) #S )   ! E   D,Grr?cP\rSrSr\"SS9r\"SSS9\"SSS S9/rS r\S -rS r S r g)TestHelpUsageWithParenthesesirr positionalz(example) positionalrr8z --optionalz{1 (option A), 2 (option B)}zX usage: PROG [-h] [-p {1 (option A), 2 (option B)}] (example) positional z positional arguments: (example) positional options: -h, --help show this help message and exit -p, --optional {1 (option A), 2 (option B)} r$r#N r&r'r(r)rrrrrHrr*r#rrrBrBsL' L"89 D,(FG  E   DGrrBc\rSrSr\"SSS9r/r\"S5\"SSS9\"S S S9/4\"S 5\"S S S9\"S S S9/4/rSr\S-r Sr Sr g)TestHelpOnlyUserGroupsirFrrvxxxxrr#rryyyyrr6rz. usage: PROG [-x X] [-y Y] a b zn xxxx: -x X x a a yyyy: b b -y Y y r$r#Nr#r#rrrGrGs7 V 3  #    V #  3   ! E   DGrrGcn\rSrSr\"SS9r\"SSS9\"SSS9\"S 5\"S 5/r/rS r\S -r S r Sr g)TestHelpUsageLongProgi!   ,,.6rc /SQn[R"S5nURSSSSS9 URSS S S RU5S 9 [R "S 5nUR UR5U5 g)N)12345612345r~12311111111111111rrz verbose moder*r@targetszinstallation targetsrr%rHrrz usage: 11111111111111 [-h] [-v] 123456 12345 12345 123 [123456 12345 12345 123 ...] )r5r6rrkrxryrrI)rmappingr<rs rtest_newline_in_metavar6TestHelpUsageNoWhitespaceCrash.test_newline_in_metavar s5(()9:D+!/   FI!7"%$(IIg$6  8 !   ,,.6rc[R"SS9nURSSSS9 URSSS 9 S nURUR 5U5 g) Nrrz--nilr$T)rrz--aFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArDzqusage: PROG [-h] --nil [--a AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA] )r5r6rrrI)rr<rs rtest_empty_metavar_required_arg>TestHelpUsageNoWhitespaceCrash.test_empty_metavar_required_arg!s_((f5GR$?E84 )  ,,.6rc[R"SS9nUR5nURSSSS[RS9 URSSSS[RS9 S nUR UR 5U5 g) Nrrz--param1rrNAME)rr0rrHz--param2zusage: PROG [-h] )r5r6rrrrrIrxs r-test_all_suppressed_mutex_with_optional_nargsLTestHelpUsageNoWhitespaceCrash.test_all_suppressed_mutex_with_optional_nargs-s((f5335  YX=N=N  P  YX=N=N  P% ,,.6rcR[R"SS9nUR5nURS5 [R "5 [R "S[5 UR5nSSS5 WRS5 URS[RS9 URS5 URS 5 URS 5 [R"S 5nURUR5U5 g!,(df  N=f) Nrrrhr'z--haxz--hoxrz--hexrz--numzw usage: PROG [-h] [--spam SPAM | [--hax HAX | --hex HEX] | --eggs EGGS] [--num NUM] ) r5r6rrrrrrrrxryrrI)rr<rggrs rtest_nested_mutex_groups7TestHelpUsageNoWhitespaceCrash.test_nested_mutex_groups:s((f5  / / 1 x  $ $ &  ! !(,> ?//1B'   h&7&78   x G$!   ,,.6' &s ,D D&c[R"SS9nUR5nURSSSS9 URSSS S9 URS S S 9 URS SS S9 URSS S 9 URSSS 9 URSSSS9 [R "S5nUR UR5U5 g)Nrrz--op1METr)rrz--op2)MET1MET2rz--op3rz--op4rz--op5z--op6rz--op7)rrMET3z usage: PROG [-h] [--op1 [MET] | --op2 [MET1 [MET2 ...]] | --op3 [OP3 ...] | --op4 MET1 [MET2 ...] | --op5 OP5 [OP5 ...] | --op6 OP6 OP6 OP6 | --op7 MET1 MET2 MET3] )r5r6rrrxryrrI)rr<rrs rtest_long_mutex_groups_wrap:TestHelpUsageNoWhitespaceCrash.test_long_mutex_groups_wrapMs((f5  / / 1 wS9 w(8D wc* w(8D wc* wa( w(@J!   ,,.6rr#N) r&r'r(r)rzrrrrrr*r#rrrvrvs  77, 7 77&7rrvc \rSrSr\"SS9r\"S\SS9\"SSS S S S 9\"S /SQSS9\"SSSS/SSS9\"SSS9\"SSSS9/r\"S5\"S S!S9\"S"S#S$S9/4/rS%r \ S&-r S'r S(r g))*TestHelpVariableExpansioni`rrrz"x %(prog)s %(default)s %(type)s %%r r6r-r.XXXz y %(prog)s %(default)s %(const)s)r,rr0rHr rz$foo %(prog)s %(default)s %(choices)srGrZrprrBBBz!bar %(prog)s %(default)s %(dest)s)rrrrHrzspam %(prog)s %(default)srr_rzbadger %(prog)s %(default)s)rrHrrza %(prog)s %(default)srrzb %(prog)s %(default)szw usage: PROG [-h] [-x X] [-y] [--foo {a,b,c}] [--bar BBB] [-a A] [-b B] spam badger a positional arguments: spam spam PROG None badger badger PROG 0.5 options: -h, --help show this help message and exit -x X x PROG None int % -y y PROG 42 XXX --foo {a,b,c} foo PROG None a, b, c --bar BBB bar PROG baz bar group: -a A a PROG None -b B b PROG -1 r$r#N) r&r'r(r)rrrrrrrHrr*r#rrrr`s' Ds5 7 D%3 5 G_7 9 GUQFE4 6 F45 Hc(EF  W 3 4 b'? @  !  E   D"Grrc<\rSrSr\"SSS9r/r/rSr\S-r Sr Sr g ) &TestHelpVariableExpansionUsageSuppliedirz %(prog)s FOOrrz usage: PROG FOO rkr$r#Nr#r#rrrrs<n= " E   D Grrc6\rSrSr\"SSS9r/r/rSr\r Sr Sr g) $TestHelpVariableExpansionNoArgumentsirFrHz usage: PROG r$r#Nr#r#rrrrs07 " E DGrrcb\rSrSr\"S\R S9r\"SSS9\"SSS9/r/r S r S r S r S r g ) TestHelpSuppressUsageirrr rrr spam helpz positional arguments: spam spam help options: -h, --help show this help message and exit --foo FOO foo help r$r#N)r&r'r(r)rr5rrrrrHrrr*r#rrrrsNh.?.?@ G*% F%!# D EGrrch\rSrSr\"SSS9r\"S\RS9\"SSS9/r/r S r \ S -r S r S r g )TestHelpSuppressOptionalirFrHr rrrz! usage: PROG spam zA positional arguments: spam spam help r$r#Nr&r'r(r)rrr5rrrrrHrr*r#rrrrsZ7 G(++, F%!# E   D Grrc\rSrSr\"SS9r\"SSS9\"SSS9/r\"S 5\"S \RS9/4/r S r \ S -r S r Sr g)TestHelpSuppressOptionalGroupirrr rrrrrrZ2 usage: PROG [-h] [--foo FOO] spam positional arguments: spam spam help options: -h, --help show this help message and exit --foo FOO foo help r$r#N)r&r'r(r)rrrr5rrrrHrr*r#rrrrsp' G*% F% WG(*;*;<=>! E   DGrrcf\rSrSr\"SS9r\"SSS9\"S\RS9/r/r Sr \ S -r S r S r g ) TestHelpSuppressPositionalirrr rrrz- usage: PROG [-h] [--foo FOO] o options: -h, --help show this help message and exit --foo FOO foo help r$r#Nrr#rrrrsX' G*% F**+!# E   D GrrcH\rSrSr\"SS9r\"SSSS9/r/rSr\S -r S r S r g ) TestHelpRequiredOptionalirrr Tr)rrHz+ usage: PROG [-h] --foo FOO rr$r#Nr#r#rrrrsJ' Gd4!# E   D GrrcZ\rSrSr\"SSSS9r\"SSSS 9\"S S S S 9/r/rSr\S-r Sr Sr g)TestHelpAlternatePrefixCharsirz^;F)rrurvz^^foor*rrz;bz;;barr rz- usage: PROG [^^foo] [;b BAR] z^ options: ^^foo foo help ;b, ;;bar BAR bar help r$r#Nr#r#rrrrsZTEJ GLz: D' +!# E   D GrrcT\rSrSr\"SSS9r\"SSS9\"SS S9/r/rS r\S -r S r S r g)TestHelpNoHelpOptionali-rFrHr rrrrz- usage: PROG [--foo FOO] spam zv positional arguments: spam spam help options: --foo FOO foo help r$r#Nr#r#rrrr-sT7 G*% F%!# E   DGrrcV\rSrSr\"SS9r\"S5\"S5/r/rSr\S-r Sr S r g ) TestHelpNoneiDrrr rrz positional arguments: spam options: -h, --help show this help message and exit --foo FOO r$r#Nr#r#rrrrDsL' G  F !# E   DGrrc z\rSrSr\"SS9r\"SSSSS9\"S S S S S9\"S SSSS9\"SSSSS9/r/rSr\S-r Sr Sr g)TestHelpTupleMetavarOptionali\rrrrwrW1W2rrr#rX1X2r6rrY1Y2Y3r1r3rZ1z] usage: PROG [-h] [-w W1 [W2 ...]] [-x [X1 [X2 ...]]] [-y Y1 Y2 Y3] [-z [Z1]] z options: -h, --help show this help message and exit -w W1 [W2 ...] w -x [X1 [X2 ...]] x -y Y1 Y2 Y3 y -z [Z1] z r$r#Nr#r#rrrr\sw' Ds#|< Ds#|< Ds!-?@ Ds#x8  !# E   DGrrc z\rSrSr\"SS9r\"SSSSS9\"S S S S S9\"S SSSS9\"SSSSS9/r/rSr\S-r Sr Sr g)TestHelpTupleMetavarPositionaliwrrrwrrrrr#rrrrrrrr3rrrzI usage: PROG [-h] W1 [W2 ...] [X1 [X2 ...]] Y1 Y2 Y3 [Z1] z positional arguments: W1 W2 w help X1 X2 x help Y1 Y2 Y3 y help Z1 z help options: -h, --help show this help message and exit r$r#Nr#r#rrrrwsw' Chc<@ Chc<@ Cha1CD Chc7;  !# E   DGrrc\rSrSr\"S\R SS9r\"SSS9\"SS S9/r\"S S S 9\"S SS9/4/r Sr \ S-r Sr Sr g)TestHelpRawTextir7Keep the formatting exactly as it is written here rformatter_classrr z- foo help should also appear as given hererrrr ? This text should be indented exactly like it is here rrZr > usage: PROG [-h] [--foo FOO] [--bar BAR] spam a Keep the formatting exactly as it is written here positional arguments: spam spam help options: -h, --help show this help message and exit --foo FOO foo help should also appear as given here title: This text should be indented exactly like it is here --bar BAR bar help r$r#N)r&r'r(r)rr5RawTextHelpFormatterrrrrrHrr*r#rrrrs X%B%B G1 2 F% W#B C gJ ' ( *!  E   D,Grrc\rSrSr\"S\R SS9r\"SSS9\"SS S9/r\"S S S 9\"S SS9/4/r Sr \ S-r Sr Sr g)TestHelpRawDescriptionirrrr z4 foo help should not retain this odd formattingrrrr rrrZr ra Keep the formatting exactly as it is written here positional arguments: spam spam help options: -h, --help show this help message and exit --foo FOO foo help should not retain this odd formatting title: This text should be indented exactly like it is here --bar BAR bar help r$r#N)r&r'r(r)rr5RawDescriptionHelpFormatterrrrrrHrr*r#rrrrs X%I%I G; < F% W#B C gJ ' ( *!  E   D*Grrc \rSrSr\"S\R SS9r\"SSS9\"SS S S 9\"S \RS SS9\"S\RS\RS9\"SSSS9\"SSS9\"SSSSS9/r \"SSS9\"S\ SS S!9/4/r S"r \ S#-rS$rS%rg&)'TestHelpArgumentDefaultsirrrr z)foo help - oh and by the way, %(default)srrZr*r rz--tazzWhether to taz itT)r,rHrz--corgezWhether to corge itrz Set the quuxr.)rHrrrr_rwoodenz badger helprrrHr rrrN)rrrHz usage: PROG [-h] [--foo FOO] [--bar] [--taz | --no-taz] [--corge | --no-corge] [--quux QUUX] [--baz BAZ] spam [badger] ay description positional arguments: spam spam help badger badger help (default: wooden) options: -h, --help show this help message and exit --foo FOO foo help - oh and by the way, None --bar bar help (default: False) --taz, --no-taz Whether to taz it (default: True) --corge, --no-corge Whether to corge it --quux QUUX Set the quux (default: 42) title: description --baz BAZ baz help (default: 42) r$r#N)r&r'r(r)rr5ArgumentDefaultsHelpFormatterrrrrrrrrHrr*r#rrrrs X%K%K!# GEF GLz: GH::$d 4 Ih<<&0A0A C H>26 F% HC F  W- 0 gC* = > @! E   D*GrrcL\rSrSr\"SSS9r\"SSSSS 9/r/rS r\S -r S r S r g)TestHelpVersionActioni&rrr-Vrrz3.6rz& usage: PROG [-h] [-V] z description options: -h, --help show this help message and exit -V, --version show program's version number and exit r$r#Nr#r#rrrr&sJMBt[ERS " E   DGrrct\rSrSr\"SS9r\"SSSS\RS9\"S S S 9\"S S S 9/r/r Sr \ S-r Sr g)TestHelpVersionActionSuppressi:rrrrrr)r,rrHr rrrrrrr#N) r&r'r(r)rrr5rrrrrHr*r#rrrr:sd' D+i"" $ G*% F%  !# E   Drrc \rSrSr\"SSS9r\"SSSSS 9/rS VVVs/sH n[ US 9PM snnnrS r\S -r Sr Sr gs snnnf)TestHelpSubparsersOrderingiSrdisplay some subcommandsrrrrrr)rrrrrrA6 usage: PROG [-h] [-v] {a,b,c,d,e} ... z display some subcommands positional arguments: {a,b,c,d,e} options: -h, --help show this help message and exit -v, --version show program's version number and exit r"r#N) r&r'r(r)rrrrrrHrr*).0rsrs000rrrSss'ACt[ERS*CD)B!d^)BD E   D G'DsArc \rSrSr\"SSS9r\"SSSSS 9/rS r\VVVVs/sHup[ XS 9PM snnnnrS r \ S -r Sr Sr gs snnnnf)"TestHelpSubparsersWithHelpOrderingiprrrrrrrr))rza subcommand help)rzb subcommand help)rzc subcommand help)rzd subcommand help)rze subcommand help)rsrHra display some subcommands positional arguments: {a,b,c,d,e} a a subcommand help b b subcommand help c c subcommand help d d subcommand help e e subcommand help options: -h, --help show this help message and exit -v, --version show program's version number and exit r"r#N) r&r'r(r)rrrsubcommand_datarrrHrr*)rrsrHrs0000rrrps|'ACt[ERSO0?@/>!d6/>@ E   D" G1@sA rc~\rSrSrSr\"SS\RS9r\"S\ S9\"S\S9\"S \ S S 9/r /r S r \ S -rSrSrg)TestHelpMetavarTypeFormattericU$r]r#rs r custom_type(TestHelpMetavarTypeFormatter.custom_types rrr)rrrrrrrz SOME FLOAT)rrzF usage: PROG [-h] [-b custom_type] [-c SOME FLOAT] int z description positional arguments: int options: -h, --help show this help message and exit -b custom_type -c SOME FLOAT r$r#N)r&r'r(r)rrr5MetavarTypeHelpFormatterrrrrrrrHrr*r#rrrrsrM+3+L+LNs-t+6t%FH!# E   DGrrc\rSrSrSrSrSrg)!TestHelpUsageLongSubparserCommandiNc"Sn[R"SUS9nURSSSS9nURSS S 9 URS S S 9 URS SS 9 UR 5nUR U[ R"S55 g)Nc,[R"USS9$)N2)max_help_position)r5rrs rcustom_formatterLTestHelpUsageLongSubparserCommand.test_parent_help..custom_formatters00L Lrr)rrr CMDzcommand to use)r rrHrjz add somethingrremovezremove somethingza-very-long-commandzcommand that does somethinga} usage: PROG [-h] CMD ... options: -h, --help show this help message and exit commands: CMD command to use add add something remove remove something a-very-long-command command that does something )r5r6rrrJrrxry)rr parent_parsercmd_subparsersrs rr2TestHelpUsageLongSubparserCommand.test_parent_helps M!// 0 '55J>C;K6M !!%'6 " 8 !!('9 " ; !!"7'D " F$//1  hoo 7 ' rr#)r&r'r(r)rrr*r#rrrrs G!rrc\rSrSrSS.SjrSS.SjrSrSrSrS r S r S r S r S r SrSrSrSrSrSrSrSrg)TestInvalidArgumentConstructorsiN)errmsgcx[R"5nUR"[XR/UQ70UD6 gr])r5r6rQrrrrrrr<s rassertTypeError/TestInvalidArgumentConstructors.assertTypeErrors8((* y&2E2E 0 $ 0(. 0rcx[R"5nUR"[XR/UQ70UD6 gr])r5r6rQrrrs rassertValueError0TestInvalidArgumentConstructors.assertValueErrors8((* z63F3F 0 $ 0(. 0rcURSSS9 URSSS9 URSSS9 URS0S9 g) Nr)ror6r2)callbackr#) callback_args)callback_kwargsrr!s rtest_invalid_keyword_arguments>TestInvalidArgumentConstructors.test_invalid_keyword_argumentssN Tt, TE2 T4 T26rcUR5 SH*nURUS9 URUS9 SSS5 M, g!,(df  M>=f)Nrrrr+)rrGrr,s rtest_missing_destination8TestInvalidArgumentConstructors.test_missing_destinationsF 3FV,$$F$3-,4,,s A A cHURS5 URS5 g)Nr4z---rr!s rtest_invalid_option_strings;TestInvalidArgumentConstructors.test_invalid_option_stringss d# e$rc(URSS5 g)Nr z+foorr!s rtest_invalid_prefix3TestInvalidArgumentConstructors.test_invalid_prefixs gv.rcXURSSS9 URS[[4S9 g)Nr rr)rrrr!s rr1TestInvalidArgumentConstructors.test_invalid_types, gE2 gS%L9rcURSSS9 URSSS9 URSSS9 URSSSS 9 g) Nrr2r+rpr )rrz store-truezunknown action)r,rrr!s rtest_invalid_action3TestInvalidArgumentConstructors.test_invalid_actionsV d51 eE2 g.AB gl%5  7rc[R"5nURSS9 UR[5nURSSS9 SSS5 UR S[ WR55 g!,(df  N4=f)Nr2rRrorpz+dest supplied twice for positional argument)r5r6rr rrrrrs rtest_multiple_dest2TestInvalidArgumentConstructors.test_multiple_destsm((*'   z *b   E  2+ C",,' )+ *s A99 Bc SHnURUS9 [[S9[SS9[SS/S94HCnURUS 9 UR"SS U0UD6 UR"SS U0UD6 SSS5 ME URS US S9 URS US S9 SSS5 M g!,(df  M=f!,(df  M=f)N)r-r*rrrr+rrrrrr)attrsrr,r#rr)rr")rGrrr)rr,rs rtest_no_argument_actions8TestInvalidArgumentConstructors.test_no_argument_actionss0FV,"ndo"C:68EE2,,J&JEJ,,II5I328 $$T&$B$$Sq$A-,0 32-,s#3B>)B, 1.B>, B; 6B>> C cSH=nURUS9 URSSUS9 URSSUS9 SSS5 M? g!,(df  MQ=f)N)r*rrr+rr2rrrrGrr s r!test_no_argument_no_const_actionsATestInvalidArgumentConstructors.test_no_argument_no_const_actions#sUs>5FV,$$TV$D-,6,,s 4 A cURSSS9 URSSSS9 URSS[RS9 g)NrVparsersr+r)r,r)r,r)rr5r6r!s r"test_parsers_action_missing_paramsBTestInvalidArgumentConstructors.test_parsers_action_missing_paramsDsK Yy9 YyvF Yy*2*A*A  Crc$URSSS9 g)NrVrr+rr!s rtest_version_missing_params;TestInvalidArgumentConstructors.test_version_missing_paramsJs Yy9rc$URSSS9 g)Nr2Trirr!s rtest_required_positional8TestInvalidArgumentConstructors.test_required_positionalMs UT2rc ^"SS[5m"U4SjS[5n[R"5nUR TUR SUTTS9 UR TUR SUTTS9 g)Nc\rSrSrSrg)ITestInvalidArgumentConstructors.test_user_defined_action..SuccessiRr#Nrr#rrSuccessr7Rr@rr8c.>\rSrSrSU4SjjrSrSrg)HTestInvalidArgumentConstructors.test_user_defined_action..ActioniUc8>US:XaUTLa UTLaT"5eggg)Nrr#)roption_stringsrSr0rrr8s rrQTestInvalidArgumentConstructors.test_user_defined_action..Action.__init__Ws2 6>'"g-"))O.("rcgr]r#rs rrQTestInvalidArgumentConstructors.test_user_defined_action..Action.__call__bsrr#N)F)r&r'r(r)rrr*)r8srrr:Us#( , rrrh)r,rr0r)rrr5r6r r)rrr<r8s @rtest_user_defined_action8TestInvalidArgumentConstructors.test_user_defined_actionPsy i  V  ((* '6#6#6!'  I '6#6#6!'  Irr#)r&r'r(r)rrrr rrrrrrr"r&r)r-r0r3r@r*r#rrrrsg-10 .20 7 4 %/:7) BEF"E C :3Irrc \rSrSrSrSrSrg)TestActionsReturnedioc@[R"5nURS5nURURS5 URSS5nURURS5 URSS5nURURS5 g) Nr r2rrZrorr6r#)r5r6rrrSrs rrRTestActionsReturned.test_destqs((*$$W- e,$$T73 e,$$T40 c*rc 4[R"5nURSSSS[SS/SSS S 9 nUR UR S5 UR UR S5 UR URS5 UR UR[5 UR URSS/5 UR URS5 UR URS5 UR URS 5 g) Nr rr.rrrrpBARrp)rr0rrrrHrrS) r5r6rrrrr0rrrrHrrSrs r test_miscTestActionsReturned.test_misczs((*$$WCr-/cAq6*/U%L s+ r* , c* !Q0 e, / e,rr#N)r&r'r(r)rRrHr*r#rrrCrCos + -rrCc,\rSrSrSrSrSrSrSrg)TestConflictHandlingicJUR[[RSS9 g)Nr2)conflict_handler)r rr5r6r!s r test_bad_type"TestConflictHandling.test_bad_types" *h&=&=+0  2rc[R"5nURS5 UR[RURS5 URS5 UR[RURS5 g)Nrrh)r5r6rr rRr;s rtest_conflict_error(TestConflictHandling.test_conflict_errorsn((*D! (00 --t 5H% (00 --x 9rc[RnU"SSS9nURSSS9 URSSS9 URUR 5[ R "S55 URS S S 9 URS S S 9 URUR 5[ R "S 55 g)Nrresolve)rrMrzOLD XrzNEW Xz usage: PROG [-h] [-x X] options: -h, --help show this help message and exit -x X NEW X rhOLD_SPAMrDNEW_SPAMz usage: PROG [-h] [-x X] [--spam NEW_SPAM] options: -h, --help show this help message and exit -x X NEW X --spam NEW_SPAM )r5r6rrrJrxry)rr(r<s rtest_resolve_error'TestConflictHandling.test_resolve_errors,, )DDw/Dw/ ++-x@0  Hj9Hj9 ++-x@0 rc[R"5nUR5nURSS/S9 UR [R URS5 UR [R URS5 UR [R URSS/S9 UR [R URSS/S9 g)Nfullnamealiasrr)r5r6rrr rR)rr<sps rtest_subparser_conflict,TestConflictHandling.test_subparser_conflicts((*  " " $ j7) 4 (00-- 5 (00-- 2 (00--:,  H (00--7)  Err#N) r&r'r(r)rNrQrWr]r*r#rrrKrKs292 ErrKcJ\rSrSrSrSrSrSrSrSr Sr S r S r S r g ) TestOptionalsHelpVersionActionsicUR[5nURUR55 SSS5 UR UR 5WR R5 g!,(df  NC=fr])r rrFr rrJrr)rr<r rs rassertPrintHelpExit3TestOptionalsHelpVersionActions.assertPrintHelpExitsY   2 3r   hnn. /4 ++-r||/B/BC4 3s A33 BcFUR[URU5 gr])r rrFrCs rr9TestOptionalsHelpVersionActions.assertArgumentParserErrors -v/@/@$Grc[5nURSSSSS9 URUS5 URUS5 UR[[ US5 g) Nrrrrrr@r{format_versionrrrbr r:rr;s r test_version,TestOptionalsHelpVersionActions.test_versionsV+-D+iO   .   2 .'6;KLrc[SS9nURSSSSS9 UR[5nUR S/5 SSS5 UR SWR R5 g!,(df  N5=f) NPPPrrrrz %(prog)s 3.5rzPPP 3.5 rrr rrFrrrrs rtest_version_format3TestOptionalsHelpVersionActions.test_version_formatsl+7D+iX   2 3r   tf %4 bll&9&9:4 3s A33 Bc[SS9nURSSSSS9 URUS5 URUS 5 UR[[ US 5 g) NFrrrrrrr@r{rg)rrrr r:rr;s rtest_version_no_help4TestOptionalsHelpVersionActions.test_version_no_helpsX+U;D+iO &&vt4 &&vx8 .'6;KLrc[SS9nURSSSS9 UR[5nUR S/5 SSS5 UR SWR R5 g!,(df  N5=f)Nrrrrz %(prog)s 3.7rzXXX 3.7 rmrs rtest_version_action3TestOptionalsHelpVersionActions.test_version_actionsj+7DNK   2 3r   tf %4 bll&9&9:4 3s A22 Bc[SS9nURUS5 URUS5 URUS5 URUS5 g)NFrr@r{rr)rrr;s r test_no_help,TestOptionalsHelpVersionActions.test_no_helpsL+U; &&vt4 &&vx8 &&vt4 &&v{;rc[5nURSSS9 URSSS9 URUS5 URUS5 URUS5 UR [ [ US5 g) NrrHr+r6rrrrg)rrrbrr r:rr;s rtest_alternate_help_version;TestOptionalsHelpVersionActions.test_alternate_help_versionsu+-D0D3   . &&vt4 &&v{; .'6;KLrcR[5nURSSSS9 URSSS9 URS5 /S QnUS S /-nUHZnUH nU<S U<3nM URUWS -5 URXS-5 UR[[ US5 M\ g)Nrrrrrr*r+r)r$rr2z-x barzbaz -xz --bad-optionz foo bar bazz %s r@r{rgrh)rr<valid_prefixesvalid_suffixesprefixsuffixrs r!test_help_version_extra_argumentsATestOptionalsHelpVersionActions.test_help_version_extra_argumentss+-K 5ID6C ?'>=*II$F((.7)  $ $VVd] ;  $ $Vh-> ?   ngv?O P %rr#N)r&r'r(r)rbrrirnrqrtrwrzrr*r#rrr`r`s5D HM;M;<MQrr`cD\rSrSrSrSrSrSrSrSr Sr S r S r g ) TestStringsicZ[[4HnURU"U5U5 M gr])rrr)robj result_stringrAs rassertStringEqualTestStrings.assertStringEquals$$KD   T#Y 6 rc j[R"/SQSSSS/SQSSS S 9 nS nURX5 g) N)r rrrrrr.rrrFHELPMETAVAR r<rSrrrrrrHrzAction(option_strings=['--foo', '-a', '-b'], dest='b', nargs='+', const=None, default=42, type='int', choices=[1, 2, 3], required=False, help='HELP', metavar='METAVAR', deprecated=False))r5rr)roptionrs r test_optionalTestStrings.test_optionalsE0  3  v.rc |[R"/S[SS/SQSSSS9 nS [-nURX5 g) Nr#rr)rg?rTzH HH HzMV MV MVrzAction(option_strings=[], dest='x', nargs='?', const=None, default=2.5, type=%r, choices=[0.5, 1.5, 2.5], required=True, help='H HH H', metavar='MV MV MV', deprecated=False))r5rrr)rargumentrs r test_argumentTestStrings.test_argument,sO??#   #( (  x0rcT[R"SSS9nSnURX5 g)Nr.rrozNamespace(foo=42, bar='spam')r5rrrrrs rtest_namespaceTestStrings.test_namespace>s'   BF 30 r*rcZ[R"S0SS0D6nSnURX5 g)N"quotezNamespace(**{'"': 'quote'})r#rrs r'test_namespace_starkwargs_notidentifier3TestStrings.test_namespace_starkwargs_notidentifierCs,    13. 12 r*rc^[R"SSS0SS0D6nSnURX5 g)Nrrrrz Namespace(a=1, **{'"': 'quote'})r#rrs r2test_namespace_kwargs_and_starkwargs_notidentifier>TestStrings.test_namespace_kwargs_and_starkwargs_notidentifierHs1    6! 6W~ 67 r*rcZ[R"S0SS0D6nSnURX5 g)NvalidTzNamespace(valid=True)r#rrs r$test_namespace_starkwargs_identifier0TestStrings.test_namespace_starkwargs_identifierMs,    27D/ 2( r*rct[R"SS9nS[R-nURX5 g)NrrzvArgumentParser(prog='PROG', usage=None, description=None, formatter_class=%r, conflict_handler='error', add_help=True))r5r6 HelpFormatterr)rr<rs r test_parserTestStrings.test_parserRs:((f5 '55 6  v.rr#N) r&r'r(r)rrrrrrrrr*r#rrrrs*7/$1$+ + + + /rrc&\rSrSrSrSrSrSrg) TestNamespacei^c[R"5nUR[[US5 [R"SSS9nUR UR S5 UR URS5 g)Nr#r.rr)r5rr r:rrrrrs rtest_constructorTestNamespace.test_constructor`s^    ! .'2s;   " / r" v&rc[R"SSS9n[R"SSS9n[R"SS9n[R"SS9nURX5 URX5 URX5 URX#5 URX$5 UR X:g5 UR X:g5 UR X#:g5 UR X$:g5 g)Nrrr)rr)rr )r5rrassertNotEqual assertTrue)rns1ns2ns3ns4s r test_equalityTestNamespace.test_equalityhs  1*  1*  1%  1% " C% C% C% C%  #  #  #  #rc[R"SSS9nURURS5[5 URUR S5[5 g)Nrrr)r5rrArNotImplemented__ne__rs r$test_equality_returns_notimplemented2TestNamespace.test_equality_returns_notimplementedxs@   !q ) biio~6 biio~6rr#N)r&r'r(r)rrrr*r#rrrr^s'$ 7rrc&\rSrSrSrSrSrSrg) TestEncodingic[RRU5upUS- n[USSS9nUR 5 SSS5 g!,(df  g=f)Nz.pyr1r rx)rarjsplitextrzrH)rrjrrDs r_test_module_encoding"TestEncoding._test_module_encodingsD''""4(   $g .! FFH/ . .s A  AcBUR[R5 gr])rr5__file__r!s rtest_argparse_module_encoding*TestEncoding.test_argparse_module_encodings ""8#4#45rc.UR[5 gr])rrr!s r"test_test_argparse_module_encoding/TestEncoding.test_test_argparse_module_encodings ""8,rr#N)r&r'r(r)rrrr*r#rrrrs 6-rrc\rSrSrSrSrg)TestArgumentErroriclSn[R"SU5nUR[U5U5 g)Nz my error here)r5rRrr)rrrs rtest_argument_error%TestArgumentError.test_argument_errors-&&tS1 US)rr#N)r&r'r(r)rr*r#rrrrs*rrc\rSrSrSrSrg)TestArgumentTypeErroric Sn[SSS9nURSUS9 UR[5nUR S/5 SSS5 UR SWR R5 g!,(df  N5=f) Nc.[R"S5e)Nspam!)r5ArgumentTypeErrorrs rr.spams,,W5 5rrFrHr#rrz-usage: PROG x PROG: error: argument x: spam! )rrr rrFrrr)rrr<rs rtest_argument_type_error.TestArgumentTypeError.test_argument_type_errorsu 6,%HCd+   2 3r   ug &4 J,, .4 3s A55 Br#N)r&r'r(r)rr*r#rrrrs .rrc&\rSrSrSrSrSrSrg)TestMessageContentErroric[SSS9nURS[S9 URS[SS9 URS [S S 9 UR [ 5nUR /5 SSS5 [WR5nURUS5 URUS 5 URUS 5 UR [ 5nUR S /5 SSS5 [UR5nURUS5 URUS 5 URUS 5 UR [ 5nUR S S/5 SSS5 [UR5nURUS5 URUS 5 URUS 5 g!,(df  GNR=f!,(df  N=f!,(df  N}=f)Nrr$rreq_posr-req_optTrneed_oner)rrreq_opt myXargumentz -req_opt=1) rrrrr rrFrrIrrr<rrs r%test_missing_argument_name_in_message=TestMessageContentError.test_missing_argument_name_in_messages+rBIC0JS4@JS<   2 3r   b !4",, i( i( j)   2 3r   }o .4",, i( i( j)   2 3r   }l; <4",, i( i( j)#4 3 4 3 4 3s$F;G G; G  G G,c[SSS9nURS[S9 URS[SS9 URS [S SS 9 UR [ 5nUR/5 SSS5 [WR5nURUS5 URUS 5 URUS 5 UR [ 5nURS/5 SSS5 [UR5nURUS5 URUS 5 URUS 5 g!,(df  N=f!,(df  Nk=f)Nrr$rrrz --req_optTrz --opt_optr)rrrropt_optz --req_opt=1) rrrrrr rrFrrIrrs r%test_optional_optional_not_in_message=TestMessageContentError.test_optional_optional_not_in_messages*+rBIC0KcDAKd#$(  *   2 3r   b !4",, i( i( i(   2 3r   }o .4",, i( i( i(4 3 4 3sEE E EcN[SSS9nURS5 URSSSS9 UR[5nUR /5 SSS5 [ WR 5nURUS5 URUS5 g!,(df  NH=f) Nrr$rroptional_positionalrrr) rrr rrFrrrIrrs r'test_optional_positional_not_in_message?TestMessageContentError.test_optional_positional_not_in_messages+rBI&1fM   2 3r   b !4",, i( 34 4 3s B B$r#N)r&r'r(r)rrrr*r#rrrrs*2)&5rrc\rSrSrSrSrg)TestTypeFunctionCallOnlyOnceic^U4Sjn[R"5nURSUSS9 URSR 55nTR [ SS9U5 g)Nc*>TRUS5 g)Nr foo_convertedr)string_to_convertrs rrLTestTypeFunctionCallOnlyOnce.test_type_function_call_only_once..spams   . 8"rr ror]z --foo spam!rr;)r5r6rrFr rrrrr<rs` r!test_type_function_call_only_once>TestTypeFunctionCallOnlyOnce.test_type_function_call_only_onces[ #((*G$>  !4!4!67 0$7rr#N)r&r'r(r)rr*r#rrrrs8rrc2\rSrSrSrSrSrSrSrSr g) TestDeprecatedArgumentsicH[R"5nURSSSS9 [5nUR SS/5 SSS5 WR 5nUR US5 URURS5S5 [5nUR SS/5 SSS5 UR 5nUR US 5 URURS5S5 [5nUR /S Q5 SSS5 UR 5nUR US5 UR US 5 URURS5S 5 [5nUR /S Q5 SSS5 UR 5nUR US5 URURS5S5 g!,(df  GN=f!,(df  GNI=f!,(df  N=f!,(df  N=f) Nr?r T) deprecatedr%warning: option '--foo' is deprecated is deprecatedr"warning: option '-f' is deprecated)r rr?hamr)r rr r) r5r6rrrFrrIrrrr<rs rtest_deprecated_option.TestDeprecatedArguments.test_deprecated_options((*D'd;  &   w/ 0" !HI o6:  &   tVn -" !EF o6:  &   < =" !HI !EF o6:  &   ? @" !HI o6:/      s/GG0H>H G-0 G? H H!c`[R"5nURSS[RSS9 [ 5nUR S/5 SSS5 WR 5nURUS5 URURS5S5 [ 5nUR S/5 SSS5 UR 5nURUS5 URURS5S5 [ 5nUR S /5 SSS5 UR 5nURUS 5 URURS5S5 [ 5nUR SS /5 SSS5 UR 5nURUS5 URUS 5 URURS5S 5 g!,(df  GN=f!,(df  GNH=f!,(df  N=f!,(df  N=f) Nr?r T)r,rrrrrrz(warning: option '--no-foo' is deprecatedr) r5r6rrrrFrrIrrrs rtest_deprecated_boolean_option6TestDeprecatedArguments.test_deprecated_boolean_options((*D'(2P2P]ab  &   wi (" !HI o6:  &   tf %" !EF o6:  &   zl +" !KL o6:  &   w 3 4" !HI !KL o6:/       s0G*(G<H8H* G9< H  H H-cJ[R"5nURSSSS9 URSSSS9 [5nUR /5 SSS5 WR 5nUR URS5S5 [5nUR S/5 SSS5 UR 5nURUS 5 UR URS5S 5 [5nUR SS /5 SSS5 UR 5nURUS 5 URUS 5 UR URS5S 5 g!,(df  GN$=f!,(df  N=f!,(df  N=f)Nr2rTrrrorrr%warning: argument 'foo' is deprecatedrrz%warning: argument 'bar' is deprecatedr r5r6rrrFrrrrIrs rtest_deprecated_arguments1TestDeprecatedArguments.test_deprecated_arguments<sN((*E>E>  &   b !" o6:  &   vh '" !HI o6:  &   vuo ." !HI !HI o6:!     s$E1F?F1 F F F"c[R"5nURSSSS9 [5nUR /5 SSS5 WR 5nUR URS5S5 [5nUR S/5 SSS5 UR 5nURUS5 UR URS5S 5 [5nUR SS /5 SSS5 UR 5nURUS5 UR URS5S 5 g!,(df  GN=f!,(df  N=f!,(df  Nu=f) Nr2rTrrrrrrrrrs rtest_deprecated_varargument3TestDeprecatedArguments.test_deprecated_varargumentSs(((*E>  &   b !" o6:  &   vh '" !HI o6:  &   vuo ." !HI o6:     s#EE .E1 E E.1 E?cH[R"5nUR5nURSS/SS9 URS5 [ 5nUR S/5 SSS5 WR 5nURURS5S5 [ 5nUR S/5 SSS5 UR 5nURUS5 URURS5S 5 [ 5nUR S/5 SSS5 UR 5nURUS 5 URURS5S 5 g!,(df  GN=f!,(df  N=f!,(df  Nu=f) Nr2rpT)rrrorrz$warning: command 'foo' is deprecatedrz$warning: command 'baz' is deprecated) r5r6rrrrFrrrrI)rr<r!rs rtest_deprecated_subparser1TestDeprecatedArguments.test_deprecated_subparserhsF((***, eeWFe$  &   ug &" o6:  &   ug &" !GH o6:  &   ug &" !GH o6:     s$E0)FF0 E? F F!r#N) r&r'r(r)rrr r rr*r#rrrrs;:;:;.;*;rrc,\rSrSrSrSrSrSrSrg)TestTypeFunctionCalledOnDefaultic^U4Sjn[R"5nURSUSS9 UR/5nTR [ SS9U5 g)Nc*>TRUS5 g)Nrrr)int_to_convertrs rr]TestTypeFunctionCalledOnDefault.test_type_function_call_with_non_string_default..spams   ^Q /"rr rr]r;r5r6rrFrrrs` r/test_type_function_call_with_non_string_defaultOTestTypeFunctionCalledOnDefault.test_type_function_call_with_non_string_defaultsQ #((*G$:  $ D)rcSn[R"5nURSUSS9 UR/5nUR [ SS9U5 g)Ncg)Nrr#)rs rrYTestTypeFunctionCalledOnDefault.test_type_function_call_with_string_default..spams"rr 0r]rr;rrs r+test_type_function_call_with_string_defaultKTestTypeFunctionCalledOnDefault.test_type_function_call_with_string_defaultsQ #((*G$<  $ 0$7rcSn[R"5nURSUSS9 UR/5nUR [ SS9U5 g)Nc US-$)Nrr#)str_to_converts rrYTestTypeFunctionCalledOnDefault.test_no_double_type_conversion_of_default..extends !C' 'r--testrr]z**)rr)rrr<rs r)test_no_double_type_conversion_of_defaultITestTypeFunctionCalledOnDefault.test_no_double_type_conversion_of_defaultsR (((*H63?  $ -rc[R"5nURSS[/SS9 UR /5nUR UR /5 g)Nr$rr)rSrrr,)r5r6rrrFrrrCs rtest_issue_159060TestTypeFunctionCalledOnDefault.test_issue_15906sT((*H6$&x  9  $ B'rr#N) r&r'r(r)rrr%r(r*r#rrrrs *8 .(rrc>\rSrSrSrSrSrSrSrSr Sr S r g ) TestParseKnownArgsicP[R"5nURS5 g)Nr#r5r6rFr;s rtest_arguments_tuple'TestParseKnownArgs.test_arguments_tuple((*"rcP[R"5nUR/5 gr]r-r;s rtest_arguments_list&TestParseKnownArgs.test_arguments_listr0rcr[R"5nURS5 URS5 g)Nr#r"r5r6rrFr;s rtest_arguments_tuple_positional2TestParseKnownArgs.test_arguments_tuple_positionals,((*C &!rct[R"5nURS5 URS/5 g)Nr#r5r;s rtest_arguments_list_positional1TestParseKnownArgs.test_arguments_list_positionals.((*C 3% rc[R"5nURS5 URSR 55up#UR [ SS9U5 UR SS/U5 g)Nr z--foo F --bar --bazFr;rZr)r5r6rr:r rr)rr<rextrass rtest_optionals!TestParseKnownArgs.test_optionalssc((*G$../D/J/J/LM  d+ '7+V4rc([R"5nURSSS[S9 URSSS9 URS5 /S QnUR U5up4UR [ S S S S 9U5 UR /SQU5 g)Nrrr)rr0rrhrr+r_)rmrr rr(rrTrm)vrr_)rr r)r5r6rrr:rr)rr<rrr=s r test_mixedTestParseKnownArgs.test_mixeds((*D13?H];H%2..t4  ad37> ,f5rc[R"5nURSSSS9 UR/5nUR [ /S9U5 g)Nr#rr)rrr"rrCs rtest_zero_or_more_optional-TestParseKnownArgs.test_zero_or_more_optionalsI((*CsJ?  $ b4(rr#N) r&r'r(r)r.r2r6r9r>rBrEr*r#rrr+r+s%" ! 5 6)rr+c8\rSrSrSrSrSrSrSrSr Sr g ) TestDoubleDashicP[R"SS9nURSS5 URSSS9 URS/5nUR [ S /S 9U5 UR [RS URSS /5 URS /5nUR [ S /S 9U5 UR [RS URSS /5 UR/S Q5nUR [ SSS/S 9U5 UR/SQ5nUR [ SSS/S 9U5 UR/SQ5nUR [ S/SQS 9U5 UR/SQ5nUR [ S/SQS 9U5 g)NFrNr?r rorr--foo=--r4roz(argument -f/--foo: expected one argument-f--)r rr4rrrrr)rrr r)rr4rr r)rr4rr4rr r)rrr4rr r)r5r6rrFrrrQrRrCs rtest_single_argument_option*TestDoubleDash.test_single_argument_options((u=D'*E-  *. "-t4 x55 6    0  &* "-t4 x55 6   d| -  !?@ #s4d;  !9: #s4d;  !?@ *BCTJ  !JK *MNPTUrc[R"SS9nURSSSS9 URSSS9 URS/5nUR [ S //S 9U5 URSS /5nUR [ //S 9U5 URS /5nUR [ S //S 9U5 URSS /5nUR [ //S 9U5 UR/S Q5nUR [ S S/SS/S 9U5 UR/SQ5nUR [ SS/S S/S 9U5 UR/SQ5nUR [ S/SQS 9U5 UR /SQ5up#UR [ S/S S/S 9U5 UR US S/5 g)NFrNr?r rrrorJr4rorK)r rrr4rrrrrr)rrr rr)rr4rr rr)rrr rr4r)r5r6rrFrrr:)rr<rrs rtest_multiple_argument_option,TestDoubleDash.test_multiple_argument_options((u=D'5E-  *. B/6  '41 +T2  &* B/6  $. +T2  !DE c c ;TB  !>? c c ;TB  !DE *GH$O,,-PQ  C:6= c{+rcD[R"SS9nURS5 URSSS9 UR/SQ5nUR [ SS S /S 9U5 UR/S Q5nUR [ SS S /S 9U5 UR/S Q5nUR [ SS S /S 9U5 UR/SQ5nUR [ S/SQS 9U5 UR/SQ5nUR [ S/S QS 9U5 g)NFrNr2rorrr4rrrrrrrorr4rrrrr4rrr4rr4rrr4r)r4r4rr4rrr4rrCs rtest_multiple_double_dashes*TestDoubleDash.test_multiple_double_dashess ((u=E"E-  !67 #s4d;  !67 #s4d;  !67 #s4d;  !<= )9:DA  !BC *?@$Grc[R"SS9nURS5 URSSS9 UR/SQ5nUR [ SS S /S 9U5 UR/S Q5nUR [ SS S /S 9U5 UR/S Q5nUR [ S/SQS 9U5 UR/SQ5nUR [ S/SQS 9U5 [R"SS9nURS5 URSSS9 UR/SQ5nUR [ S/SQS 9U5 g)NFrNr2rorrrRrrrrorSrTrVrUr )r rr4rr4r)r4rr4rrrCs rtest_remainderTestDoubleDash.test_remainder"s7((u=E"E/  !67 #s4d;  !67 #s4d;  !67 )9:DA  !<= )9:DA((u=G$E/  !EF )?@$Grc.[R"SS9nURS5 UR5nUR S5nURS5 URSSS9 UR /S Q5nUR [S S S S /S9U5 UR /SQ5nUR [S S/SQS9U5 UR /SQ5nUR [S S/SQS9U5 UR /SQ5nUR [S S/SQS9U5 UR /SQ5nUR [S S S S /S9U5 UR /SQ5nUR [S S S S /S9U5 UR /SQ5nUR [S S/SQS9U5 UR /SQ5nUR [S S/SQS9U5 UR[RSUR /SQ5 g)NFrNr2rUr?rorr)r#rUrrr?rr#rrrr2rDro)r#rUrrr4r?r)rrr?r)r#rUrr4rr?r)r#rUr4rrr?r)r#r4rUrrr?r)r4r#rUrrr?r)r#rUr4rr4r)rr4r)r#r4rUr4rr4rinvalid choice: '--')r4r#r4rUrr r5r6rrrrFrrrQrRrr<r!r#rs rtest_subparserTestDoubleDash.test_subparser6s((u=E"**, ''.T"U#.  !BC sc ;TB  !HI t1FGN  !HI t1FGN  !HI t1FGN  !HI sc ;TB  !HI sc ;TB  !CD t1ABDI  !IJ t1ABDI x55 "   A Crc[R"SS9nURSSS9 UR5nUR S5nURS5 URSSS9 UR /S Q5nUR [S S /S S S/S9U5 UR[RSUR /SQ5 g)NFrNr rrrUr?ro) r r#rr4rUrrr?rr#rrrrr]r^)r r#r4r4rUrrr_r`s r-test_subparser_after_multiple_argument_optionrc$URSSS9 g)Nrrrr!s rtest_nargs_None_metavar_length36TestAddArgumentMetavar.test_nargs_None_metavar_length3s T?Crc$URSSS9 g)Nrrlrrr!s r"test_nargs_optional_metavar_string9TestAddArgumentMetavar.test_nargs_optional_metavar_string !!S!9rc4URS[5S9 g)Nrrrr!s r#test_nargs_optional_metavar_length0:TestAddArgumentMetavar.test_nargs_optional_metavar_length0 S%':rc$URSSS9 g)Nrrrrr!s r#test_nargs_optional_metavar_length1:TestAddArgumentMetavar.test_nargs_optional_metavar_length1 !!V!rc$URSSS9 g)Nrrrrr!s r$test_nargs_remainder_metavar_length2;TestAddArgumentMetavar.test_nargs_remainder_metavar_length29s !!z!Brc$URSSS9 g)Nrrrrr!s r$test_nargs_remainder_metavar_length3;TestAddArgumentMetavar.test_nargs_remainder_metavar_length3<s !!!Grc$URSSS9 g)NA...rlrrr!s r test_nargs_parser_metavar_string7TestAddArgumentMetavar.test_nargs_parser_metavar_stringAs !!!rc$URSSS9 g)Nrrrrr!s rtest_nargs_2_metavar_length33TestAddArgumentMetavar.test_nargs_2_metavar_length3or rc$URSSS9 g)Nrrlrrr!s rtest_nargs_3_metavar_string2TestAddArgumentMetavar.test_nargs_3_metavar_stringtrrc4URS[5S9 g)Nrrrr!s rtest_nargs_3_metavar_length03TestAddArgumentMetavar.test_nargs_3_metavar_length0wrrc$URSSS9 g)Nrrrrr!s rtest_nargs_3_metavar_length13TestAddArgumentMetavar.test_nargs_3_metavar_length1zr rc$URSSS9 g)Nrrrrr!s rtest_nargs_3_metavar_length23TestAddArgumentMetavar.test_nargs_3_metavar_length2}rrc$URSSS9 g)Nrrrrr!s rtest_nargs_3_metavar_length33TestAddArgumentMetavar.test_nargs_3_metavar_length3s !!?!Crr#N)5r&r'r(r)rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r r r r r r r r r r r*r#rrrrsECF;<>?D :;=>C :;=AC :;:AC <@?CH =>@AF 89;<A 898?A 898<Drrc4\rSrSrSrSrSrSrSrSr Sr g ) TestInvalidNargsizinvalid nargs valueznargs for store actions must be != 0; if you have nothing to store, actions such as store true or store const may be more appropriatec[R"5nUR[5nUR SUS9 SSS5 UR WR RSUR5 g!,(df  NB=fNr rr) r5r6r rrrrrEXPECTED_RANGE_MESSAGErrr<rs rdo_test_range_exception(TestInvalidNargs.do_test_range_exceptionsf((*   z *b   u  5+ **1-t/J/JK+ *rc[R"5nUR[5nUR SUS9 SSS5 UR WR RSUR5 g!,(df  NB=fr% ) r5r6r rrrrrEXPECTED_INVALID_MESSAGEr' s rdo_test_invalid_exception*TestInvalidNargs.do_test_invalid_exceptionsf((*   z *b   u  5+ **1-t/L/LM+ *rc@URSS9 URSS9 g)Nrrabcd)r, r!s rtest_nargs_alphabetic&TestInvalidNargs.test_nargs_alphabetics$ &&S&1 &&V&4rc"URSS9 g)Nrr)r( r!s rtest_nargs_zero TestInvalidNargs.test_nargs_zeros $$1$-rr#N) r&r'r(r)r+ r& r( r, r0 r3 r*r#rrr# r# s'4LL N5.rr# c \rSrSrSrSrSrg)TestImportStaricp[RH"nUR[[U55 M$ gr])r5__all__rrrBs rrTestImportStar.tests%$$D OOGHd3 4%rcP[[5R5VVs/sHDupURS5(aMUS:XaM%[R "U5(aMBUPMF nnnUR [U5[[R55 gs snnf)Nrngettext) rr5r startswithinspectismodulerrr8 )rrsrrs r'test_all_exports_everything_but_modules6TestImportStar.test_all_exports_everything_but_moduless $H~335 5 OOC( ,0J,> ##E* 5  x/?/?(@A  sB"B" B"&B"r#N)r&r'r(r)rr? r*r#rrr6 r6 s 5Brr6 c.^\rSrSrU4SjrSrSrU=r$)TestWrappingMetavaricz>[TU]5 [S5UlSnURR SUS9 g)N9this_is_spammy_prog_with_a_long_name_sorry_about_the_namezz--proxyrD)rrWrr<r)rrrs rrWTestWrappingMetavar.setUps9  0 G  -   G ] options: -h, --help show this help message and exit --proxy )r<rJrrxry)r help_texts rtest_help_with_metavar*TestWrappingMetavar.test_help_with_metavars4KK++-  HOO5% rr<)r&r'r(r)rWrH r*r+r,s@rrB rB s=  rrB c\rSrSrSrSrSrSrSrSr Sr S r S r S r S rS rSrSrSrSrSrSrSrSrSrg)TestExitOnErroricv[R"SSS9UlURRSS[S9 g)NFr)rOrz --integersN)rr)r5r6r<rrr!s rrWTestExitOnError.setUps3--EDGI    s ErcURRSR55nURU[R "SS95 g)Nz --integers 4r)integers)r<rFr rr5rrs r!test_exit_on_error_with_good_args1TestExitOnError.test_exit_on_error_with_good_argss: [[ # #N$8$8$: ; X//;#7#7#9 :7 6 6s *A A!cUR[RSURRSR 55 gNz!unrecognized arguments: --foo barr)rQr5rRr<rFr r!s rtest_unrecognized_args&TestExitOnError.test_unrecognized_argss4 x55B#{{55{7H7H7J LrcUR[RSURRSR 55 grX )rQr5rRr<rkr r!s r!test_unrecognized_intermixed_args1TestExitOnError.test_unrecognized_intermixed_argss4 x55B#{{@@+BSBSBU WrcURRS5 URRS5 UR[RSURR /5 g)Nrorp/the following arguments are required: bar, baz$r<rrQr5rRrFr!s rtest_required_args"TestExitOnError.test_required_argssN   '   ' x55P#{{55r ;rcURRS5 URRSSS9 UR[RSURR /5 g)NrorpBaZrDz/the following arguments are required: bar, BaZ$r` r!s rtest_required_args_with_metavar/TestExitOnError.test_required_args_with_metavarsS   '    6 x55P#{{55r ;rcURRS5 URRSSS9 UR[RSURR /5 g)Nrorprrr_ r` r!s rtest_required_args_n$TestExitOnError.test_required_args_nsS   '   a 0 x55P#{{55r ;rcURRS5 URRSSSS9 UR[RSURR /5 g)Nrorpr)rmrrrz3the following arguments are required: bar, B, A, Z$r` r!s r!test_required_args_n_with_metavar1TestExitOnError.test_required_args_n_with_metavarsU   '   a I x55T#{{55r ;rcURRS5 URRSSS9 UR[RSURR /5 g)Nrorprr*the following arguments are required: bar$r` r!s rtest_required_args_optional+TestExitOnError.test_required_args_optionalS   '   c 2 x55K#{{55r ;rcURRS5 URRSSS9 UR[RSURR /5 g)Nrorprrrn r` r!s rtest_required_args_zero_or_more/TestExitOnError.test_required_args_zero_or_morerq rcURRS5 URRSSS9 UR[RSURR /5 g)Nrorprrr_ r` r!s rtest_required_args_one_or_more.TestExitOnError.test_required_args_one_or_moresS   '   c 2 x55P#{{55r ;rcURRS5 URRSSSS9 UR[RSURR /5 g)Nrorpr)BaZ1BaZ2rz9the following arguments are required: bar, BaZ1\[, BaZ2]$r` r!s r+test_required_args_one_or_more_with_metavar;TestExitOnError.test_required_args_one_or_more_with_metavarsV   '   c;K L x55[#{{55r ;rcURRS5 URRSSS9 UR[RSURR /5 g)Nrorprrrn r` r!s rtest_required_args_remainder,TestExitOnError.test_required_args_remaindersS   '   e 4 x55K#{{55r ;rcURRSS9nURS5 URS5 UR[R SURR /5 g)NTrirZrz,one of the arguments --bar --baz is requiredr<rrrQr5rRrFrrs r%test_required_mutually_exclusive_args5TestExitOnError.test_required_mutually_exclusive_args$s] 88$8G 7# 7# x55M#{{55r ;rc\URR5nURS5 URSSSS9 UR[R SURR /SQ5 UR[R SURR /S Q5 g) NrZrprrd rz.argument BaZ: not allowed with argument --bar$rZrrz.argument --bar: not allowed with argument BaZ$rrZrr r s r>test_conflicting_mutually_exclusive_args_optional_with_metavarNTestExitOnError.test_conflicting_mutually_exclusive_args_optional_with_metavar,s 88: 7# 5U; x55O#{{557J L x55O#{{557J Lrc\URR5nURS5 URSSSS9 UR[R SURR /SQ5 UR[R SURR /S Q5 g) NrZrpr)BAZ1rz/argument BAZ1: not allowed with argument --bar$r z/argument --bar: not allowed with argument BAZ1$r r r s rCtest_conflicting_mutually_exclusive_args_zero_or_more_with_metavar1STestExitOnError.test_conflicting_mutually_exclusive_args_zero_or_more_with_metavar17s 88: 7# 5Y? x55P#{{557J L x55P#{{557J Lrc\URR5nURS5 URSSSS9 UR[R SURR /SQ5 UR[R SURR /S Q5 g) NrZrpr)r BAZ2rz8argument BAZ1\[, BAZ2]: not allowed with argument --bar$r z8argument --bar: not allowed with argument BAZ1\[, BAZ2]$r r r s rCtest_conflicting_mutually_exclusive_args_zero_or_more_with_metavar2STestExitOnError.test_conflicting_mutually_exclusive_args_zero_or_more_with_metavar2Bs 88: 7# 55EF x55Z#{{557J L x55Z#{{557J Lrc`URRS5 URRSSS9 URRS5 UR[RSURR S/5 UR[RSURR S /5 UR[RS URR /S Q5 UR[RSURR /S Q5 g) Nrrr*r+--fooglez7ambiguous option: --foob could match --foobaz, --fooblerz:ambiguous option: --foob=1 could match --foobaz, --fooble$--foob=1z8ambiguous option: --foob could match --foobaz, --fooble$)rrlr r)r r rr` r!s rtest_ambiguous_option%TestExitOnError.test_ambiguous_optionMs   ,   L A   , x55I KK " "XJ 0 x55L KK " "ZL 2 x55J KK " "$D F x55L KK " "$A CrcURRS5 UR[RSURR S/5 g)Nr~z)No such file or directory: 'no-such-file'z @no-such-filer` r!s r test_os_errorTestExitOnError.test_os_error^s@   ( x55J#{{557H JrrJ N)r&r'r(r)rWrR rU rY r\ ra re rh rk ro rs rv r{ r~ r r r r r r r*r#rrrL rL snF =;L W ;;;;;;;;;; L L LC"JrrL c\rSrSrSrSrg)TestTranslationsiic.UR[5 gr])assertMsgidsEqualr5r!s rtest_translations"TestTranslations.test_translationsks x(rr#N)r&r'r(r)r r*r#rrr r is)rr c@0[l[5[lgr])r?rGrrer#rrtearDownModuler osEJEJr__main__rz--snapshot-update(r7rDr= rr5rarnrlrrxr^unittestr5renumr test.supportrrtest.support.i18n_helperrrr TextIOWrapperr rNr.skip_unless_working_chmodrrZrrrrrr6rrrrrrr)r8r>rNrPrVrXrfrirrrrrrrrrrrrrrrrrrrrrrrrr rrrrr*r-r/r4r6rVrZr\r_rarcrergrirnrqrsrwrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr rrrr1rWrv eq_stderrrcr} eq_bstderrr?rMrYr_reskip_if_dac_overridermrxr|rrrrrrrrrrrrrrr r$rLrXrarfrnrxrrrrrrrrrrrrrrrrrrrrrr%r)r+r1r5r9r?rBrGrLrOrTrZr\r^r`rbrdrvrrrrrrrrrrrrrrrrrrrrrrrrCrKr`rrrrrrrrrr+rHrgr}rr# r6 rB rL r r r&lenrr:mainr#rrr sr   ("W:""":$FH%%F:x   $$D6D%D.& ) )%)%# L >!8!8 >q9Dq9f  &'7C n n4 .  ^  ~. >  n .$&N&(,. ^    > ...>&.">" N ~NN>>>@     > & ^   ~&N"~"n"n&N&  @~NN ^  N N>. > >(" ~  $   ~n^N n ^N.,., >  ^  N > .  .    ~"    >&~& .    ^6.2(.**L.*Z\>DKxK0hh,,, W % h ' h ' n -  /  / /F/"L.03<3"\>.'F'" L. , L. &  \>      ]   ,8,,  $ ~ .,>,>8>.>N>BJXJ$~TT0[[B!+H!+NMMf@&x@&D1?f1?h  '8  F((V 7H B! '8! H* (* Z' '8' T% 7H% P' ' R/('8/(d  GX  F  w  F  (  Lf  -   (   &   1   0   7   0   > X0hX0|8X8. "( "&Q1$Q1f  *>5"E " l" H3B|3Bl, <, ^ >1<1h%%P3 3 l6L6r<,\>L:!|!H<2##L<D!L!H\4|01\1ha7Xa7H+ +\\" < L*|(L4*|(<*\.<0<6\8.l.b-\-`0|0dL( L 2  :' ' V<:%%XEIhEIV-(-<3E83EtEQhEQXE/(E/V7H7J -8 -$** .H .$65h65z 88 8"};h};H+(h+(b*)*)Z|LX|LF\T\T~))0eDXeDP.x.@ BX B (0VJhVJz)+)   z 388}qSXXa[,??$X.   MMO r