a zeþã@sPddlmZmZmZddlZddlZeƒZGdd„dejƒZ e dkrLe  ¡dS)é)ÚverboseÚ run_doctestÚEnvironmentVarGuardNc@sdeZdZdd„Zdd„Zdd„Zdd„Zd d „Zd d „Zd d„Z dd„Z dd„Z dd„Z dd„Z dS)Ú GetoptTestscCstƒ|_d|jvr|jd=dS)NÚPOSIXLY_CORRECT)rÚenv©Úself©r úD/opt/bitninja-python-dojo/embedded/lib/python3.9/test/test_getopt.pyÚsetUp s zGetoptTests.setUpcCs|j ¡|`dS©N)rÚ__exit__rr r r ÚtearDowns zGetoptTests.tearDowncOs|jtjg|¢Ri|¤ŽdSr )Ú assertRaisesÚgetoptÚ GetoptError)r ÚargsÚkwargsr r r Ú assertErrorszGetoptTests.assertErrorcCs8| t dd¡¡| t dd¡¡| tjdd¡dS)NÚaúa:Úb)Ú assertTruerZ short_has_argÚ assertFalserrr r r Útest_short_has_argszGetoptTests.test_short_has_argcCs²t ddg¡\}}| |¡| |d¡t ddg¡\}}| |¡| |d¡t ddg¡\}}| |¡| |d¡| tjddg¡| tjdg¡| tjdddg¡dS)NÚabcúabc=ÚabcdÚdefZabcde)rZ long_has_argsrÚ assertEqualrr)r Zhas_argÚoptionr r r Útest_long_has_argss      zGetoptTests.test_long_has_argscCsìt gddg¡\}}| |dg¡| |g¡t gddg¡\}}| |dg¡| |g¡t gdddg¡\}}| |dg¡| |g¡t gddddg¡\}}| |dg¡| |dg¡| tjgddg¡| tjgddg¡dS)Nr©ú-aÚZa1r©r$Ú1r'Ú2)rZ do_shortsr r©r Úoptsrr r r Útest_do_shorts.s   zGetoptTests.test_do_shortscCs$t gddgg¡\}}| |dg¡| |g¡t gddgg¡\}}| |dg¡| |g¡t gddgg¡\}}| |dg¡| |g¡t gdgd¢g¡\}}| |dg¡| |g¡t gd d d gg¡\}}| |d g¡| |g¡| tjgddgg¡| tjgddgg¡dS) Nr)ú--abcr%zabc=1r)r,r'zabcd=)z--abcdr')Úabrrzfoo=42zfoo-barzfoo=)z--fooZ42)rZdo_longsr rr)r r r Ú test_do_longsFs"     zGetoptTests.test_do_longscCsXgd¢}t |dddg¡\}}| |gd¢¡| |ddg¡| tj|dddg¡dS) N) r$r'ú-bz --alpha=2ú--betar$Ú3r$r%r0Úarg1Úarg2za:bzalpha=Úbeta)r&)r/r%)ú--alphar(©r0r%)r$r1r#r6r2r3Úalpha)rr r©r Zcmdliner*rr r r Ú test_getoptas zGetoptTests.test_getoptcCsægd¢}t |dddg¡\}}| |dg¡| |gd¢¡t gd¢dg¡\}}| |dg¡| |d d g¡t |d ddg¡\}}| |d g¡| |gd ¢¡d |jd<t |dddg¡\}}| |d g¡| |gd ¢¡dS)N)r$r2r/r'r5ú--beta=2zab:r7zbeta=r2)r#)r/r')r5r%)r0r()r$ú-r/r;r;r#)r/r;z+ab:)r2r/r'r5r:r'r)rZ gnu_getoptr rr8r r r Útest_gnu_getoptrs zGetoptTests.test_gnu_getoptcCs&d}ddl}| d|¡}t|tƒdS)NaÚ Examples from the Library Reference: Doc/lib/libgetopt.tex An example using only Unix style options: >>> import getopt >>> args = '-a -b -cfoo -d bar a1 a2'.split() >>> args ['-a', '-b', '-cfoo', '-d', 'bar', 'a1', 'a2'] >>> optlist, args = getopt.getopt(args, 'abc:d:') >>> optlist [('-a', ''), ('-b', ''), ('-c', 'foo'), ('-d', 'bar')] >>> args ['a1', 'a2'] Using long option names is equally easy: >>> s = '--condition=foo --testing --output-file abc.def -x a1 a2' >>> args = s.split() >>> args ['--condition=foo', '--testing', '--output-file', 'abc.def', '-x', 'a1', 'a2'] >>> optlist, args = getopt.getopt(args, 'x', [ ... 'condition=', 'output-file=', 'testing']) >>> optlist [('--condition', 'foo'), ('--testing', ''), ('--output-file', 'abc.def'), ('-x', '')] >>> args ['a1', 'a2'] rZ libreftest)ÚtypesÚ ModuleTyperr)r Úsr=Úmr r r Útest_libref_examplesŒs z GetoptTests.test_libref_examplescCsft dgddg¡\}}| |dg¡t dgddg¡\}}| |dg¡| tjtjdgddg¡dS)Nz--help=r%zhelp=)ú--helpr%z--help=x)rBÚxÚhelp)rr rr)r ZlongoptsZ shortoptsr r r Útest_issue4629°s zGetoptTests.test_issue4629N)Ú__name__Ú __module__Ú __qualname__r rrrr"r+r.r9r<rArEr r r r r s$rÚ__main__) Z test.supportrrrZunittestrÚobjectÚsentinelZTestCaserrFÚmainr r r r Ús-