
j\c           @@ s?  d  d l  m Z d  d l  m Z d  d l Z d  d l Z d  d l Z d  d l Z d  d l 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 d  d l m Z y d  d l Z e Z Wn e k
 r e Z n Xd  d l Z d  d l Z d  d l Z d  d l m Z m Z m Z m Z m Z m Z m Z m  Z  m! Z! m" Z" m# Z# m$ Z$ m% Z% m& Z& m' Z' m( Z( m) Z) m* Z* d  d l m+ Z+ m, Z, d  d l- m. Z. d  d	 l/ m0 Z0 m1 Z1 d  d
 l2 m3 Z3 d  d l4 m5 Z5 m6 Z6 d  d l4 m7 Z8 d e8 f d     YZ9 d e3 j: e8 f d     YZ; d e; f d     YZ< d e; f d     YZ= d e; f d     YZ> d e3 j: e8 f d     YZ? e5 j@ e jA d k oe jB d f k  pe jC jD d k d  d e3 j: e8 f d     Y ZE d e3 j: e8 f d      YZF d! e3 j: e8 f d"     YZG d# e3 j: e8 f d$     YZH e5 j@ d% e jI   jJ   k d&  e5 j@ e jK   d' k d(  d) e3 j: e8 f d*     Y  ZL e5 j@ e jB d d+ f k  d,  d- e3 j: e8 f d.     Y ZM d/ e8 f d0     YZN e5 j@ e3 jO d1  d2 e3 jP e8 f d3     Y ZQ eR d4  ZS e5 j@ e d5  e5 j@ e jI   jJ   d6 d7 f k d8  e5 j@ e3 jO d1  d9 e8 f d:     Y   ZT d; e8 f d<     YZU d= e8 f d>     YZV d? e8 f d@     YZW dA e8 f dB     YZX dC e8 f dD     YZY dE   ZZ e[ dF k r;e3 j\ e j]  e3 j^   e5 j_ dG dH  n  d S(I   i    (   t   print_function(   t   absolute_importN(   t   range(   t   zip(   t   Descriptiont   IsDescriptiont   Float64Atomt   Colt   IntColt   Int16Colt   Int32Colt   FloatColt
   Float64Colt   ClosedFileErrort   FileModeErrort   FlavorErrort   FlavorWarningt   NaturalNameWarningt   ClosedNodeErrort	   NodeErrort   NoSuchNodeErrort   UnImplemented(   t   all_flavorst   array_of_flavor(   t   NODE_CACHE_SLOTS(   t   descr_from_dtypet   dtype_from_descr(   t   common(   t   unittestt   test_filename(   t   PyTablesTestCaset   OpenFileFailureTestCasec           B@ s,   e  Z d    Z d   Z d   Z d   Z RS(   c         C@ sG   t  t |   j   d d  l } t | j j  |  _ | j j |  _ d  S(   Ni    (	   t   superR   t   setUpt   tables.filet   lent   filet   _open_filest   Nt
   open_files(   t   selft   tables(    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyR!   .   s    c         C@ s^   t  j d  } |  j t   t j |  } | j   Wd QX|  j |  j t	 |  j
   d S(   s(   Checking opening of a non existing file.s   .h5N(   t   tempfilet   mktempt   assertRaisest   IOErrorR)   t	   open_filet   closet   assertEqualR&   R#   R'   (   R(   t   h5fnamet   h5file(    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test01_open_file6   s
    c         C@ s   t  j d  } t | d  j   zR |  j t j   t j |  } | j   Wd QX|  j |  j	 t
 |  j   Wd t j |  Xd S(   s.   Checking opening of an existing non HDF5 file.s   .h5t   wbN(   R*   R+   t   openR/   R,   R)   t   HDF5ExtErrorR.   R0   R&   R#   R'   t   ost   remove(   R(   R1   R2   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test02_open_file@   s     c         C@ s]   t  j d  } t j | d  } | j   z |  j t t j | d  Wd t j |  Xd S(   s7   Checking opening of an existing file with invalid mode.s   .h5t   wt   abN(	   R*   R+   R)   R.   R/   R,   t
   ValueErrorR7   R8   (   R(   R1   R2   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test03_open_fileQ   s    
(   t   __name__t
   __module__R!   R3   R9   R=   (    (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyR   -   s   		
	t   OpenFileTestCasec           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 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( d'   Z) d(   Z* d)   Z+ d*   Z, d+   Z- d,   Z. d-   Z/ d.   Z0 d/   Z1 d0   Z2 d1   Z3 d2   Z4 d3   Z5 d4   Z6 d5   Z7 d6   Z8 d7   Z9 d8   Z: d9   Z; d:   Z< d;   Z= d<   Z> d=   Z? d>   Z@ d?   ZA d@   ZB dA   ZC dB   ZD dC   ZE dD   ZF dE   ZG dF   ZH dG   ZI RS(H   c         C@ s!   t  t |   j   |  j   d  S(   N(   R    R@   R!   t   populateFile(   R(   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyR!   d   s    c      
   C@ s  |  j  j } |  j  j | d d d g d d |  j  j | d i t   d 6d  d	 | j _ |  j  j | d
 d g d  |  j  j | d i t   d 6d  |  j  j | d d  } d | j _ |  j  j | d d d d d d d d g d  } d | j _ |  j  j | d d g d  |  j  j | d i t   d 6d  t	 j
 j d( g d d } |  j  j | d  | d!  |  j  j | d" d#  |  j  j | d$ d%  } |  j  j | d& d'  |  j  j | d d d g d d d  S()   Nt   arrayi   i   t   titles   Array examplet   tablet   var1s   Table examplei)   t   anarrays   Array titlet   atables   Table titlet   agroups   Group titlei*   t   anarray1i   i   i   i   i   s   Array title 1t   anarray2s   Array title 2t   atable1s   Table title 1i   t   at   formatss   u1,f4,a1t   atable2s   Table title 2t   agroup2s   Group title 2t   agroup3s   Group title 3t   agroup4s   Group title 4(   i   i   RL   (   R2   t   roott   create_arrayt   create_tableR   t   _v_attrst   testattrt   create_groupt   attrst   numpyt   recRB   (   R(   RR   t   groupt   array1t   rat   group3(    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyRA   h   s0    "	c         C@ sW   |  j  j |  j  j d d d g d d |  j  j j j j } |  j | j   d  d S(   s    Checking creation of a new file.t	   array_newi   i   RC   s   Array examplet   ArrayN(   R2   RS   RR   RB   RX   t   CLASSR0   t
   capitalize(   R(   t   class_(    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test00_newFile   s    !c         C@ sq   t  j   } zP t j t j j | d   } t j | d   } |  j	 | t j
  Wd  QXWd  t j |  Xd  S(   Ns   test.h5R:   (   R*   t   mkdtempt   sixt	   text_typeR7   t   patht   joinR)   R.   t
   assertTruet   Filet   shutilt   rmtree(   R(   t   temp_dirR1   R2   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test00_newFile_unicode_filename   s    c         C@ sq   t  j   } zP t j t j j | d   } t j | d   } |  j	 | t j
  Wd  QXWd  t j |  Xd  S(   Ns   test.h5R:   (   R*   Re   RY   t   str_R7   Rh   Ri   R)   R.   Rj   Rk   Rl   Rm   (   R(   Rn   R1   R2   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt!   test00_newFile_numpy_str_filename   s    c         C@ sq   t  j   } zP t j t j j | d   } t j | d   } |  j	 | t j
  Wd  QXWd  t j |  Xd  S(   Ns   test.h5R:   (   R*   Re   RY   t   unicode_R7   Rh   Ri   R)   R.   Rj   Rk   Rl   Rm   (   R(   Rn   R1   R2   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt%   test00_newFile_numpy_unicode_filename   s    c         C@ s?   |  j  d |  j  |  j j j j d  } |  j | d  d S(   s%   Checking opening of an existing file.t   node_cache_slotst   TITLEs   Array exampleN(   t   _reopenRt   R2   RR   RB   t   get_attrR0   (   R(   RC   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test01_openFile   s    c         C@ s   |  j  d d d |  j  |  j j |  j j d d d g d d |  j  d |  j  |  j j j j d	  } |  j | d  d
 S(   s/   Checking appending objects to an existing file.t   modes   r+Rt   t   array2i   i   RC   s   Title example 2Ru   N(   Rv   Rt   R2   RS   RR   Rz   Rw   R0   (   R(   RC   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test02_appendFile   s    !c         C@ s   |  j  d d d |  j  |  j j |  j j d d d g d d |  j  d |  j  |  j j j j d	  } |  j | d  d
 S(   s<   Checking appending objects to an existing file ("a" version)Ry   RL   Rt   Rz   i   i   RC   s   Title example 2Ru   N(   Rv   Rt   R2   RS   RR   Rz   Rw   R0   (   R(   RC   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test02b_appendFile2   s    !c         C@ s{   |  j  d d d |  j  |  j j |  j j d d d g d d |  j  d |  j  |  j t   |  j j j Wd	 QXd	 S(
   s;   Checking appending objects to an existing file in "w" mode.Ry   R:   Rt   Rz   i   i   RC   s   Title example 2N(   Rv   Rt   R2   RS   RR   R,   t   LookupErrorRB   (   R(   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test03_appendErrorFile   s    !c      
   C@ s6   |  j  t  ! t j d d d d |  j Wd QXd S(   s0   Checking opening a non-existing file for readings   nonexistent.h5Ry   t   rRt   N(   R,   R-   R)   R.   Rt   (   R(   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test04a_openErrorFile   s    c         C@ s   |  j  d d d |  j  t j r5 t d |  j  n  |  j j j j d  } |  j j j } |  j	 | d k	  |  j | d  d S(   s2   Checking alternate root access to the object tree.t   root_ueps   /agroupRt   s   
File tree dump:Ru   s   Array title 1N(   Rv   Rt   R   t   verboset   printR2   RR   RI   Rw   Rj   t   NoneR0   (   R(   RC   RI   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test04b_alternateRootFile   s    
	c      	   C@ s3   |  j  t   |  j d d d |  j  Wd QXd S(   s>   Checking non-existent alternate root access to the object treeR   s   /nonexistentRt   N(   R,   t   RuntimeErrorRv   Rt   (   R(   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   notest04c_alternateRootFile  s    c         C@ s   |  j  d d d |  j  |  j t   |  j j |  j j j  Wd QX|  j j |  j j d d d |  j  d |  j  |  j t   |  j j j Wd QX|  j t   |  j j	 d  Wd QXd S(	   s&   Checking removing a group recursively.Ry   s   r+Rt   NRH   t	   recursivei   s   /agroup/agroup3(
   Rv   Rt   R,   R   R2   t   remove_nodeRR   RH   R}   t   get_node(   R(   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test05a_removeGroupRecursively  s    c         C@ s   t  j r1 t d d d  t d |  j j  n  |  j d d d |  j  |  j t   |  j	 j
 |  j	 j d  Wd	 QX|  j	 j
 |  j	 j d d
 d |  j t   |  j	 j j Wd	 QX|  j t   |  j	 j d  Wd	 QXd	 S(   sK   Checking removing a group recursively and access to it
        immediately.s   
s   -=i   s,   Running %s.test05b_removeGroupRecursively...Ry   s   r+Rt   RH   NR   i   s   /agroup/agroup3(   R   R   R   t	   __class__R>   Rv   Rt   R,   R   R2   R   RR   R}   RH   R   (   R(   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test05b_removeGroupRecursively.  s    	c         C@ s?   |  j  d d d |  j  |  j t   |  j j ` Wd QXd S(   s0   Checking removing a node using ``__delattr__()``Ry   s   r+Rt   N(   Rv   Rt   R,   t   AttributeErrorR2   RR   RH   (   R(   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test06_removeNodeWithDelH  s    c         C@ sl   |  j  d d d |  j  |  j j |  j j d  |  j  d |  j  |  j t   |  j j j Wd QXd S(   s7   Checking removing a lonely group from an existing file.Ry   s   r+Rt   RO   N(   Rv   Rt   R2   R   RR   R,   R}   RO   (   R(   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test06a_removeGroupR  s
    c         C@ sl   |  j  d d d |  j  |  j j |  j j d  |  j  d |  j  |  j t   |  j j j Wd QXd S(   s/   Checking removing Leaves from an existing file.Ry   s   r+Rt   RF   N(   Rv   Rt   R2   R   RR   R,   R}   RF   (   R(   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test06b_removeLeaf`  s
    c         C@ sY   |  j  d d d |  j  |  j j |  j j d  |  j t   |  j j j Wd QXd S(   s3   Checking removing Leaves and access it immediately.Ry   s   r+Rt   RF   N(   Rv   Rt   R2   R   RR   R,   R}   RF   (   R(   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test06c_removeLeafm  s    c         C@ sL   |  j  d d d |  j  |  j t   |  j j |  j j d  Wd QXd S(   s%   Checking removing a non-existent nodeRy   s   r+Rt   t   nonexistentN(   Rv   Rt   R,   R}   R2   R   RR   (   R(   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test06d_removeLeafw  s    c         C@ sl   |  j  d d d |  j  |  j j |  j j d  |  j  d |  j  |  j t   |  j j j Wd QXd S(   s/   Checking removing Tables from an existing file.Ry   s   r+Rt   RG   N(   Rv   Rt   R2   R   RR   R,   R}   RG   (   R(   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test06e_removeTable  s
    c         C@ s   |  j  d d d |  j  |  j j |  j j j d  |  j  d |  j  |  j j j } |  j | j d  |  j | j	 d  |  j | j
 d  |  j t   |  j j j Wd QXd S(   s;   Checking renaming a leave and access it after a close/open.Ry   s   r+Rt   RJ   s	   /anarray2i   N(   Rv   Rt   R2   t   rename_nodeRR   RF   RJ   R0   t   namet   _v_pathnamet   _v_depthR,   R}   (   R(   t   array_(    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test07_renameLeaf  s    c         C@ s   |  j  d d d |  j  |  j j |  j j j d  |  j j j } |  j | j d  |  j | j	 d  |  j | j
 d  |  j t   |  j j j Wd QXd S(   s7   Checking renaming Leaves and accesing them immediately.Ry   s   r+Rt   RJ   s	   /anarray2i   N(   Rv   Rt   R2   R   RR   RF   RJ   R0   R   R   R   R,   R}   (   R(   R   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test07b_renameLeaf  s    c         C@ s}   |  j  d d d |  j  |  j j |  j j j d  |  j j j } d | j _ |  j	 | j
 d  |  j	 | j j d  d S(   s:   Checking renaming Leaves and modify attributes after that.Ry   s   r+Rt   RJ   t   helloN(   Rv   Rt   R2   R   RR   RF   RJ   RX   Ru   R0   RC   (   R(   R   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test07c_renameLeaf  s    c         C@ sa   |  j  d d d |  j  |  j j |  j j j j d  |  j j j j } |  j | j	 d  d S(   s/   Checking renaming a Group under a nested group.Ry   s   r+Rt   t   anarray3s   Array title 2N(
   Rv   Rt   R2   R   RR   RH   RJ   R   R0   t   _v_title(   R(   t   node(    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test07d_renameLeaf  s    c         C@ s   |  j  d d d |  j  |  j t  ! |  j j |  j j j d  Wd QX|  j j j } |  j j | d d t |  j	 d |  j k  |  j	 |  j j j
 | k  d S(   s-   Checking renaming a node to an existing name.Ry   s   r+Rt   RB   Nt	   overwrites   /anarray(   Rv   Rt   R,   R   R2   R   RR   RF   t   TrueRj   RB   (   R(   RF   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test08_renameToExistingLeaf  s    "c         C@ su   |  j  d d d |  j  t j   J t j d d t |  j t  ! |  j j |  j j	 j
 d  Wd QXWd QXd S(   s4   Checking renaming a node to a non-valid natural nameRy   s   r+Rt   t   errort   categorys   array 2N(   Rv   Rt   t   warningst   catch_warningst   filterwarningsR   R,   R2   R   RR   RF   (   R(   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt#   test08b_renameToNotValidNaturalName  s
    c         C@ s  |  j  d d d |  j  |  j j |  j j j d  |  j  d |  j  |  j j j } |  j | j d  |  j | j	 d  |  j j
 d  } |  j | j d  |  j | j	 d  |  j t   |  j j j Wd QX|  j t   |  j j
 d  Wd QXd S(	   s;   Checking renaming a Group and access it after a close/open.Ry   s   r+Rt   RP   s   /agroup3s   /agroup3/agroup3Ns   /agroup/agroup3(   Rv   Rt   R2   R   RR   RH   RP   R0   t   _v_nameR   R   R,   R}   (   R(   R[   t   group2(    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test09_renameGroup  s    c         C@ s   |  j  d d d |  j  |  j j |  j j j d  |  j j j } |  j | j d  |  j | j	 d  |  j j
 d  } |  j | j d  |  j | j	 d  |  j t   |  j j j Wd QX|  j t   |  j j
 d  Wd QXd S(	   s4   Checking renaming a Group and access it immediately.Ry   s   r+Rt   RP   s   /agroup3s   /agroup3/agroup3Ns   /agroup/agroup3(   Rv   Rt   R2   R   RR   RH   RP   R0   R   R   R   R,   R}   (   R(   R[   R   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test09b_renameGroup  s    c         C@ s}   |  j  d d d |  j  |  j j |  j j j d  |  j j j } d | j _ |  j	 | j
 d  |  j	 | j j d  d S(   s;   Checking renaming a Group and modify attributes afterwards.Ry   s   r+Rt   RP   t   HelloN(   Rv   Rt   R2   R   RR   RH   RP   RU   Ru   R0   R   (   R(   R[   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test09c_renameGroup  s    c         C@ sa   |  j  d d d |  j  |  j j |  j j j j d  |  j j j j } |  j | j	 d  d S(   s/   Checking renaming a Group under a nested group.Ry   s   r+Rt   RQ   s   Group title 3N(
   Rv   Rt   R2   R   RR   RH   RP   RQ   R0   R   (   R(   R[   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test09d_renameGroup"  s    c         C@ s   |  j  d d d |  j  |  j j j j j } |  j | d k	  |  j j	 d d d d d |  j d	 |  j k  |  j d
 |  j k  xL d d d g D]; } |  j | |  j k  |  j
 | |  j j |  j  q Wd S(   s>   Checking renaming a Group with nested groups in the LRU cache.Ry   s   r+Rt   t   /R   RH   t   newnamet   agroup_s   /agroup_/agroup4s   /agroups   /agroup_s   /agroup_/agroup3s   /agroup_/agroup3/agroup4N(   Rv   Rt   R2   RR   RH   RP   RQ   Rj   R   R   R0   R   R   (   R(   t   gt   newpath(    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test09e_renameGroup,  s    	c         C@ s   |  j  d d d |  j  |  j j d d  } |  j j |  j j j | d  |  j  d |  j  |  j j j j } |  j	 | j
 d  |  j	 | j d  |  j	 | j d  |  j t   |  j j j Wd	 QXd	 S(
   s9   Checking moving a leave and access it after a close/open.Ry   s   r+Rt   R   t   newgroupRJ   s   /newgroup/anarray2i   N(   Rv   Rt   R2   RW   t	   move_nodeRR   RF   R   RJ   R0   R   R   R   R,   R}   (   R(   R   R   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test10_moveLeafA  s    c         C@ s   |  j  d d d |  j  |  j j d d  } |  j j |  j j j | d  |  j j j j } |  j	 | j
 d  |  j	 | j d  |  j	 | j d  |  j t   |  j j j Wd	 QXd	 S(
   s;   Checking moving a leave and access it without a close/open.Ry   s   r+Rt   R   R   RJ   s   /newgroup/anarray2i   N(   Rv   Rt   R2   RW   R   RR   RF   R   RJ   R0   R   R   R   R,   R}   (   R(   R   R   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test10b_moveLeafU  s    c         C@ s   |  j  d d d |  j  |  j j d d  } |  j j |  j j j | d  |  j j j j } d | j	 _
 |  j | j d  |  j | j	 j
 d  d S(	   s8   Checking moving Leaves and modify attributes after that.Ry   s   r+Rt   R   R   RJ   R   N(   Rv   Rt   R2   RW   R   RR   RF   R   RJ   RX   Ru   R0   RC   (   R(   R   R   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test10c_moveLeaff  s    c         C@ sX   |  j  d d d |  j  |  j t  * |  j j |  j j j |  j j d  Wd QXd S(   s+   Checking moving a leaf to an existing name.Ry   s   r+Rt   RB   N(   Rv   Rt   R,   R   R2   R   RR   RF   (   R(   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test10d_moveToExistingLeafs  s    	c         C@ s   |  j  d d d |  j  |  j j d d  } |  j j |  j j j | d  |  j  d |  j  |  j j j j } |  j	 | j
 d  |  j	 | j d  |  j	 | j d  |  j t   |  j j j Wd	 QXd	 S(
   s9   Checking moving a table and access it after a close/open.Ry   s   r+Rt   R   R   RN   s   /newgroup/atable2i   N(   Rv   Rt   R2   RW   R   RR   RG   R   RN   R0   R   R   R   R,   R}   (   R(   R   t   table_(    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test10_2_moveTable}  s    c         C@ s   |  j  d d d |  j  |  j j d d  } |  j j |  j j j | d  |  j j j j } |  j	 | j
 d  |  j	 | j d  |  j	 | j d  |  j t   |  j j j Wd	 QXd	 S(
   s;   Checking moving a table and access it without a close/open.Ry   s   r+Rt   R   R   RN   s   /newgroup/atable2i   N(   Rv   Rt   R2   RW   R   RR   RG   R   RN   R0   R   R   R   R,   R}   (   R(   R   R   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test10_2b_moveTable  s    c         C@ s  |  j  d d d |  j  |  j j d d  } |  j j j j } |  j j |  j j j | d  |  j j j j	 } |  j
 | j d  |  j
 | j d  |  j
 | j d  | j } |  j
 | j | j j  | j } | j   | j   |  j
 | j | d	  d
 S(   s@   Checking moving a table and use cached row without a close/open.Ry   s   r+Rt   R   R   RN   s   /newgroup/atable2i   i   N(   Rv   Rt   R2   RW   RR   RG   t   rowR   R   RN   R0   R   R   R   RD   t   nrowst   appendt   flush(   R(   R   R   R   R   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test10_2b_bis_moveTable  s    		

c         C@ s   |  j  d d d |  j  |  j j d d  } |  j j |  j j j | d  |  j j j j } d | j	 _
 |  j | j d  |  j | j	 j
 d  d S(	   s8   Checking moving tables and modify attributes after that.Ry   s   r+Rt   R   R   RN   R   N(   Rv   Rt   R2   RW   R   RR   RG   R   RN   RX   Ru   R0   RC   (   R(   R   R   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test10_2c_moveTable  s    c         C@ sX   |  j  d d d |  j  |  j t  * |  j j |  j j j |  j j d  Wd QXd S(   s,   Checking moving a table to an existing name.Ry   s   r+Rt   RD   N(   Rv   Rt   R,   R   R2   R   RR   RG   (   R(   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test10_2d_moveToExistingTable  s    c         C@ sp   |  j  d d d |  j  |  j j j } |  j j | |  j j d d t |  j j j } |  j | | k  d S(   s<   Checking moving a table to an existing name, overwriting it.Ry   s   r+Rt   RD   R   N(	   Rv   Rt   R2   RR   RG   R   R   RD   Rj   (   R(   t   srcNodet   dstNode(    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt&   test10_2e_moveToExistingTableOverwrite  s    c         C@ sI  |  j  d d d |  j  |  j j |  j j d  } |  j j |  j j j | d  |  j  d |  j  |  j j j j } |  j	 | j
 d  |  j	 | j d  |  j	 | j d  |  j j d  } |  j	 | j
 d  |  j	 | j d  |  j	 | j d	  |  j t   |  j j j Wd
 QX|  j t   |  j j d  Wd
 QXd
 S(   s9   Checking moving a Group and access it after a close/open.Ry   s   r+Rt   R   RP   s   /newgroup/agroup3i   s   /newgroup/agroup3/agroup3i   Ns   /agroup/agroup3(   Rv   Rt   R2   RW   RR   R   RH   R   RP   R0   R   R   R   R   R,   R}   (   R(   R   R[   R   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test11_moveGroup  s     c         C@ s6  |  j  d d d |  j  |  j j |  j j d  } |  j j |  j j j | d  |  j j j j } |  j	 | j
 d  |  j	 | j d  |  j	 | j d  |  j j d  } |  j	 | j
 d  |  j	 | j d  |  j	 | j d	  |  j t   |  j j j Wd
 QX|  j t   |  j j d  Wd
 QXd
 S(   s2   Checking moving a Group and access it immediately.Ry   s   r+Rt   R   RP   s   /newgroup/agroup3i   s   /newgroup/agroup3/agroup3i   Ns   /agroup/agroup3(   Rv   Rt   R2   RW   RR   R   RH   R   RP   R0   R   R   R   R   R,   R}   (   R(   R   R[   R   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test11b_moveGroup  s    c         C@ s   |  j  d d d |  j  |  j j |  j j d  } |  j j |  j j j | d  |  j j j j } d | j	 _
 d | j	 _ |  j | j d  |  j | j	 j
 d  |  j | j	 j d  d S(   s9   Checking moving a Group and modify attributes afterwards.Ry   s   r+Rt   R   RP   R   N(   Rv   Rt   R2   RW   RR   R   RH   R   RP   RU   Ru   t   holaR0   R   (   R(   R   R[   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test11c_moveGroup  s    c         C@ sX   |  j  d d d |  j  |  j t  * |  j j |  j j j |  j j d  Wd QXd S(   s,   Checking moving a group to an existing name.Ry   s   r+Rt   RO   N(   Rv   Rt   R,   R   R2   R   RR   RH   (   R(   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test11d_moveToExistingGroup)  s    c         C@ sp   |  j  d d d |  j  |  j j j } |  j j | |  j j d d t |  j j j } |  j | | k  d S(   s<   Checking moving a group to an existing name, overwriting it.Ry   s   r+Rt   RH   R   N(	   Rv   Rt   R2   RR   RO   R   R   RH   Rj   (   R(   R   R   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt$   test11e_moveToExistingGroupOverwrite3  s    c         C@ sj   |  j  d d d |  j  |  j j j } |  j j | |  j j d  |  j j j } |  j | | k  d S(   s#   Checking moving a node over itself.Ry   s   r+Rt   RB   N(   Rv   Rt   R2   RR   RB   R   Rj   (   R(   R   R   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test12a_moveNodeOverItself@  s
    c         C@ sX   |  j  d d d |  j  |  j t  * |  j j |  j j j |  j j j  Wd QXd S(   s$   Checking moving a group into itself.Ry   s   r+Rt   N(   Rv   Rt   R,   R   R2   R   RR   RO   (   R(   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test12b_moveGroupIntoItselfL  s    c         C@ si   |  j  d d d |  j  |  j j |  j j j |  j j j  } |  j j j j } |  j | | k  d S(   s   Copying a leaf.Ry   s   r+Rt   N(   Rv   Rt   R2   t	   copy_nodeRR   RB   RO   Rj   (   R(   t   new_nodeR   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test13a_copyLeafU  s
    c         C@ si   |  j  d d d |  j  |  j j |  j j j |  j j j  } |  j j j j } |  j | | k  d S(   s   Copying a group.Ry   s   r+Rt   N(   Rv   Rt   R2   R   RR   RO   RH   Rj   (   R(   R   R   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test13b_copyGroupa  s
    c         C@ si   |  j  d d d |  j  |  j j |  j j j |  j j j  } |  j j j j } |  j | | k  d S(   s   Copying a group into itself.Ry   s   r+Rt   N(   Rv   Rt   R2   R   RR   RO   Rj   (   R(   R   R   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test13c_copyGroupSelfm  s
    c         C@ s   |  j  d d d |  j  |  j j |  j j j |  j j j d t } |  j j j j } |  j | | k  | j	 } |  j | d k	  | j } |  j | d k	  | j } |  j | d k	  d S(   s   Recursively copying a group.Ry   s   r+Rt   R   N(   Rv   Rt   R2   R   RR   RH   RO   R   Rj   RI   R   RJ   RP   (   R(   R   R   t	   dstChild1t	   dstChild2t	   dstChild3(    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test13d_copyGroupRecursivey  s    	$			c         C@ s   |  j  d d d |  j  t j d  } t j | d d d |  j } z} |  j j |  j j | j d t	 } | j } |  j
 | | k  |  j
 d | k  |  j
 d | k  |  j
 d	 | k  Wd
 | j   t j |  Xd
 S(   sA   Recursively copying the root group into the root of another file.Ry   s   r+Rt   s   .h5R:   R   s   /agroups   /agroup/anarray1s   /agroup/agroup3N(   Rv   Rt   R*   R+   R)   R.   R2   R   RR   R   Rj   R/   R7   R8   (   R(   t   h5fname2t   h5file2R   R   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test13e_copyRootRecursive  s    		
c         C@ s   |  j  d d d |  j  t j d  } t j | d d d |  j } z | j d d  |  j j |  j j	 | j	 j
 d t } | j	 j
 } |  j | | k  |  j d	 | k  |  j d
 | k  |  j d | k  Wd | j   t j |  Xd S(   s@   Recursively copying the root group into a group in another file.Ry   s   r+Rt   s   .h5R:   R   RO   R   s   /agroup2/agroups   /agroup2/agroup/anarray1s   /agroup2/agroup/agroup3N(   Rv   Rt   R*   R+   R)   R.   RW   R2   R   RR   RO   R   Rj   R/   R7   R8   (   R(   R   R   R   R   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test13f_copyRootRecursive  s    	
c         C@ sj   |  j  d d d |  j  |  j j } |  j | d k	  |  j t |  j j |  j j |  j j d t	 d S(   s/   Recursively copying the root group into itself.Ry   s   r+Rt   R   N(
   Rv   Rt   R2   RR   Rj   R   R,   R-   R   R   (   R(   RO   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test13g_copyRootItself  s
    c         C@ sR   |  j  d d d |  j  |  j t  $ |  j j |  j j j d d Wd QXd S(   s   Copying over an existing node.Ry   s   r+Rt   R   RH   N(   Rv   Rt   R,   R   R2   R   RR   RO   (   R(   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test14a_copyNodeExisting  s    c         C@ sf   |  j  d d d |  j  |  j j |  j j j d d d t } |  j j j } |  j | | k  d S(   s.   Copying over an existing node, overwriting it.Ry   s   r+Rt   R   RH   R   N(	   Rv   Rt   R2   R   RR   RO   R   RH   Rj   (   R(   R   R   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt!   test14b_copyNodeExistingOverwrite  s
    c         C@ s   |  j  d d d |  j  t j d  } t j | d d d |  j } zq |  j j |  j j j	 j
 d | j } |  j j |  j j | j d t d t } | j } |  j | | k  Wd	 | j   t j |  Xd	 S(
   s<   Copying over an existing node in other file, overwriting it.Ry   s   r+Rt   s   .h5R:   t	   newparentR   R   N(   Rv   Rt   R*   R+   R)   R.   R2   R   RR   RH   RI   R   Rj   R/   R7   R8   (   R(   R   R   R   R   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt"   test14b2_copyNodeExistingOverwrite  s    	
c         C@ sR   |  j  d d d |  j  |  j t  $ |  j j |  j j j d d Wd QXd S(   s   Copying over self.Ry   s   r+Rt   R   RH   N(   Rv   Rt   R,   R   R2   R   RR   RH   (   R(   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test14c_copyNodeExistingSelf  s    c      
   C@ sX   |  j  d d d |  j  |  j t  * |  j j |  j j j d d d t Wd QXd S(   s'   Copying over self, trying to overwrite.Ry   s   r+Rt   R   RH   R   N(	   Rv   Rt   R,   R   R2   R   RR   RH   R   (   R(   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt%   test14d_copyNodeExistingOverwriteSelf  s    	c      	   C@ s^   |  j  d d d |  j  |  j t  0 |  j j |  j j j |  j j j d t Wd QXd S(   s(   Recursively copying a group into itself.Ry   s   r+Rt   R   N(	   Rv   Rt   R,   R   R2   R   RR   RH   R   (   R(   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test14e_copyGroupSelfRecursive  s    c         C@ sp   |  j  d d d |  j  |  j j j } |  j j | |  j j j d  |  j j j j } |  j | | k  d S(   s.   Moving and renaming a node in a single action.Ry   s   r+Rt   RB   N(	   Rv   Rt   R2   RR   RI   R   RH   RB   Rj   (   R(   R   R   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test15a_oneStepMove  s
    c         C@ sl   |  j  d d d |  j  |  j j |  j j j |  j j j d  } |  j j j j } |  j | | k  d S(   s/   Copying and renaming a node in a single action.Ry   s   r+Rt   RB   N(	   Rv   Rt   R2   R   RR   RI   RH   RB   Rj   (   R(   R   R   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test15b_oneStepCopy  s
    	!c         C@ s   |  j  d d d |  j  |  j j j } |  j j | d d d t } |  j j j } |  j | | k  |  j	 | j
 j | j
 j  |  j	 | j j j | j j j  |  j	 | j j   | j j    d S(   s&   Copying full data and user attributes.Ry   s   r+Rt   R   t	   groupcopyR   N(   Rv   Rt   R2   RR   RH   R   R   R   Rj   R0   RU   RV   RI   RX   t   read(   R(   R   R   R   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test16a_fullCopy%  s    	c         C@ s   |  j  d d d |  j  |  j j j } |  j j | d d d t d t d d	 d
 d d d } |  j j j } |  j	 | | k  |  j
 t | j d   |  j
 t | j j d   |  j | j j   d	 d d  | j j    d S(   s,   Copying partial data and no user attributes.Ry   s   r+Rt   R   R   R   t   copyuserattrst   starti    t   stopi   t   stepi   RV   N(   Rv   Rt   R2   RR   RH   R   R   t   FalseR   Rj   t   assertFalset   hasattrRU   RI   RX   R0   R   (   R(   R   R   R   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test16b_partialCopy6  s    	c         C@ s$  |  j  d d d |  j  t j d  } t j | d d d |  j } z |  j j } |  j j | | j d d d t	 } | j j
 } |  j | | k  |  j | j j | j j  |  j | j j j j | j j j j  |  j | j j j   | j j j    Wd	 | j   t j |  Xd	 S(
   s:   Copying full data and user attributes (from file to file).Ry   s   r+Rt   s   .h5R:   R   R   R   N(   Rv   Rt   R*   R+   R)   R.   R2   RR   R   R   R   Rj   R0   RU   RV   RH   RI   RX   R   R/   R7   R8   (   R(   R   R   R   R   R   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test16c_fullCopyI  s&    	
c         C@ ss   |  j  d d d |  j  |  j j j } |  j j | d d d d } |  j | j d	  |  j | j | j  d S(
   s"   Copying dataset with a chunkshape.Ry   s   r+Rt   R   t	   tablecopyt
   chunkshapei   N(   i   (	   Rv   Rt   R2   RR   RD   R   R0   R   t   assertNotEqual(   R(   t   srcTablet   newTable(    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test17a_CopyChunkshapee  s    	c         C@ s`   |  j  d d d |  j  |  j j j } |  j j | d d d d } |  j | j | j  d S(	   s4   Copying dataset with a chunkshape with 'keep' value.Ry   s   r+Rt   R   R   R   t   keepN(   Rv   Rt   R2   RR   RD   R   R0   R   (   R(   R   R   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test17b_CopyChunkshapep  s
    	c         C@ s~   |  j  d d d |  j  |  j j j } |  j j | d d d d } |  j j | d d d d	 } |  j | j | j  d
 S(   s4   Copying dataset with a chunkshape with 'auto' value.Ry   s   r+Rt   R   R   R   i   t
   tablecopy2t   autoN(   Rv   Rt   R2   RR   RD   R   R0   R   (   R(   R   R   t	   newTable2(    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test17c_CopyChunkshapez  s    		c         C@ s|   |  j  d |  j  xb |  j j j |  j j j g D]B } | j   |  j d t |  k  |  j d t	 |  k  q2 Wd S(   s'   Representing a closed node as a string.Rt   t   closedN(
   Rv   Rt   R2   RR   RH   RF   t   _f_closeRj   t   strt   repr(   R(   R   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test18_closedRepr  s
    %
c         C@ sX   |  j  d d d |  j  |  j j   } t j rA t d |  n  |  j | d k  d S(   s*   Checking that the 'fileno()' method works.Ry   R   Rt   s   Value of fileno():i    N(   Rv   Rt   R2   t   filenoR   R   R   Rj   (   R(   t   fd(    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test19_fileno  s
    	(J   R>   R?   R!   RA   Rd   Ro   Rq   Rs   Rx   R{   R|   R~   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R  R  R
  (    (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyR@   b   s   		*																	
			
							
						
					
					
					
																		
	
							
		
t   NodeCacheOpenFilec           B@ s   e  Z e Z e d  e  Z RS(   Rt   (   R>   R?   R   Rt   t   dictt   open_kwargs(    (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyR    s   t   NoNodeCacheOpenFilec           B@ s   e  Z d  Z e d e  Z RS(   i    Rt   (   R>   R?   Rt   R  R  (    (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyR    s   t   DictNodeCacheOpenFilec           B@ s   e  Z e Z e d  e  Z RS(   Rt   (   R>   R?   R   Rt   R  R  (    (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyR    s   t   CheckFileTestCasec           B@ s   e  Z d    Z d   Z d   Z d   Z d   Z e j e	 e
 d  oW e
 j   d k d  d    Z d	   Z d
   Z d   Z d   Z d   Z d   Z d   Z RS(   c         C@ s[   t  t |   j   t j d  |  _ t |  j d  |  _ |  j j d  |  j j	   d  S(   Ns   .h5R:   s   Hello!(
   R    R  R!   R*   R+   t   txtfileR5   t   fileht   writeR/   (   R(   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyR!     s
    c         C@ s4   |  j  j   t j |  j  t t |   j   d  S(   N(   R  R/   R7   R8   R  R    R  t   tearDown(   R(   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyR    s    c         C@ s   |  j  j |  j  j d d d g d d |  j  j   t j rd t d |  j t j	 |  j  f  n  |  j
 t j	 |  j  d  d S(   s2   Checking  tables.is_hdf5_file function (TRUE case)RB   i   i   RC   s   Title examples   
isHDF5File(%s) ==> %dN(   R2   RS   RR   R/   R   R   R   R1   R)   t   is_hdf5_fileR0   (   R(   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test00_isHDF5File  s    !	 c         C@ s)   t  j |  j  } |  j | d k  d S(   s3   Checking  tables.is_hdf5_file function (FALSE case)i    N(   R)   R  R  Rj   (   R(   t   version(    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test01_isHDF5File  s    c         C@ s   |  j  t t j d  d S(   s$   Identifying a nonexistent HDF5 file.R   N(   R,   R-   R)   R  (   R(   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test01x_isHDF5File_nonexistent  s    t   getuidi    s   no UIDc         C@ s=   |  j  j   t j |  j d  |  j t t j |  j  d S(   s$   Identifying an unreadable HDF5 file.i    N(	   R2   R/   R7   t   chmodR1   R,   R-   R)   R  (   R(   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test01x_isHDF5File_unreadable  s    c         C@ s   |  j  j |  j  j d d d g d d |  j  j   t j |  j  } t j rh t	   t	 d |  n  |  j
 | d k  d S(	   s.   Checking is_pytables_file function (TRUE case)RB   i   i   RC   s   Title examples&   
PyTables format version number ==> %ss   1.0N(   R2   RS   RR   R/   R)   t   is_pytables_fileR1   R   R   R   Rj   (   R(   R  (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test02_isPyTablesFile  s    	c         C@ sJ   t  j |  j  } t j r3 t   t d |  n  |  j | d k  d S(   s/   Checking is_pytables_file function (FALSE case)s&   
PyTables format version number ==> %sN(   R)   R  R  R   R   R   Rj   R   (   R(   R  (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test03_isPyTablesFile  s
    	c      	   C@ s  t  d  } t j | d d  } | j d d d } |  j | j d  | j | d d d	 } |  j | j d  | j | d
 d d	 } |  j | j d
  t j r t d t	 |   t d |  n  | j d d d d } |  j | j d  Wd QXd S(   s(   Checking opening of a generic HDF5 file.s   ex-noattr.h5Ry   R   s   /columnst	   classnamet   Groupt   columnst   TDCR`   t   pressures$   Array object with type H5T_ARRAY -->s   Array contents -->s	   /detectorRD   t   TableN(
   R   R)   R.   R   R0   R   R   R   R   R  (   R(   R1   R2   R"  R   t   uiRD   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test04_openGenericHDF5File  s    	c      
   C@ sc   t  d  } t j |  B } |  j t   | j d  } Wd QX|  j t | t   Wd QXd S(   s@   Checking failure loading resulting in an ``UnImplemented`` node.s   smpl_unsupptype.h5s   /CompoundChunkedN(	   R   R)   R.   t   assertWarnst   UserWarningR   Rj   t
   isinstanceR   (   R(   R1   R2   R   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test04b_UnImplementedOnLoading  s
    	c      
   C@ s]   t  j t d   B } |  j t   | j d  } Wd QX|  j t | t   Wd QXd S(   sV   Checking opening of HDF5 files containing scalar dataset of
        UnImlemented type.s	   scalar.h5s   /variable length stringN(	   R)   R.   R   R(  R)  R   Rj   R*  R   (   R(   R2   R   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test04c_UnImplementedScalar+  s    c      
   C@ s   t  d  } t j | d d  } |  j t | j d  t j   ! t j d  | j d  } Wd QX|  j	 | j
 d  t j r t d t |   n  |  j t | j |  j j d	  Wd QXd S(
   s7   Checking that an UnImplemented object cannot be copied.s   smpl_unsupptype.h5Ry   R   s   /CompoundChunkedt   ignoreNt   CompoundChunkeds   UnImplement object -->t   newui(   R   R)   R.   R(  R)  R   R   R   t   simplefilterR0   R   R   R   R   R  t   copyR2   RR   (   R(   R1   R2   R&  (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test05_copyUnimplemented4  s    	c         C@ s   t  d  } t j | d d  } | j | j j d  } |  j | j d  t j	 rn t
 d t |   n  t j   D t j d d t |  j t   | j |  j j d  Wd	 QXWd	 QXWd	 QXd	 S(
   s7   Checking that an UnImplemented object cannot be copied.s   ex-noattr.h5Ry   R   R$  s   UnImplement object -->R   R   R/  N(   R   R)   R.   R   RR   R"  R0   R   R   R   R   R  R   R   R   R)  R,   R1  R2   (   R(   R   R   R&  (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   _test05_copyUnimplementedG  s    	(   R>   R?   R!   R  R  R  R  R   t
   skipUnlessR   R7   R  R  R  R  R'  R+  R,  R2  R3  (    (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyR    s   							6							t   nti   t   stricts   FILE_OPEN_POLICY = "strict"t   ThreadingTestCasec           B@ s   e  Z d    Z d   Z RS(   c         C@ sC   t  t |   j   |  j j d d t j   d  |  j j   d  S(   NR   t
   test_arrayi   i,  (   i   i,  (   R    R7  R!   R2   t   create_carrayR)   t	   Int64AtomR/   (   R(   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyR!   b  s    c         @ s   t  j       f d      f d    |  j }   f d   } g  } t j j j   } xI t d  D]; } t  j d | d | | f  } | j	   | j
 |  qj Wx* t d  D] } |  j | j   d  q Wx | D] } | j   q Wd  S(   Nc          @ s!      t  j |  |   SWd  QXd  S(   N(   R)   R.   (   t   argst   kwargs(   t   lock(    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   syncronized_open_filek  s    c         @ s!      |  j  | |   SWd  QXd  S(   N(   R/   (   R(   R;  R<  (   R=  (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   syncronized_close_fileo  s    c         @ s   yp  |  d d } | j  j d d  d d  f } | j   | j   k oZ d k n se t    |  Wn$ t k
 r | j t j    n X| j d  d  S(	   NRy   R   i   i   i   i   i    t   OK(	   RR   R8  t   maxt   mint   AssertionErrort	   Exceptiont   putt   syst   exc_info(   t   filenamet   qt   ft   arr(   R?  R>  (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   runu  s    ".i
   t   targetR;  R@  (   t	   threadingt   LockR1   Rf   t   movest   queuet   QueueR   t   ThreadR   R   R0   t   getRi   (   R(   RH  RL  t   threadsRI  t   it   t(    (   R=  R?  R>  s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   testh  s    	
(   R>   R?   R!   RX  (    (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyR7  ^  s   	t   PythonAttrsTestCasec           B@ s2   e  Z d  Z d   Z d   Z d   Z d   Z RS(   s7   Test interactions of Python attributes and child nodes.c         C@ s   |  j  j } |  j  j | d d g  } d } |  j t t | d |  |  j | j | k  |  j | j d  | k  | ` |  j | j | k  |  j	 t
 t | d  d S(   s-   Setting a Python attribute over a child node.RX  i   t   foobarN(   R2   RR   RS   R(  R   t   setattrRj   RX  t   _f_get_childR,   R   t   delattr(   R(   RR   t   childt   attr(    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test00_attrOverChild  s    	c         C@ s   |  j  } | j } d } | | _ |  j t | j | d d g  | j d  } |  j | j | k  |  j | j d  | k  | ` |  j | j | k  |  j	 t
 t | d  d S(   s/   Creating a child node under a Python attribute.RZ  RX  i   s   /testN(   R2   RR   RX  R(  R   RS   R   Rj   R\  R,   R   R]  (   R(   R2   RR   R_  R^  (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test01_childUnderAttr  s    				c         C@ s   |  j  } | j d d d g  } | j d d d g  } | | _ | | _ |  j | j | k  |  j | j | k  |  j t | j d  |  j t | j d  d S(   s9   Assigning a ``Node`` value as an attribute to a ``Leaf``.R   R\   i   Rz   s   /array1/array2s   /array2/array3N(   R2   RS   Rz   R\   Rj   R,   R   R   (   R(   R2   R\   Rz   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test02_nodeAttrInLeaf  s    					c         C@ s   |  j  } | j } | j d d d g  } | | _ |  j t t | d |  |  j | j | k  |  j | j | k  |  j	 t
 | j d  |  j | j d  | k  | ` |  j	 t t | d  d S(   s:   Assigning a ``Node`` value as an attribute to a ``Group``.R   RB   i   s   /arrayAliass   /arrayN(   R2   RR   RS   t
   arrayAliasR(  R   R[  Rj   RB   R,   R   R   R   R]  (   R(   R2   RR   RB   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test03_nodeAttrInGroup  s    			(   R>   R?   t   __doc__R`  Ra  Rb  Rd  (    (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyRY    s
   			t   StateTestCasec           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 d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z RS(   sz   Test that ``File`` and ``Node`` operations check their state (open or
    closed, readable or writable) before proceeding.c         C@ sf   |  j  j   t j d d  } z |  j t |  j  j |  Wd t j j	 |  ra t j
 |  n  Xd S(   s   Test copying a closed file.t   suffixs   .h5N(   R2   R/   R*   R+   R,   R   t	   copy_fileR7   Rh   t   existsR8   (   R(   t   h5cfname(    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test00_fileCopyFileClosed  s    	c         C@ sC   |  j  j   y |  j  j   Wn t k
 r> |  j d  n Xd S(   s$   Test closing an already closed file.s&   could not close an already closed fileN(   R2   R/   R   t   fail(   R(   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test01_fileCloseClosed  s
    c         C@ s'   |  j  j   |  j t |  j  j  d S(   s   Test flushing a closed file.N(   R2   R/   R,   R   R   (   R(   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test02_fileFlushClosed  s    c         C@ sC   |  j  d  y |  j j   Wn t k
 r> |  j d  n Xd S(   s   Flushing a read-only file.R   s    could not flush a read-only fileN(   Rv   R2   R   R   Rl  (   R(   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test03_fileFlushRO  s
    c         C@ s-   |  j  j   |  j t |  j  j d d  d S(   s&   Test creating a node in a closed file.R   RX  N(   R2   R/   R,   R   RW   (   R(   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test04_fileCreateNodeClosed  s    	c         C@ s-   |  j  d  |  j t |  j j d d  d S(   s)   Test creating a node in a read-only file.R   R   RX  N(   Rv   R,   R   R2   RW   (   R(   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test05_fileCreateNodeRO  s    	c         C@ s@   |  j  j d d  |  j  j   |  j t |  j  j d d  d S(   s(   Test removing a node from a closed file.R   RX  N(   R2   RW   R/   R,   R   R   (   R(   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test06_fileRemoveNodeClosed&  s    	c         C@ s@   |  j  j d d  |  j d  |  j t |  j  j d d  d S(   s+   Test removing a node from a read-only file.R   RX  R   N(   R2   RW   Rv   R,   R   R   (   R(   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test07_fileRemoveNodeRO.  s    	c         C@ sV   |  j  j d d  |  j  j d d  |  j  j   |  j t |  j  j d d d  d S(   s$   Test moving a node in a closed file.R   t   test1t   test2s   /test1N(   R2   RW   R/   R,   R   R   (   R(   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test08_fileMoveNodeClosed6  s
    	c         C@ sV   |  j  j d d  |  j  j d d  |  j d  |  j t |  j  j d d d  d S(   s'   Test moving a node in a read-only file.R   Rt  Ru  R   s   /test1N(   R2   RW   Rv   R,   R   R   (   R(   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test09_fileMoveNodeRO?  s
    	c         C@ sV   |  j  j d d  |  j  j d d  |  j  j   |  j t |  j  j d d d  d S(   s%   Test copying a node in a closed file.R   Rt  Ru  s   /test1N(   R2   RW   R/   R,   R   R   (   R(   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test10_fileCopyNodeClosedH  s
    	c         C@ sC   |  j  j d d  |  j d  |  j t |  j  j d d d  d S(   s(   Test copying a node in a read-only file.R   Rt  R   s   /test1Ru  N(   R2   RW   Rv   R,   R   R   (   R(   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test11_fileCopyNodeROQ  s    	c         C@ s=   |  j  j d d  |  j  j   |  j t |  j  j d  d S(   s'   Test getting a node from a closed file.R   RX  s   /testN(   R2   RW   R/   R,   R   R   (   R(   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test13_fileGetNodeClosedY  s    c         C@ sS   |  j  j d d  |  j  j d d  |  j  j   |  j t t |  j  j    d S(   s   Test walking a closed file.R   Rt  Ru  N(   R2   RW   R/   R,   R   t   nextt
   walk_nodes(   R(   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test14_fileWalkNodesClosed`  s    c         C@ s_   |  j  j d d  |  j  j   |  j t |  j  j d d d  |  j t |  j  j d d  d S(   s<   Test setting and deleting a node attribute in a closed file.R   RX  s   /testt   foot   barN(   R2   RW   R/   R,   R   t   set_node_attrt   del_node_attr(   R(   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test15_fileAttrClosedh  s    		c         C@ su   |  j  j d d  |  j  j d d d  |  j d  |  j t |  j  j d d d  |  j t |  j  j d d  d S(   s?   Test setting and deleting a node attribute in a read-only file.R   RX  s   /testR~  R   R  N(   R2   RW   R  Rv   R,   R   R  (   R(   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test16_fileAttrROr  s    		c         C@ s   |  j  j   |  j  j d d  |  j  j   |  j t |  j  j  |  j t |  j  j  |  j t |  j  j  |  j t |  j  j	  d S(   s&   Test undo operations in a closed file.R   Ru  N(
   R2   t   enable_undoRW   R/   R,   R   t   is_undo_enabledt   get_current_markt   undot   disable_undo(   R(   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test17_fileUndoClosed}  s    c         C@ sG   |  j  j   |  j  j d d  |  j d  |  j |  j  j t  d S(   s)   Test undo operations in a read-only file.R   RX  R   N(   R2   R  RW   Rv   R0   t   _undoEnabledR   (   R(   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test18_fileUndoRO  s    c         C@ s  |  j  j d d  } |  j  j d d  } | j   |  j t | j d  |  j t |  j  j |  y |  j  j d  } Wn t k
 r |  j d  n X|  j | j	 t
 k d  |  j | j	 t k d  |  j  j d  } |  j | j	 t
 k d  |  j | j	 t k d	  d
 S(   s&   Test getting a child of a closed node.R   t   g1s   /g1t   g2s   /g1/g2s)   closed parent group has not been reopeneds.   open child of closed group has not been closeds*   already closed group is not closed anymores"   newly opened group is still closedN(   R2   RW   R  R,   R   R\  R   Rl  Rj   t	   _v_isopenR   R   (   R(   R  R  t   g2_t   g1_(    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test19a_getNode  s&    
	c         C@ s?   |  j  j d d d d g d d |  j t |  j  j d  d S(   s;   Test getting a node that does not start with a slash ('/').R   RB   i   i   RC   s   Title exampleN(   R2   RS   R,   t	   NameErrorR   (   R(   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test19b_getNode  s    "c         C@ s   |  j  j d d  } |  j  j d d d g  } | j   |  j t | j  |  j t |  j  j |  y |  j  j d d t Wn t k
 r |  j	 d  n X|  j t | j  |  j
 d |  j  k  |  j
 d |  j  k  d	 S(
   s   Test removing a closed node.R   R[   s   /groupRB   i   R   s!   closed node has not been reloadeds   /group/arrayN(   R2   RW   RS   R  R,   R   t	   _f_removeR   R   Rl  Rj   (   R(   R[   RB   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test20_removeNode  s    
c         C@ sn   |  j  j d d  } | j } d | _ } | j   |  j t t | d  |  j |  j  j	 d d  |  d S(   s2   Test manipulating the attributes of a closed node.R   RX  R~  RU   s   /testN(
   R2   RW   RU   RX  R  R,   R   t   getattrR0   t   get_node_attr(   R(   R   t	   nodeAttrsR_  (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test21_attrsOfNode  s    	
c         C@ sY   |  j  j d d  |  j  j d d d  |  j d  |  j t |  j  j d d d  d S(   s?   Test manipulating the attributes of a node in a read-only file.R   RX  s   /testR~  R   R  N(   R2   RW   R  Rv   R,   R   (   R(   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test21b_attrsOfNode  s
    	c         C@ s<   |  j  j d d  } |  j  j   |  j t t | d  d S(   s*   Test node closing because of file closing.R   RX  RU   N(   R2   RW   R/   R,   R   R  (   R(   R   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test22_fileClosesNode  s    c         C@ s  |  j  j d d d d d g  |  j  j   t j |  j d  F} |  j | j d  t j j	 d k r |  j
 t t j |  j d  n t j |  j d   } |  j | j d  |  j | j d  t j r t d | j  t d	 | j j d  n  |  j | j j d d  | j   |  j | j d  t j rct d
 | j  t d | j j d  n  |  j | j j d d  Wd QXWd QXd S(   s6   Testing reopening a file and closing it several times.R   RX  i   i   i   R   R6  s   (h5file1) open_count:s   (h5file1) test[1]:s   (h5file2) open_count:s   (h5file2) test[1]:N(   R2   RS   R/   R)   R.   R1   R0   t
   open_countR$   t   _FILE_OPEN_POLICYR,   R<   R   R   R   RR   RX  (   R(   t   h5file1R   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test23_reopenFile  s(    		
	(   R>   R?   Re  Rk  Rm  Rn  Ro  Rp  Rq  Rr  Rs  Rv  Rw  Rx  Ry  Rz  R}  R  R  R  R  R  R  R  R  R  R  R  (    (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyRf    s4   		
		
														
			
	!					
	t   FlavorTestCasec           B@ s   e  Z d  Z e j d  Z e j d  Z d d  Z d   Z	 d   Z
 d   Z d   Z d   Z d	   Z d
   Z d   Z d   Z RS(   sa   Test that setting, getting and changing the ``flavor`` attribute of a
    leaf works as expected.i
   R   c         C@ sD   t  t |   j |  |  j j d  |  _ |  j j d  |  _ t S(   Ns   /arrays   /scalar(   R    R  Rv   R2   R   RB   t   scalarR   (   R(   Ry   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyRv     s    c         C@ sS   t  t |   j   |  j j d d |  j  |  _ |  j j d d |  j  |  _ d  S(   NR   RB   R  (	   R    R  R!   R2   RS   t
   array_dataRB   t   scalar_dataR  (   R(   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyR!   !  s    c         C@ s    |  j  t t |  j d d  d S(   s   Setting an invalid flavor.t   flavorR~  N(   R,   R   R[  RB   (   R(   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test00_invalid&  s    c         C@ s6   |  j  d d  |  j t t |  j d t j j  d S(   s%   Setting a flavor in a read-only file.Ry   R   R  N(   Rv   R,   R   R[  RB   R)   R  t   internal_flavor(   R(   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test01_readonly+  s    	c         C@ so   xh t  D]` } | |  j _ |  j |  j j |  t |  j |  } |  j } |  j t j | | |   q Wd S(   s%   Changing the flavor and reading data.N(	   R   RB   R  R0   R   R  Rj   R   t   allequal(   R(   R  t   idatat   odata(    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test02_change3  s    
c         C@ s]   xV t  D]N } | |  j _ |  j |  j j |  |  j d d  |  j |  j j |  q Wd S(   s   Storing a changed flavor.Ry   s   r+N(   R   RB   R  R0   Rv   (   R(   R  (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test03_store=  s
    c         C@ s   |  j  j } d |  j  j _ |  j d d  t |  j |  } |  j t   |  j  j	   } Wd QX|  j
 t j | | |   d S(   s&   Reading a dataset of a missing flavor.RZ  Ry   R   N(   RB   R  RU   t   FLAVORRv   R   R  R(  R   R   Rj   R   R  (   R(   R  R  R  (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test04_missingF  s    c         C@ s   d |  j  _ |  j |  j  j d  |  j |  j  j j d  |  j  ` |  j |  j  j t j j  |  j t t	 |  j  j d  d S(   s!   Deleting the flavor of a dataset.t   pythonR  N(
   RB   R  R0   RX   R  R)   R  R,   R   R  (   R(   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test05_deleteQ  s    	c   	      C@ s?  g  |  j  |  j g D] } | j ^ q } g  | D] } d | ^ q/ } x) | D]! } |  j j d |  } | ` qL Wx d d g D] } |  j |  x t | |  D] \ } } | d k r |  j j d |  } | j d |  } n$ | d k r|  j j d |  } n  |  j	 | j t
 j j d | j | j f  q Wq~ Wd S(   s0   Copying a node with a deleted flavor (see #100).s   %s_copyR   s   r+R   s)   flavor of node ``%s`` is not internal: %rN(   RB   R  R   R2   R   R  Rv   R   R1  R0   R)   R  R   (	   R(   R   t   snamesR   t   dnamest   fmodet   snamet   dnamet   snode(    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test06_copyDeleted[  s     (
c         C@ s  t  t j j  } t j j j   } t j j j   } t j j j   } t j j j   } za t j j	 d g   |  j
 t t j j  t |  k   |  j
 t t j j  t |  k   Wd  | t j j (t j j j |  t j j j |  t j j j |  t j j j |  Xd  S(   NR   (   t   listR)   R  R   t	   alias_mapR1  t   converter_mapt   identifier_mapt   description_mapt   restrict_flavorsRj   R#   t   update(   R(   R   R  R  R  R  (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test07_restrict_flavorsp  s    %	 (   R>   R?   Re  RY   t   arangeR  t   int32R  Rv   R!   R  R  R  R  R  R  R  R  (    (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyR    s   				
				
	t   wins   known bug: gh-389s   utf-8s   need utf-8 file-system encodingt   UnicodeFilenamec           B@ sS   e  Z d  Z d   Z d   Z d   Z d   Z d   Z e d    Z	 d   Z
 RS(   u	   paraŀlelc         C@ s   t  j d |  j d d  S(   Nt   prefixRg  s   .h5(   R*   R+   t   unicode_prefix(   R(   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   _getTempFileName  s    c         C@ sB   t  t |   j   |  j j d d d d g  |  _ |  j   d  S(   NR   RX  i   i   (   R    R  R!   R2   RS   RX  Rv   (   R(   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyR!     s    !c         C@ sj   |  j  j j } t j rL t d |  j  t d |  t d d d g  n  |  j | d d g d  d S(   s0   Checking creating a filename with Unicode chars.s	   Filename:s   Array:s   Should look like:i   i   s   Values does not match.N(   R2   RR   RX  R   R   R   R1   R0   (   R(   RX  (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test01  s    	c         C@ s_   |  j  j   t j rB t d |  j  t d t j |  j   n  |  j t j |  j   d S(   s6   Checking  tables.is_hdf5_file with a Unicode filename.s	   Filename:s    tables.is_hdf5_file?:N(	   R2   R/   R   R   R   R1   R)   R  Rj   (   R(   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test02  s
    	c         C@ sb   |  j  j   t j rB t d |  j  t d t j |  j   n  |  j t j |  j  t	  d S(   s2   Checking is_pytables_file with a Unicode filename.s	   Filename:s   is_pytables_file?:N(
   R2   R/   R   R   R   R1   R)   R  R   R   (   R(   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test03  s
    	c         C@ sA   t  j j | j  } t  j | |  d | j d | } | | (d  S(   Nt   shapet   atom(   R)   t   Atomt
   from_dtypet   dtypet   CArrayR  (   R   t   dataR[   R  R   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   _store_carray  s    !c         C@ s   |  j  j   t j |  j d  |  _  |  j  j } |  j  j | d  } d } t j t j	 d d d   } t
 j   ( t
 j d t  |  j | | |  Wd  QX|  j  j | d  } d  S(	   NRL   t	   face_datau   data at 40°Cgffffffgffffff?i  R-  t   vertex_data(   R2   R/   R)   R.   R1   RR   RW   RY   t   sinht   linspaceR   R   R0  R   R  (   R(   RR   R[   t
   array_nameR  (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt-   test_store_and_load_with_non_ascii_attributes  s    (   R>   R?   R  R  R!   R  R  R  t   staticmethodR  R  (    (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyR    s   			
				i   s%   PEP 519 was implemented in Python 3.6t   PathLikeFilenamec           B@ s5   e  Z d    Z d   Z d   Z d   Z d   Z RS(   c         C@ s&   d d l  m } | t j d d   S(   Ni    (   t   PathRg  s   .h5(   t   pathlibR  R*   R+   (   R(   R  (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyR    s    c         C@ sB   t  t |   j   |  j j d d d d g  |  _ |  j   d  S(   NR   RX  i   i   (   R    R  R!   R2   RS   RX  Rv   (   R(   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyR!     s    !c         C@ sj   |  j  j j } t j rL t d |  j  t d |  t d d d g  n  |  j | d d g d  d S(   s@   Checking creating a file with a PathLike object as the filename.s	   Filename:s   Array:s   Should look like:i   i   s   Values does not match.N(   R2   RR   RX  R   R   R   R1   R0   (   R(   RX  (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyR    s    	c         C@ s_   |  j  j   t j rB t d |  j  t d t j |  j   n  |  j t j |  j   d S(   sE   Checking  tables.is_hdf5_file with a PathLike object as the filename.s	   Filename:s    tables.is_hdf5_file?:N(	   R2   R/   R   R   R   R1   R)   R  Rj   (   R(   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyR    s
    	c         C@ sb   |  j  j   t j rB t d |  j  t d t j |  j   n  |  j t j |  j  t	  d S(   sA   Checking is_pytables_file with a PathLike object as the filename.s	   Filename:s   is_pytables_file?:N(
   R2   R/   R   R   R   R1   R)   R  R   R   (   R(   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyR    s
    	(   R>   R?   R  R!   R  R  R  (    (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyR    s
   			
		t   FilePropertyTestCasec           B@ sb   e  Z d    Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d	   Z RS(
   c         C@ s2   t  t |   j   t j d  |  _ d  |  _ d  S(   Ns   .h5(   R    R  R!   R*   R+   R1   R   R2   (   R(   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyR!     s    c         C@ sX   |  j  r |  j  j   n  t j j |  j  rA t j |  j  n  t t |   j	   d  S(   N(
   R2   R/   R7   Rh   Ri  R1   R8   R    R  R  (   R(   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyR    s
    	c         C@ s   t  j d  } t  j | j  | j j } t j |  j d d |  _	 |  j	 j
 |  j	 j d |  |  j	 j   } |  j	 j   t j |  j  d } |  j | | k  |  j | |  d  S(   Ni  Ry   R:   RB   i   (   i  i  (   RY   t   zerost   prodR  R  t   itemsizeR)   R.   R1   R2   RS   RR   t   get_filesizeR/   R7   t   statRj   R0   (   R(   R  t   datasizet   h5_filesizet   fs_filesize(    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test_get_filesize  s    c         C@ sZ   t  j |  j d d |  _ |  j j |  j j d d d g  |  j |  j j   d  d  S(   NRy   R:   RB   i   i   i    (   R)   R.   R1   R2   RS   RR   R0   t   get_userblock_size(   R(   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test01_null_userblock_size  s    "c         C@ s   t  j |  j d d |  _ |  j j |  j j d d d g  |  j j   t  j |  j d d |  _ |  j |  j j   d  d  S(   NRy   R:   RB   i   i   R   i    (	   R)   R.   R1   R2   RS   RR   R/   R0   R  (   R(   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test02_null_userblock_size  s
    "c         C@ sf   d } t  j |  j d d d | |  _ |  j j |  j j d d d g  |  j |  j j   d  d  S(   Ni    Ry   R:   t   user_block_sizeRB   i   i   (   R)   R.   R1   R2   RS   RR   R0   R  (   R(   t   USER_BLOCK_SIZE(    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test03_null_userblock_size  s
    "c         C@ sf   d } t  j |  j d d d | |  _ |  j j |  j j d d d g  |  j |  j j   |  d  S(   Ni   Ry   R:   R  RB   i   i   (   R)   R.   R1   R2   RS   RR   R0   R  (   R(   R  (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test01_userblock_size"  s
    "c         C@ s   d } t  j |  j d d d | |  _ |  j j |  j j d d d g  |  j j   t  j |  j d d |  _ |  j |  j j   |  d  S(	   Ni   Ry   R:   R  RB   i   i   R   (	   R)   R.   R1   R2   RS   RR   R/   R0   R  (   R(   R  (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test02_userblock_size)  s    "c         C@ s/   d } |  j  t t j |  j d d d | d  S(   Ni   Ry   R:   R  (   R,   R<   R)   R.   R1   (   R(   R  (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test_small_userblock_size2  s    c         C@ s/   d } |  j  t t j |  j d d d | d  S(   Ni  Ry   R:   R  (   R,   R<   R)   R.   R1   (   R(   R  (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test_invalid_userblock_size7  s    (   R>   R?   R!   R  R  R  R  R  R  R  R  R  (    (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyR    s   										s   Blosc not availablet   BloscBigEndianc           B@ s   e  Z e d   Z d   Z RS(   s   blosc_bigendian.h5c         C@ s]   xV d
 D]N } t  j d d | } |  j j d |  } |  j t j | |  d  q Wd	 S(   s9   Checking compatibility with Blosc on big-endian machines.t   i1t   i2t   i4t   i8i
   R  R   s   Error in big-endian data!N(   R  R  R  R  (   RY   R  R2   R   Rj   R   R  (   R(   t	   dset_nameRL   t   dset(    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test00_bigendianB  s
    (   R>   R?   R   R1   R  (    (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyR  >  s   c         C@ s   t  j |   } t j r( t d |   n  | j j j d  } t j rS t d  n  t |  t j rs t d  n  | j	   | d  k	 r | j d  n  d  S(   Ns   About to load: s	   (f0 < 10)s"   Got the iterator, about to iterates   Succeeded in one iteration
t   Done(   R)   R.   R   R   R   RR   RD   t   whereR{  R/   R   RE  (   t   fnt   qoutt   fpt   rows(    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   _workerQ  s    		
	
s$   multiprocessing module not availablet   gnus   gnu/kfreebsds8   multiprocessing module is not supported on Hurd/kFreeBSDt   BloscSubprocessc           B@ s   e  Z d    Z RS(   c         C@ sl  t  j d d d d  } z?t d  } t j d   t |  D d  } t j | d  B } | j | j	 d	 | d
 t j
 d d d d  d | d f Wd  QXt j r t d  n  t |  t j r t d  n  y t j   } Wn t k
 rt d  nT Xt j d t d | | f  } t | _ | j   | j   } t j rVt |  n  Wd  t j |  Xd  S(   NR  s   multiproc-blosc9-Rg  s   .h5g    OAc         s@ s&   |  ] } | | d  | d f Vq d S(   i   i   N(    (   t   .0RV  (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pys	   <genexpr>r  s   s   i4,i8,f8R:   RD   t   filterst	   compleveli	   t   complibt   bloscR   i   s   **** Running from main process:s   **** Running from subprocess:s*   Permission denied due to /dev/shm settingsRM  R;  (   R*   R+   t   intRY   t   fromiterR   R)   R.   RT   RR   t   FiltersR   R   R   R  t   mpRR  t   OSErrort   ProcessR   t   daemonR   RT  R7   R8   (   R(   R1   t   sizet   saR2   R  t   pst   result(    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test_multiprocessm  s4    	
		
	(   R>   R?   R  (    (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyR   g  s   t   HDF5ErrorHandlingc           B@ sP   e  Z d    Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 RS(   c         C@ s&   t  t |   j   t j j |  _ d  S(   N(   R    R  R!   R)   R6   t   DEFAULT_H5_BACKTRACE_POLICYt   _old_policy(   R(   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyR!     s    c         C@ s&   |  j  t j _ t t |   j   d  S(   N(   R  R)   R6   R  R    R  R  (   R(   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyR    s    c         C@ s   d } t  j d d d d  } z t | d   } | j | |  Wd  QXt j t j | g d t j d t j } | j	   \ } } |  j
 d	 | j d
  k  Wd  t j |  Xd  S(   Ns   
import tables
tables.silence_hdf5_messages(False)
tables.silence_hdf5_messages()
try:
    tables.open_file(r'%s')
except tables.HDF5ExtError, e:
    pass
R  s   hdf5-error-handling-Rg  s   .pyR:   t   stdoutt   stderrs	   HDF5-DIAGt   ascii(   R*   R+   R5   R  t
   subprocesst   PopenRF  t
   executablet   PIPEt   communicateR   t   decodeR7   R8   (   R(   t   codeRH  R  t   pR  R  (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test_silence_messages  s    		 c         C@ s   d } t  j d d d d  } z t | d   } | j | |  Wd  QXt j t j | g d t j d t j } | j	   \ } } |  j
 d	 | j d
  k  Wd  t j |  Xd  S(   Ns   
import tables
tables.silence_hdf5_messages()
tables.silence_hdf5_messages(False)
try:
    tables.open_file(r'%s')
except tables.HDF5ExtError as e:
    pass
R  s   hdf5-error-handling-Rg  s   .pyR:   R  R  s	   HDF5-DIAGR  (   R*   R+   R5   R  R  R  RF  R  R  R  Rj   R  R7   R8   (   R(   R  RH  R  R  R  R  (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test_enable_messages  s    		 c         C@ sT   t  j d  } t | d  j   z t j |  } | j   Wd  t j |  Xd  S(   Ns   .h5R4   (   R*   R+   R5   R/   R)   R.   R7   R8   (   R(   R1   R2   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   _raise_exterror  s    c         C@ sN   t  t j _ |  j t j   } |  j   Wd  QX|  j | j j d  k  d  S(   N(
   R   R)   R6   R  R,   R"  R   t	   exceptiont   h5backtraceR   (   R(   t   cm(    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test_h5_backtrace_quiet  s    c         C@ s~   d t  j _ |  j t  j   } |  j   Wd  QX|  j | j j d  k  t	 | j  } |  j
 | j j d d | k  d  S(   Nt   VERBOSEi(   R)   R6   R  R,   R"  R   R#  R$  R   R  Rj   (   R(   R%  t   msg(    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test_h5_backtrace_verbose  s    c         C@ sN   t  t j _ |  j t j   } |  j   Wd  QX|  j | j j d  k  d  S(   N(
   R   R)   R6   R  R,   R"  Rj   R#  R$  R   (   R(   R%  (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test_h5_backtrace_ignore  s    (
   R>   R?   R!   R  R   R!  R"  R&  R)  R*  (    (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyR    s   					
		
t   TestDescriptionc           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 e j e j d k d  d    Z RS(   c         C@ sF   d t  f d     Y} d | f d     Y} |  j d | j k  d  S(   Nt   TestDescParentc           B@ s   e  Z e   Z RS(    (   R>   R?   R
   t   c(    (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyR,    s   t   TestDescc           B@ s   e  Z RS(    (   R>   R?   (    (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyR.    s   R-  (   R   Rj   R"  (   R(   R,  R.  (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test_isdescription_inheritance  s    c         C@ s   t  j d d t f g  } t |  \ } } |  j d | j k  |  j d | j k  |  j t | j  d  |  j t | j d t	   |  j t | j d t	   |  j | j d j t  j
  |  j | j d j t  d  S(   Nt   col1t   int16t   col2i   (   R0  R1  (   RY   R  t   floatR   Rj   t   _v_colobjectsR0   R#   R*  R   R1  (   R(   RW  t   descrt	   byteorder(    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test_descr_from_dtype  s    c         C@ si   d	 d g } t  j |  } t |  \ } } |  j t | j  d  |  j t | j  d d g  d  S(   Nt	   timestampRW  t   u4s   unit (cluster) idt   unitt   u2i   (   R8  RW  (   (   R8  RW  R9  (   s   unit (cluster) idR:  (   (   s   unit (cluster) idR:  R;  (   RY   R  R   R0   R#   t   _v_namest   sorted(   R(   t   headerRW  R5  R6  (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt    test_descr_from_dtype_rich_dtype	  s    	c         C@ s   t  j d d	 g  } t  j d
 d | f g  } t |  \ } } |  j | j  |  j d | j k  |  j d | j k  |  j t | j  d  |  j t | j d t	   |  j t | j d t
 j   |  j | j d j t  j  d  S(   Nt   xR1  t   yt   timet   float64t   valuei   (   R@  R1  (   RA  R1  (   RB  RC  (   RY   R  R   Rj   t   _v_is_nestedR4  R0   R#   R*  R   R)   R   RC  (   R(   t   d1t   d_compR5  R6  (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test_descr_from_dtype_comp_01	  s    c         C@ s  t  j d	 d
 g  } t  j d d | d f f g  } |  j t   t |  \ } } Wd  QX|  j | j  |  j d | j k  |  j d | j k  |  j t	 | j  d  |  j t
 | j d t   |  j t
 | j d t j   |  j | j d j t  j  d  S(   NR@  R1  RA  RB  RC  RD  i   i   (   R@  R1  (   RA  R1  (   RB  RC  (   i   (   RY   R  R(  R)  R   Rj   RE  R4  R0   R#   R*  R   R)   R   RC  (   R(   RF  RG  R5  R6  (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test_descr_from_dtype_comp_02(	  s     c         C@ sQ   d t  f d     Y} t j d d t f g  } t |  } |  j | |  d  S(   NR,  c           B@ s   e  Z e   Z e   Z RS(    (   R>   R?   R	   R0  R   R2  (    (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyR,  A	  s   	R0  R1  R2  (   R0  R1  (   R   RY   R  R3  R   R0   (   R(   R,  R  RW  (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt$   test_dtype_from_descr_is_description?	  s    c         C@ sT   d t  f d     Y} t j d d t f g  } t |    } |  j | |  d  S(   NR,  c           B@ s   e  Z e   Z e   Z RS(    (   R>   R?   R	   R0  R   R2  (    (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyR,  L	  s   	R0  R1  R2  (   R0  R1  (   R   RY   R  R3  R   R0   (   R(   R,  R  RW  (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt-   test_dtype_from_descr_is_description_instanceJ	  s    c         C@ sc   d t  f d     Y} t j d d t f g  } t |   j  } t |  } |  j | |  d  S(   NR,  c           B@ s   e  Z e   Z e   Z RS(    (   R>   R?   R	   R0  R   R2  (    (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyR,  W	  s   	R0  R1  R2  (   R0  R1  (   R   RY   R  R3  R   R"  R   R0   (   R(   R,  R  t   desctiptionRW  (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt*   test_dtype_from_descr_description_instanceU	  s
    c         C@ sO   t  j d d t f g  } t i t   d 6t   d 6 } |  j | |  d  S(   NR0  R1  R2  (   R0  R1  (   RY   R  R3  R   R	   R   R0   (   R(   R  RW  (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test_dtype_from_descr_dicta	  s     c         C@ s   |  j  t t g   d  S(   N(   R,   R<   R   (   R(   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt"   test_dtype_from_descr_invalid_typeh	  s    c         C@ sZ   d t  f d     Y} t | d d } |  j | d j d  |  j | d j d  d  S(   NR,  c           B@ s   e  Z e   Z e   Z RS(    (   R>   R?   R	   R0  R   R2  (    (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyR,  n	  s   	R6  t   >R0  R2  (   R   R   R0   R6  (   R(   R,  RW  (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test_dtype_from_descr_byteorderl	  s    c         C@ s   i t  j   d 6} t |  } |  j t | j  t | j     |  j t | j	 t
 j   |  j t | j	 j j    t | j     d  S(   NR   (   R)   R	   R   R0   R=  R<  t   keysRj   R*  t   _v_dtypeRY   R  t   fields(   R(   t   dR5  (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test_str_namesw	  s    %i   s   requires Python 2c         C@ s   i t  j   t j d  6} t |  } |  j t | j  t | j     |  j	 t
 | j t j   g  } xO t | j    D]; } t
 | t j  r | j | j    q | j |  q W|  j	 t | j j j    t |   d  S(   NR   (   R)   R	   Rf   Rg   R   R0   R=  R<  RR  Rj   R*  RS  RY   R  R  R   t   encodeRT  (   R(   RU  R5  RR  t   key(    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test_unicode_names	  s    %(   i   (   R>   R?   R/  R7  R?  RH  RI  RJ  RK  RM  RN  RO  RQ  RV  R   t   skipIfRF  t   version_infoRY  (    (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyR+    s   	
													t   TestAtomc           B@ s,   e  Z d    Z d   Z d   Z d   Z RS(   c         C@ s   d } t  d |  } |  j | j d  |  j | j t j t j | f   |  j | j | j j j  |  j | j d  |  j | j	 t
 |   |  j | j |  |  j | j | j t j |   |  j | j d  d  S(   Ni
   R  g        R3  RC  (   i
   i
   (   R   R0   t   dfltR  RY   RC  R  t   baset   kindt   ndimR#   R  R  R  t   type(   R(   R  RL   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test_atom_attributes01	  s    %#c         C@ s8   d } t  d |  } | j   } |  j | j |  d  S(   Ni
   R  (   i
   i
   (   R   R1  R0   R  (   R(   R  RL   t   aa(    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test_atom_copy01	  s    c         C@ s8   d } t  d |  } | j   } |  j | j |  d  S(   Ng       @R]  (   R   R1  R0   R]  (   R(   R]  RL   Rc  (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test_atom_copy02	  s    c         C@ sr   d } d } t  d | d |  } | j d |  } |  j | j |  |  j | j |  |  j | j |  d  S(   Ni
   g       @R  R]  (   i
   i
   (   R   R1  R0   R  R   R]  (   R(   R  R]  RL   Rc  (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test_atom_copy_override	  s    (   R>   R?   Rb  Rd  Re  Rf  (    (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyR\  	  s   			t   TestColc           B@ s#   e  Z d    Z d   Z d   Z RS(   c         C@ s8   d } t  d |  } | j   } |  j | j |  d  S(   Ni
   R  (   i
   i
   (   R   R1  R0   R  (   R(   R  R-  t   cc(    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test_col_copy01	  s    c         C@ s8   d } t  d |  } | j   } |  j | j |  d  S(   Ng       @R]  (   R   R1  R0   R]  (   R(   R]  R-  Rh  (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test_col_copy02	  s    c         C@ s   d } d } d } t  d | d | d |  } | j d d  } |  j | j |  |  j | j |  |  j | j |  |  j | j d  d  S(	   Ni
   g       @i   R  R]  t   posi   (   i
   i
   (   R   R1  R0   R  R]  R   t   _v_pos(   R(   R  R]  Rk  R-  Rh  (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test_col_copy_override	  s    (   R>   R?   Ri  Rj  Rm  (    (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyRg  	  s   		t   TestSysattrCompatibilityc           B@ s   e  Z d    Z d   Z RS(   c         C@ s;   t  d  } t j | d   } |  j | j  Wd  QXd  S(   Ns
   python2.h5R   (   R   R)   R.   Rj   t   isopen(   R(   R1   R2   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test_open_python2	  s    c         C@ s;   t  d  } t j | d   } |  j | j  Wd  QXd  S(   Ns
   python3.h5R   (   R   R)   R.   Rj   Ro  (   R(   R1   R2   (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   test_open_python3	  s    (   R>   R?   Rp  Rq  (    (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyRn  	  s   	c          C@ s  t  j   }  d } xt |  D]} |  j t  j t   |  j t  j t   |  j t  j t   |  j t  j t   |  j t  j t	   |  j t  j t
   |  j t  j t   |  j t  j t   |  j t  j t   |  j t  j t   |  j t  j t   |  j t  j t   |  j t  j t   |  j t  j t   |  j t  j t   |  j t  j t   |  j t  j t   |  j t  j t   |  j t  j t   q W|  S(   Ni   (   R   t	   TestSuiteR   t   addTestt	   makeSuiteR   R  R  R  R  R7  RY  Rf  R  R  R  R  R  R   R  R+  R\  Rg  Rn  (   t   theSuitet   niterRV  (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   suite	  s.    t   __main__t   defaultTestRw  (`   t
   __future__R    R   R7   RF  t   six.moves.queueRf   Rl   t   platformR*   R   RN  R  t	   six.movesR   R   t   multiprocessingR	  R   t   multiprocessing_importedt   ImportErrorR   RY   R)   t   tables.flavorR   R   R   R   R   R	   R
   R   R   R   R   R   R   R   R   R   R   R   R   R   t   tables.parametersR   t   tables.descriptionR   R   t   tables.testsR   t   tables.tests.commonR   R   R   t   TestCaseR   t   TempFileMixinR@   R  R  R  R  RZ  R   R[  R$   R  R7  RY  Rf  R  t   systemt   lowert   getfilesystemencodingR  R  R  t   blosc_availt   TestFileMixinR  R   R  R   R  R+  R\  Rg  Rn  Rw  R>   t
   parse_argvt   argvt   print_versionst   main(    (    (    s7   lib/python2.7/site-packages/tables/tests/test_basics.pyt   <module>   s   

v5    ?'	-_ (r!	=	+K
!%`%	
