ó {G_Tc@s?ddlmZddlZddlZddlZddlmZddlmZddlZddl Z ddl m Z m Z ddlmZdejfd„ƒYZd efd „ƒYZd efd „ƒYZd ejfd„ƒYZdefd„ƒYZdefd„ƒYZd„Zedkr;eƒndS(iÿÿÿÿ(tprint_functionN(tarray(tproxy(tTESTFNt run_unittest(tUserListt AutoFileTestscBs}eZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z d „Z d „Z d „Z d „ZRS( cCs|jtdƒ|_dS(Ntwb(topenRtf(tself((s*/usr/local/lib/python2.7/test/test_file.pytsetUpscCs*|jr|jjƒntjtƒdS(N(R tclosetostremoveR(R ((s*/usr/local/lib/python2.7/test/test_file.pyttearDowns cCskt|jƒ}|jdƒ|j|jjƒ|jƒƒ|jjƒd|_|jtt |dƒdS(Nt teststringttell( RR twritet assertEqualRR tNonet assertRaisestReferenceErrortgetattr(R tp((s*/usr/local/lib/python2.7/test/test_file.pyt testWeakRefss    cCs"|j}|j|j|jdS(N(R tnametmodetclosed(R R ((s*/usr/local/lib/python2.7/test/test_file.pyttestAttributes&s cCsq|jjdƒ|jjƒtddƒ}|jtdƒ|_|jj|ƒ}|jd|jƒ| ƒdS(Nt12tbtxi trbt xxxxxxxxxx( R RR RRRtreadintoRttostring(R tatn((s*/usr/local/lib/python2.7/test/test_file.pyt testReadinto-s  cCsctddƒ}|jjƒ|jtdƒ|_t|jdƒr_|jt|jj|ƒndS(NRR i trR#R"( RR R RRthasattrRt TypeErrorR#(R R%((s*/usr/local/lib/python2.7/test/test_file.pyttestReadinto_text6s  cCsgtddgƒ}|jj|ƒ|jjƒ|jtdƒ|_|jjƒ}|j|dƒdS(Nt1t2R!R(RR t writelinesR RRtreadR(R tltbuf((s*/usr/local/lib/python2.7/test/test_file.pyttestWritelinesUserList>s  cCs&|jt|jjdddgƒdS(Niii(RR*R R.(R ((s*/usr/local/lib/python2.7/test/test_file.pyttestWritelinesIntegersGscCs2tdddgƒ}|jt|jj|ƒdS(Niii(RRR*R R.(R R0((s*/usr/local/lib/python2.7/test/test_file.pyttestWritelinesIntegersUserListKscCs<ddd„ƒY}|jt|jj|ƒ|ƒgƒdS(Nt NonStringcBseZRS((t__name__t __module__(((s*/usr/local/lib/python2.7/test/test_file.pyR5Rs((RR*R R.(R R5((s*/usr/local/lib/python2.7/test/test_file.pyttestWritelinesNonStringPscCs|j}|j|jtƒ|j|jƒ ƒ|j|j ƒt|dƒro|jt t f|j dƒn|j ƒ|j|jƒdS(NR#t( R RRRt assertTruetisattyRR)RtIOErrorR*R#R (R R ((s*/usr/local/lib/python2.7/test/test_file.pyt testErrorsXs  cCsiddfddfddfddfddfddfddfd dfd dfd dfddfd gffddfg }tjjdƒs¦|jddfƒn|jjdddƒ|j|jjƒx9|D]1\}}t |j|ƒ}|j t ||ŒqÖW|j |jjdddƒdƒy dd Wn)|j |jjtj ƒŒdƒnXdS(NtfilenotflushR;tnextR/RR9treadlinet readlinestseekiRR.t__iter__tatheosttruncatei((((((R9(((i((R9(((tsystplatformt startswithtappendR t__exit__RR:RRRt ValueErrorRtexc_info(R tmethodst methodnametargstmethod((s*/usr/local/lib/python2.7/test/test_file.pyt testMethodscs2            " cCs|jt|jjƒdS(N(RR<R R/(R ((s*/usr/local/lib/python2.7/test/test_file.pyttestReadWhenWriting†s(R6R7R RRRR'R+R2R3R4R8R=RRRS(((s*/usr/local/lib/python2.7/test/test_file.pyRs        #tCAutoFileTestscBseZejZRS((R6R7tioR(((s*/usr/local/lib/python2.7/test/test_file.pyRT‰stPyAutoFileTestscBseZeejƒZRS((R6R7t staticmethodtpyioR(((s*/usr/local/lib/python2.7/test/test_file.pyRVŒstOtherFileTestscBs5eZd„Zd„Zd„Zd„Zd„ZRS(cCsZxSdD]K}y|jt|ƒ}Wntk r6qX|jƒ|jd|ƒqWdS(NR9taUswU+s%r is an invalid file mode(R9RZswU+(RRRLR tfail(R RR ((s*/usr/local/lib/python2.7/test/test_file.pyttestModeStrings’s   cCsŸd}y|jt|ƒ}Wnatk r}|jddkr›t|ƒ}t|kse||kr||jd|ƒq|q›nX|jƒ|jd|ƒdS(Ntqwertyis&bad error message for invalid mode: %ssno error for invalid mode: %s(RRRLRPtstrR[R (R tbad_modeR tmsgts((s*/usr/local/lib/python2.7/test/test_file.pyttestBadModeArguments  cCsåxÞd D]Ö}y|jtd|ƒ}|jt|ƒjdƒƒ|jƒ|jƒ|jtd|ƒ}t|jƒjdƒƒ}|jƒ|jƒWn0t k rÌ}|j d|t|ƒfƒnX|j ||ƒqWdS( NiÿÿÿÿiiiRtasciiR!s error setting buffer size %d: %s(iÿÿÿÿiii( RRRR^tencodeR tintR/tdecodeR<R[R(R RaR tdR`((s*/usr/local/lib/python2.7/test/test_file.pyttestSetBufferSize­s    !cCs8tjtƒ|jtdƒ}zú|jdƒ|jƒ|jtdƒ}|jdƒ}|dkrz|jd|ƒn|jƒdkr¦|jd|jƒƒn|j ƒ|jƒdkrÜ|jd|jƒƒn|jƒtj j tƒ}|dkr|jd |ƒnWd|jƒtjtƒXdS( NRt 12345678901srb+it12345s(Read on file opened for update failed %rsFile pos after read wrong %ds!File pos after ftruncate wrong %ds"File size after ftruncate wrong %d( R tunlinkRRRR R/R[RRFtpathtgetsize(R R tdatatsize((s*/usr/local/lib/python2.7/test/test_file.pyttestTruncateOnWindows¾s(        cCs©d}d}|t|ƒ}ddddddg}d dfd dfd d fd td ddƒffg}z&|jtdƒ}|j||ƒ|j|ƒ|jƒxk|D]c\}}|jtdƒ} t| ƒ|krò|jdfnt | |ƒ} | |Œ| jƒq²W|jtdƒ} xt |ƒD]} t| ƒq8W|j dƒ} y| j ƒ} Wnt k r‹|jdƒnX| | kr²|jd| | fƒn|j dƒ} td dt| ƒƒ}y| j|ƒWnt k r |jdƒnX|jƒ} | | kr>|jd| | fƒn|j dƒ} y| jt| ƒƒ} Wnt k r†|jdƒnX| | kr­|jd| | fƒny| jƒ}Wnt k rÝ|jdƒnX||kr|jd| | fƒn| jƒ|jtdƒ} zex| D]} q*Wy/| j ƒ| j|ƒ| jƒ| jƒWnt k rƒ|jdƒnXWd| jƒXWdtjtƒXdS(!Ni@sham sspam, spam and eggs seggs, spam, ham and spam ssaussages, spam, spam and eggs sspam, ham, spam and eggs s(spam, spam, spam, spam, spam, ham, spam swonderful spaaaaaam. RAR/RBR#Rt idRR!sBroken testfileisLreadline() after next() with supposedly empty iteration-buffer failed anywaysEreadline() after next() with empty buffer failed. Got %r, expected %rtsLreadinto() after next() with supposedly empty iteration-buffer failed anywaysEreadinto() after next() with empty buffer failed. Got %r, expected %rsHread() after next() with supposedly empty iteration-buffer failed anywaysAread() after next() with empty buffer failed. Got %r, expected %rsMreadlines() after next() with supposedly empty iteration-buffer failed anywaysFreadlines() after next() with empty buffer failed. Got %r, expected %rs'read* failed after next() consumed file((((tlenRRRRR.R R@R[RtrangetpopRARLR#R$R/RBR Rk(R t dataoffsettfillertnchunkst testlinesRNtbagRORPR tmethtittestlinetlineR1tlines((s*/usr/local/lib/python2.7/test/test_file.pyt testIterationÜs’                        (R6R7R\RbRhRpR€(((s*/usr/local/lib/python2.7/test/test_file.pyRYs    tCOtherFileTestscBseZejZRS((R6R7RUR(((s*/usr/local/lib/python2.7/test/test_file.pyR@stPyOtherFileTestscBseZeejƒZRS((R6R7RWRXR(((s*/usr/local/lib/python2.7/test/test_file.pyR‚CscCsAztttttƒWdtjjtƒr<tj tƒnXdS(N( RRTRVRR‚R RltexistsRRk(((s*/usr/local/lib/python2.7/test/test_file.pyt test_mainGs  t__main__(t __future__RRGR tunittestRtweakrefRRUt_pyioRXttest.test_supportRRRtTestCaseRRTRVRYRR‚R„R6(((s*/usr/local/lib/python2.7/test/test_file.pyts$     w°