;
Ìâ"Ic            	   @   sŠ   d  d l  m Z m Z d  d l Z d  d l Z d  d l Z d  d l Z e j Z Gd „  d e j ƒ Z	 d „  Z
 e d k o e
 ƒ  n d S(   i    (   u   TESTFNu   run_unittestNc             B   s¹   |  Ee  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 S(   c             C   s(   t  j j t ƒ o t  j t ƒ n d  S(   N(   u   osu   pathu   existsu   TESTFNu   unlink(   u   self(    (    u+   /mit/python/lib/python3.0/test/test_mmap.pyu   setUp
   s    c             C   s,   y t  j t ƒ Wn t k
 o Yn Xd  S(   N(   u   osu   unlinku   TESTFNu   OSError(   u   self(    (    u+   /mit/python/lib/python3.0/test/test_mmap.pyu   tearDown   s    c             C   sj  t  t d ƒ } z] | j d t ƒ | j d ƒ | j d t d ƒ | j ƒ  t j | j ƒ  d t ƒ } Wd  | j ƒ  Xt t	 | ƒ ƒ } |  j
 | j d ƒ t ƒ |  j
 t | ƒ d t ƒ |  j
 | d d ƒ |  j
 | d d … d ƒ d | d <d
 | t d t d d … <|  j
 | d d ƒ |  j
 | d d … d ƒ |  j
 | t d t d … d ƒ | j ƒ  t j d | ƒ } | d  k o |  j d ƒ nD | j d ƒ \ } } | | } |  j
 | t ƒ |  j
 | t d ƒ | j d d ƒ |  j
 | j ƒ  d ƒ | j d d ƒ |  j
 | j ƒ  d ƒ | j d d ƒ |  j
 | j ƒ  t | ƒ ƒ |  j t | j d ƒ |  j t | j d d ƒ |  j t | j t | ƒ d d ƒ y | j d ƒ Wn t k
 o Yn‹ X|  j
 t | ƒ d ƒ |  j t | j d d ƒ t  t ƒ } z* | j d d ƒ |  j
 | j ƒ  d ƒ Wd  | j ƒ  X|  j
 | j ƒ  d ƒ | j ƒ  d  S(   Nu   bw+s    s   fooi   i   u   fooi    s      s   3s   bars   3  i   i   s    foobar s	   [A-Za-z]+u   regex match on mmap failed!i   i*   iÿÿÿÿi   i  i3   i3   (   u   openu   TESTFNu   writeu   PAGESIZEu   flushu   mmapu   filenou   closeu   stru   typeu   assertEqualu   findu   lenu   reu   searchu   Noneu   failu   spanu   seeku   tellu   assertRaisesu
   ValueErroru   resizeu   SystemErroru   size(   u   selfu   fu   mu   tpu   matchu   startu   endu   length(    (    u+   /mit/python/lib/python3.0/test/test_mmap.pyu
   test_basic   s`    
 
"

$c          0   C   sý  d } t  t d ƒ j d | ƒ t  t d ƒ } t j | j ƒ  | d t j ƒ} |  j | d  d  … d | d ƒ y d | | d  d  … <Wn t k
 o Yn X|  j d ƒ y d | d	 <Wn t k
 o Yn X|  j d ƒ y! | j	 d	 d	 ƒ | j d
 ƒ Wn t k
 o Yn X|  j d ƒ y! | j	 d	 d	 ƒ | j
 d ƒ Wn t k
 o Yn X|  j d ƒ y | j d | ƒ Wn' t k
 o Yn" t k
 o Yn X|  j d ƒ | j ƒ  ~ ~ |  j t  t d ƒ j ƒ  d | d ƒ d	 d  l } t  t d ƒ } y  t j | j ƒ  | d ƒ } Wn8 t k
 o, | j j d ƒ o |  j d ƒ n Yn0 X| j j d ƒ p |  j d ƒ n | j ƒ  | j ƒ  | j j d ƒ o* t  t d ƒ } | j | ƒ | j ƒ  n t  t d ƒ } t j | j ƒ  | d t j ƒ} d | | d  d  … <|  j | d  d  … d | d ƒ | j ƒ  | j ƒ  | j ƒ  t  t d ƒ } | j ƒ  } | j ƒ  |  j | d | d ƒ t  t d ƒ } t j | j ƒ  | d t j ƒ} d | | d  d  … <|  j | d  d  … d | d ƒ | j ƒ  |  j t  t d ƒ j ƒ  d | d ƒ |  j t | j d | ƒ | j ƒ  ~ ~ t  t d ƒ } |  j t t j | j ƒ  | d d ƒ| j ƒ  t j d k oW t  t d ƒ } |  j t t j | j ƒ  | d t j d t j d t j ƒ| j ƒ  n d  S(   Ni
   u   wbs   au   rbu   accessu#   Readonly memory map data incorrect.s   bu$   Able to write to readonly memory mapi    s   abcs   di   u"   Able to resize readonly memory mapu*   Readonly memory map data file was modifiedu   r+bi   u   winu0   Opening mmap with size+1 should work on Windows.u1   Opening mmap with size+1 should raise ValueError.s   cu5   Write-through memory map memory not updated properly.u8   Write-through memory map data file not updated properly.u4   Copy-on-write memory map data not written correctly.u4   Copy-on-write test data file should not be modified.i   u   posixu   flagsu   prot(   u   openu   TESTFNu   writeu   mmapu   filenou   ACCESS_READu   assertEqualu	   TypeErroru   failu   seeku
   write_byteu   resizeu   SystemErroru   closeu   readu   sysu
   ValueErroru   platformu
   startswithu   truncateu   ACCESS_WRITEu   flushu   ACCESS_COPYu   assertRaisesu   osu   nameu   MAP_PRIVATEu	   PROT_READ(   u   selfu   mapsizeu   fu   mu   sysu   stuff(    (    u+   /mit/python/lib/python3.0/test/test_mmap.pyu   test_access_parametern   s¬    !!
 

!



!

%
	c             C   s    |  j  t j t j d d ƒ d  S(   Niþÿÿÿi   (   u   assertRaisesu   mmapu   error(   u   self(    (    u+   /mit/python/lib/python3.0/test/test_mmap.pyu   test_bad_file_descê   s    c             C   sð   t  t d ƒ } d } t | ƒ } | j | ƒ | j ƒ  t j | j ƒ  | ƒ } | j ƒ  x… t | d ƒ D]s } xj t | | d ƒ D]U } | | | … } |  j	 | j
 | ƒ | j
 | ƒ ƒ |  j	 | j
 | d ƒ d ƒ q… Wqk W| j ƒ  d  S(   Nu   wb+s   aabaac deef  aa i   s   xiÿÿÿÿ(   u   openu   TESTFNu   lenu   writeu   flushu   mmapu   filenou   closeu   rangeu   assertEqualu   find(   u   selfu   fu   datau   nu   mu   startu   finishu   slice(    (    u+   /mit/python/lib/python3.0/test/test_mmap.pyu   test_tougher_findî   s    

  "%c             C   s	  t  t d ƒ } d } t | ƒ } | j | ƒ | j ƒ  t j | j ƒ  | ƒ } | j ƒ  |  j | j	 d ƒ d ƒ |  j | j	 d ƒ d ƒ |  j | j	 d d d ƒ d ƒ |  j | j	 d d ƒ d ƒ |  j | j	 d d d ƒ d ƒ |  j | j	 d d d	 ƒ d ƒ d  S(
   Nu   w+u   one two onesu   onei    u   onesi   iÿÿÿÿi   iþÿÿÿ(
   u   openu   TESTFNu   lenu   writeu   flushu   mmapu   filenou   closeu   assertEqualu   find(   u   selfu   fu   datau   nu   m(    (    u+   /mit/python/lib/python3.0/test/test_mmap.pyu   test_find_end  s    

c             C   s  t  t d ƒ } d } t | ƒ } | j | ƒ | j ƒ  t j | j ƒ  | ƒ } | j ƒ  |  j | j	 d ƒ d ƒ |  j | j	 d ƒ d ƒ |  j | j	 d d d ƒ d ƒ |  j | j	 d d d ƒ d ƒ |  j | j	 d d	 d ƒ d ƒ |  j | j	 d d	 d ƒ d ƒ d  S(
   Nu   w+u   one two onesu   onei   u   one i    iÿÿÿÿiþÿÿÿi   (
   u   openu   TESTFNu   lenu   writeu   flushu   mmapu   filenou   closeu   assertEqualu   rfind(   u   selfu   fu   datau   nu   m(    (    u+   /mit/python/lib/python3.0/test/test_mmap.pyu
   test_rfind  s    

c             C   sy   t  t d ƒ } | j d d ƒ | j ƒ  t  t ƒ } t j | j ƒ  d d t j ƒ} | j ƒ  | j ƒ  | j ƒ  d  S(   Nu   wb+i   i   s   au   accessi   i   (   u   openu   TESTFNu   writeu   closeu   mmapu   filenou   ACCESS_READ(   u   selfu   fu   mf(    (    u+   /mit/python/lib/python3.0/test/test_mmap.pyu   test_double_close%  s    
!

c             C   s³   t  t d ƒ oŸ t t d ƒ } | j d	 d ƒ | j ƒ  t t d ƒ } t j | j ƒ  d ƒ } |  j t	 | ƒ d
 d ƒ |  j | j
 d ƒ d d ƒ | j ƒ  | j ƒ  n d  S(   Nu   statu   wb+i   i   s   mu   rb+i    u    Map size should equal file size.i   i   i   i   (   u   hasattru   osu   openu   TESTFNu   writeu   closeu   mmapu   filenou   assertEqualu   lenu   read(   u   selfu   fu   mf(    (    u+   /mit/python/lib/python3.0/test/test_mmap.pyu   test_entire_file2  s    

c             C   s†   t  t d ƒ } | j d ƒ | j ƒ  t j | j ƒ  d ƒ } | j d d d ƒ |  j | d  d  … d d ƒ | j ƒ  | j ƒ  d  S(   Nu   wb+s
   ABCDEabcdei
   i   i    s
   ABCDEABCDEu'   Map move should have duplicated front 5(	   u   openu   TESTFNu   writeu   flushu   mmapu   filenou   moveu   assertEqualu   close(   u   selfu   fu   mf(    (    u+   /mit/python/lib/python3.0/test/test_mmap.pyu	   test_moveA  s    

c             C   sƒ   t  j  d t ƒ } x+ t t ƒ D] } |  j | | d d ƒ q Wx< t t ƒ D]. } | d @} | | | <|  j | | | ƒ qM Wd  S(   Niÿÿÿÿi    u+   anonymously mmap'ed contents should be zeroiÿ   (   u   mmapu   PAGESIZEu   rangeu   assertEqual(   u   selfu   mu   xu   b(    (    u+   /mit/python/lib/python3.0/test/test_mmap.pyu   test_anonymousN  s      

c          
   C   sË   t  t t d ƒ ƒ ƒ } t j d t | ƒ ƒ } | | d  d  … <|  j | d  d  … | ƒ d } xd | D]\ } xS | D]K } xB | d d  … D]0 } |  j | | | | … | | | | … ƒ q‹ Wqt Wqg Wd  S(   Ni   iÿÿÿÿi    i   i   i   i,  iþÿÿÿiáÿÿÿiÔþÿÿ(
   i    Ni   i   i   i,  iÿÿÿÿiþÿÿÿiáÿÿÿiÔþÿÿ(   u   bytesu   reversedu   rangeu   mmapu   lenu   assertEqualu   None(   u   selfu   su   mu   indicesu   startu   stopu   step(    (    u+   /mit/python/lib/python3.0/test/test_mmap.pyu   test_extended_getsliceZ  s       c       	   
   C   s  t  t t d ƒ ƒ ƒ } t j d t | ƒ ƒ } d } xÛ | D]Ó } xÊ | D]Â } x¹ | d d  … D]§ } | | d  d  … <|  j | d  d  … | ƒ t | ƒ } | | | | … } t  t | ƒ ƒ } | | | | | … <| | | | | … <|  j | d  d  … t  | ƒ ƒ qa WqJ Wq= Wd  S(   Ni   iÿÿÿÿi    i   i   i   i,  iþÿÿÿiáÿÿÿiÔþÿÿ(
   i    Ni   i   i   i,  iÿÿÿÿiþÿÿÿiáÿÿÿiÔþÿÿ(	   u   bytesu   reversedu   rangeu   mmapu   lenu   Noneu   assertEqualu   listu   assertEquals(	   u   selfu   su   mu   indicesu   startu   stopu   stepu   Lu   data(    (    u+   /mit/python/lib/python3.0/test/test_mmap.pyu   test_extended_set_del_sliceh  s"       c             C   sS   | j  d | ƒ | j  d ƒ | j  d | d ƒ | j ƒ  t j | j ƒ  d ƒ S(   Ns    s   fooi   i    (   u   writeu   flushu   mmapu   fileno(   u   selfu   fu   halfsize(    (    u+   /mit/python/lib/python3.0/test/test_mmap.pyu   make_mmap_file|  s
    
c             C   sz  t  t d ƒ } z1t j } |  j | | ƒ } | j ƒ  | j ƒ  | d } t  t d ƒ } xy d d d  g D]h } y2 t j | j ƒ  | d | ƒ} |  j d d ƒ Wn t	 t
 t f k
 o Yqj X|  j d d ƒ qj W| j ƒ  t  t d ƒ } t j | j ƒ  | | d | ƒ} |  j | d d	 … d
 ƒ | j ƒ  | j ƒ  Wd  | j ƒ  y t j t ƒ Wn t k
 o Yn XXd  S(   Nu   w+bi   u   r+biþÿÿÿiÿÿÿÿu   offseti    i   i   s   foo(   u   openu   TESTFNu   mmapu   ALLOCATIONGRANULARITYu   make_mmap_fileu   closeu   Noneu   filenou   assertEqualu
   ValueErroru	   TypeErroru   OverflowErroru   osu   unlinku   OSError(   u   selfu   fu   halfsizeu   mu   mapsizeu   offset(    (    u+   /mit/python/lib/python3.0/test/test_mmap.pyu   test_offset„  s6    	


 
"

c             C   s$   Gd „  d t  j  ƒ } | t ƒ d  S(   Nc             B   s   |  Ee  Z d  „  Z d S(   c             _   s   t  j  j |  d | | Ž S(   Niÿÿÿÿ(   u   mmapu   __new__(   u   klassu   argsu   kwargs(    (    u+   /mit/python/lib/python3.0/test/test_mmap.pyu   __new__ª  s    N(   u   __name__u
   __module__u   __new__(   u
   __locals__(    (    u+   /mit/python/lib/python3.0/test/test_mmap.pyu	   anon_mmap©  s   
u	   anon_mmap(   u   mmapu   PAGESIZE(   u   selfu	   anon_mmap(    (    u+   /mit/python/lib/python3.0/test/test_mmap.pyu   test_subclass¨  s    c             C   s‰   t  t d ƒ p d  Sd } t t d ƒ j d | ƒ t t d ƒ } t j | j ƒ  | d t j ƒ} |  j t | j d ƒ | j	 ƒ  d  S(   Nu	   PROT_READi
   u   wbs   au   rbu   protu   foo(
   u   hasattru   mmapu   openu   TESTFNu   writeu   filenou	   PROT_READu   assertRaisesu	   TypeErroru   close(   u   selfu   mapsizeu   fu   m(    (    u+   /mit/python/lib/python3.0/test/test_mmap.pyu   test_prot_readonly®  s    !c             C   s9   |  j  t t j t ƒ ƒ |  j  d t t j ƒ k ƒ d  S(   Nu
   mmap.error(   u   assert_u
   issubclassu   mmapu   erroru   EnvironmentErroru   str(   u   self(    (    u+   /mit/python/lib/python3.0/test/test_mmap.pyu
   test_error¸  s    N(   u   __name__u
   __module__u   setUpu   tearDownu
   test_basicu   test_access_parameteru   test_bad_file_descu   test_tougher_findu   test_find_endu
   test_rfindu   test_double_closeu   test_entire_fileu	   test_moveu   test_anonymousu   test_extended_getsliceu   test_extended_set_del_sliceu   make_mmap_fileu   test_offsetu   test_subclassu   test_prot_readonlyu
   test_error(   u
   __locals__(    (    u+   /mit/python/lib/python3.0/test/test_mmap.pyu	   MmapTests   s&   
			Z	|												$		
u	   MmapTestsc               C   s   t  t ƒ d  S(   N(   u   run_unittestu	   MmapTests(    (    (    u+   /mit/python/lib/python3.0/test/test_mmap.pyu	   test_main½  s    u   __main__(   u   test.supportu   TESTFNu   run_unittestu   mmapu   unittestu   osu   reu   PAGESIZEu   TestCaseu	   MmapTestsu	   test_mainu   __name__(    (    (    u+   /mit/python/lib/python3.0/test/test_mmap.pyu   <module>   s   	ÿ ¶	