m
fIc           @   s  d  k  l Z d k l Z d k Z d k l Z d k Z d k Z d k	 Z	 d k
 Z
 d k
 l Z l Z l Z e	 i d j Z d e i f d	     YZ d
 e f d     YZ d e f d     YZ d e f d     YZ d e f d     YZ d   Z e d j o e   n d S(   (   s   test_support(   s   TESTFNN(   s   StringIO(   s   BZ2Files   BZ2Compressors   BZ2Decompressort   win32t   os2emxt   riscost   BaseTestc           B   s=   t  Z d  Z d Z d Z d Z e o d   Z n
 d   Z RS(   s   Base for other testcases.s  root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:
daemon:x:2:2:daemon:/sbin:
adm:x:3:4:adm:/var/adm:
lp:x:4:7:lp:/var/spool/lpd:
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:
news:x:9:13:news:/var/spool/news:
uucp:x:10:14:uucp:/var/spool/uucp:
operator:x:11:0:operator:/root:
games:x:12:100:games:/usr/games:
gopher:x:13:30:gopher:/usr/lib/gopher-data:
ftp:x:14:50:FTP User:/var/ftp:/bin/bash
nobody:x:65534:65534:Nobody:/home:
postfix:x:100:101:postfix:/var/spool/postfix:
niemeyer:x:500:500::/home/niemeyer:/bin/bash
postgres:x:101:102:PostgreSQL Server:/var/lib/pgsql:/bin/bash
mysql:x:102:103:MySQL server:/var/lib/mysql:/bin/bash
www:x:103:104::/var/www:/bin/false
s  BZh91AY&SY.N >_ @n ?0 F#&FЦMQ4hh$i44S<QHՇI/E pu]ɻDL
Q	1ߠ2O97dIJL#/#CWMXa<etL˄.`n}lh	E,ZVH>9gd6
Պ.Kvxwߡ|/";ձ#Aoy\O煚f82"%>V,z⟣"E)I^rU26U0^DFݸankR3]f"6l$j@l1..klsEknQ%yvz̹zn7.G]B@!8`s  BZh91AY&SYzN H߀ @n ?@`*=ML@I!Ȉjdi@@  h2De	虉h G(?	ϵE ps^ݢ&(u0%'ĉ!UIFU%C4!DIN8WAr%?3;I45AыT<l_0xYr@y@$)`Ήzs.iW-+t'dBx.[.N`ʇ!"R/mfa80>Ǎ\"yBglk"ԉ*m6jj';.IJ舌U+t3
3r2(rMD65؈Ӥ2\//k&+tar5"w]i[R IT;Zdk4	Ӂz:^`ܑN$+Ӏc         C   sx   t  i d d d } | i i |  | i i   | i i   } | i i   | i
   d j o t i |  } n | S(   Nt   bunzip2t   capturestderri   i    (   t   popen2t   Popen3t   popt   tochildt   writet   datat   closet	   fromchildt   readt   rett   waitt   bz2t
   decompress(   t   selfR   R   R   (    (    t*   /mit/python/lib/python2.4/test/test_bz2.pyR      s    c         C   s   t  i |  S(   N(   R   R   R   (   R   R   (    (    R   R   $   s    (   t   __name__t
   __module__t   __doc__t   TEXTt   DATAt	   DATA_CRLFt   has_cmdline_bunzip2R   (    (    (    R   R      s    t   BZ2FileTestc           B   s   t  Z d  Z d   Z d   Z d d  Z d   Z d   Z d   Z d   Z	 d	   Z
 d
   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z RS(   s(   Test BZ2File type miscellaneous methods.c         C   s   t  |  _ d  S(   N(   t   TESTFNR   t   filename(   R   (    (    R   t   setUp*   s    c         C   s.   t  i i |  i  o t  i |  i  n d  S(   N(   t   ost   patht   isfileR   R   t   unlink(   R   (    (    R   t   tearDown-   s    i    c         C   sJ   t  |  i d  } | o |  i } n
 |  i } | i |  | i	   d  S(   Nt   wb(
   t   openR   R   t   ft   crlfR   R   R   R
   R   (   R   R(   R   R'   (    (    R   t   createTempFile1   s    	c         C   sV   |  i   t |  i  } |  i t | i d   |  i	 | i   |  i
  | i   d  S(   N(   R   R)   t   BZ2FileR   t   bz2ft   assertRaisest	   TypeErrorR   t   Nonet   assertEqualR   R   (   R   R+   (    (    R   t   testRead:   s
    
c         C   sj   |  i   t |  i  } d } x* | i d  } | p Pn | | 7} q" W|  i | |  | i	   d  S(   Nt    i   i
   (
   R   R)   R*   R   R+   t   textR   t   strR/   R   (   R   R+   R2   R3   (    (    R   t   testReadChunk10B   s    
  c         C   sG   |  i   t |  i  } |  i | i d  |  i d   | i   d  S(   Nid   (	   R   R)   R*   R   R+   R/   R   R   R   (   R   R+   (    (    R   t   testRead100O   s    
 c         C   sy   |  i   t |  i  } |  i t | i d   t	 |  i
  } x* | i   D] } |  i | i   |  qK W| i   d  S(   N(   R   R)   R*   R   R+   R,   R-   t   readlineR.   t   StringIOR   t   siot	   readlinest   lineR/   R   (   R   R+   R:   R8   (    (    R   t   testReadLineV   s    
 c         C   sh   |  i   t |  i  } |  i t | i d   t	 |  i
  } |  i | i   | i    | i   d  S(   N(   R   R)   R*   R   R+   R,   R-   R9   R.   R7   R   R8   R/   R   (   R   R+   R8   (    (    R   t   testReadLines`   s    
c         C   sX   |  i   t |  i  } t |  i  } |  i t	 t
 |   | i    | i   d  S(   N(   R   R)   R*   R   R+   R7   R   R8   R/   t   listt   iterR9   R   (   R   R+   R8   (    (    R   t   testIteratori   s
    
"c         C   sX   |  i   t |  i  } t |  i  } |  i t	 | i
    | i    | i   d  S(   N(   R   R)   R*   R   R+   R7   R   R8   R/   R=   t
   xreadlinesR9   R   (   R   R+   R8   (    (    R   t   testXReadLinesq   s
    
"c         C   sV   |  i   t |  i d  } |  i | i   |  i  |  i | i d  | i	   d  S(   Nt   rUs   
(
   R   R)   R*   R   R+   R/   R   R   t   newlinesR   (   R   R+   (    (    R   t   testUniversalNewlinesLFy   s
    
c         C   s\   |  i d d  t |  i d  } |  i | i   |  i  |  i | i d  | i	   d  S(   NR(   i   RB   s   
(
   R   R)   R*   R   R+   R/   R   R   RC   R   (   R   R+   (    (    R   t   testUniversalNewlinesCRLF   s
    c         C   s   t  |  i d  } |  i t | i  | i |  i  | i   t	 |  i d  } |  i |  i | i    |  i  | i   d  S(   Nt   wt   rb(   R*   R   R   R+   R,   R-   R
   R   R   R&   R'   R/   R   R   (   R   R'   R+   (    (    R   t	   testWrite   s    
"c         C   s   t  |  i d  } d } xD |  i | d | d d !} | p Pn | i |  | d 7} q W| i   t	 |  i d  } |  i |  i | i    |  i  | i   d  S(   NRF   i    i   i
   RG   (   R*   R   R   R+   t   nR   R3   R
   R   R&   R'   R/   R   R   (   R   R'   RI   R+   R3   (    (    R   t   testWriteChunks10   s      
"c         C   s   t  |  i d  } |  i t | i  t |  i  } | i | i
    | i   |  i t | i d g  t |  i d  } |  i |  i | i    |  i  | i   d  S(   NRF   t   aRG   (   R*   R   R   R+   R,   R-   t
   writelinesR7   R   R8   R9   R   t
   ValueErrorR&   R'   R/   R   R   (   R   R'   R+   R8   (    (    R   t   testWriteLines   s    
"c         C   sn   t  |  i d  } | i d  | i   t  |  i d  } |  i t | i d  |  i t | i d g  d  S(   NRF   t   abct   rRK   (	   R*   R   R   R+   R
   R   R,   t   IOErrorRL   (   R   R+   (    (    R   t   testWriteMethodsOnReadOnlyFile   s    
c         C   sd   |  i   t |  i  } |  i t | i  | i d  |  i | i	   |  i
 d  | i   d  S(   Ni   (   R   R)   R*   R   R+   R,   R-   t   seekR/   R   R   R   (   R   R+   (    (    R   t   testSeekForward   s    
c         C   se   |  i   t |  i  } | i d  | i d d  |  i | i   |  i d d  | i	   d  S(   Ni  iji   i   (
   R   R)   R*   R   R+   R   RS   R/   R   R   (   R   R+   (    (    R   t   testSeekBackwards   s    
!c         C   sa   |  i   t |  i  } | i d d  |  i | i   |  i t	 |  i  d  | i
   d  S(   Niji   i   (   R   R)   R*   R   R+   RS   R/   R   R   t   lenR   (   R   R+   (    (    R   t   testSeekBackwardsFromEnd   s
    
*c         C   si   |  i   t |  i  } | i d  |  i | i   t |  i	   |  i | i
   d  | i   d  S(   NiI R1   (   R   R)   R*   R   R+   RS   R/   t   tellRV   R   R   R   (   R   R+   (    (    R   t   testSeekPostEnd   s    
c         C   sv   |  i   t |  i  } | i d  | i d  |  i | i   t |  i	   |  i | i
   d  | i   d  S(   NiI R1   (   R   R)   R*   R   R+   RS   R/   RX   RV   R   R   R   (   R   R+   (    (    R   t   testSeekPostEndTwice   s    
c         C   sc   |  i   t |  i  } | i d  |  i | i   d  |  i | i   |  i	  | i
   d  S(   Niji    (   R   R)   R*   R   R+   RS   R/   RX   R   R   R   (   R   R+   (    (    R   t   testSeekPreStart   s    
c         C   s7   |  i   x& t d  D] } t |  i  } ~ q Wd  S(   Ni'  (   R   R)   t   xranget   iR*   R   t   o(   R   R]   R^   (    (    R   t   testOpenDel   s
    
 c         C   s   |  i t t d  d  S(   Ns   /non/existent(   R   R,   RQ   R*   (   R   (    (    R   t   testOpenNonexistent   s    c         C   sr   |  i   t |  i d  } | i   t |  i  } | i d d  |  i	 | i
   t |  i   | i   d  S(   Nt   Ui    i   (   R   R)   R*   R   R+   R   t   fileR'   RS   R/   RX   RV   R   (   R   R'   R+   (    (    R   t	   testModeU   s    

c         C   s   d } t |  i d  } | i |  | i   t |  i  } | i	   } | i   |  i | d g  t |  i  } t | i    } | i   |  i | d g  d  S(   Ns,   BZh91AY&SYb]        !h3M<]BCe%tR%   t   Test(   R   R&   R   R   R'   R
   R   R*   R+   R9   t   linesR/   R=   R@   t   xlines(   R   R'   R   Rf   Re   R+   (    (    R   t   testBug1191043  s    


(   R   R   R   R   R$   R)   R0   R4   R5   R;   R<   R?   RA   RD   RE   RH   RJ   RN   RR   RT   RU   RW   RY   RZ   R[   R_   R`   Rc   Rg   (    (    (    R   R   '   s6    							
							
												
					
t   BZ2CompressorTestc           B   s   t  Z d   Z d   Z RS(   Nc         C   s^   t    } |  i t | i  | i |  i  } | | i   7} |  i	 |  i
 |  |  i  d  S(   N(   t   BZ2Compressort   bz2cR   R,   R-   t   compressR   R   t   flushR/   R   (   R   R   Rj   (    (    R   t   testCompress  s
    	c         C   s   t    } d } d } xJ |  i | d | d d !} | p Pn | | i |  7} | d 7} q W| | i   7} |  i	 |  i
 |  |  i  d  S(   Ni    R1   i   i
   (   Ri   Rj   RI   R   R   R   R3   Rk   Rl   R/   R   (   R   RI   Rj   R3   R   (    (    R   t   testCompressChunks10  s    	  (   R   R   Rm   Rn   (    (    (    R   Rh     s   	t   BZ2DecompressorTestc           B   s5   t  Z d   Z d   Z d   Z d   Z d   Z RS(   Nc         C   s   |  i t t d  d  S(   Ni*   (   R   R,   R-   t   BZ2Decompressor(   R   (    (    R   t   test_Constructor+  s    c         C   sE   t    } |  i t | i  | i |  i  } |  i | |  i	  d  S(   N(
   Rp   t   bz2dR   R,   R-   R   R   R2   R/   R   (   R   R2   Rr   (    (    R   t   testDecompress.  s    	c         C   sy   t    } d } d } xJ |  i | d | d d !} | p Pn | | i |  7} | d 7} q W|  i | |  i	  d  S(   NR1   i    i   i
   (
   Rp   Rr   R2   RI   R   R   R3   R   R/   R   (   R   R2   RI   Rr   R3   (    (    R   t   testDecompressChunks105  s    	  c         C   sO   t    } d } | i |  i |  } |  i | |  i  |  i | i |  d  S(   Ns   this is unused data(	   Rp   Rr   t   unused_dataR   R   R   R2   R/   R   (   R   R2   Rr   Ru   (    (    R   t   testDecompressUnusedDataB  s
    	c         C   s5   t    } | i |  i  } |  i t | i d  d  S(   Nt   anything(   Rp   Rr   R   R   R   R2   R,   t   EOFError(   R   R2   Rr   (    (    R   t   testEOFErrorJ  s    	(   R   R   Rq   Rs   Rt   Rv   Ry   (    (    (    R   Ro   *  s
   				t   FuncTestc           B   s2   t  Z d  Z d   Z d   Z d   Z d   Z RS(   s   Test module functionsc         C   s2   t  i |  i  } |  i |  i |  |  i  d  S(   N(   R   Rk   R   R   R   R/   R   (   R   R   (    (    R   Rm   T  s    c         C   s)   t  i |  i  } |  i | |  i  d  S(   N(   R   R   R   R   R2   R/   R   (   R   R2   (    (    R   Rs   Y  s    c         C   s#   t  i d  } |  i | d  d  S(   NR1   (   R   R   R2   R   R/   (   R   R2   (    (    R   t   testDecompressEmpty^  s    c         C   s!   |  i t t i |  i d   d  S(   Ni(   R   R,   RM   R   R   R   (   R   (    (    R   t   testDecompressIncompletec  s    (   R   R   R   Rm   Rs   R{   R|   (    (    (    R   Rz   Q  s
    			c           C   s   t  i t t t t  d  S(   N(   t   test_supportt   run_unittestR   Rh   Ro   Rz   (    (    (    R   t	   test_maing  s    	t   __main__(   s   win32s   os2emxs   riscos(   t   testR}   t   test.test_supportR   t   unittestt	   cStringIOR7   R    R   t   sysR   R*   Ri   Rp   t   platformR   t   TestCaseR   R   Rh   Ro   Rz   R   R   (   R}   Rp   R   R7   R   R   R   R   R   Rh   Rz   R   R   Ro   Ri   R*   R    R   (    (    R   t   ?   s"   					'	