kWc@sddlZddlZddlZddlmZddlmZmZejdZ ej dZ ddl m Z ddl mZyddlmZmZWnek rejZZnXe jjd Zy5x.eeeD]Zeeeee set a "ab" set b "a\0b" sset asabsset b( R!RSRtTESTFNt addCleanuptunlinkRTRVR'R&(RRtf((s#/usr/lib/python2.7/test/test_tcl.pyttest_evalfile_null_in_results  cCsP|j}d}ytj|Wntk r5}nX|jt|j|dS(Nt doesnotexists(R!RWRXt ExceptionRRRV(RRRYte((s#/usr/lib/python2.7/test/test_tcl.pyttestEvalFileExceptions cCs#|j}|jt|jddS(Nspackage require DNE(R!RRR&(RR((s#/usr/lib/python2.7/test/test_tcl.pyttestPackageRequireExceptions twin32sonly applies to Windowsc CsDtjjtj}|ddkr9|jd|ndtjd|d|df}tj}|j dd |f}yt |d t d t }Wn5t k r}|j d kr|jd qnX|j\}}djdd|d|d|g} |jd|| |j|jddWdQXdS(Nit:sunusable path: %rs \\%s\%s$\%st COMPUTERNAMEiit TCL_LIBRARYs%%s -c "import Tkinter; print Tkinter"tstdouttstderris(Not permitted to start the child processs s"Tkinter.py" not in outputsCommand:sstdout:sstderr:s Tkinter.pysNon-zero exit code(RWtpathtabspathtsyst executabletskipTesttenvironRtEnvironmentVarGuardtunsetRRt WindowsErrortwinerrort communicatetjointassertInR'twait( Rtfullnametunc_nametenvtcmdtpRetout_dataterr_datatmsg((s#/usr/lib/python2.7/test/test_tcl.pyttestLoadWithUNCs,    csjjdddjdddfd}jtjjtjddjtjd |d d |d d |dd|dd|dd|dd |dd |dd|dd|dd|dd|dd|dd|d d!|d"d!|d#d$|d%d&|d'd&|d(d)td/kr|d,td0ndS(1NR+R,itbics3j|}j||j|tdS(N(t exprstringR'tassertIsInstancetstr(texprtexpectedtresult(RR(s#/usr/lib/python2.7/test/test_tcl.pytcheckss8.2s+6tspamtR;s8.2 + 6s14.2s3.1 + $as6.1s 2 + "$a.$b"s5.6s4*[llength "6 2"]t8s{word one} < "word $a"s4*2 < 7s hypot($a, 4)s5.0s5 / 4R%s5 / 4.0s1.25s$5 / ( [string length "abcd"] + 0.0 )s20.0/5.0s4.0s "0x03" > "2"s[string length "a½€"]RRs[string length "a\xbd\u20ac"]s"abc"tabcs"a½€"sa½€s "a\xbd\u20ac"s"a\0b"sabiis2**64ii@(iil(R!RRRRRt tcl_versionR(RR((RRs#/usr/lib/python2.7/test/test_tcl.pyttest_exprstrings8                     csjjdddjdddfd}jtjjtjddjtjd |d d |d d |dd|dd|dd|dd |dd |dd|dd|dd|dd|dd|dd|d d!|d"d!jtjd#td)kr~|d&td*ndS(+NR+R,iRics3j|}j||j|tdS(N(t exprdoubleR'Rtfloat(RRR(RR(s#/usr/lib/python2.7/test/test_tcl.pyR(ss8.2s+6RRgs8.2 + 6gffffff,@s3.1 + $agffffff@s 2 + "$a.$b"gffffff@s4*[llength "6 2"]g @s{word one} < "word $a"s4*2 < 7s hypot($a, 4)g@s5 / 4g?s5 / 4.0g?s$5 / ( [string length "abcd"] + 0.0 )s20.0/5.0g@s "0x03" > "2"s[string length "a½€"]g@s[string length "a\xbd\u20ac"]s"abc"iis2**64ii@(iil(R!RRRRRRR(RR((RRs#/usr/lib/python2.7/test/test_tcl.pyttest_exprdouble$s2                 csjjdddjdddfd}jtjjtjddjtjd |d d |d d |dd|dd|dd|dd |dd |dd|dd|dd|dd|dd|dd|dd|ddjtjdtd!krjtjd ndS("NR+R,iRics3j|}j||j|tdS(N(texprlongR'RR(RRR(RR(s#/usr/lib/python2.7/test/test_tcl.pyRGss8.2s+6RRis8.2 + 6is3.1 + $as 2 + "$a.$b"is4*[llength "6 2"]is{word one} < "word $a"s4*2 < 7s hypot($a, 4)s5 / 4is5 / 4.0s$5 / ( [string length "abcd"] + 0.0 )s20.0/5.0is "0x03" > "2"s[string length "a½€"]s[string length "a\xbd\u20ac"]s"abc"s2**64(ii(R!RRRRRR(RR((RRs#/usr/lib/python2.7/test/test_tcl.pyt test_exprlongCs2                 csjjdddjdddfd}jtjjtjddjtjd |d tx=d'D]5}||t|d|t|d|tqWx=d(D]5}||t|d|t|d|tqW|dt|dt|dt|dt|dt|dt|dt|dt|dt|dt|dt|d t|d!t|d"tjtjd#td)kr|d&tndS(*NR+R,iRicsCj|}j||j|tj|tdS(N(t exprbooleanR'RRtassertNotIsInstancetbool(RRR(RR(s#/usr/lib/python2.7/test/test_tcl.pyRfss8.2s+6RRR;tfalsetnotoffs"%s"s{%s}R%ttruetyesRKs8.2 + 6s3.1 + $as 2 + "$a.$b"s4*[llength "6 2"]s{word one} < "word $a"s4*2 < 7s hypot($a, 4)s5 / 4s5 / 4.0s$5 / ( [string length "abcd"] + 0.0 )s20.0/5.0s "0x03" > "2"s[string length "a½€"]s[string length "a\xbd\u20ac"]s"abc"iis2**64(R;RsnoR(R%RRson(ii( R!RRRRRtFalseRR(RRtvalue((RRs#/usr/lib/python2.7/test/test_tcl.pyttest_exprbooleanbsB                     c s+fd}j|tjr-tndj|tjrRtndj|ddj|ddj|ddj|ddj|d d j|ddj|d d j|d d j|d d j|d d j|ddxTdddtdtd!fD]1}j||jr|n t|qmWxdddd"ddtjjtjj tjj tjj f D]D}jr j|||qjt |||qWjr|t d}j ||j|t dt dj|t d t d nRjt |t dt djt |t d t d j|ddd#fjr ddd$fnddS(%Ncsjjdd|S(NR+t_(R!R(R(R(s#/usr/lib/python2.7/test/test_tcl.pyt passValuesR%R;tstringsstrings string€u string€ustringustring½tstringsstringustringu string½u string€iiiiigg?gig@tnantinfRQg333333 @s1 2 3.4lllli(g333333 @(g333333 @( R'RR#RRRRpt float_infotmintmaxRtassertNotEqual(RRtiRa((Rs#/usr/lib/python2.7/test/test_tcl.pyttest_passing_valuess>%%(/   "'(*csgfd}jjd|jjjjddjfd}fd}|td|td|d|d|d d |d |d |d |d |d|dd|dd|d|d|dx0dddd$d&fD]}||t |q&Wx!d'D]}||t |qJWxKddt j j t j jt j j t j j fD]}||d|qW|tdd||td d||d(d |dd)d*d!d+fd"dS(,Ncsj||S(N(R(targ(R(s#/usr/lib/python2.7/test/test_tcl.pyttestfuncs Rcs|dkr|}n2jjd|}jtdjdttf|d|j|ttf|||dS(NRii(R R!RR'tlenRRRE(RRteqtr(RR(s#/usr/lib/python2.7/test/test_tcl.pyRs  cs*jt||dt|ddS(Ntdeltag|=(tassertAlmostEqualRtabs(tactualR(R(s#/usr/lib/python2.7/test/test_tcl.pytfloat_eqsR%R;Rsstrings string€u string€Rustringustring½usstringustrings string€u string€u string½iiiiigg?gg@RRiis5 6s1 2 {3 4} {5 6} {}llll(gg?g((i(ii((R!t createcommandR_R"t deletecommandR R'RRRtreprRpRRRR(RRRRRRa((RRs#/usr/lib/python2.7/test/test_tcl.pyttest_user_commands@                  cCs|jjj}|jjj}|jt||jt|dd|jt|ddd#fdd$fdd%fdd&fdd'fd d(fd d)fd d*fdd+fdd,fdd-fd.d/fdd0fd1d2fdd3fd4d5fd6d7f|dddd8|jrddd9fnd:fg}td;kr|jsDd<}n*td=kr\d>}ndddd?f}||d d!ddd d@|fg7}nx*|D]"\}}|j |||qW|jt |d"dS(ANR,RiRQRs{}s""s a b c tcu a b c sa €s€ua €s ab cdsabscdsa {b c}sb csa b\ csa 2sa 3.4s3.4g333333 @tlistiR%iit12u€i tdicttcreatet{(RQ((R(R(R,RR(R,RR(R,s€(R,s€(sabscd(R,sb c(R,sb c(R,sb c(R,sb c(R,RQ(R,i(R,i(R,s3.4(R,g333333 @(R,g333333 @(((g333333 @(g333333 @(R%RQs3.4(ii(Rs€s€s3.4(iii(Ru€u€s3.4(g333333 @(g333333 @( R!R"t splitlistRRRR#RRR'R(RRRt testcasesRRtres((s#/usr/lib/python2.7/test/test_tcl.pyttest_splitlistsJ                      cCs|jjj}|jjj}|jt||jt|dd|jt|dd$d%d&d'd(d d)fd d*fd d+fdd,fd-dd.fddd/ffddd0ffd1dd2ffd3dd4ffdd5fd6d7fdd8fd9d:fdd;fdd<ffd=d>f|dddd?|jr>ddd@fndAfg}tdBkr|jshdC}n*tdDkrdE}nd!d d dFf}||d"d#d!d d dG|fg7}nx*|D]"\}}|j |||qWdS(HNR,RiRQRs{}s""Rs a b c Ru a b c sa €s€ua €sabs ab cdscdsa {b c}sa b\ csb cub csa 2sa 3.4s3.4g333333 @RiR%iiRu€i RR(RQRQ(RR(s{}R(s""R(RR(R,RR(R,RR(R,s€(R,s€(sabsab(sabscd(RR(RR(R,sb c(RR(R,ub c(RR(R,RQ(R,i(R,i(R,s3.4(R,g333333 @(R,g333333 @(ig333333 @(ig333333 @(((g333333 @(g333333 @(R%RQs3.4(ii(s12s€s€s3.4(iii(s12u€u€s3.4(g333333 @(g333333 @( R!R"RRRRR#RRR'(RRRRRRR((s#/usr/lib/python2.7/test/test_tcl.pyt test_split sP               c Cstj}|jj}d}|j|||tidd6dd6dd6|j|||idd6dd 6dd6dddddd f}|j|||tidd6dd6d d6|j|||idd6dd 6d d6|jt||d|jt||d|jddddddd}|j|||i|j rbdndd6dd 6dd6t dkr|jdddddddd}|j st d kridd6dd 6dd6}nid!d6dd 6dd6}|j||||ndS("Ns#-a {1 2 3} -something foo status {}s1 2 3s-atfoos -somethingRtstatusR,t somethingiiis{}s-a b -c Rs-cRiiRR(iii(iii(iii(s-aRs-c(iii((iii(ii(iii((iii(iii( ttkintert _splitdictR!R"R'RRt RuntimeErrorRR#RR(Rt splitdictRRR((s#/usr/lib/python2.7/test/test_tcl.pyttest_splitdict<s4     ('RRR$R(R)R*R-R.R2R4R5R7R8R9R:R=R>R?RHRJROR\RbRfRgtunittestt skipUnlessRptplatformRRRRRRRRRR(((s#/usr/lib/python2.7/test/test_tcl.pyR 4sB                    $% "   ( & 1 , /iiit BigmemTclTestc BseZdZejejeekdej dedddde dZ ejejej dejeekdej deddd e d de d Zejejeekdej deddd de d Zejejej dejeekdej deddd e d de dZdZRS(cCst|_dS(N(RR!(R((s#/usr/lib/python2.7/test/test_tcl.pyR$dssneeds UINT_MAX < SIZE_MAXtsizeitmemuseitdry_runcCs-d|}|jt|jjdd|dS(Nt R+R(Rt OverflowErrorR!R(RRR((s#/usr/lib/python2.7/test/test_tcl.pyttest_huge_string_callgs srequires unicode supporticCs3td|}|jt|jjdd|dS(NRR+R(RERRR!R(RRR((s#/usr/lib/python2.7/test/test_tcl.pyttest_huge_unicode_callnsi cCsdd|}|j|dS(NR%R(tcheck_huge_string_builtins(RRR((s#/usr/lib/python2.7/test/test_tcl.pyttest_huge_string_builtinsysicCs%tdd|}|j|dS(NR%R(RER(RRR((s#/usr/lib/python2.7/test/test_tcl.pyttest_huge_unicode_builtinsscCs|jt|jjj||jt|jjj||jt|jjj||jt|jj||jt|jj||jt|jj ||jt|jj ||jt|jj |dd|jt|jj d|d|jt|jj ||jt|jj d||jt|jj ||jt|jj ||jt|jj||jt|jj||jt|jj||jt|jj||jt|jj|t|jt|jj|dS(NRR,(RRR!R"RCRIRNR&RVtrecordt adderrorinfoR3R<RRRRRRRR(RR((s#/usr/lib/python2.7/test/test_tcl.pyRs&(RRR$Rt cpython_onlyRRRRtprecisionbigmemtestRRRDtcharacter_sizeRRRR(((s#/usr/lib/python2.7/test/test_tcl.pyRbs( 11cCs.tjr*t}dG|jddGHndS(Ns patchlevel =R R (RtverboseRR(R((s#/usr/lib/python2.7/test/test_tcl.pyt setUpModules  cCstjtttdS(N(Rt run_unittestR RR(((s#/usr/lib/python2.7/test/test_tcl.pyt test_mainst__main__()RRpRWttestRt subprocessRRt import_moduleRtimport_fresh_moduleRRRRt _testcapiRRt ImportErrortmaxsizet TCL_VERSIONRRtrangeRRRRRR R RtTestCaseRR t maxunicodeRRRRR(((s#/usr/lib/python2.7/test/test_tcl.pyts>       .>