mò
­fIc           @   sF  d  k  Z  d  k Z d k l Z d k l Z d k l Z l Z l Z d k	 l	 Z	 e
 e d ƒ Z e e ƒ Z e i d ƒ e e i ƒ  e i ƒ  ƒ e i ƒ  d  Z y e i ƒ  Wn e j
 o n Xe d ƒ ‚ e
 e d ƒ Z e i Z e i e i e i e e _ xH d= D]@ Z y e e e d ƒ Wn e j
 o qXe d e ƒ ‚ qWe i ƒ  e	 d d g ƒ Z e e d ƒ Z e i e ƒ e i ƒ  e e d ƒ Z e i ƒ  Z e i ƒ  e e d j ƒ e d d d ƒ Z e e d ƒ Z e i e ƒ Z  e i ƒ  e e e i! ƒ  e   j ƒ e e d ƒ Z y e i d d d g ƒ Wn e j
 o n Xd GHe i ƒ  e e d ƒ Z e	 d d d g ƒ Z y e i e ƒ Wn e j
 o n Xd GHe i ƒ  d f  d „  ƒ  YZ" e e d ƒ Z y e i e" ƒ  e" ƒ  g ƒ Wn e j
 o n Xd GHe i ƒ  d Z# y e e e# ƒ Wno e$ j
 oc Z% e% d d j oI e& e% ƒ Z' e' i( e ƒ d j p e' i( e# ƒ d j o d e' GHq°q¾n Xd  e# GHe e ƒ Z e i e j o e d! e ‚ n e i) ƒ  o e d" ‚ n e i o e d# ‚ n y e i d$ ƒ Wn e j
 o n Xe d% ‚ e i ƒ  e i p e d& ‚ n xÎ d> D]Æ Z' yu e e d e' ƒ Z e i e& e' ƒ ƒ e i ƒ  e i ƒ  e e d( e' ƒ Z e* e i ƒ  ƒ Z+ e i ƒ  e i ƒ  Wn. e$ j
 o" Z% e d) e' e& e% ƒ f ‚ n Xe+ e' j o e d* ‚ qtqtWd+ d, d- d. d/ d0 d1 d2 d3 d4 d5 d6 d7 d8 g Z, e  i- i. d9 ƒ o e, i/ d5 ƒ n xK e, D]C Z0 e1 e e0 ƒ Z2 y e2 ƒ  Wn e3 j
 o q™Xe d: e0 ‚ q™Wy e i g  ƒ Wn e3 j
 o n Xe d; ‚ e i4 e ƒ d< „  Z5 z e5 ƒ  Wd  e i4 e ƒ Xd  S(?   N(   s   array(   s   proxy(   s   verifys   TESTFNs
   TestFailed(   s   UserListt   wt
   teststrings-   file proxy still exists when the file is gonet   namet   modet   closedt   oopss'   expected TypeError setting file attr %rt   1t   2t   wbt   rbt   12t   ct   xi
   i   i   i   s(   writelines accepted sequence of integerst	   NonStringc           B   s   t  Z RS(   N(   t   __name__t
   __module__(    (    (    t+   /mit/python/lib/python2.4/test/test_file.pyR   R   s    s2   writelines accepted sequence of non-string objectst   qwertyi    iÿÿÿÿs&   bad error message for invalid mode: %ss   no error for invalid mode: %ss   file.name should be "%s"s   file.isatty() should be falses   file.closed should be falset    s*   file.readinto("") should raise a TypeErrors   file.closed should be truei   t   rs    error setting buffer size %d: %ss%   readback failure using buffer size %dt   filenot   flusht   isattyt   nextt   readt   readintot   readlinet	   readlinest   seekt   tellt   truncatet   writet
   xreadlinest   __iter__t   atheoss4   file.%s() on a closed file should raise a ValueErrors>   file.writelines([]) on a closed file should raise a ValueErrorc          C   s
  t  t d ƒ }  |  i d ƒ |  i ƒ  t  t d ƒ }  |  i d ƒ } | d j o t d | ƒ ‚ n |  i ƒ  d j o t d |  i ƒ  ƒ ‚ n |  i	 ƒ  |  i ƒ  d j o t d |  i ƒ  ƒ ‚ n |  i ƒ  t
 i i t ƒ } | d j o t d	 | ƒ ‚ n d  S(
   NR   t   12345678901s   rb+i   t   12345s(   Read on file opened for update failed %rs   File pos after read wrong %ds!   File pos after ftruncate wrong %ds"   File size after ftruncate wrong %d(   t   filet   TESTFNt   fR   t   closeR   t   datat
   TestFailedR   R   t   ost   patht   getsizet   size(   R'   R)   R.   (    (    R   t	   bug801631¨   s     


(   s   names   modes   closed(   iÿÿÿÿi    i   i   (6   t   sysR+   t   arrayt   weakreft   proxyt   test.test_supportt   verifyR&   R*   t   UserListR%   R'   t   pR   R   R(   t   Nonet   ReferenceErrort	   softspaceR   R   R   t   attrt   setattrt	   TypeErrort   lt   opent
   writelinesR   t   buft   aR   t   nt   tostringR   t   bad_modet   IOErrort   msgt   strt   st   findR   t   intt   dt   methodst   platformt
   startswitht   removet
   methodnamet   getattrt   methodt
   ValueErrort   unlinkR/   (   R:   RE   R   R/   R1   RM   R5   R6   RG   R*   RS   R0   R3   RA   R&   RL   RB   RQ   R;   R'   R>   RC   R7   RI   R+   (    (    R   t   ?   sþ   		
		 






,	
	

 


0 		 