{G_Tc@sdZddlmZddlmZddlZddlZddlZddlZddlZddl Z ddl Z ddl Z ddl Z ddl Z ddlZddlmZmZddlmZddlmZddlmZddlZddlZddlZddlZyddlZWnek rIeZnXyddl Z Wnek rseZ nXe!Z"ej#Z$d Z%d fd YZ&d e&ej'fd YZ(de&ej'fdYZ)de&fdYZ*de*ej'fdYZ+de*ej'fdYZ,de*fdYZ-de-ej'fdYZ.de-ej'fdYZ/de*fdYZ0de0ej'fdYZ1d e0ej'fd!YZ2d"fd#YZ3d$e3ej4fd%YZ5d&e3ej4fd'YZ6d(fd)YZ7d*e7ej'fd+YZ8d,e7ej'fd-YZ9d.e j:fd/YZ;d0e;fd1YZ<d2e;fd3YZ=d4fd5YZ>d6fd7YZ?d8e j:e>fd9YZ@d:e@e?fd;YZAd<e@fd=YZBd>e j:e>fd?YZCd@eCe?fdAYZDdBeCfdCYZEdDe j:fdEYZFdFeFfdGYZGdHeFfdIYZHdJe@eCfdKYZIdLeAeDeIe?fdMYZJdNeIfdOYZKdPejLfdQYZMejNeMjOdRe j:fdSYZPdTe j:fdUYZQdVeQfdWYZRdXeQfdYYZSdZe j:fd[YZTd\eTfd]YZUd^eTfd_YZVd`e j:fdaYZWdbeWfdcYZXddeWfdeYZYe jZej[dfkdgdhe j:fdiYZ\dje\fdkYZ]dle\fdmYZ^dnZ_e`dokr{e_ndS(puUnit tests for the io module.i(tprint_function(tunicode_literalsN(tcycletcount(tdeque(tUserList(t test_supportcCs,tjtddd}|jSWdQXdS(u(Get the default TextIOWrapper chunk sizeurtencodingulatin1N(tiotopent__file__t _CHUNK_SIZE(tf((s(/usr/local/lib/python2.7/test/test_io.pyt_default_chunk_size9stMockRawIOWithoutReadcBsneZdZd dZdZdZdZdZdZdZ dZ d Z d d Z RS( umA RawIO implementation without read(), so as to exercise the default RawIO.read() which calls readinto().cCs.t||_g|_d|_d|_dS(Ni(tlistt _read_stackt _write_stackt_readst_extraneous_reads(tselft read_stack((s(/usr/local/lib/python2.7/test/test_io.pyt__init__Cs  cCs |jjt|t|S(N(Rtappendtbytestlen(Rtb((s(/usr/local/lib/python2.7/test/test_io.pytwriteIscCstS(N(tTrue(R((s(/usr/local/lib/python2.7/test/test_io.pytwritableMscCsdS(Ni*((R((s(/usr/local/lib/python2.7/test/test_io.pytfilenoPscCstS(N(R(R((s(/usr/local/lib/python2.7/test/test_io.pytreadableSscCstS(N(R(R((s(/usr/local/lib/python2.7/test/test_io.pytseekableVscCsdS(Ni((Rtpostwhence((s(/usr/local/lib/python2.7/test/test_io.pytseekYscCsdS(Ni((R((s(/usr/local/lib/python2.7/test/test_io.pyttell\scCs|jd7_t|}y|jd}Wn!tk rO|jd7_dSX|dkrj|jd=dSt|}t||kr|jd=|||*|S|| |(|||jd<|SdS(Nii(RRRt IndexErrorRtNone(Rtbuftmax_lentdatatn((s(/usr/local/lib/python2.7/test/test_io.pytreadinto_s$        cCs|S(N((RR!((s(/usr/local/lib/python2.7/test/test_io.pyttruncatets(N(t__name__t __module__t__doc__RRRRRR R#R$R+R&R,(((s(/usr/local/lib/python2.7/test/test_io.pyR?s         tCMockRawIOWithoutReadcBseZRS((R-R.(((s(/usr/local/lib/python2.7/test/test_io.pyR0wstPyMockRawIOWithoutReadcBseZRS((R-R.(((s(/usr/local/lib/python2.7/test/test_io.pyR1zst MockRawIOcBseZddZRS(cCsA|jd7_y|jjdSWn|jd7_dSXdS(Niit(RRtpopR(RR*((s(/usr/local/lib/python2.7/test/test_io.pytreads N(R-R.R&R5(((s(/usr/local/lib/python2.7/test/test_io.pyR2~st CMockRawIOcBseZRS((R-R.(((s(/usr/local/lib/python2.7/test/test_io.pyR6st PyMockRawIOcBseZRS((R-R.(((s(/usr/local/lib/python2.7/test/test_io.pyR7stMisbehavedRawIOcBs8eZdZddZdZdZdZRS(cCstj||dS(Ni(R2R(RR((s(/usr/local/lib/python2.7/test/test_io.pyRscCstj||dS(Ni(R2R5(RR*((s(/usr/local/lib/python2.7/test/test_io.pyR5scCsdS(Ni((RR!R"((s(/usr/local/lib/python2.7/test/test_io.pyR#scCsdS(Ni8((R((s(/usr/local/lib/python2.7/test/test_io.pyR$scCstj||t|dS(Ni(R2R+R(RR'((s(/usr/local/lib/python2.7/test/test_io.pyR+sN(R-R.RR&R5R#R$R+(((s(/usr/local/lib/python2.7/test/test_io.pyR8s     tCMisbehavedRawIOcBseZRS((R-R.(((s(/usr/local/lib/python2.7/test/test_io.pyR9stPyMisbehavedRawIOcBseZRS((R-R.(((s(/usr/local/lib/python2.7/test/test_io.pyR:stCloseFailureIOcBseZdZdZRS(icCs|jsd|_tndS(Ni(tclosedtIOError(R((s(/usr/local/lib/python2.7/test/test_io.pytcloses  (R-R.R<R>(((s(/usr/local/lib/python2.7/test/test_io.pyR;stCCloseFailureIOcBseZRS((R-R.(((s(/usr/local/lib/python2.7/test/test_io.pyR?stPyCloseFailureIOcBseZRS((R-R.(((s(/usr/local/lib/python2.7/test/test_io.pyR@st MockFileIOcBs&eZdZddZdZRS(cCs#g|_tt|j|dS(N(t read_historytsuperRAR(RR)((s(/usr/local/lib/python2.7/test/test_io.pyRs cCsDtt|j|}|jj|dkr3dn t||S(N(RCRAR5RBRR&R(RR*tres((s(/usr/local/lib/python2.7/test/test_io.pyR5s(cCs,tt|j|}|jj||S(N(RCRAR+RBR(RRRD((s(/usr/local/lib/python2.7/test/test_io.pyR+sN(R-R.RR&R5R+(((s(/usr/local/lib/python2.7/test/test_io.pyRAs  t CMockFileIOcBseZRS((R-R.(((s(/usr/local/lib/python2.7/test/test_io.pyREst PyMockFileIOcBseZRS((R-R.(((s(/usr/local/lib/python2.7/test/test_io.pyRFstMockNonBlockWriterIOcBsGeZdZdZdZdZdZdZdZRS(cCsg|_d|_dS(N(RR&t _blocker_char(R((s(/usr/local/lib/python2.7/test/test_io.pyRs cCs dj|j}g|j(|S(NR3(tjoinR(Rts((s(/usr/local/lib/python2.7/test/test_io.pyt pop_writtens cCs ||_dS(u'Block when a given char is encountered.N(RH(Rtchar((s(/usr/local/lib/python2.7/test/test_io.pytblock_onscCstS(N(R(R((s(/usr/local/lib/python2.7/test/test_io.pyRscCstS(N(R(R((s(/usr/local/lib/python2.7/test/test_io.pyR scCstS(N(R(R((s(/usr/local/lib/python2.7/test/test_io.pyRscCst|}d}|jryy|j|j}Wntk rDqyX|dkri|jj|| |Sd|_dSn|jj|t|S(Nii(RRHtindext ValueErrorRRR&R(RRR*((s(/usr/local/lib/python2.7/test/test_io.pyRs     ( R-R.RRKRMRR RR(((s(/usr/local/lib/python2.7/test/test_io.pyRGs      tCMockNonBlockWriterIOcBseZejZRS((R-R.RtBlockingIOError(((s(/usr/local/lib/python2.7/test/test_io.pyRPstPyMockNonBlockWriterIOcBseZejZRS((R-R.tpyioRQ(((s(/usr/local/lib/python2.7/test/test_io.pyRRstIOTestcBs:eZdZdZdZedZd#ZdZdZ dZ d Z d Z d Z d Zd ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!d Z"d!Z#d"Z$RS($cCstjtjdS(N(tsupporttunlinktTESTFN(R((s(/usr/local/lib/python2.7/test/test_io.pytsetUpscCstjtjdS(N(RURVRW(R((s(/usr/local/lib/python2.7/test/test_io.pyttearDownscCs|j|jdd|jd|j|jd|jd|j|jdd|j|jdd|j|jdd|j|jd|j|jddd|j|jd|j|jtdd |j|jdd|j|jd d|j|jdd d |j|jd |j|jd d |j|jd |jt|jddS(Nsblah.iisHello.iiis world i thii i g(t assertEqualRR,R$R#t bytearrayt assertRaisest TypeError(RR ((s(/usr/local/lib/python2.7/test/test_io.pyt write_opss$  cCs5|jd}|j|dt|}|j|j|d|j|d|j|j|d|jt|d|j|d d|j|jdd|j|jdd|j|jd d |j|jtd d|j|jd dd |j|jdd|j|jdd |j|jtd|j|jd d d|j|jdd|j|jd|jt|jd|r1|jd|j|jd|jd |j|jd|j|jd ndS(Nithellos worlisd iis hello world iR3txiitworldi gsworld ( R5R[R\R+RR#R$R]R^(RR tbufferedR)((s(/usr/local/lib/python2.7/test/test_io.pytread_opss4   iicCs|jst|js$t|j|j|j|j|j|j|j|j|jdd|j|j|jd|j|jdd|jd|j|j|jd|j|j|jd|j|jdd|jd|j|j|jd|jd|j|j|jd|j|jdd|jd|j|jdd|j|j|j dddS(NtxxxiiiiiRa( RtAssertionErrorRR[R#tLARGER$RR,R5(RR ((s(/usr/local/lib/python2.7/test/test_io.pytlarge_file_ops<s##'#c CsxRd D]J}|jtj|-}|jt|j|jt|jWdQXqW|jtjd6}|jt|jd|jt|jdgWdQX|jtjd6}|jt|jd|jt|jdgWdQXdS( Nuwuwburbtblahsblah urublahublah (uwuwb( R RURWR]R=R5treadlineRt writelines(Rtmodetfp((s(/usr/local/lib/python2.7/test/test_io.pyttest_invalid_operationsMs cCs|jtjdddV}|j|jt|j|jt|j|jt|j |WdQX|jtjdddV}|j|jt|j|jt|j|jt|j |WdQXdS(Nuwbt bufferingiurb( R RURWR[RtFalseRRR R_Rd(RR ((s(/usr/local/lib/python2.7/test/test_io.pyttest_raw_file_ioZscCs|jtjdV}|j|jt|j|jt|j|jt|j |WdQX|jtjdY}|j|jt|j|jt|j|jt|j |tWdQXdS(Nuwburb( R RURWR[RRpRRR R_Rd(RR ((s(/usr/local/lib/python2.7/test/test_io.pyttest_buffered_file_iofsc Cs'|jtjd}|jdWdQX|jtjd}|j|jd|j|jdd|j|jdd|j|jd d |j|jd |j|jdd |jt|jd WdQX|jtjd}|jt|jd WdQXdS(Nuwbs"abc def xyzzy foobar another lineurbsabc i sdef itxyiszzy tfoobar s another lineg333333@ur( R RURWRR[RjR&R]R^(RR ((s(/usr/local/lib/python2.7/test/test_io.pyt test_readlinerscCsX|j}|j||j}|j|d|j|}|j|tdS(Ns hello world (tBytesIOR_tgetvalueR[RdR(RR R)((s(/usr/local/lib/python2.7/test/test_io.pyttest_raw_bytes_ios    cCstjd dks"tjdkr<tjdd|jn|jtjdd}|j|WdQX|jtjd}|j|WdQXdS(Niuwinudarwinu largefileu-test requires %s bytes and a long time to runuw+bi(tsystplatformRUtrequiresRgR RWRh(RR ((s(/usr/local/lib/python2.7/test/test_io.pyttest_large_file_opss"cCsxdD]}d}|jtjd|}|jdWdQX|j|jtd}y-|jtjd|}ddWdQXWn$tk r|j|jtqX|j dqWdS(NiiiduwbReu 1 // 0 didn't raise an exception(iiid( R&R RURWRR[R<RtZeroDivisionErrortfail(RtbufsizeR ((s(/usr/local/lib/python2.7/test/test_io.pyttest_with_opens  c Cs|jtjd}|jdWdQX|jtjddd}|j|jdWdQX|jtjd}|j|jdWdQX|jtjd }|j|jdkWdQXdS(NuwbReuabRoiiua(R RURWRR[R$t assertTrue(RR ((s(/usr/local/lib/python2.7/test/test_io.pyttest_append_mode_tellscsgd|jffdYtjd}|jd~tj|jdddg|jtjd}|j|jdWdQXdS( NtMyFileIOcs>eZfdZfdZfdZRS(csBjdyt|j}Wntk r6nX|dS(Ni(RRCt__del__tAttributeError(RR (Rtrecord(s(/usr/local/lib/python2.7/test/test_io.pyRs   cs$jdt|jdS(Ni(RRCR>(R(RR(s(/usr/local/lib/python2.7/test/test_io.pyR>s cs$jdt|jdS(Ni(RRCtflush(R(RR(s(/usr/local/lib/python2.7/test/test_io.pyRs (R-R.RR>R((RR(s(/usr/local/lib/python2.7/test/test_io.pyRsuwbReiiiurb(tFileIORURWRt gc_collectR[R R5(RR ((RRs(/usr/local/lib/python2.7/test/test_io.pyttest_destructors"  csXgd|ffdY}~tj|jdddgdS(NtMyIOcsGeZdZfdZfdZfdZRS(cSsd|_d|_d|_dS(Niii(ton_delton_closeton_flush(R((s(/usr/local/lib/python2.7/test/test_io.pyRs  csEj|jyt|j}Wntk r9nX|dS(N(RRRCRR(RR (RR(s(/usr/local/lib/python2.7/test/test_io.pyRs  cs'j|jt|jdS(N(RRRCR>(R(RR(s(/usr/local/lib/python2.7/test/test_io.pyR>scs'j|jt|jdS(N(RRRCR(R(RR(s(/usr/local/lib/python2.7/test/test_io.pyRs(R-R.RRR>R((RR(s(/usr/local/lib/python2.7/test/test_io.pyRs iii(RURR[(RtbaseR ((RRs(/usr/local/lib/python2.7/test/test_io.pyt_check_base_destructors   cCs|j|jdS(N(RtIOBase(R((s(/usr/local/lib/python2.7/test/test_io.pyttest_IOBase_destructorscCs|j|jdS(N(Rt RawIOBase(R((s(/usr/local/lib/python2.7/test/test_io.pyttest_RawIOBase_destructorscCs|j|jdS(N(RtBufferedIOBase(R((s(/usr/local/lib/python2.7/test/test_io.pyttest_BufferedIOBase_destructorscCs|j|jdS(N(Rt TextIOBase(R((s(/usr/local/lib/python2.7/test/test_io.pyttest_TextIOBase_destructorscCsc|jtjd}|jdWdQX|jtjd}|j|jdWdQXdS(NuwbReurb(R RURWRR[R5(RR ((s(/usr/local/lib/python2.7/test/test_io.pyttest_close_flushesscCstjdtd}t|j}|jtjdd }|j|j||WdQX|jtjd }|j|j||WdQXdS(Ntii uwbi( tarraytrangeRttostringR RURWR[R(RtaR*R ((s(/usr/local/lib/python2.7/test/test_io.pyttest_array_writess cCs&|jt|jtjddtdS(Nuwtclosefd(R]ROR RURWRp(R((s(/usr/local/lib/python2.7/test/test_io.pyt test_closefdsc Cs|jtjd}|jdWdQX|jtjde}|j|jddt}|j|jd|jd|j |j t |jWdQXdS(Nuwuegg urRi( R RURWRRRpR[R5R#R>R]RO(RR tfile((s(/usr/local/lib/python2.7/test/test_io.pyttest_read_closeds  cCs&|jt|jtjddtdS(NurR(R]ROR RURWRp(R((s(/usr/local/lib/python2.7/test/test_io.pyttest_no_closefd_with_filenamesc Cs|jtjd}|jdWdQX|jtjdW}|j|jjjt|j|j ddt }|j|jjjt WdQXdS(Nuwbsegg urR( R RURWRR[tbuffertrawRRRRp(RR R((s(/usr/local/lib/python2.7/test/test_io.pyttest_closefd_attrs cCs|jtjd}|jd||_tj|}~tj|j|dk||j tjd}|j |j dWdQXdS(Nuwbtabcxxxurb( RRURWRR tweakreftrefRRR&R R[R5(RR twr((s(/usr/local/lib/python2.7/test/test_io.pyttest_garbage_collections   c Csd}tjj|s1|jdj|ntjdkrP|jdntjtj krr|jdn|j |ddd}|j t |j WdQX|j |d}|j t |j WdQX|j |d }|j t |j WdQXdS( Nu /dev/zerou{0} does not existiu+test can only run in a 32-bit address spaceu$test requires at least 2GB of memoryurbRoiur(tostpathtexiststskipTesttformatRytmaxsizeRUtreal_max_memuset_2GR R]t OverflowErrorR5(RtzeroR ((s(/usr/local/lib/python2.7/test/test_io.pyttest_unbounded_file'scCsT|jtjddd}d}||_|jt|j|j|jdS(NuwbRoicSs tdS(N(R=(((s(/usr/local/lib/python2.7/test/test_io.pyt bad_flush9s( R RURWRR]R=R>RR<(RR R((s(/usr/local/lib/python2.7/test/test_io.pyttest_flush_error_on_close7s   cCsP|jtjddd}|j|j|j|jt|jdS(NuwbRoi(R RURWR>R]ROR(RR ((s(/usr/local/lib/python2.7/test/test_io.pyttest_multi_close?s    cCs|jd }|j|jdd|j|jdd|j|jdd|j|jdd|j|jdd|j|jdd|j|jdd|j|jdd dS( NtabctdtefgitabtcteftgR3(sabcRNRN(RR&R[R5(Rtrawio((s(/usr/local/lib/python2.7/test/test_io.pyttest_RawIOBase_readFsc Cs|jtdt}|jtdY}|j|jdt}|j|jdt|j|j|jWdQXWdQXdS(NurbR(R R RRRpRRjR>(Rtf1tf2tfileio((s(/usr/local/lib/python2.7/test/test_io.pyttest_fileio_closefdSs  c Cshtjdt@}|jt|jtjdddWdQXtjWdQX|j |gdS(NRuwRoi( twarningstcatch_warningsRR]ROR RURWRR[(Rtrecorded((s(/usr/local/lib/python2.7/test/test_io.pyttest_nonbuffered_textio_s c Cshtjdt@}|jt|jtjdddWdQXtjWdQX|j |gdS(NRuwtnewlineuinvalid( RRRR]ROR RURWRR[(RR((s(/usr/local/lib/python2.7/test/test_io.pyttest_invalid_newlinefs I(%R-R.RXRYR_RpRdRgRhRnRqRrRuRxR|RRRRRRRRRRRRRRRRRRRRRR(((s(/usr/local/lib/python2.7/test/test_io.pyRTsD                       tCIOTestcBseZdZRS(cCsnd|jfdY}||}||_tj|}~~tj|j|dk|dS(NRcBseZdZRS(cSsdS(N((R((s(/usr/local/lib/python2.7/test/test_io.pyR>us(R-R.R>(((s(/usr/local/lib/python2.7/test/test_io.pyRts(RtobjRRRURRR&(RRRR((s(/usr/local/lib/python2.7/test/test_io.pyttest_IOBase_finalizeps   (R-R.R(((s(/usr/local/lib/python2.7/test/test_io.pyRnstPyIOTestcBs eZejdejZRS(uBlen(array.array) returns number of elements rather than bytelength(R-R.tunittesttskipRTR(((s(/usr/local/lib/python2.7/test/test_io.pyRstCommonBufferedTestscBseZdZdZejddZdZdZdZ dZ dZ d Z d Z d Zd ZRS( cCsH|j}|j|}|j|j||jt|jdS(N(R2ttptassertIstdetachR]RO(RRR'((s(/usr/local/lib/python2.7/test/test_io.pyt test_detachs cCs5|j}|j|}|jd|jdS(Ni*(R2RR[R(RRtbufio((s(/usr/local/lib/python2.7/test/test_io.pyt test_filenos utest having existential crisiscCsdS(N((R((s(/usr/local/lib/python2.7/test/test_io.pyttest_no_filenoscCsQ|j}|j|}|jt|jdd|jt|jdddS(Niii(R2RR]ROR#(RRR((s(/usr/local/lib/python2.7/test/test_io.pyttest_invalid_argss cs|j}gd|ffdY|j}|}|j}~tj|r|jdddgn|jddgdS(Nt MyBufferedIOcs>eZfdZfdZfdZRS(csBjdyt|j}Wntk r6nX|dS(Ni(RRCRR(RR (RR(s(/usr/local/lib/python2.7/test/test_io.pyRs   cs$jdt|jdS(Ni(RRCR>(R(RR(s(/usr/local/lib/python2.7/test/test_io.pyR>s cs$jdt|jdS(Ni(RRCR(R(RR(s(/usr/local/lib/python2.7/test/test_io.pyRs (R-R.RR>R((RR(s(/usr/local/lib/python2.7/test/test_io.pyRsiii(RR2RRURR[(RRRRR((RRs(/usr/local/lib/python2.7/test/test_io.pyttest_override_destructors     csE|j}|j|fd}||jt|dS(NcsWdQXdS(N(((R(s(/usr/local/lib/python2.7/test/test_io.pyt_withs(R2RR]RO(RRR((Rs(/usr/local/lib/python2.7/test/test_io.pyttest_context_managers  csjfd}tjd}jt|WdQX|jj}|rjt|j dj |j d|j |j d|ndS(NcsjjdS(N(Rtxyzzy((RR(s(/usr/local/lib/python2.7/test/test_io.pyR sustderriuException IOError: u ignored( R;RUtcaptured_outputR]RRwtstripR[Rt splitlinesRt startswithtendswith(RR RJ((RRs(/usr/local/lib/python2.7/test/test_io.pyttest_error_through_destructors cCs|j}|j|}d|jj|jjf}|jt|d|d|_|jt|d|d|_|jt|d|dS(Nu%s.%su<%s>udummyu<%s name=u'dummy'>tdummyu<%s name='dummy'>(R2RR.R-R[treprtname(RRRtclsname((s(/usr/local/lib/python2.7/test/test_io.pyt test_reprs   cCsT|j}d}||_|j|}|jt|j|j|jdS(NcSs tdS(N(R=(((s(/usr/local/lib/python2.7/test/test_io.pyRs(R2RRR]R=R>RR<(RRRR((s(/usr/local/lib/python2.7/test/test_io.pyRs    cCs|j}d}d}||_|j|}||_|jt}|jWdQX|j|jjd|j |j dS(NcSstddS(Nuflush(R=(((s(/usr/local/lib/python2.7/test/test_io.pyRscSstddS(Nuclose(R=(((s(/usr/local/lib/python2.7/test/test_io.pyt bad_closesuclose(uclose( R2R>RRR]R=R[t exceptiontargst assertFalseR<(RRRRRterr((s(/usr/local/lib/python2.7/test/test_io.pyttest_close_error_on_closes     cCsP|j}|j|}|j|j|j|jt|jdS(N(R2RR>R]ROR(RRR((s(/usr/local/lib/python2.7/test/test_io.pyRs     cCsP|j}|j|}|j}|jttf||_WdQXdS(N(R2RR]RR^R(RRR'Ra((s(/usr/local/lib/python2.7/test/test_io.pyttest_readonly_attributess   (R-R.RRRRRRRRRRRRRR(((s(/usr/local/lib/python2.7/test/test_io.pyRs       t SizeofTestcBseZejdZRS(cCsd}d}|j}|j|d|}tj||}|j}|j|d|}|jtj|||dS(Nii t buffer_size(R2RRyt getsizeofR[(Rtbufsize1tbufsize2RRtsize((s(/usr/local/lib/python2.7/test/test_io.pyt test_sizeofs  (R-R.RUt cpython_onlyR(((s(/usr/local/lib/python2.7/test/test_io.pyR stBufferedReaderTestcBseZdZdZdZdZdZdZdZdZ dZ d Z d Z e jed ejd d ZdZdZRS(urbcCs|jdg}|j|}|j||j|dd|j|dd|jd|j|jt|j|dd|jt|j|dd|jt|j|dd|jdg}|j||jd|jdS(NRRiiiii(R2RRR[R5R]RO(RRR((s(/usr/local/lib/python2.7/test/test_io.pyttest_constructors  cCs||jj|j}~|jj|j}|jttfd|jd|j|j|j|jdddS(Nuuninitialized|has no attributeiR3( Rt__new__tassertRaisesRegexpRORR5RR2R[(RR((s(/usr/local/lib/python2.7/test/test_io.pyttest_uninitialized+s cCsbxEdD]=}|jd}|j|}|jd|j|qW|jt|jddS( NiRRRtabcdefgi(Ni(sabcRsefg(R&R2RR[R5R]RO(RtargRR((s(/usr/local/lib/python2.7/test/test_io.pyt test_read5s  cCs-|jd}|j|}|jd|jd|jd|jd|j|jd|jd|jd|j|jd|jd|jd|j|jd |jd|jd|j|jd |jd |jd|j|jd |jt|jd dS(NRRRRiRRidiiR3ii(sabcRsefg(R2RR[R5tread1RR]RO(RRR((s(/usr/local/lib/python2.7/test/test_io.pyt test_read1=scCs|jd }|j|}td}|j|j|d|j|d|j|j|d|j|d|j|j|d|j|d|j|j|d|j|d |j|j|d |j|d dS( NRRRiRtcdRitgfi(sabcRsefg(R2RR\R[R+(RRRR((s(/usr/local/lib/python2.7/test/test_io.pyt test_readintoNs cs|fd}j|jdddgj|jdddgj|jddddgdS(Ncsjd}j|S(Nsabc sd R(sabc sd sef(R2R(R(R(s(/usr/local/lib/python2.7/test/test_io.pyR^ssabc sd Ri(R[t readlinesR&(RR((Rs(/usr/local/lib/python2.7/test/test_io.pyttest_readlines]s""c Cs d}t|}dddddg|dggddddg|ggdddddgdddggg}x|D]\}}}|j|}|j|d |}d} x<|D]4} |j|j| || | | !| | 7} qW|j|j|qvWdS( Nt abcdefghiidiiiiiiR(RRARR[R5RB( RR)tdlenttestsRtbuf_read_sizestraw_read_sizesRRR!tnbytes((s(/usr/local/lib/python2.7/test/test_io.pyttest_bufferinges ' $cCs|jd }|j|}|jd|jd|jd|jd|jd|j|jd |jd|j|j|jd |j|jd }|jd |j|j|jdS( NRRRtabcditeitfgR3R(sabcRNsefgNNN(RNN(R2R&RR[R5tpeekt assertIsNonetreadall(RRR((s(/usr/local/lib/python2.7/test/test_io.pyttest_read_non_blockingyscCs;|jd}|j|}|jd|jddS(NRRRRi(#(sabcRsefg(R2RR[R5(RRR((s(/usr/local/lib/python2.7/test/test_io.pyttest_read_past_eofscCs8|jd}|j|}|jd|jdS(NRRRR(sabcRsefg(R2RR[R5(RRR((s(/usr/local/lib/python2.7/test/test_io.pyt test_read_allsu!Threading required for this test.ucpuc szd}ttd|}tj|tt|}|jtjd}|j |WdQX|jtj|j dd}|j |dggfd}gtdD]}t j d |^q}x|D]}|jqWtjd x|D]}|jqW|jd d j}xBtdD]4} tt| g} |j|j| |q[WWdQXWdtjtjXdS( NiiuwbRoiicsqyGx@tddgD],}j|}|s5Pnj|qWWn#tk rl}j|nXdS(Nii(RR5Rt Exception(R*RJR(Rterrorstresults(s(/usr/local/lib/python2.7/test/test_io.pyR s ittargetg{Gz?u(the following exceptions were caught: %rR3(RRtrandomtshuffleRR\R RURWRt read_modeRt threadingtThreadtstartttimetsleepRIRR[RRV( RtNtlRJR RRatthreadsttRR((RRRs(/usr/local/lib/python2.7/test/test_io.pyt test_threadss2 ! +     'cCsK|jd}|j|}|jt|jd|jt|jdS(NRRRi(sabcRsefg(R8RR]R=R#R$(RRR((s(/usr/local/lib/python2.7/test/test_io.pyttest_misbehaved_ioscCsd}xd|d||d|dfD]}|jd|g}|j||}|j|j|d||j|jddj||j|jd|ddg}|j||}|j|j|d||j|jddj||jq(WdS(NiiiRaiufailed for {}: {} != 0(R2RR[R5RR(RRR*RR((s(/usr/local/lib/python2.7/test/test_io.pyttest_no_extraneous_reads((R-R.R!RRRRRR RRRRRt skipUnlessR"RUtrequires_resourceR+R,R-(((s(/usr/local/lib/python2.7/test/test_io.pyRs         + tCBufferedReaderTestcBs>eZejZdZdZdZdZdZ RS(cCsctj|tjdkr_|j}|j|}|jttt f|j |tjndS(Ni( RRRyRR2RR]Rt MemoryErrorROR(RRR((s(/usr/local/lib/python2.7/test/test_io.pyRs   cCs|jdg}|j|}|jt|j|dd|jt|j|jt|j|dd|jt|j|jt|j|dd|jt|jdS(NRRiii(R2RR]RORR5(RRR((s(/usr/local/lib/python2.7/test/test_io.pyttest_initializationscCs8|jd}|j|}|jt|jddS(NRRRi (sabcRsefg(R8RR]R=R5(RRR((s(/usr/local/lib/python2.7/test/test_io.pyttest_misbehaved_io_readscCsf|jtjd}|j|}||_tj|}~tj|j|dk|dS(Nuw+b( RRURWRR RRRRR&(RRR R((s(/usr/local/lib/python2.7/test/test_io.pyRs  c Cs9|jtd!|jtjdddWdQXdS(NuBufferedReaderi(RR^RRRv(R((s(/usr/local/lib/python2.7/test/test_io.pyttest_args_errors( R-R.RtBufferedReaderRRR2R3RR4(((s(/usr/local/lib/python2.7/test/test_io.pyR0s    tPyBufferedReaderTestcBseZejZRS((R-R.RSR5R(((s(/usr/local/lib/python2.7/test/test_io.pyR6 stBufferedWriterTestcBseZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZdZdZdZdZdZejedejddZdZdZdZRS(uwbcCs|j}|j|}|j||j|dd|j|dd|jd|jd|j|jt|j|dd|jt|j|dd|jt|j|dd|j||jd|jd |j|jd j|j d dS( NRiiiRiiitghiR3tabcghi( R2RRR[RRR]RORIR(RRR((s(/usr/local/lib/python2.7/test/test_io.pyRs     cCs||jj|j}~|jj|j}|jttfd|jd|j|j|j|jdddS(Nuuninitialized|has no attributeR3i( RRRRORRRR2R[(RR((s(/usr/local/lib/python2.7/test/test_io.pyR!s cCs\|j}|j|}|jd|j|j|j|j|jdgdS(Nshowdy!(R2RRRRRR[(RRR'((s(/usr/local/lib/python2.7/test/test_io.pyttest_detach_flush+s    cCs?|j}|j|d}|jd|j|jdS(NiR(R2RRRR(RtwriterR((s(/usr/local/lib/python2.7/test/test_io.pyt test_write3s  cCs|j}|j|d}d}x8tdt|dD]}|j|||d!q=Wdj|j}|j|j|d |dS(NitabcdefghijklmnopiiR3i( R2RRRRRIRRR(RR;RtcontentsR*tflushed((s(/usr/local/lib/python2.7/test/test_io.pyttest_write_overflow:s c Csttdd}d}|j}|j|d}d}|}xm|t|krtt|t||}|j|j||||!|||||7}qOW|j |j|dj |j dS(Niiii css7x0tdD]"}xtdD] }|Vq Wq WdS(Nii(RR(RR((s(/usr/local/lib/python2.7/test/test_io.pyt gen_sizesLsR3( RRR2RRtmintnextR[RRRIR( Rtintermediate_funcR>R*R;RRAtsizesR((s(/usr/local/lib/python2.7/test/test_io.pyt check_writesEs   $   cCs|jddS(NcSsdS(N(R&(R((s(/usr/local/lib/python2.7/test/test_io.pyt[s(RF(R((s(/usr/local/lib/python2.7/test/test_io.pyt test_writesZscCs|jddS(NcSs |jS(N(R(R((s(/usr/local/lib/python2.7/test/test_io.pyRG^s(RF(R((s(/usr/local/lib/python2.7/test/test_io.pyttest_writes_and_flushes]scCs0d}|j|d}|j|dS(NcSsH|j}|j|dd|j|dd|j|ddS(Nii(R$R#(RR!((s(/usr/local/lib/python2.7/test/test_io.pyt_seekabsas cSsG|jdd}|jd d|jdd|j|ddS(Niii(R#(RR!((s(/usr/local/lib/python2.7/test/test_io.pyt_seekrelgs(RF(RRJRK((s(/usr/local/lib/python2.7/test/test_io.pyttest_writes_and_seeks`s   cCs|jddS(NcSs|j|jS(N(R,R$(R((s(/usr/local/lib/python2.7/test/test_io.pyRGos(RF(R((s(/usr/local/lib/python2.7/test/test_io.pyttest_writes_and_truncatesnscCs+|j}|j|d}|j|jdd|j|jdd|jd|j|jdd|jdy|jd Wn|jk r}|j}nX|jd |j|d |j|jd |j|jd d|j}|j |j d|dS(NiRitefghiitktjklmnt0topqrwxyz0123456789u'BlockingIOError should have been raiseditabcdefghijklmnopqrwxyzt ABCDEFGHIi t 01234567A( RGRR[RRMRQtcharacters_writtenR~RKRR(RRRRtwrittenRJ((s(/usr/local/lib/python2.7/test/test_io.pyttest_write_non_blockingqs$      cCstj}|j|d}|j|jdd|j|jd|jdd|j|jdd|jdd|j|jd|j|jdd|j|j|jd dS( NitabcdefiitXYitXYcdeft123456t XYcdef123456( RRvRR[RR$R#RwR(RRR((s(/usr/local/lib/python2.7/test/test_io.pyttest_write_and_rewinds  cCsP|j}|j|d}|jd|j|jd|jddS(NiRi(R2RRRR[R(RR;R((s(/usr/local/lib/python2.7/test/test_io.pyt test_flushs    cCsddddg}|j}|j|d}|j||j|jdj|jddS(NRRRiR3RY(R2RRkRR[RIR(RR(R;R((s(/usr/local/lib/python2.7/test/test_io.pyttest_writeliness    cCsjtdddg}|j}|j|d}|j||j|jdj|jddS(NRRRiR3RY(RR2RRkRR[RIR(RR(R;R((s(/usr/local/lib/python2.7/test/test_io.pyttest_writelines_userlists    cCsW|j}|j|d}|jt|jdddg|jt|jddS(Niiii(R2RR]R^RkR&(RR;R((s(/usr/local/lib/python2.7/test/test_io.pyttest_writelines_errors cCsS|j}|j|d}|jd~tj|jd|jddS(NiRi(R2RRRURR[R(RR;R((s(/usr/local/lib/python2.7/test/test_io.pyRs    cCs|jtj|jddU}|j|d}|jd|j|jdd|j|jdWdQX|jtjddd}|j|j dWdQXdS( NRoiiRYiiurbR( R RURWt write_modeRRR[R,R$R5(RRRR ((s(/usr/local/lib/python2.7/test/test_io.pyt test_truncates! u!Threading required for this test.ucpuc szd}ttd|}tddg}d}txD|t|krt|}j||||!||7}qCW~|jtj |j dd}|j |dgfd}gtd D]}t j d |^q} x| D]} | jq Wtjd x| D]} | jq2W|jd jWdQX|jtj d }|j} WdQXx6tdD](} |j| jt| g|qWWdtjtj XdS(NiiiiiRoicsmyCx<trAyj}Wntk r0dSXj|qWWn#tk rh}j|nXdS(N(RtpopleftR%RRR(RJR(RRtqueue(s(/usr/local/lib/python2.7/test/test_io.pyR s   iRg{Gz?u(the following exceptions were caught: %rurb(RRRRRRCRR RURWRcRR"R#R$R%R&RIRR>R5R[RRV( RR'R>RER*RRR RaR)R*RJR((RRRfs(/usr/local/lib/python2.7/test/test_io.pyR+s:  ! +     *cCsa|j}|j|d}|jt|jd|jt|j|jt|jddS(NiiRY(R8RR]R=R#R$R(RRR((s(/usr/local/lib/python2.7/test/test_io.pyR,s  cCs9tjdtf|j|jddWdQXdS(Numax_buffer_size is deprecatedii (RUtcheck_warningstDeprecationWarningRR2(R((s(/usr/local/lib/python2.7/test/test_io.pyt test_max_buffer_size_deprecations  cCsa|j}d}||_|j|}|jd|jt|j|j|jdS(NcSs tdS(N(R=(R((s(/usr/local/lib/python2.7/test/test_io.pyt bad_write stspam(R2RRR]R=R>RR<(RRRjR((s(/usr/local/lib/python2.7/test/test_io.pyttest_write_error_on_closes    (R-R.RcRRR:R<R@RFRHRIRLRMRXR^R_R`RaRbRRdRR.R"RUR/R+R,RiRl(((s(/usr/local/lib/python2.7/test/test_io.pyR7s0               2  tCBufferedWriterTestcBs5eZejZdZdZdZdZRS(cCsctj|tjdkr_|j}|j|}|jttt f|j |tjndS(Ni( R7RRyRR2RR]RR1ROR(RRR((s(/usr/local/lib/python2.7/test/test_io.pyRs   cCs|j}|j|}|jt|j|dd|jt|jd|jt|j|dd|jt|jd|jt|j|dd|jt|jddS(NRitdefii(R2RR]RORR(RRR((s(/usr/local/lib/python2.7/test/test_io.pyR2s cCs|jtjd}|j|}|jd||_tj|}~tj|j |dk||j tjd}|j |j dWdQXdS(Nuw+bt123xxxurb(RRURWRRRaRRRRR&R R[R5(RRR R((s(/usr/local/lib/python2.7/test/test_io.pyR)s   c Cs9|jtd!|jtjdddWdQXdS(NuBufferedWriteri(RR^RRRv(R((s(/usr/local/lib/python2.7/test/test_io.pyR48s( R-R.RtBufferedWriterRRR2RR4(((s(/usr/local/lib/python2.7/test/test_io.pyRms   tPyBufferedWriterTestcBseZejZRS((R-R.RSRpR(((s(/usr/local/lib/python2.7/test/test_io.pyRq>stBufferedRWPairTestcBseZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZdZdZdZRS(cCs2|j|j|j}|j|jdS(N(RR2RR<(Rtpair((s(/usr/local/lib/python2.7/test/test_io.pyRCscCs|jj|j}~|jj|j}|jttfd|jd|jttfd|jd|j|j|j|j |jdd|j |jdddS(Nuuninitialized|has no attributeiR3( RRRRORR5RRR2R[(RRs((s(/usr/local/lib/python2.7/test/test_io.pyRGs  cCs8|j|j|j}|j|j|jdS(N(RR2R]tUnsupportedOperationR(RRs((s(/usr/local/lib/python2.7/test/test_io.pyRUsc CsBtjdtf'|j|j|jddWdQXdS(Numax_buffer_size is deprecatedii (RURgRhRR2(R((s(/usr/local/lib/python2.7/test/test_io.pyt,test_constructor_max_buffer_size_deprecationYs  cCs<dtfdY}|jt|j||jdS(Nt NotReadablecBseZdZRS(cSstS(N(Rp(R((s(/usr/local/lib/python2.7/test/test_io.pyR`s(R-R.R(((s(/usr/local/lib/python2.7/test/test_io.pyRv_s(R2R]R=R(RRv((s(/usr/local/lib/python2.7/test/test_io.pyt"test_constructor_with_not_readable^scCs<dtfdY}|jt|j|j|dS(Nt NotWriteablecBseZdZRS(cSstS(N(Rp(R((s(/usr/local/lib/python2.7/test/test_io.pyRgs(R-R.R(((s(/usr/local/lib/python2.7/test/test_io.pyRxfs(R2R]R=R(RRx((s(/usr/local/lib/python2.7/test/test_io.pyt#test_constructor_with_not_writeableescCs|j|jd|j}|j|jdd|j|jdd|j|jd|j|jd|j}|j|jdddS(NRYiRiRR(RRvR2R[R5R&(RRs((s(/usr/local/lib/python2.7/test/test_io.pyRls !!csyfd}j|jdddgj|jdddgj|jdddgdS(NcsjjdjS(Ns abc def h(RRvR2((R(s(/usr/local/lib/python2.7/test/test_io.pyRGvssabc sdef RZi(R[R (RRs((Rs(/usr/local/lib/python2.7/test/test_io.pyR us""cCs>|j|jd|j}|j|jdddS(NRYiR(RRvR2R[R(RRs((s(/usr/local/lib/python2.7/test/test_io.pyR{s!cCsZ|j|jd|j}td}|j|j|d|j|ddS(NRYitabcde(RRvR2R\R[R+(RRsR)((s(/usr/local/lib/python2.7/test/test_io.pyRs! cCso|j}|j|j|}|jd|j|jd|j|j|jddgdS(NRRn(R2RRRR[R(RtwRs((s(/usr/local/lib/python2.7/test/test_io.pyR<s     cCs]|j|jd|j}|j|jdjd|j|jdddS(NRYiR(RRvR2RRRR[R5(RRs((s(/usr/local/lib/python2.7/test/test_io.pyt test_peeks!cCs5|j|j|j}|j|jdS(N(RR2RR(RRs((s(/usr/local/lib/python2.7/test/test_io.pyt test_readablescCs5|j|j|j}|j|jdS(N(RR2RR(RRs((s(/usr/local/lib/python2.7/test/test_io.pyttest_writeablescCs5|j|j|j}|j|jdS(N(RR2RR (RRs((s(/usr/local/lib/python2.7/test/test_io.pyt test_seekablescCsL|j|j|j}|j|j|j|j|jdS(N(RR2RR<R>R(RRs((s(/usr/local/lib/python2.7/test/test_io.pyttest_close_and_closeds cCsdtfdY}|j|t|t}|j|j|j|t|t}|j|j|j|t|t}|j|j|j|t|t}|j|jdS(NtSelectableIsAttycBseZdZdZRS(cSstj|||_dS(N(R2Rt_isatty(Rtisatty((s(/usr/local/lib/python2.7/test/test_io.pyRs cSs|jS(N(R(R((s(/usr/local/lib/python2.7/test/test_io.pyRs(R-R.RR(((s(/usr/local/lib/python2.7/test/test_io.pyRs (R2RRpRRRR(RRRs((s(/usr/local/lib/python2.7/test/test_io.pyt test_isattys(R-R.RRRRuRwRyRR RRR<R|R}R~RRR(((s(/usr/local/lib/python2.7/test/test_io.pyRrAs"             tCBufferedRWPairTestcBseZejZRS((R-R.RtBufferedRWPairR(((s(/usr/local/lib/python2.7/test/test_io.pyRstPyBufferedRWPairTestcBseZejZRS((R-R.RSRR(((s(/usr/local/lib/python2.7/test/test_io.pyRstBufferedRandomTestcBseZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZdZdZdZdZdZdZdZdZRS(urb+uwb+cCstj|tj|dS(N(RRR7(R((s(/usr/local/lib/python2.7/test/test_io.pyRs cCstj|tj|dS(N(RRR7(R((s(/usr/local/lib/python2.7/test/test_io.pyRs cCs|jd }|j|d}|jd|jd|jd|jd|j|j|jd|j|jd|jd dS( Ntasdftghjkitasitdddteeetdddeeei(RR(R2RR[R5RRR(RRtrw((s(/usr/local/lib/python2.7/test/test_io.pyttest_read_and_writes  cCs^|jd}|j|}|jd|jd|jd|j|jdd|jd|jd|jd|jdd|jd|j|jd |j|jd d|jd |j|jdd |jd |j|jd|jd|j|jd|j|j t |jddS(Nt asdfghjklRiiRit123ft asdf123fli iiiitfli g( RvRR[R5R$R#RRRwR]R^(RRR((s(/usr/local/lib/python2.7/test/test_io.pyttest_seek_and_tells$  cCs|jd}|j|}|jd||d|jd|jd||d|jd|j|j|jd|j|jd|||jdd|jd |j|jdd|jd ||d dS( NR Rit12RiR8itXYZi(RvRR[RR$RR#(Rt read_funcRR((s(/usr/local/lib/python2.7/test/test_io.pytcheck_flush_and_reads    cCs|jddS(NcWs |j|S(N(R5(RR((s(/usr/local/lib/python2.7/test/test_io.pyRG s(R(R((s(/usr/local/lib/python2.7/test/test_io.pyttest_flush_and_read scCsdd}|j|dS(NicSs;t|dkr|nd}|j|}t|| S(Nii'(R\R+R(RR*R((s(/usr/local/lib/python2.7/test/test_io.pyt _readintos(R(RR((s(/usr/local/lib/python2.7/test/test_io.pyttest_flush_and_readintos cCsdd}|j|dS(NicSsB|j|}|dkr(|| }n|jt|d|S(Nii(RR#R(RR*R((s(/usr/local/lib/python2.7/test/test_io.pyt_peeks   (R(RR((s(/usr/local/lib/python2.7/test/test_io.pyttest_flush_and_peeks cCs|jd}|j|}|jd|j|jd|j|jdd|jd|j|jd|jdS(NR t123t45it 12345fghi(RvRRRR#R[RwR5(RRR((s(/usr/local/lib/python2.7/test/test_io.pyttest_flush_and_write!s    cCstj|tj|dS(N(RR+R7(R((s(/usr/local/lib/python2.7/test/test_io.pyR+-s cCs0d}|j|d}|j|dS(NcSs|jddS(Ni(R(R((s(/usr/local/lib/python2.7/test/test_io.pyR2scSs=|j}|jdd|jd|j|ddS(Niii(R$R#R(RR!((s(/usr/local/lib/python2.7/test/test_io.pyR5s  (RF(RR((s(/usr/local/lib/python2.7/test/test_io.pyttest_writes_and_peek1s   cCsd}|j|dS(NcSs!|jdd|jddS(Nii(R#R5(R((s(/usr/local/lib/python2.7/test/test_io.pyt_read=s(RF(RR((s(/usr/local/lib/python2.7/test/test_io.pyttest_writes_and_reads<s cCsd}|j|dS(NcSs!|jdd|jddS(Nii(R#R(R((s(/usr/local/lib/python2.7/test/test_io.pyt_read1Cs(RF(RR((s(/usr/local/lib/python2.7/test/test_io.pyttest_writes_and_read1sBs cCsd}|j|dS(NcSs'|jdd|jtddS(Nii(R#R+R\(R((s(/usr/local/lib/python2.7/test/test_io.pyRIs(RF(RR((s(/usr/local/lib/python2.7/test/test_io.pyttest_writes_and_readintosHs cCsxddgD]}|jd}|j|d}|j|jdd|j|jd|jd||j|j|d|j|j|j|d|j}|j|dd|dd|q WdS( NiitAi itBi t AAAAAAAAAA(RvRR[R5R$RRRw(Rtoverwrite_sizeRRRJ((s(/usr/local/lib/python2.7/test/test_io.pyttest_write_after_readaheadNs   cCsd}d}xtdt|D]}xt|t|D]}|j|}|j|d}|||||jt|}d||(tid(R((s(/usr/local/lib/python2.7/test/test_io.pyt__repr__scCs"d|_d|_t|_dS(Ni(RtoR\R(R((s(/usr/local/lib/python2.7/test/test_io.pyRs  cCs6|jdA|jdA}}t|j|d|fS(Niid(RRRR(RRR((s(/usr/local/lib/python2.7/test/test_io.pytgetstatescCsO|\}}t||_t|d\}}|dA|dA|_|_dS(Nidi(R\RtdivmodRR(RtstateRRRR((s(/usr/local/lib/python2.7/test/test_io.pytsetstates cCsd}x|D]}|jdkr`|dkrM|jr]||j7}q]q|jj|q |jj|t|j|jkr ||j7}q q W|r|jr||j7}n|S(Nuiu.(RRt process_wordRR(RtinputtfinaltoutputR((s(/usr/local/lib/python2.7/test/test_io.pytdecodes   cCsd}|jdtdkrGtdt|jdp8d|_n|jdtdkrtdt|jdpyd|_n^|jjd}t||jkr|d|j7}n|jr||j }n|d 7}t|_|S( Nuiuiiciuouasciiu-u.( RtordRBtintRRRRR\(RR((s(/usr/local/lib/python2.7/test/test_io.pyRs((   cCs_|jr[|dkr[tjd}tjddd|jddddddddd |SdS( Nu test_decoderulatin-1RtencodeRtincrementalencodert streamreadert streamwritertincrementaldecoder(t codecEnabledRtlookupt CodecInfoRR&(tclsRtlatin1((s(/usr/local/lib/python2.7/test/test_io.pytlookupTestDecoder s  (R-R.R/RRRRRRpRRRt classmethodR(((s(/usr/local/lib/python2.7/test/test_io.pyRs       tStatefulIncrementalDecoderTestc BseZdZdedfdedfdedfdedfded fd ed fd ed dddddddddfgZdZRS(uB Make sure the StatefulIncrementalDecoder actually works. Rua.b.c.d.toiabcduabcd.s oi...abcd...si.o6.x.xyz.toolongtofit.ux-----.xyz---.toolon.s i.i2.o6xyzuxy----.z-----.si.o3.i6.abcdefghijklmnopu abc.ghi.mno.s;i.o29.a.b.cde.o15.abcdefghijabcdefghij.i3.a.b.c.d.ei00k.l.mua----------------------------.ub----------------------------.ucde--------------------------.uabcdefghijabcde.ua.b------------.u.c.------------.ud.e------------.uk--------------.ul--------------.um--------------.cCsx?|jD]4\}}}t}|j|j|||q Wt}|j|jdd|j|jddddS(NRuR3iuabcd.(t test_casesRR[R(RRteofRR((s(/usr/local/lib/python2.7/test/test_io.pyt test_decoderOs    (R-R.R/RpRRR(((s(/usr/local/lib/python2.7/test/test_io.pyR/s       # tTextIOWrapperTestcBseZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!d Z"d!Z#d"Z$d#Z%d$Z&d%Z'e(j)e*d&d'Z+d(Z,d)Z-d*Z.d+Z/d,Z0RS(-cCs/d|_djd|_tjtjdS(NsAAA BBB CCC DDD EEE sAAA BBB CCC DDD EEE uascii(ttestdataRt normalizedRURVRW(R((s(/usr/local/lib/python2.7/test/test_io.pyRX\s cCstjtjdS(N(RURVRW(R((s(/usr/local/lib/python2.7/test/test_io.pyRYascCs|jd}|j|d}|j|}|j|dddd|j|jd|j|jt|j|dddt|j|jd|j|jt|jd |j |j t |j|dd |j t |j|dd dS( Nsé iRulatin1Ru uutf8tline_bufferingué i*uxyzzy( RvR5t TextIOWrapperRR[RRRpRRjR]R^RO(RtrRR*((s(/usr/local/lib/python2.7/test/test_io.pyRdscCs|j}|j|}|j|}|j|j||j|dd}|jd|j|j|j|j|jd|j t |jdS(NRuasciiuhowdythowdy( RvRpRRRRRRwR[R]RO(RRRR*((s(/usr/local/lib/python2.7/test/test_io.pyRrs   cCs|jdjd}|j|}|j|dd}|jj}|jt|d|d|_|jt|d|d|_|jt|d|dS( Nuhellouutf-8Ru#<%s.TextIOWrapper encoding='utf-8'>udummyu1<%s.TextIOWrapper name=u'dummy' encoding='utf-8'>Ru0<%s.TextIOWrapper name='dummy' encoding='utf-8'>(RvRR5RR.R[RR(RRRR*tmodname((s(/usr/local/lib/python2.7/test/test_io.pyRs     cCs|j}|j|d}|j|dddt}|jd|j|jd|jd|j|jd|jd |j|jd dS( NiRu RuXR3uY ZsXY ZuA BsXY ZA B(RvRpRRRR[Rw(RRRR*((s(/usr/local/lib/python2.7/test/test_io.pyttest_line_bufferings    cCsm|j}|j|dd}|j|jd|j|}|j|jdk tj|jdS(NRuutf8(RvRR[RRR&RR(RRR*((s(/usr/local/lib/python2.7/test/test_io.pyt test_encodings  cCs|jd}|j|dd}|jt|j|jd}|j|dddd}|jt|j|jd}|j|dddd}|j|jd|jd}|j|dddd}|j|jd dS( Nsabc RuasciiRustrictuignoreuabc ureplaceuabc � (RvRR]t UnicodeErrorR5R[(RRR*((s(/usr/local/lib/python2.7/test/test_io.pyttest_encoding_errors_readingscCs,|j}|j|dd}|jt|jd|j}|j|dddd}|jt|jd|j}|j|dddddd}|jd |j|j|jd |j}|j|dddd dd}|jd |j|j|jd dS( NRuasciiuÿRustrictuignoreRu u abcÿdef sabcdef ureplacesabc?def (RvRR]RRRR[Rw(RRR*((s(/usr/local/lib/python2.7/test/test_io.pyttest_encoding_errors_writings$          c Csdddddg}ddddddggd|gd ddd dggd d d ggddddggg}d}xj|D]b}tdj|j|}x;ttfD]-}x$tddD]}x |D]\}} |j|j||} |j | d|d|} |r}g} xetry| j d} | dkrIPn|j t | d| j | | jq$Wn t| } x-t| | D]\}}|j ||qW|j t | t | qWqWqWqWdS( Nuunix u windows uos9 ulast unonluwindows uos9 uu u os9 last u uunix windows u os9 last nonlu u unix windows u os9 u last nonluutf-8ulatin-1uutf-16u utf-16-leu utf-16-beuutf-32u utf-32-leu utf-32-beii RRi(uutf-8ulatin-1uutf-16u utf-16-leu utf-16-beuutf-32u utf-32-leu utf-32-be(R&RRIRRpRRR5RvRR5R[RRRjRtzip(Rt input_linesR t encodingsRR)tdo_readsRRt exp_linesRttextiot got_linestc2tgot_linetexp_line((s(/usr/local/lib/python2.7/test/test_io.pyt test_newliness:      c Cs#d}|jddjdd}xd|jdjtfd|jdjtfddd d d d gfd dd d gfddddddgfgD]x\}}|j|}|j|ddd|}|j|j||j d|j|j dj |qWdS(NsAAA BBB CCC DDD EEE FFF GGGs s s uasciiuu uAAA uBBB u CCC DDD EEE uFFF uGGGu uAAA BBB CCC DDD EEE u u AAA BBB CCC uDDD uEEE u FFF u GGGRRi( treplaceR&RRRRvRR[R R#R5RI(RRRRRR'ttxt((s(/usr/local/lib/python2.7/test/test_io.pyttest_newlines_inputs( cCsidd6dd6dd6dd6}d|tjfgt|j}x|D]\}}|j}|j|dd d |}|jd |jd |jd |j|j |j t |j |j |qOWdS(NsAAA BBB CCC X Y Zuu sAAA BBB CCC X Y Zu sAAA BBB CCC X Y Zu RuasciiRuAAA BuBB CCC uX Y Z( R&RtlineseptsortedtitemsRvRRRR[R<RpRw(RttestdictR RRR'R((s(/usr/local/lib/python2.7/test/test_io.pyttest_newlines_outputs &     cs}g|jdffdY}|}|j|dd}|jd~tj|jdgdS(Nt MyBytesIOcseZfdZRS(cs$j|jj|dS(N(RRwR>(R(RR((s(/usr/local/lib/python2.7/test/test_io.pyR>s(R-R.R>((RR((s(/usr/local/lib/python2.7/test/test_io.pyRsRuasciiuabcR(RvRRRURR[(RRRR*((RR(s(/usr/local/lib/python2.7/test/test_io.pyRs    cspgd|jffdY|j}|dd}~tj|jdddgdS(NtMyTextIOcs>eZfdZfdZfdZRS(csBjdyt|j}Wntk r6nX|dS(Ni(RRCRR(RR (RR(s(/usr/local/lib/python2.7/test/test_io.pyR(s   cs$jdt|jdS(Ni(RRCR>(R(RR(s(/usr/local/lib/python2.7/test/test_io.pyR>0s cs$jdt|jdS(Ni(RRCR(R(RR(s(/usr/local/lib/python2.7/test/test_io.pyR3s (R-R.RR>R((RR(s(/usr/local/lib/python2.7/test/test_io.pyR'sRuasciiiii(RRvRURR[(RRR*((RRs(/usr/local/lib/python2.7/test/test_io.pyR%s"  csjfd}tjd}jt|WdQX|jj}|rjt|j dj |j d|j |j d|ndS(NcsjjdS(N(RR((RR(s(/usr/local/lib/python2.7/test/test_io.pyR @sustderriuException IOError: u ignored( R;RURR]RRwRR[RRRRR(RR RJ((RRs(/usr/local/lib/python2.7/test/test_io.pyR<s cCs(x!dD]}xdD]}|jtjdd|}||_|j|jdd|j|jtjdd|}||_|j|jd|j|jd|j}|j|j dd|j|jdd|j d|j|jdd|j|jdd|j|jdd|j|jd|j|j||j|j dd|j|j dd||j|jdd|j|j |||j|jd|j dr|j ||n|jqWqWdS(Niiiiiiiiii i!i?i@iAuasciiulatin1uutf8uw+Ruabcur+iuabucuudefuutf(iiiiiiiiii i!i?i@iA(uasciiulatin1uutf8( R RURWR R[RR>R$R5R#R&Rtmulti_line_test(Rt chunksizetencR tcookie((s(/usr/local/lib/python2.7/test/test_io.pyt test_basic_ioMs6       c Cs|jd|jd}g}xdD]w}g}x/t|D]!}|j||t|qCWdj|d}|j|j|f|j|q*W|jdg} x?tr|j} |j }|sPn| j| |fqW|j | |dS(Niu sÿ࿿￿iiiiiiii i!i>i?i@iAiuu (iiiiiiiii i!i>i?i@iAi( R#R,RRRRIR$RRRjR[( RR R tsampletwlinesRtcharsRtlinetrlinesR!((s(/usr/local/lib/python2.7/test/test_io.pyRjs(       cCs9|jtjddd}|j}|jd|j}|jd|j}|jd|j|j||j|jd|j|j||j|jd|j|j||jdx1|D])}|j|d|jt |jqW|j|j||j dS(Nuw+Ruutf8uÿ i( R RURWR$RR#R[RjR]R=R>(RR tp0tp1tp2R((s(/usr/local/lib/python2.7/test/test_io.pyt test_tellings$        c Cst}|d}d|}t|jd}|jt|t|d}t|jd}||}|jtjd}|j|d|j |jtjddd}|j |} |j| |j d|j|j ||j|j |dS( Niuauutf-8u袈 uwburRuascii(R RRR[RR RURWRR>R5RR$Rj( Rt chunk_sizet prefix_sizetu_prefixtprefixtu_suffixtsuffixRR RJ((s(/usr/local/lib/python2.7/test/test_io.pyt test_seekings      cCsud}|jtjd}|j||j|jtjddd}|jd|_|j|jdS(Ns࿿ uwburRuutf-8i(R RURWRR>R RjR$(RR)R ((s(/usr/local/lib/python2.7/test/test_io.pyttest_seeking_toos    csddfd}dt_zx$tjD]\}}}||q1WxStjD]H\}}}t|d}d|}|d}||||qXWWddt_XdS(NiicsEjtjd}|j||jjtjdd}|_|j}|jxt|t|dD]}xddt||gD]}jtjdd}j |j||| |j }j |j|||||!|j |j |j|||jqWq}WdS(uTell/seek to various points within a data stream and ensure that the decoded data returned by read() is consistent.uwbRu test_decoderiiN( R RURWRR>R R5RRR[R$R#(R)tmin_posR tdecodedRRR (t CHUNK_SIZER(s(/usr/local/lib/python2.7/test/test_io.pyttest_seek_and_tell_with_datas         $ iit.(RRRRR(RR!Rt_toffsetRR((R Rs(/usr/local/lib/python2.7/test/test_io.pyRs   cCsd}d }x|D]}|j}|j|d|}|j||j||jd |j|j|d |jd |j|j|d |j|j|d j|qWdS( Nu 1234567890uutf-16u utf-16-leu utf-16-beuutf-32u utf-32-leu utf-32-beRii(uutf-16u utf-16-leu utf-16-beuutf-32u utf-32-leu utf-32-be(RvRRR#R[R5RwR(RR)R RR'R ((s(/usr/local/lib/python2.7/test/test_io.pyttest_encoded_writess"      cCsBd|jfdY}|j|}|jt|jdS(Nt UnReadablecBseZdZRS(cSstS(N(Rp(R((s(/usr/local/lib/python2.7/test/test_io.pyRs(R-R.R(((s(/usr/local/lib/python2.7/test/test_io.pyR&s(RvRR]R=R5(RR&R((s(/usr/local/lib/python2.7/test/test_io.pyttest_unreadablescCsb|j|jd}d}x-trM|jd}|s@Pn||7}q!W|j|ddS(NsAA BBuiuAA BB(RRvRR5R[(RRtreadsR((s(/usr/local/lib/python2.7/test/test_io.pyttest_read_one_by_ones cCs|j|jd}|j|jdddg|jd|j|jddddg|jd|j|jdddgdS(NsAA BB CCuAA uBB uCCii(RRvR[R R#R&(RR((s(/usr/local/lib/python2.7/test/test_io.pyR  s  " cCsr|j|jddd}d}x-trU|jd}|sHPn||7}q)W|j|ddddS(NRis BuiuAu B(RRvRR5R[(RRR(R((s(/usr/local/lib/python2.7/test/test_io.pyttest_read_by_chunk s  cCs[dddg}|j}|j|}|j||j|j|jddS(NuabucduefRY(RvRRkRR[Rw(RR(R'R((s(/usr/local/lib/python2.7/test/test_io.pyR` s    cCsatdddg}|j}|j|}|j||j|j|jddS(NuabucduefRY(RRvRRkRR[Rw(RR(R'R((s(/usr/local/lib/python2.7/test/test_io.pyRa" s    cCsd|j|j}|jt|jdddg|jt|jd|jt|jddS(NiiiR(RRvR]R^RkR&(RR((s(/usr/local/lib/python2.7/test/test_io.pyRb* scCsn|j|j|jdd}d}x-trV|jd}|sIPn||7}q*W|j||jdS(NRuasciiui(RRvRRR5R[R(RRR(R((s(/usr/local/lib/python2.7/test/test_io.pyttest_issue1395_10 s! cCsw|j|j|jdd}d|_d}x-tr_|jd}|sRPn||7}q3W|j||jdS(NRuasciiiu(RRvRR RR5R[R(RRR(R((s(/usr/local/lib/python2.7/test/test_io.pyttest_issue1395_2< s!  cCs|j|j|jdd}d|_|jd}||jd7}||j7}||j7}||j7}|j||jdS(NRuasciii(RRvRR R5RjR[R(RRR(((s(/usr/local/lib/python2.7/test/test_io.pyttest_issue1395_3H s! cCs`|j|j|jdd}d|_|jd}||j7}|j||jdS(NRuasciii(RRvRR R5R[R(RRR(((s(/usr/local/lib/python2.7/test/test_io.pyttest_issue1395_4S s ! cCs||j|j|jdd}d|_|jd}|j}|jd|j||j|jdddS(NRuasciiiiuBBB (RRvRR R5R$R#R[(RRR(R!((s(/usr/local/lib/python2.7/test/test_io.pyttest_issue1395_5[ s!    cCsG|j|j}|j|dd}|j|j|jdS(NRuascii(RvRRR[R (RRR((s(/usr/local/lib/python2.7/test/test_io.pyttest_issue2282e sc Cstj}xd D]}|j|dd| }|jd|j}WdQX|j|d&}|j|jdj|WdQX|j|dd|}|jd WdQX|j|d&}|j|jd j|WdQXqWdS( Nu utf-8-siguutf-16uutf-32uwRuaaaurbuauxxxuaaaxxx(u utf-8-siguutf-16uutf-32(RURWR RR$R[R5R(RtfilenametcharsetR R!((s(/usr/local/lib/python2.7/test/test_io.pyttest_append_bomk s   %c Cstj}xd D]}|j|dd| }|jd|j}WdQX|j|dd|;}|j||jd|jd |jd WdQX|j|d &}|j|jd j|WdQXqWdS(Nu utf-8-siguutf-16uutf-32uwRuaaaur+uzzziubbburbubbbzzz(u utf-8-siguutf-16uutf-32( RURWR RR$R#R[R5R(RR1R2R R!((s(/usr/local/lib/python2.7/test/test_io.pyt test_seek_bomz s      cCsl|jtjd}|j|jdWdQX|jtjddd}|j|jdWdQXdS(NuwustrictRureplace(R RURWR[R(RR ((s(/usr/local/lib/python2.7/test/test_io.pyttest_errors_property su!Threading required for this test.c s%tj|jtjdddfdgtdD]$}tjd|fd^qI}x|D]}|jqzWtj dj x|D]}|j qWWdQX|jtjGj }x1tdD]#}|j |jd |dqWWdQXdS( NuwRoics%d|}jj|dS(Nu Thread%03d (twaitR(R*ttext(teventR (s(/usr/local/lib/python2.7/test/test_io.pytrun s  iRcs |S(N((R*(R9(s(/usr/local/lib/python2.7/test/test_io.pyRG sg{Gz?u Thread%03d (R"tEventR RURWRR#R$R%R&tsetRIR5R[R(RRaR)R*tcontentR*((R8R R9s(/usr/local/lib/python2.7/test/test_io.pyttest_threads_write s 4     cCsZ|j|j|jdd}d}||_|jt|j|j|jdS(NRuasciicSs tdS(N(R=(((s(/usr/local/lib/python2.7/test/test_io.pyR s( RRvRRR]R=R>RR<(RRR((s(/usr/local/lib/python2.7/test/test_io.pyR s !  cCsV|j|j|jdd}|j|j|j|jt|jdS(NRuascii(RRvRR>R]ROR(RR((s(/usr/local/lib/python2.7/test/test_io.pyR s !   cCs\|j|j|jdd}|j|j}|jttf||_WdQXdS(NRuascii(RRvRR]RR^R(RRR'((s(/usr/local/lib/python2.7/test/test_io.pyR s!csdjffdY}djffdY}j|d}jt|jdWdQXj|d}jt|jWdQXj|d}j|jddS(NtNonbytesStreamcseZjjZRS((R-R.tStringIOR5R((R(s(/usr/local/lib/python2.7/test/test_io.pyR> scseZjjZRS((R-R.R?R5R((R(s(/usr/local/lib/python2.7/test/test_io.pyR> suai(R?Rt maybeRaisesR^R5RjR[(RR>R*((Rs(/usr/local/lib/python2.7/test/test_io.pyttest_read_nonbytes scCs|j|jddddd}|jt|jdWdQX|j|jddddd}|jt|jWdQX|j|jddddd}|jt|jWdQXdS(NtaaaaaaRu Ru quopri_codeci(RRvR@R^R5Rj(RR*((s(/usr/local/lib/python2.7/test/test_io.pyttest_illegal_decoder s   (1R-R.RXRYRRRRRRRRRRRRRR RRRRRR%R'R)R R*R`RaRbR+R,R-R.R/R0R3R4R5RR.R"R=RRRRARC(((s(/usr/local/lib/python2.7/test/test_io.pyRZsX       *          /              tCTextIOWrapperTestcBs/eZdZdZdZejjZRS(cCs|jd}|j|d}|j|}|jt|j|dd|jt|j|jt|j|dd|jt|jdS(Nsé iRi*uxyzzy(RvR5RR]R^RROR5(RRRR*((s(/usr/local/lib/python2.7/test/test_io.pyR2 scCstjtjd}|j|}|j|dd}|jd||_tj |}~tj |j |dk||j tjd}|j|jdWdQXdS(NuwbRuasciiu456defurbt456def(RRRURWRpRRRaRRRRR&R R[R5(RRRR*RR ((s(/usr/local/lib/python2.7/test/test_io.pyR s   cCsxtdD]~}|j|j|j}|j|dd}|j|j|j}|j|dd}||_||_q WtjdS(NiRuascii(RRR2RtbuddyRUR(RRtb1tt1tb2tt2((s(/usr/local/lib/python2.7/test/test_io.pyt!test_rwpair_cleared_before_textio s  ( R-R.R2RRKRtTestCaseR]R@(((s(/usr/local/lib/python2.7/test/test_io.pyRD s  tPyTextIOWrapperTestcBseZejdZRS(cos dVdS(N((RRtkwds((s(/usr/local/lib/python2.7/test/test_io.pyR@ s(R-R.t contextlibtcontextmanagerR@(((s(/usr/local/lib/python2.7/test/test_io.pyRM stIncrementalNewlineDecoderTestcBs,eZdZdZdZdZRS(cssfd}|dd|dd|dd|dd|dd|dd|dd|ddjtjdd tj|d d |d d|dd d t|d d d t|d d|d d|dd|d d|d d |dd|dd|dd|d d |dd|d d dS(NcsUj}jj|||j|jj|||dS(N(RR[RR(RRJtkwargsR(tdecoderR(s(/usr/local/lib/python2.7/test/test_io.pyt _check_decode s  s袈u袈sussR3Rs u s Ru as u s as袈 u袈 s袈 (R]tUnicodeDecodeErrorRRR(RRSRT((RSRs(/usr/local/lib/python2.7/test/test_io.pytcheck_newline_decoding_utf8 s4                     csfg|dk r<tj|fd}ndfd}|jjd|d|jjd|d|jjd |d|jjd |d|jjd|d|jd jd jd}dk r6jj|}n|jj|d|jjddS(Ncs4x-j|D]}jj|qWdS(N(RRR(RJR(RStencodertresult(s(/usr/local/lib/python2.7/test/test_io.pyt_decode_bytewise= scs+x$|D]}jj|qWdS(N(RR(RJR(RSRX(s(/usr/local/lib/python2.7/test/test_io.pyRYC s uabc u u abcu uabc uabcu uuabc abcabc abcabc(u u (u u (u u u ( R&RtgetincrementalencoderR[tnewlinesRIRRR(RRSRRYR((RSRWRXs(/usr/local/lib/python2.7/test/test_io.pytcheck_newline_decoding9 s0         c Csd }xK|D]C}|o(tj|}|j|d t}|j||q Wtjd}|j|d t}|j|dS( Nuutf-8ulatin-1uutf-16u utf-16-leu utf-16-beuutf-32u utf-32-leu utf-32-bet translate( Nuutf-8ulatin-1uutf-16u utf-16-leu utf-16-beuutf-32u utf-32-leu utf-32-be(R&RtgetincrementaldecodertIncrementalNewlineDecoderRR\RV(RRR RS((s(/usr/local/lib/python2.7/test/test_io.pyttest_newline_decoderZ s csQfd}jddt}||jddt}||dS(Ncsoj|jdj|jddj|jdj|jddj|jddS(Nuഀu਀(R[R[R&R(tdec(R(s(/usr/local/lib/python2.7/test/test_io.pyt_checkl s R](R_R&RpR(RRbRa((Rs(/usr/local/lib/python2.7/test/test_io.pyttest_newline_bytesj s  (R-R.RVR\R`Rc(((s(/usr/local/lib/python2.7/test/test_io.pyRQ s * ! tCIncrementalNewlineDecoderTestcBseZRS((R-R.(((s(/usr/local/lib/python2.7/test/test_io.pyRdw stPyIncrementalNewlineDecoderTestcBseZRS((R-R.(((s(/usr/local/lib/python2.7/test/test_io.pyRez st MiscIOTestcBseZdZdZdZdZdZdZdZdZ dZ e j e d d Ze j e d d Zd Zd ZRS(cCstjtjdS(N(RURVRW(R((s(/usr/local/lib/python2.7/test/test_io.pyRY scCsx|jjD]}t|j|d}|j|dk ||dkrPq q d|jksn|dkr|jt|t|q |jds |jt||j q q WdS(NuopenuerroruUnsupportedOperationuSEEK_( Rt__all__tgetattrR&Rtlowert issubclassRRR(RRR((s(/usr/local/lib/python2.7/test/test_io.pyt test___all__ s cCs|jtjddd}|j|jd|j|jtjd}|j|jtj|j|jjtj|j|jjjtj|j|jd|j|jjd|j|jjjd|j|jtjd}|j|jd|j|jjd|j|jjjd|j|j ddt }|j|jd|j|jjd|j|j|j |j|jj|j |j|jdS( NuwbRoiuUurbuw+urb+R( R RURWR[RlR>RRRRRp(RR R((s(/usr/local/lib/python2.7/test/test_io.pyttest_attributes s,   cCsxidd6idd6idd6dd6idd6dd6idd6dd6idd6id d6idd6dd6idd6dd6id d6dd6id d6id d6id d6dd6id d6dd6id d6dd6gD]}|jtj|}|j|jt|j|jt|j|jt|j|jt|j t |d ru|jt|j dn|jt|j t |d r|jt|j dnt |dr|jt|jnt |dr|jt|jtdn|jt|j|jt|j|jt|jd|jt|j|jt|j|jt|jd|dkrdnd|jt|jg|jtt|qWdS(Nuwumodeuwbiu bufferingiiururbuw+uw+bupeekuread1iureadallureadintoubR3u(R RURWR>R]RORRRt__iter__thasattrRR5RRR+R\RjR R#R$R,RRkRC(RRRR ((s(/usr/local/lib/python2.7/test/test_io.pyttest_io_after_close sP       cCs |jt|j|jt|jd|jt|jdddd|jt|jddd|jdd}|j|jddtfdY}|d}|jd|}||_||_t j |}~~t j |j |dk|dS( NiiiiuitCcBseZRS((R-R.(((s(/usr/local/lib/python2.7/test/test_io.pyRp s(R]R^RQR&R[RVtunicodeRRRRRURR(RRRpRR((s(/usr/local/lib/python2.7/test/test_io.pyttest_blockingioerror s    cCs\|j|jtj|j|jtj|j|jtj|j|jtjdS(N(tassertIsInstanceRRtABCMetaRRR(R((s(/usr/local/lib/python2.7/test/test_io.pyt test_abcs sc CsH|jtjdddS}|j||j|j||j|j||j|j||jWdQX|jtjdS}|j||j|j||j|j||j|j||jWdQX|jtjdS}|j||j|j||j|j||j|j||jWdQXdS(NuwbRoiuw( R RURWRsRRtassertNotIsInstanceRR(Rt abcmoduleR ((s(/usr/local/lib/python2.7/test/test_io.pyt_check_abc_inheritance scCs|j|dS(N(Rx(R((s(/usr/local/lib/python2.7/test/test_io.pyttest_abc_inheritance scCs|jtdS(N(RxR(R((s(/usr/local/lib/python2.7/test/test_io.pyttest_abc_inheritance_official sufcntl required for this testcCs|jddS(Niii@(t_test_nonblock_pipe_write(R((s(/usr/local/lib/python2.7/test/test_io.pyttest_nonblock_pipe_write_bigbuf scCs|jddS(Ni(R{(R((s(/usr/local/lib/python2.7/test/test_io.pyt!test_nonblock_pipe_write_smallbuf scCsXtj|tj}|j|dtj|tj|tjB}|j|ddS(Nii(tfcntltF_GETFLtassertNotEqualtF_SETFLRt O_NONBLOCKR[(RtfdtflagsRD((s(/usr/local/lib/python2.7/test/test_io.pyt_set_non_blocking sc CsWg}g}tj\}}|j||j||j|dddtd|}|j|dddtd|}||rxdD]}yVd } xItrt| d d g|} |j| |j| | d 7} qWWq|jk re} |j | j d t j |d | j |d <|j|jd} |j| |j| qXqWxrtry|jPWqm|jk r} |j | j d t j |j | j d |j|jqmXqmW|t|jd7}WdQXWdQXdj|dj|}}|j||k|j|j|j|jdS(NRlurbRRouwbi'iIiiiiaiitBLOCKEDR3(i'iIi(RtpipeRR RRRRRQR[RterrnotEAGAINRVR5RtiterR&RIRR<( RRtsenttreceivedRR{trftwfR'RtmsgR((s(/usr/local/lib/python2.7/test/test_io.pyR{ sJ  !!       "(R-R.RYRkRlRoRrRuRxRyRzRR.R~R|R}RR{(((s(/usr/local/lib/python2.7/test/test_io.pyRf s   +      t CMiscIOTestcBseZeZRS((R-R.R(((s(/usr/local/lib/python2.7/test/test_io.pyRH st PyMiscIOTestcBseZeZRS((R-R.RSR(((s(/usr/local/lib/python2.7/test/test_io.pyRK suntu%POSIX signals required for this test.t SignalsTestcBseZdZdZdZejedeje j dkddZ d Z d Z d Zd Zd ZdZdZdZdZejeddZdZdZRS(cCstjtj|j|_dS(N(tsignaltSIGALRMtalarm_interrupttoldalrm(R((s(/usr/local/lib/python2.7/test/test_io.pyRXR scCstjtj|jdS(N(RRR(R((s(/usr/local/lib/python2.7/test/test_io.pyRYU scCs dddS(Nii((Rtsigtframe((s(/usr/local/lib/python2.7/test/test_io.pyRX su!Threading required for this test.ufreebsd5ufreebsd6ufreebsd7u'issue #12429: skip test on FreeBSD <= 7c  sEgfd}tjd|}t|_tj\}z|jj||}|jt j d|j t |j |tjt|d|jjtjd|j|dd!|dd!gWdtj|tjy|jWn+tk r?}|jtjkr@q@nXXdS(uCheck that a partial write, when it gets interrupted, properly invokes the signal handler, and bubbles up the exception raised in the latter.cs#tjd}j|dS(Ni(RR5R(RJ(Rt read_results(s(/usr/local/lib/python2.7/test/test_io.pyRc sRiiiN(R"R#RtdaemonRRRR R$RtalarmR]R}RRUt PIPE_MAX_SIZERRIRR5R[R>R=RtEBADF( RtitemRt fdopen_kwargsRR*R{twioR((RRs(/usr/local/lib/python2.7/test/test_io.pytcheck_interrupted_write[ s*    " (  cCs |jdddddddS(NRsRluwbRoi(R(R((s(/usr/local/lib/python2.7/test/test_io.pyt!test_interrupted_write_unbuffered scCs|jdddddS(NRsRluwb(R(R((s(/usr/local/lib/python2.7/test/test_io.pyttest_interrupted_write_buffered scCs |jdddddddS(NuxyRsRluwRuascii(R(R((s(/usr/local/lib/python2.7/test/test_io.pyttest_interrupted_write_text sc  s(fd}tjtj|tj\}}|jj||ztjd|jtt fU}xKx+t dD]}j j qWtj |tdqwWdQX|j}t|t r|jt|jdt|nWdjtj|XdS(NcsjdddS(Nii(R(R(R)R(s(/usr/local/lib/python2.7/test/test_io.pyton_alarm s iidureentrant call(RRRRRR RR]R}t RuntimeErrorRRRR5RRt isinstanceRtstrRR>( RR)RRRR{tcmRtexc((R)Rs(/usr/local/lib/python2.7/test/test_io.pytcheck_reentrant_write s"  # , cCs|jddddS(NRsRluwb(R(R((s(/usr/local/lib/python2.7/test/test_io.pyttest_reentrant_write_buffered scCs|jddddddS(NuxyRluwRuascii(R(R((s(/usr/local/lib/python2.7/test/test_io.pyttest_reentrant_write_text sc stj\}t|d<fd}tjtj|zU|jj||}tjdtjd|j ||j ddWd|j tj tj |XdS(uCheck that a buffered read, when it gets interrupted (either returning a partial result or EINTR), properly invokes the signal handler and retries if the latter returned successfully.uclosefdcstjddS(Ntbar(RR(RR(R{(s(/usr/local/lib/python2.7/test/test_io.pyt alarm_handler stfooiiufoobarN( RRRpRRRR RRR[R5R>(RRRRRtrio((R{s(/usr/local/lib/python2.7/test/test_io.pytcheck_interrupted_read_retry s  #  cCs|jddddS(NcSs |jdS(Nulatin1(R(Ra((s(/usr/local/lib/python2.7/test/test_io.pyRG sRlurb(R(R((s(/usr/local/lib/python2.7/test/test_io.pyt%test_interrupterd_read_retry_buffered scCs|jddddS(NcSs|S(N((Ra((s(/usr/local/lib/python2.7/test/test_io.pyRG sRlur(R(R((s(/usr/local/lib/python2.7/test/test_io.pyt!test_interrupterd_read_retry_text sc  stjdtj}tj\}t|d sN(RUt import_moduleRRRRpR"R#RRRRRR RR[RRRItsumR>R=RR( RRRR'R{RRRR((RRRRR*Rs(/usr/local/lib/python2.7/test/test_io.pytcheck_interrupted_write_retry s8      $  cCs|jddddS(NRaRluwb(R(R((s(/usr/local/lib/python2.7/test/test_io.pyt&test_interrupterd_write_retry_buffered scCs|jddddddS(NuxRluwRulatin1(R(R((s(/usr/local/lib/python2.7/test/test_io.pyt"test_interrupterd_write_retry_text s(ufreebsd5ufreebsd6ufreebsd7(R-R.RXRYRRR.R"tskipIfRyRzRRRRRRRRRRRRR(((s(/usr/local/lib/python2.7/test/test_io.pyRO s$   )         7 t CSignalsTestcBseZeZRS((R-R.R(((s(/usr/local/lib/python2.7/test/test_io.pyR st PySignalsTestcBseZeZdZdZRS(N(R-R.RSRR&RR(((s(/usr/local/lib/python2.7/test/test_io.pyR scstttttttttt t t t t tttttf}ttttttf}tjdg}td|D}td|D}t|jfd|D|jfd|Dtj|d* scss$|]}|tt|fVqdS(N(RhRS(RR((s(/usr/local/lib/python2.7/test/test_io.pys + sc3s)|]}|jd|jfVqdS(uCN(R-(RRa(tglobs(s(/usr/local/lib/python2.7/test/test_io.pys - sc3s)|]}|jd|jfVqdS(uPyN(R-(RRa(R(s(/usr/local/lib/python2.7/test/test_io.pys . suopenuCuPy(&RRR0R6RmRqRRRRRRdReRDRMRRRRR2R8RAR;RGRRRgtdicttglobalstupdateRSt OpenWrapperR-RRtsetattrRUt run_unittest(R tmockst all_memberstc_io_nstpy_io_nsttestRR((Rs(/usr/local/lib/python2.7/test/test_io.pyt test_main s6      u__main__(aR/t __future__RRRRyR%RRRRRRRRt itertoolsRRt collectionsRRRRRURORRt_pyioRSR"t ImportErrorR&R~ttypet __metaclass__t py3k_bytesRR RRR0R1R2R6R7R8R9R:R;R?R@RARvRERFRGRPRRRLRTRRRRRR0R6R7RmRqRrRRRRRRRtregisterRRRRDRMRQRdReRfRRRRRRRRR-(((s(/usr/local/lib/python2.7/test/test_io.pyts                     8 ,o/, W+,j #