mς
­fIc           @   sΐ   d  Z  d k l Z y d k Z Wn e j
 o e i d  n Xd k Z d k Z d k Z d k	 Z	 d k
 Z
 e
 i d d e  d e	 i f d     YZ d   Z e d	 j o e   n d S(
   s   Test posix functions(   s   test_supportNs   posix is not availablet   ignores   .* potential security risk .*t   PosixTesterc           B   sΞ   t  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(   Nc         C   s    t  t i d  } | i   d  S(   Ns   w+(   t   opent   test_supportt   TESTFNt   fpt   close(   t   selfR   (    (    t,   /mit/python/lib/python2.4/test/test_posix.pyt   setUp   s    c         C   s   t  i t i  d  S(   N(   t   ost   unlinkR   R   (   R   (    (    R   t   tearDown   s    c         C   s   d d d d d d d d d	 d
 d d d d d g } xK | D]C } t t | d   } | d  j	 o |   |  i t | d  q: q: Wd  S(   Nt   ctermidt   getcwdt   getcwdut   unamet   timest
   getloadavgt   tmpnamt   getegidt   geteuidt   getgidt	   getgroupst   getpidt   getpgrpt   getppidt   getuidi   (	   t   NO_ARG_FUNCTIONSt   namet   getattrt   posixt   Nonet
   posix_funcR   t   assertRaisest	   TypeError(   R   R   R!   R   (    (    R   t   testNoArgFunctions   s    3 c         C   s1   t  t d  o |  i t i t i   n d  S(   Nt   statvfs(   t   hasattrR   R   t   assert_R%   R
   t   curdir(   R   (    (    R   t   test_statvfs+   s    c         C   sU   t  t d  oA t t i  } z  |  i t i | i	     Wd  | i
   Xn d  S(   Nt   fstatvfs(   R&   R   R   R   R   R   R   R'   R*   t   filenoR   (   R   R   (    (    R   t   test_fstatvfs/   s      c         C   si   t  t d  oU t t i d  } z1 | i d  | i   t i | i	   d  Wd  | i
   Xn d  S(   Nt	   ftruncates   w+t   testi    (   R&   R   R   R   R   R   t   writet   flushR-   R+   R   (   R   R   (    (    R   t   test_ftruncate7   s    
 c         C   sq   t  t d  o] t t i  } z< t i | i    } |  i
 t | t   t i |  Wd  | i   Xn d  S(   Nt   dup(   R&   R   R   R   R   R   R2   R+   t   fdR   R'   t
   isinstancet   intR
   R   (   R   R   R3   (    (    R   t   test_dupB   s     c         C   sS   t  t d  o? |  i t t i d  |  i t t i d   d j t  n d  S(   Nt   confstrt
   CS_garbaget   CS_PATHi    (	   R&   R   R   R"   t
   ValueErrorR7   t   assertEqualt   lent   True(   R   (    (    R   t   test_confstrL   s    c         C   sn   t  t d  oZ t t i  } t t i  } z  t i | i   | i    Wd  | i	   | i	   Xn d  S(   Nt   dup2(
   R&   R   R   R   R   t   fp1t   fp2R?   R+   R   (   R   R@   RA   (    (    R   t	   test_dup2Q   s      
c         G   s8   t  i t i t  i  } t i | |  } | i
   d  S(   N(   R
   R   R   R   t   O_RDONLYR3   R   t   fdopent   argsRA   R   (   R   RE   R3   RA   (    (    R   t   fdopen_helper[   s    c         C   s?   t  t d  o+ |  i   |  i d  |  i d d  n d  S(   NRD   t   rid   (   R&   R   R   RF   (   R   (    (    R   t   test_fdopen`   s    
c         C   sU   t  t d  oA t t i  } z  |  i t i | i	     Wd  | i
   Xn d  S(   Nt   fstat(   R&   R   R   R   R   R   R   R'   RI   R+   R   (   R   R   (    (    R   t
   test_fstatf   s      c         C   s1   t  t d  o |  i t i t i   n d  S(   Nt   stat(   R&   R   R   R'   RK   R   R   (   R   (    (    R   t	   test_statn   s    c         C   sA   t  t d  o- t i t i  |  i t t i t i	  n d  S(   Nt   chdir(
   R&   R   RM   R
   R(   R   R"   t   OSErrorR   R   (   R   (    (    R   t
   test_chdirr   s    c         C   s:   t  t d  o& |  i t i t i t i  j  n d  S(   Nt   lsdir(	   R&   R   R   R'   R   R   RP   R
   R(   (   R   (    (    R   t
   test_lsdirw   s    c         C   s7   t  t d  o# |  i t i t i t i   n d  S(   Nt   access(	   R&   R   R   R'   RR   R   R   R
   t   R_OK(   R   (    (    R   t   test_access{   s    c         C   sJ   t  t d  o6 t i d  } |  i t | t   t i |  n d  S(   Nt   umaski    (   R&   R   RU   t   old_maskR   R'   R4   R5   (   R   RV   (    (    R   t
   test_umask   s    c         C   s.   t  t d  o |  i t i d   n d  S(   Nt   strerrori    (   R&   R   R   R'   RX   (   R   (    (    R   t   test_strerror   s    c         C   sD   t  t d  o0 t i   \ } } t i |  t i |  n d  S(   Nt   pipe(   R&   R   RZ   t   readert   writerR
   R   (   R   R\   R[   (    (    R   t	   test_pipe   s    c         C   s`   t  t d  oL |  i t i    |  i t i t i   |  i t i t i d   n d  S(   Nt   tempnamt   blah(   R&   R   R   R'   R^   R
   R(   (   R   (    (    R   t   test_tempnam   s    c         C   s.   t  t d  o t i   } | i   n d  S(   Nt   tmpfile(   R&   R   Ra   R   R   (   R   R   (    (    R   t   test_tmpfile   s    c         C   sΥ   t  t d  oΑ t i   } t i t i d   |  i	 t
 t i t i d  |  i	 t
 t i t i | d  f  |  i	 t
 t i t i d  | f  t i t i t |  t |  f  t i t i | | f  n d  S(   Nt   utime(   NN(   R&   R   t   timet   nowRc   R   R   R    R   R"   R#   R5   (   R   Re   (    (    R   t
   test_utime   s    ""%(   t   __name__t
   __module__R	   R   R$   R)   R,   R1   R6   R>   RB   RF   RH   RJ   RL   RO   RQ   RT   RW   RY   R]   R`   Rb   Rf   (    (    (    R   R      s,   							
		
												c           C   s   t  i t  d  S(   N(   R   t   run_unittestR   (    (    (    R   t	   test_main€   s    t   __main__(   t   __doc__R.   R   R   t   ImportErrort   TestSkippedRd   R
   t   syst   unittestt   warningst   filterwarningst   RuntimeWarningt   TestCaseR   Rj   Rg   (	   R   Rq   Rp   R   Ro   R   Rj   Rd   R
   (    (    R   t   ?   s    						