ó {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|ƒ s)tdƒ‚|t|ƒ}dddddd g}d dfd d fd d!fd tdddƒffg}z&|jtdƒ}|j||ƒ|j|ƒ|jƒxk|D]c\}}|jtdƒ} t| ƒ|kr|j dfnt | |ƒ} | |Œ| jƒqÏW|jtdƒ} xt |ƒD]} t| ƒqUW|j dƒ} y| j ƒ} Wntk r¨|j dƒnX| | krÏ|j d| | fƒn|j dƒ} tddt| ƒƒ}y| j|ƒWntk r(|j dƒnX|jƒ} | | kr[|j d| | fƒn|j dƒ} y| jt| ƒƒ} Wntk r£|j dƒnX| | krÊ|j d| | fƒny| jƒ}Wntk rú|j dƒnX||kr!|j d| | fƒn| jƒ|jtdƒ} zex| D]} qGWy/| j ƒ| j|ƒ| jƒ| jƒWntk r |j dƒnXWd| jƒXWdtjtƒXdS("Ni@sham s*dataoffset must be multiple of len(filler)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((((tlentAssertionErrorRRRRR.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( RRTRVR‚RƒR RltexistsRRk(((s*/usr/local/lib/python2.7/test/test_file.pyt test_mainGs  t__main__(t __future__RRGR tunittestRtweakrefRRUt_pyioRXttest.test_supportRRRtTestCaseRRTRVRYR‚RƒR…R6(((s*/usr/local/lib/python2.7/test/test_file.pyts$     w°