kWc@sddlZddlZddlZddlZddlZddlZddlZddlZddlmZddl m Z yddl Z Wne k re Z nXddlmZddlmZmZmZddlmZdejfdYZd ejfd YZd ejfd YZeje d dejfdYZejejdkddejfdYZdejfdYZdZedkrendS(iN(tarray(tproxy(t test_support(tTESTFNt run_unittesttrequires(tUserListt AutoFileTestscBseZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZdZdZRS(cCsttd|_dS(Ntwb(topenRtf(tself((s&/usr/lib/python2.7/test/test_file2k.pytsetUpscCs*|jr|jjntjtdS(N(R tclosetostremoveR(R ((s&/usr/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/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 R tattr((s&/usr/lib/python2.7/test/test_file2k.pyttestAttributes(s    cCsn|jjd|jjtdd}ttd|_|jj|}|jd|j| dS(Nt12tctxi trbt xxxxxxxxxx( R RR RR RtreadintoRttostring(R tatn((s&/usr/lib/python2.7/test/test_file2k.pyt testReadinto9s  cCsdtddg}|jj||jjttd|_|jj}|j|ddS(Nt1t2R)R&(RR t writelinesR R RtreadR(R tltbuf((s&/usr/lib/python2.7/test/test_file2k.pyttestWritelinesUserListBs  cCs&|jt|jjdddgdS(Niii(RR"R R2(R ((s&/usr/lib/python2.7/test/test_file2k.pyttestWritelinesIntegersKscCs2tdddg}|jt|jj|dS(Niii(RRR"R R2(R R4((s&/usr/lib/python2.7/test/test_file2k.pyttestWritelinesIntegersUserListOscCs<dddY}|jt|jj||gdS(Nt NonStringcBseZRS((t__name__t __module__(((s&/usr/lib/python2.7/test/test_file2k.pyR9Vs((RR"R R2(R R9((s&/usr/lib/python2.7/test/test_file2k.pyttestWritelinesNonStringTscCs^|jjtddg|jjttd|_|jj}|j|ddS(NR'tabcR)(R R2RR R RR3R(R R5((s&/usr/lib/python2.7/test/test_file2k.pyttestWritelinesBuffer\s  cCs|jt|jjdttjdkr8dnd}t|d:}|jt j ||jt|jd|WdQXdS(Ns strR)tUtUbtUrtrUtrbUtrUb( R RR RRR^RR R+t bytearraytlenR2RR(R tdataRR$((R s&/usr/lib/python2.7/test/test_file2k.pyt testIssue5677s2 %%  (R:R;R RRR%R/R6R7R8R<R>RHRKR]R_RdRs(((s&/usr/lib/python2.7/test/test_file2k.pyRs           tOtherFileTestscBseZdZdZdZdZdZdZdZdZ e j e j dkd d Ze j ejdkd ejdddedZRS(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@( Rtpathtdirnamet__file__tcurdirRR R^Rtfilenametfail(R tthis_dirRR te((s&/usr/lib/python2.7/test/test_file2k.pyt testOpenDirs cCsxPdD]H}ytt|}Wntk r3qX|j|jd|qWx^tttttdfD]=}yt|d}Wnttfk rqsX|jqsWdS(NRItaUswU+s%r is an invalid file modes trr(RIR~swU+(R RRWR RztunicodeR^(R RR R((s&/usr/lib/python2.7/test/test_file2k.pyttestModeStringss   &cCsRtjdkr+|jttjjdn tjdIJ|jttjjdS(Ntosf1V5isK Skipping sys.stdin.seek(-1), it may crash the interpreter. Test manually.(RDRERR^tstdinRQt __stdout__RR(R ((s&/usr/lib/python2.7/test/test_file2k.pyt testStdins cCsPtttd}|jt|jdt|jtjtdS(NR@s s8          G