mς %U²Ic@srdZdkZdklZlZlZdkZdkZdkZdk Z ei i dƒp#ei djpei i dƒoedei dƒ‚nedZ ei ie d ƒZei ie d ƒZd „Zd „Zd „Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zdeifd„ƒYZd„Zedjo eƒndS(s1 Tests for the mhlib module Nick Mathewson N(s run_unittestsTESTFNs TestSkippedtwintriscostatheossskipped on %s -- stoo many Unix assumptionst_MHtMHs .mh_profilecCstii|idƒŒS(Nt/(tostpathtjointftsplit(R ((t,/data/zmath/lib/python2.4/test/test_mhlib.pytnormFscCsitii|ƒd}|o"tii|ƒ ot|ƒnt|dƒ}|i |ƒ|i ƒdS(Nitw( RRR tfnametdirtexiststmkdirstopenR twritetcontentstclose(RRR R((R t writeFile"s  cCs&t|ƒ}|iƒ}|iƒ|S(N(RRR treadtrR(RRR ((R treadFile*s   cCsQg}|iƒD]\}}|d||fq~}ttdi|ƒƒdS(Ns%s: %s t( t_[1]tdictt iteritemstktvRRt _mhprofileR(RRRRR((R t writeProfile0s7cCs0t|ƒ}ttiitdƒd|ƒdS(NtcontextsCurrent-Folder: %s (R tfolderRRRRt_mhpath(R#((R t writeContext4s cCs3t|ƒ}ttiit|dƒd|ƒdS(Ns .mh_sequencesscur: %s (R R#RRRRR$tcur(R#R&((R twriteCurMessage9s cCsžt|ƒ}dig}|iƒD]\}}|d||fq#~ƒ}d||f}t t i it |ƒƒtt i it |t|ƒƒ|ƒdS(NRs%s: %s s%s %s (R R#RRtheadersRRRtbodyRRRRR$Rtstrtn(R#R+R(R)RRRR((R t writeMessage>s  @cCstitiitƒtƒS(N(tmhlibRRRtabspathR$R (((R tgetMHEscCs[|idƒ}g}|D]*}t|ƒdjo||iƒqq~}|iƒ|S(Ns i(tsR tlinesRtlinetlentstriptsort(R0RR1R2((R t sortLinesHs> cCs[tii|ƒp |djodSntii|ƒ\}}t|ƒti|ƒdS(NR( RRRRR tbasetfileRtmkdir(RR7R8((R ROs   cCs₯tii|ƒpdSnxhti|ƒD]W}tii||ƒ}tii|ƒot |ƒq+yti |ƒWq+q+Xq+Wyti |ƒWnnXdS(N( RRRRtlistdirR Rtfullnametisdirtdeltreetunlinktrmdir(RR;R ((R R=Vst MhlibTestscBsGtZd„Zd„Zd„Zd„Zd„Zd„Zd„ZRS(Nc Csmttƒttƒthdtiitƒ<dd<dd<ƒtddhdd <d d <d d LssHullo, Mrs. Conclusion! i(R/RSRORTRUR[R t openmessageR{t getheaderR6t getheadertextR1t getbodytexttfpR(ROR R1RSR{RU((R t test_read<s   ( t__name__t __module__RPRQR_RgRyRŒR”(((R R@gs '    7 >cCsttƒdS(N(t run_unittestR@(((R t test_mainWst__main__( t__doc__tunittestttest.test_supportR—tTESTFNt TestSkippedRR}tsysR-tplatformt startswithRLRRR$R R RRR!R%R'R,R/R6RR=tTestCaseR@R˜R•(R›R/R R,RLR%RRR6R˜R—R'R$RžRR=R@RRŸR}RR R-R!((R t?s2   6             π