{G_Tc@sddlZddlZddlZddlmZddlmZmZejdZ ddl m Z ddl m Z yddl mZmZWnek rejZZnXe jjdZy5x.eeeD]Zeeeee set a "ab" set b "a\0b" sset asabsset b( R RRRtTESTFNt addCleanuptunlinkRSRUR&R%(RRtf((s)/usr/local/lib/python2.7/test/test_tcl.pyttest_evalfile_null_in_results  cCsP|j}d}ytj|Wntk r5}nX|jt|j|dS(Nt doesnotexists(R RVRWt ExceptionRRRU(RRRXte((s)/usr/local/lib/python2.7/test/test_tcl.pyttestEvalFileExceptions cCs#|j}|jt|jddS(Nspackage require DNE(R RRR%(RR((s)/usr/local/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(RVtpathtabspathtsyst executabletskipTesttenvironRtEnvironmentVarGuardtunsetRRt WindowsErrortwinerrort communicatetjointassertInR&twait( Rtfullnametunc_nametenvtcmdtpRdtout_dataterr_datatmsg((s)/usr/local/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/local/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½€"]RQs[string length "a\xbd\u20ac"]s"abc"tabcs"a½€"sa½€s "a\xbd\u20ac"s"a\0b"sabiis2**64ii@(iil(R R RRRRt tcl_versionR(RR((RRs)/usr/local/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/local/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 R RRRRRR(RR((RRs)/usr/local/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/local/lib/python2.7/test/test_tcl.pyRDss8.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 R RRRRR(RR((RRs)/usr/local/lib/python2.7/test/test_tcl.pyt test_exprlong@s2                 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/local/lib/python2.7/test/test_tcl.pyRcss8.2s+6RRR:tfalsetnotoffs"%s"s{%s}R$ttruetyesRJs8.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:RRR(R$Rsyesson(ii( R R RRRRtFalseRR(RRtvalue((RRs)/usr/local/lib/python2.7/test/test_tcl.pyttest_exprboolean_sB                     c sSfd}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 nzt |t d}j ||jt |t dt djt |t d t d j|ddd#fjrHddd$fnddS(%Ncsjjdd|S(NR*t_(R R (R(R(s)/usr/local/lib/python2.7/test/test_tcl.pyt passValuesR$R:tstringsstrings string€u string€ustringustring½tstringsstringustringu string½u string€iiiiigg?gig@tnantinfRPg333333 @s1 2 3.4IiIii(g333333 @(g333333 @( R&RR"RRRRot float_infotmintmaxRtassertNotEqual(RRtiR`((Rs)/usr/local/lib/python2.7/test/test_tcl.pyttest_passing_valuessB%%(/   "'(*cs\gfd}jjd|jjjjddjfd}fd}fd}|td|td|dd|d d |d d d |d d |d dd |d d d |ddd|ddd|ddd|ddd|dddx0dddd*d,fD]}||t |qQWx!d-D]}||t |quWxNddt j j t j jt j j t j j fD]}|||d|qW|tdd d||td d!d||td"d#d||d.d$|dd/d0d'd1fd(dS(2Ncsj||S(N(R(targ(R(s)/usr/local/lib/python2.7/test/test_tcl.pyttestfuncs Rcs|dkr|}n2jjd|}jtdjdttf|d|j|ttf|||dS(NRii(R R R R&tlenRRRD(RRt expected2teqtr(RR(s)/usr/local/lib/python2.7/test/test_tcl.pyRs  cs6t|}jt||dt|ddS(Ntdeltag|=(RtassertAlmostEqualtabs(tactualR(R(s)/usr/local/lib/python2.7/test/test_tcl.pytfloat_eqs cs t|}j||dS(N(RR(RR(R(s)/usr/local/lib/python2.7/test/test_tcl.pytnan_eqs R$R:Rsstrings string€u string€ustringustring½sstring½sstringustrings string€u string€u string½s string½iiiiigg?gg@RRtInfs-InfRtNaNRiis5 6s1 2 {3 4} {5 6} {}IiIi(gg?g((i(ii((R t createcommandR^R!t deletecommandR R&RRRtreprRoRRRR(RRRRRRR`((RRs)/usr/local/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+RiRPRs{}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{(RP((R(R(R+RR(R+RR(R+s€(R+s€(sabscd(R+sb c(R+sb c(R+sb c(R+sb c(R+RP(R+i(R+i(R+s3.4(R+g333333 @(R+g333333 @(((g333333 @(g333333 @(R$RPs3.4(ii(Rs€s€s3.4(iii(Ru€u€s3.4(g333333 @(g333333 @( R R!t splitlistR RRR"RRR&R(RRR t testcasesRRtres((s)/usr/local/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+RiRPRs{}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(RPRP(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+RP(R+i(R+i(R+s3.4(R+g333333 @(R+g333333 @(ig333333 @(ig333333 @(((g333333 @(g333333 @(R$RPs3.4(ii(s12s€s€s3.4(iii(s12u€u€s3.4(g333333 @(g333333 @( R R!RR RRR"RRR&(RRR RRRR((s)/usr/local/lib/python2.7/test/test_tcl.pyt test_split sP               (&RRR#R'R(R)R,R-R1R3R4R6R7R8R9R<R=R>RGRIRNR[RaReRftunittestt skipUnlessRotplatformRRRRRRRRR(((s)/usr/local/lib/python2.7/test/test_tcl.pyR1s@                    $% "   ( ' 3 ,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/local/lib/python2.7/test/test_tcl.pyR#@ssneeds UINT_MAX < SIZE_MAXtsizeitmemuseitdry_runcCs-d|}|jt|jjdd|dS(Nt R*R(Rt OverflowErrorR R (RRR((s)/usr/local/lib/python2.7/test/test_tcl.pyttest_huge_string_callCs srequires unicode supporticCs3td|}|jt|jjdd|dS(NRR*R(RDRRR R (RRR((s)/usr/local/lib/python2.7/test/test_tcl.pyttest_huge_unicode_callJsi cCsdd|}|j|dS(NR$R(tcheck_huge_string_builtins(RRR((s)/usr/local/lib/python2.7/test/test_tcl.pyttest_huge_string_builtinsUsicCs%tdd|}|j|dS(NR$R(RDR(RRR((s)/usr/local/lib/python2.7/test/test_tcl.pyttest_huge_unicode_builtins\scCs|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!RBRHRMR%RUtrecordt adderrorinfoR2R;RRRRRRRR(RR((s)/usr/local/lib/python2.7/test/test_tcl.pyRfs&(RRR#Rt cpython_onlyRRRRtprecisionbigmemtestRRRCtcharacter_sizeRRRR(((s)/usr/local/lib/python2.7/test/test_tcl.pyR>s( 11cCs.tjr*t}dG|jddGHndS(Ns patchlevel =R R (RtverboseRR (R((s)/usr/local/lib/python2.7/test/test_tcl.pyt setUpModule|s  cCstjtttdS(N(Rt run_unittestRRR(((s)/usr/local/lib/python2.7/test/test_tcl.pyt test_mainst__main__('RRoRVttestRt subprocessRRt import_moduleRtTkinterRRt _testcapiRRt ImportErrortmaxsizet TCL_VERSIONRRtrangeRRRRRR R RtTestCaseRRt maxunicodeRRRRR(((s)/usr/local/lib/python2.7/test/test_tcl.pyts<        >