;
Ëâ"Ic            
   @   są   d  Z  d d l Z d d l Z d d l Z d d l Z d d l Z d d l m Z m Z m	 Z	 m
 Z
 d   Z e   Z Gd   d e j  Z d   Z e d k o e   n d S(	   u]   Test program for the fcntl C module.

OS/2+EMX doesn't support the file locking operations.

i    N(   u   verboseu   TESTFNu   unlinku   run_unittestc              C   sl  t  j j d  o
 d }  n/ y t j Wn t k
 o d }  Yn Xd }  t  j d$ k oc t j d  d k o d } d } n d } d } t j | | | d d d d t	 j
 d  } n t  j d% k o+ t j d! t	 j
 d d d d d d  } nG t  j d& k o
 d  } n- t j d |  d t	 j
 d d d d d  } | o" t o t d# t |   qhn | S('   Nu   atheosu   qqu   llu   netbsd1u   netbsd2u   netbsd3u	   Darwin1.2u   darwinu   freebsd2u   freebsd3u   freebsd4u   freebsd5u   freebsd6u   freebsd7u   freebsd8u   bsdos2u   bsdos3u   bsdos4u   openbsdu   openbsd2u   openbsd3u   openbsd4u   li   u   iu   lxxxxu   hhi    u   aix3u   aix4u   hp-uxBu	   unixware7u   hhllliiu   os2emxu   struct.pack: (   u   netbsd1u   netbsd2u   netbsd3u	   Darwin1.2u   darwinu   freebsd2u   freebsd3u   freebsd4u   freebsd5u   freebsd6u   freebsd7u   freebsd8u   bsdos2u   bsdos3u   bsdos4u   openbsdu   openbsd2u   openbsd3u   openbsd4(   u   aix3u   aix4u   hp-uxBu	   unixware7(   u   os2emx(   u   sysu   platformu
   startswithu   osu   O_LARGEFILEu   AttributeErroru   structu   calcsizeu   packu   fcntlu   F_WRLCKu   Noneu   verboseu   printu   repr(   u	   start_lenu   off_tu   pid_tu   lockdata(    (    u,   /mit/python/lib/python3.0/test/test_fcntl.pyu   get_lockdata   s:    
    

+
,c             B   s2   |  Ee  Z d    Z d   Z d   Z d   Z d S(   c             C   s   d  |  _ d  S(   N(   u   Noneu   f(   u   self(    (    u,   /mit/python/lib/python3.0/test/test_fcntl.pyu   setUp7   s    c             C   s,   |  j  j p |  j  j   n t t  d  S(   N(   u   fu   closedu   closeu   unlinku   TESTFN(   u   self(    (    u,   /mit/python/lib/python3.0/test/test_fcntl.pyu   tearDown:   s    c             C   sē   t  t d  |  _ t j |  j j   t j t j  } t o t	 d |  n t
 j d k oC t j |  j j   t j t  } t o t	 d t |   qĄ n |  j j   d  S(   Nu   wu#   Status from fcntl with O_NONBLOCK: u   os2emxu!   String from fcntl with F_SETLKW: (   u   os2emx(   u   openu   TESTFNu   fu   fcntlu   filenou   F_SETFLu   osu
   O_NONBLOCKu   verboseu   printu   sysu   platformu   F_SETLKWu   lockdatau   repru   close(   u   selfu   rv(    (    u,   /mit/python/lib/python3.0/test/test_fcntl.pyu   test_fcntl_fileno?   s    $!c             C   sp   t  t d  |  _ t j |  j t j t j  } t j d k o t j |  j t j	 t
  } n |  j j   d  S(   Nu   wu   os2emx(   u   os2emx(   u   openu   TESTFNu   fu   fcntlu   F_SETFLu   osu
   O_NONBLOCKu   sysu   platformu   F_SETLKWu   lockdatau   close(   u   selfu   rv(    (    u,   /mit/python/lib/python3.0/test/test_fcntl.pyu   test_fcntl_file_descriptorK   s
    N(   u   __name__u
   __module__u   setUpu   tearDownu   test_fcntl_filenou   test_fcntl_file_descriptor(   u
   __locals__(    (    u,   /mit/python/lib/python3.0/test/test_fcntl.pyu	   TestFcntl5   s   
			u	   TestFcntlc               C   s   t  t  d  S(   N(   u   run_unittestu	   TestFcntl(    (    (    u,   /mit/python/lib/python3.0/test/test_fcntl.pyu	   test_mainT   s    u   __main__(   u   __doc__u   fcntlu   osu   structu   sysu   unittestu   test.supportu   verboseu   TESTFNu   unlinku   run_unittestu   get_lockdatau   lockdatau   TestCaseu	   TestFcntlu	   test_mainu   __name__(    (    (    u,   /mit/python/lib/python3.0/test/test_fcntl.pyu   <module>   s   "	$		