{G_Tc@sddlZddlZddlZddlZddlZddlZddlZddlZddlmZddl m Z yddl Z Wne k rdZ nXddlmZddlmZmZddlmZdejfdYZd ejfd YZd ejfd YZeje d dejfdYZejejdkddejfdYZdejfdYZdZedkrendS(iN(tarray(tproxy(t test_support(tTESTFNt run_unittest(tUserListt AutoFileTestscBseZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZdZdZRS(cCsttd|_dS(Ntwb(topenRtf(tself((s,/usr/local/lib/python2.7/test/test_file2k.pytsetUpscCs*|jr|jjntjtdS(N(R tclosetostremoveR(R ((s,/usr/local/lib/python2.7/test/test_file2k.pyttearDowns cCskt|j}|jd|j|jj|j|jjd|_|jtt |ddS(Nt teststringttell( RR twritet assertEqualRR tNonet assertRaisestReferenceErrortgetattr(R tp((s,/usr/local/lib/python2.7/test/test_file2k.pyt testWeakRefss    c Cs|j}tj|j}WdQX|j|j|jtj||_WdQXx-dD]%}|jtt ft ||dq]WdS(Ntnametmodetclosedtoops(snamesmodesclosed( R Rtcheck_py3k_warningst softspaceRRRRtAttributeErrort TypeErrortsetattr(R R Rtattr((s,/usr/local/lib/python2.7/test/test_file2k.pyttestAttributes(s    cCsn|jjd|jjtdd}ttd|_|jj|}|jd|j| dS(Nt12tctxi trbt xxxxxxxxxx( R RR RRRtreadintoRttostring(R tatn((s,/usr/local/lib/python2.7/test/test_file2k.pyt testReadinto9s  cCsdtddg}|jj||jjttd|_|jj}|j|ddS(Nt1t2R(R%(RR t writelinesR RRtreadR(R tltbuf((s,/usr/local/lib/python2.7/test/test_file2k.pyttestWritelinesUserListBs  cCs&|jt|jjdddgdS(Niii(RR!R R1(R ((s,/usr/local/lib/python2.7/test/test_file2k.pyttestWritelinesIntegersKscCs2tdddg}|jt|jj|dS(Niii(RRR!R R1(R R3((s,/usr/local/lib/python2.7/test/test_file2k.pyttestWritelinesIntegersUserListOscCs<dddY}|jt|jj||gdS(Nt NonStringcBseZRS((t__name__t __module__(((s,/usr/local/lib/python2.7/test/test_file2k.pyR8Vs((RR!R R1(R R8((s,/usr/local/lib/python2.7/test/test_file2k.pyttestWritelinesNonStringTscCs^|jjtddg|jjttd|_|jj}|j|ddS(NR&tabcR((R R1RR RRR2R(R R4((s,/usr/local/lib/python2.7/test/test_file2k.pyttestWritelinesBuffer\s  cCs|jt|jjdttjdkr8dnd}t|d:}|jt j ||jt|jd|WdQXdS(Ns strR(tUtUbtUrtrUtrbUtrUb( RRR RRR]RR R*t bytearraytlenR1RQ(R tdataRR#((R s,/usr/local/lib/python2.7/test/test_file2k.pyt testIssue5677s2 %%  (R9R:R RRR$R.R5R6R7R;R=RGRJR\R^RcRr(((s,/usr/local/lib/python2.7/test/test_file2k.pyRs           tOtherFileTestscBsteZdZdZdZdZdZdZdZdZ e j e j dkd d ZRS( cCstjjtptj}xldD]d}y(|rCt||}n t|}Wn&tk rx}|j|j |q"X|j dq"WdS(NR?s+opening a directory didn't raise an IOError(NR?( R tpathtdirnamet__file__tcurdirRRR]Rtfilenametfail(R tthis_dirRR te((s,/usr/local/lib/python2.7/test/test_file2k.pyt testOpenDirs cCsxPdD]H}ytt|}Wntk r3qX|j|jd|qWx^tttttdfD]=}yt|d}Wnttfk rqsX|jqsWdS(NRHtaUswU+s%r is an invalid file modes trr(RHR}swU+(RRRVR RytunicodeR](R RR R((s,/usr/local/lib/python2.7/test/test_file2k.pyttestModeStringss   &cCsRtjdkr+|jttjjdn tjdIJ|jttjjdS(Ntosf1V5isK Skipping sys.stdin.seek(-1), it may crash the interpreter. Test manually.(RCRDRR]tstdinRPt __stdout__RQ(R ((s,/usr/local/lib/python2.7/test/test_file2k.pyt testStdins cCsPtttd}|jt|jdt|jtjtdS(NR?s s6          G