Ñò
‘à"Ic           @   sá   d  Z  d d k l Z y d d k Z Wn e j
 o e i d ‚ n Xd d k Z d d k Z d d k Z d d k	 Z	 d d k
 Z
 d 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 functionsiÿÿÿÿ(   t   test_supportNs   posix is not availablet   ignores   .* potential security risk .*t   PosixTesterc           B   s  e  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 e e d ƒ o d „  Z n 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(   c         C   s    t  t i d ƒ } | i ƒ  d  S(   Ns   w+(   t   openR    t   TESTFNt   close(   t   selft   fp(    (    s,   /mit/python/lib/python2.6/test/test_posix.pyt   setUp   s    c         C   s   t  i t i ƒ d  S(   N(   t   ost   unlinkR    R   (   R   (    (    s,   /mit/python/lib/python2.6/test/test_posix.pyt   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   getattrt   posixt   Nonet   assertRaisest	   TypeError(   R   t   NO_ARG_FUNCTIONSt   namet
   posix_func(    (    s,   /mit/python/lib/python2.6/test/test_posix.pyt   testNoArgFunctions   s    	 c         C   s1   t  t d ƒ o |  i t i t i ƒ ƒ n d  S(   Nt   statvfs(   t   hasattrR   t   assert_R$   R	   t   curdir(   R   (    (    s,   /mit/python/lib/python2.6/test/test_posix.pyt   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)   t   filenoR   (   R   R   (    (    s,   /mit/python/lib/python2.6/test/test_posix.pyt   test_fstatvfs0   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   t   writet   flushR,   R*   R   (   R   R   (    (    s,   /mit/python/lib/python2.6/test/test_posix.pyt   test_ftruncate8   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   R1   R*   R&   t
   isinstancet   intR	   R   (   R   R   t   fd(    (    s,   /mit/python/lib/python2.6/test/test_posix.pyt   test_dupC   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   t
   ValueErrorR6   t   assertEqualt   lent   True(   R   (    (    s,   /mit/python/lib/python2.6/test/test_posix.pyt   test_confstrM   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   R>   R*   R   (   R   t   fp1t   fp2(    (    s,   /mit/python/lib/python2.6/test/test_posix.pyt	   test_dup2R   s     
c         G   s8   t  i t i t  i ƒ } t i | | Œ } | i ƒ  d  S(   N(   R	   R   R    R   t   O_RDONLYR   t   fdopenR   (   R   t   argsR4   R@   (    (    s,   /mit/python/lib/python2.6/test/test_posix.pyt   fdopen_helper\   s    c         C   s?   t  t d ƒ o+ |  i ƒ  |  i d ƒ |  i d d ƒ n d  S(   NRC   t   rid   (   R%   R   RE   (   R   (    (    s,   /mit/python/lib/python2.6/test/test_posix.pyt   test_fdopena   s    
c         C   sì   t  t d ƒ oØ t i t i t i t i Bt i Bƒ } |  i	 t
 t i t i t i t i Bt i Bƒ t i | ƒ t  t d ƒ od t i t i t i t i Bt i Bƒ } |  i	 t
 t i t i t i t i Bt i Bƒ t i | ƒ qè n d  S(   Nt   O_EXLOCKt   O_SHLOCK(   R%   R   R	   R   R    R   t   O_WRONLYRH   t   O_CREATR   t   OSErrort
   O_NONBLOCKR   RI   (   R   R4   (    (    s,   /mit/python/lib/python2.6/test/test_posix.pyt   test_osexlockg   s    c         C   sò   t  t d ƒ oÞ t i t i t i t i Bt i Bƒ } t i t i t i t i Bt i Bƒ } t i	 | ƒ t i	 | ƒ t  t d ƒ od t i t i t i t i Bt i Bƒ } |  i
 t t i t i t i t i Bt i Bƒ t i	 | ƒ qî n d  S(   NRI   RH   (   R%   R   R	   R   R    R   RJ   RI   RK   R   R   RL   RB   RH   RM   (   R   t   fd1t   fd2R4   (    (    s,   /mit/python/lib/python2.6/test/test_posix.pyt   test_osshlockv   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&   RR   R*   R   (   R   R   (    (    s,   /mit/python/lib/python2.6/test/test_posix.pyt
   test_fstat†   s
     c         C   s1   t  t d ƒ o |  i t i t i ƒ ƒ n d  S(   Nt   stat(   R%   R   R&   RT   R    R   (   R   (    (    s,   /mit/python/lib/python2.6/test/test_posix.pyt	   test_statŽ   s    t   chownc         C   sæ   t  i t i ƒ |  i t t i t i d d ƒ t t i d ƒ i	 ƒ  t  i
 ƒ  d j oI y/ t i d ƒ } t i t i | i | i ƒ WqÀ t j
 o qÀ Xn  |  i t t i t i d d ƒ t i t i t  i
 ƒ  t  i ƒ  ƒ d  S(   Niÿÿÿÿt   wi    t	   nfsnobody(   R	   R
   R    R   R   RL   R   RV   R   R   R   t   pwdt   getpwnamt   pw_uidt   pw_gidt   KeyErrorR   (   R   t   ent(    (    s,   /mit/python/lib/python2.6/test/test_posix.pyt
   test_chown“   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   R`   R	   R'   R   RL   R    R   (   R   (    (    s,   /mit/python/lib/python2.6/test/test_posix.pyt
   test_chdir­   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   Rb   R	   R'   (   R   (    (    s,   /mit/python/lib/python2.6/test/test_posix.pyt
   test_lsdir²   s    c         C   s7   t  t d ƒ o# |  i t i t i t i ƒ ƒ n d  S(   Nt   access(   R%   R   R&   Rd   R    R   R	   t   R_OK(   R   (    (    s,   /mit/python/lib/python2.6/test/test_posix.pyt   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   Rg   R&   R2   R3   (   R   t   old_mask(    (    s,   /mit/python/lib/python2.6/test/test_posix.pyt
   test_umaskº   s    c         C   s.   t  t d ƒ o |  i t i d ƒ ƒ n d  S(   Nt   strerrori    (   R%   R   R&   Rj   (   R   (    (    s,   /mit/python/lib/python2.6/test/test_posix.pyt   test_strerrorÀ   s    c         C   sD   t  t d ƒ o0 t i ƒ  \ } } t i | ƒ t i | ƒ n d  S(   Nt   pipe(   R%   R   Rl   R	   R   (   R   t   readert   writer(    (    s,   /mit/python/lib/python2.6/test/test_posix.pyt	   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&   Rp   R	   R'   (   R   (    (    s,   /mit/python/lib/python2.6/test/test_posix.pyt   test_tempnamÊ   s    c         C   s.   t  t d ƒ o t i ƒ  } | i ƒ  n d  S(   Nt   tmpfile(   R%   R   Rs   R   (   R   R   (    (    s,   /mit/python/lib/python2.6/test/test_posix.pyt   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   timeRu   R    R   R   R   R   R3   (   R   t   now(    (    s,   /mit/python/lib/python2.6/test/test_posix.pyt
   test_utimeÕ   s    ""%c         C   sT   t  t d ƒ o@ t i t i ƒ } t  | d ƒ o t i t i | i ƒ qP n d  S(   Nt   chflagst   st_flags(   R%   R   R	   RT   R    R   Ry   Rz   (   R   t   st(    (    s,   /mit/python/lib/python2.6/test/test_posix.pyt   test_chflagsß   s    c         C   sT   t  t d ƒ o@ t i t i ƒ } t  | d ƒ o t i t i | i ƒ qP n d  S(   Nt   lchflagsRz   (   R%   R   R	   RT   R    R   R}   Rz   (   R   R{   (    (    s,   /mit/python/lib/python2.6/test/test_posix.pyt   test_lchflagså   s    c      
      sª   t  t d ƒ o– d } t i ƒ  } t i i t i ƒ d } y t i | ƒ t i	 | ƒ Wn d  SXz  d ‡  f d † ‰  ˆ  | ƒ Wd  t
 i | ƒ t i	 | ƒ Xn d  S(   NR   s8   getcwd-test-directory-0123456789abcdef-01234567890abcdefs   .getcwdi    c            s   y t  i |  ƒ Wn t i d ‚ n Xt  i |  ƒ z: t  i ƒ  | d j  o ˆ  |  | t |  ƒ d ƒ n Wd  t  i d ƒ t  i |  ƒ Xd  S(   Ns?   mkdir cannot create directory sufficiently deep for getcwd testi  i   s   ..(   R	   t   mkdirR    t   TestSkippedR`   R   R;   t   rmdir(   t   dirnamet   current_path_length(   t   _create_and_do_getcwd(    s,   /mit/python/lib/python2.6/test/test_posix.pyR„   ü   s    
#(   R%   R   R	   R   t   patht   abspathR    R   R   R`   t   shutilt   rmtree(   R   R‚   R'   t	   base_path(    (   R„   s,   /mit/python/lib/python2.6/test/test_posix.pyt   test_getcwd_long_pathnamesë   s    (    t   __name__t
   __module__R   R   R#   R(   R+   R0   R5   R=   RA   RE   RG   RN   RQ   RS   RU   R%   R   R_   Ra   Rc   Rf   Ri   Rk   Ro   Rr   Rt   Rx   R|   R~   RŠ   (    (    (    s,   /mit/python/lib/python2.6/test/test_posix.pyR      s:   							
		
															
		c           C   s   t  i t ƒ d  S(   N(   R    t   run_unittestR   (    (    (    s,   /mit/python/lib/python2.6/test/test_posix.pyt	   test_main  s    t   __main__(   t   __doc__R-   R    R   t   ImportErrorR€   Rv   R	   RY   R‡   t   unittestt   warningst   filterwarningst   RuntimeWarningt   TestCaseR   RŽ   R‹   (    (    (    s,   /mit/python/lib/python2.6/test/test_posix.pyt   <module>   s"   ÿ	