ó
jˆú\c           @@ sZ  d  Z  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 m	 Z	 d d l
 m Z d d l
 m Z d d l m Z d	 e	 j e f d
 „  ƒ  YZ d e	 j e f d „  ƒ  YZ e j e j j d k d ƒ d e	 j e f d „  ƒ  Yƒ Z d „  Z e d k rVd d l Z e	 j e j ƒ e	 j ƒ  e j d d ƒ n  d S(   s6   Test module for diferent kind of links under PyTables.i    (   t   print_function(   t   absolute_importN(   t   common(   t   unittest(   t   PyTablesTestCase(   t   ranget   HardLinkTestCasec           B@ s>   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         C@ s!   t  t |  ƒ j ƒ  |  j ƒ  d  S(   N(   t   superR   t   setUpt   _createFile(   t   self(    (    s6   lib/python2.7/site-packages/tables/tests/test_links.pyR      s    c         C@ s×   |  j  j d d d d g ƒ |  j  j d d ƒ } |  j  j | d d d d g ƒ } |  j  j d d d	 ƒ } |  j | d  k	 ƒ |  j  j | d
 d ƒ } |  j | d  k	 ƒ |  j  j d d | ƒ } |  j | d  k	 ƒ d  S(   Nt   /t   arr1i   i   t   group1t   arr2i   t   lgroup1s   /group1t   larr1s   /arr1t   larr2(   t   h5filet   create_arrayt   create_groupt   create_hard_linkt
   assertTruet   None(   R
   R   R   R   R   R   (    (    s6   lib/python2.7/site-packages/tables/tests/test_links.pyR	   #   s    !c         C@ s‚   |  j  |  j j j |  j j j d t ƒ|  j |  j j j |  j j j j d t ƒ|  j |  j j j j	 |  j j j
 d t ƒd S(   s   Creating hard links.t   hardlinkN(   t   _checkEqualityGroupR   t   rootR   R   t   Truet   _checkEqualityLeafR   R   R   R   (   R
   (    (    s6   lib/python2.7/site-packages/tables/tests/test_links.pyt   test00_create.   s    c         C@ sŒ   |  j  ƒ  |  j |  j j j |  j j j d t ƒ|  j |  j j j |  j j j j	 d t ƒ|  j |  j j j j
 |  j j j d t ƒd S(   s   Opening a file with hard links.R   N(   t   _reopenR   R   R   R   R   R   R   R   R   R   R   (   R
   (    (    s6   lib/python2.7/site-packages/tables/tests/test_links.pyt   test01_open;   s    
c         C@ s”   |  j  j j j ƒ  |  j d |  j  k ƒ t j rN t d |  j  j j j	 ƒ n  |  j d |  j  k ƒ |  j  j j j	 j ƒ  |  j d |  j  k ƒ d S(   s   Removing a hard link to a Leaf.s   /arr1s   Remaining link:s   /group1/larr1N(
   R   R   R   t   removeR   R   t   verboset   printR   R   (   R
   (    (    s6   lib/python2.7/site-packages/tables/tests/test_links.pyt   test02_removeLeafI   s    	c         C@ sâ   t  j r t d |  j ƒ n  |  j j j j d t ƒ |  j d |  j k ƒ t  j r} t d |  j j j	 ƒ t d |  j ƒ n  |  j d |  j k ƒ |  j j j	 j
 d t ƒ |  j d |  j k ƒ t  j rÞ t d |  j ƒ n  d	 S(
   s    Removing a hard link to a Group.s   Original object tree:t   forces   /group1s   Remaining link:s   Object tree:s   /lgroup1t	   recursives   Final object tree:N(   R   R!   R"   R   R   R   t	   _f_removeR   R   R   t	   _g_remove(   R
   (    (    s6   lib/python2.7/site-packages/tables/tests/test_links.pyt   test03_removeGroupW   s    			(   t   __name__t
   __module__R   R	   R   R   R#   R(   (    (    (    s6   lib/python2.7/site-packages/tables/tests/test_links.pyR      s   					t   SoftLinkTestCasec           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 RS(   c         C@ s!   t  t |  ƒ j ƒ  |  j ƒ  d  S(   N(   R   R+   R   R	   (   R
   (    (    s6   lib/python2.7/site-packages/tables/tests/test_links.pyR   n   s    c         C@ s×   |  j  j d d d d g ƒ |  j  j d d ƒ } |  j  j | d d d d g ƒ } |  j  j d d d	 ƒ } |  j | d  k	 ƒ |  j  j | d
 d ƒ } |  j | d  k	 ƒ |  j  j d d | ƒ } |  j | d  k	 ƒ d  S(   NR   R   i   i   R   R   i   R   s   /group1R   s   /arr1R   (   R   R   R   t   create_soft_linkR   R   (   R
   R   R   R   R   R   (    (    s6   lib/python2.7/site-packages/tables/tests/test_links.pyR	   r   s    !c         C@ s|   |  j  |  j j j |  j j j ƒ  ƒ |  j |  j j j |  j j j j ƒ  ƒ |  j |  j j j ƒ  j |  j j j	 ƒ  ƒ d S(   s   Creating soft links.N(
   R   R   R   R   R   R   R   R   R   R   (   R
   (    (    s6   lib/python2.7/site-packages/tables/tests/test_links.pyR   }   s    c         C@ s†   |  j  ƒ  |  j |  j j j |  j j j ƒ  ƒ |  j |  j j j |  j j j j ƒ  ƒ |  j |  j j j ƒ  j	 |  j j j
 ƒ  ƒ d S(   s   Opening a file with soft links.N(   R   R   R   R   R   R   R   R   R   R   R   (   R
   (    (    s6   lib/python2.7/site-packages/tables/tests/test_links.pyR   ‡   s    
c         C@ s”   |  j  j j j ƒ  |  j d |  j  k ƒ t j rN t d |  j  j j j	 ƒ n  |  j d |  j  k ƒ |  j  j j j	 j ƒ  |  j d |  j  k ƒ d S(   s   Removing a soft link.s   /arr1s   Dangling link:s   /group1/larr1N(
   R   R   R   R    R   R   R!   R"   R   R   (   R
   (    (    s6   lib/python2.7/site-packages/tables/tests/test_links.pyt   test02_remove’   s    	c         C@ sË   |  j  j } | j } | j d d ƒ } |  j d |  j  k ƒ |  j d |  j  k ƒ |  j d | j k ƒ |  j d | j k ƒ t j r˜ t	 d | ƒ n  | j
 ƒ  |  j |  j  j j |  j  j j ƒ  ƒ d S(   s   Copying a soft link.R   t   lgroup2s   /lgroup1s   /lgroup2s   Copied link:N(   R   R   R   t   copyR   t   _v_childrent   _v_linksR   R!   R"   R    R   R   R.   (   R
   R   R   R.   (    (    s6   lib/python2.7/site-packages/tables/tests/test_links.pyt   test03_copy    s    		
c         C@ sã   |  j  j } | j } | j d d ƒ } | j d d d t ƒ} |  j d |  j  k ƒ |  j d |  j  k ƒ |  j d | j k ƒ |  j d | j k ƒ t j	 r° t
 d | ƒ n  | j ƒ  |  j |  j  j j |  j  j j ƒ  ƒ d S(   s   Overwrite a soft link.R   R.   t	   overwrites   /lgroup1s   /lgroup2s   Copied link:N(   R   R   R   R/   R   R   R0   R1   R   R!   R"   R    R   R   R.   (   R
   R   R   R.   (    (    s6   lib/python2.7/site-packages/tables/tests/test_links.pyt   test03_overwrite²   s    		
c         C@ s·   |  j  j j } |  j  j d d ƒ } | j | d ƒ |  j  j j j } t j r_ t	 d | ƒ n  |  j
 d |  j  k ƒ |  j
 d |  j  k ƒ |  j |  j  j j |  j  j j j ƒ  ƒ d S(   s   Moving a soft link.R   t   group2R.   s   Moved link:s   /lgroup1s   /group2/lgroup2N(   R   R   R   R   t   moveR5   R.   R   R!   R"   R   R   R   (   R
   R   R5   R.   (    (    s6   lib/python2.7/site-packages/tables/tests/test_links.pyt   test04_moveÅ   s    	c         C@ s™   |  j  j j } | j d ƒ |  j  j j } t j rD t d | ƒ n  |  j d |  j  k ƒ |  j d |  j  k ƒ |  j	 |  j  j j
 |  j  j j ƒ  ƒ d S(   s   Renaming a soft link.R.   s   Moved link:s   /lgroup1s   /lgroup2N(   R   R   R   t   renameR.   R   R!   R"   R   R   R   (   R
   R   R.   (    (    s6   lib/python2.7/site-packages/tables/tests/test_links.pyt   test05_renameÔ   s    	c         C@ s‰   |  j  j d d ƒ |  j  j d d d ƒ } t j rD t d | ƒ n  |  j d |  j  k ƒ |  j |  j  j j	 j
 |  j  j j	 j ƒ  ƒ d S(   s%   Using soft links with relative paths.s   /group1t   group3t   lgroup3s   Relative path link:s   /group1/lgroup3N(   R   R   R,   R   R!   R"   R   R   R   R   R:   R;   (   R
   R;   (    (    s6   lib/python2.7/site-packages/tables/tests/test_links.pyt   test06a_relative_pathâ   s    		c         C@ s‰   |  j  j d d ƒ |  j  j d d d ƒ } t j rD t d | ƒ n  |  j d |  j  k ƒ |  j |  j  j j	 j
 |  j  j j	 j ƒ  ƒ d S(   s1   Using soft links with relative paths (./ version)s   /group1R:   R;   s   ./group3s   Relative path link:s   /group1/lgroup3N(   R   R   R,   R   R!   R"   R   R   R   R   R:   R;   (   R
   R;   (    (    s6   lib/python2.7/site-packages/tables/tests/test_links.pyt   test06b_relative_pathð   s    		c         C@ sÄ   g  |  j  j d d d ƒD] } | j ^ q } t j rG t d | ƒ n  |  j | d d d g ƒ g  |  j  j d d d ƒD] } | j ^ qy } t j r§ t d	 | ƒ n  |  j | d d d g ƒ d
 S(   s.   Checking `walk_nodes` with `classname` option.R   t	   classnamet   Links"   detected links (classname='Link'):s   /larr2s   /lgroup1s   /group1/larr1t   SoftLinks&   detected links (classname='SoftLink'):N(   R   t
   walk_nodest   _v_pathnameR   R!   R"   t   assertEqual(   R
   t   nodet   links(    (    s6   lib/python2.7/site-packages/tables/tests/test_links.pyt   test07_walkNodesþ   s    +	+	c         C@ s¦   g  |  j  j j D] } | ^ q } t j r; t d | ƒ n  |  j t | ƒ d ƒ g  |  j  j j j D] } | ^ qd } t j r t d | ƒ n  |  j | d g ƒ d S(   s   Checking `Group._v_links`.s   detected links (under root):i   s   detected links (under /group1):R   N(	   R   R   R1   R   R!   R"   RC   t   lenR   (   R
   RD   RE   (    (    s6   lib/python2.7/site-packages/tables/tests/test_links.pyt   test08__v_links  s    "	%	c         C@ sž   |  j  j d d d ƒ } |  j | ƒ  |  j  j d ƒ k ƒ t j rV t d | ƒ  ƒ n  |  j | ƒ  ƒ  |  j  j d ƒ k ƒ t j rš t d | ƒ  ƒ  ƒ n  d S(   s   Checking linked links.R   R.   s   /lgroup1s   First dereference is correct:s   /group1s   Second dereference is correct:N(   R   R,   R   t   get_nodeR   R!   R"   (   R
   R.   (    (    s6   lib/python2.7/site-packages/tables/tests/test_links.pyt   test09_link_to_link  s    	"	%	c         C@ sê   t  j d ƒ } t j | d ƒ } | j d d d d g ƒ | j d d ƒ |  j j j } | j	 | j d ƒ } |  j
 d	 |  j k ƒ |  j
 d	 | k ƒ |  j
 | | k ƒ t j rÏ t d
 | d | j j ƒ n  | j ƒ  t j | ƒ d S(   s(   Checking copying a link to another file.s   .h5t   aR   R   i   i   R   R   s   /lgroup1s   Copied link:s   in:N(   t   tempfilet   mktempt   tablest	   open_fileR   R   R   R   R   R/   R   R   R!   R"   t   _v_filet   filenamet   closet   osR    (   R
   t   fnamet   h5fR   t   lgroup1_(    (    s6   lib/python2.7/site-packages/tables/tests/test_links.pyt   test10_copy_link_to_file'  s    	
c         C@ s|   |  j  j d ƒ } |  j  j d ƒ } |  j | j d k ƒ |  j | d d g k ƒ d | d <|  j | d d g k ƒ d S(	   s;   Check direct get/set attributes via link-->target.attributes   /lgroup1/larr1s   /arr1i   i   iÿÿÿÿi    N(   i   (   R   RI   R   t   shape(   R
   R   R   (    (    s6   lib/python2.7/site-packages/tables/tests/test_links.pyt   test11_direct_attribute_access8  s    
c         C@ sr   |  j  j d ƒ } |  j  j d ƒ } |  j | j d d d g k ƒ d | j d <|  j | d d d g k ƒ d S(	   s:   Check get/set attributes via link-->target.child.attributes   /lgroup1s   /group1/arr2i   i   i   iÿÿÿÿi    N(   R   RI   R   R   (   R
   R   R   (    (    s6   lib/python2.7/site-packages/tables/tests/test_links.pyt#   test12_access_child_node_attributesD  s
     c         C@ sŠ   |  j  j d ƒ } |  j  j d ƒ } |  j  j d d d ƒ } |  j | j d d d g k ƒ d | j d	 <|  j | d d d g k ƒ d
 S(   s?   Check get/set access via link2-->link1-->target.child.attributes   /lgroup1s   /group1/arr2R   t	   l_lgroup1i   i   i   iÿÿÿÿi    N(   R   RI   R,   R   R   (   R
   R   R   R[   (    (    s6   lib/python2.7/site-packages/tables/tests/test_links.pyt4   test13_direct_attribute_access_via_chained_softlinksO  s     c         C@ s{   |  j  j d ƒ } |  j  j d ƒ } |  j  j | d d d d d g ƒ} |  j  j d ƒ } |  j | d d d g k ƒ d	 S(
   s;   Create an array whose parent is a softlink to another groups   /group1s   /lgroup1t   new_arrt   obji   i   i   s   /group1/new_arrN(   R   RI   R   R   (   R
   R   R   R]   t   new_arr2(    (    s6   lib/python2.7/site-packages/tables/tests/test_links.pyt!   test14_child_of_softlink_to_group\  s
    $c         C@ sW   t  |  j ƒ } |  j t t j d | ƒ ƒ d ƒ |  j t t j d | ƒ ƒ d ƒ d  S(   Ns   \(SoftLink\)i   s   \(dangling\)i    (   t   strR   RC   RG   t   ret   findall(   R
   t   s(    (    s6   lib/python2.7/site-packages/tables/tests/test_links.pyt   test_stre  s    "c         C@ sm   |  j  j j j j ƒ  t |  j  ƒ } |  j t t j	 d | ƒ ƒ d ƒ |  j t t j	 d | ƒ ƒ d ƒ d  S(   Ns   \(SoftLink\)i   s   \(dangling\)i   (
   R   R   R   R   R    Ra   RC   RG   Rb   Rc   (   R
   Rd   (    (    s6   lib/python2.7/site-packages/tables/tests/test_links.pyt   test_str_with_dangling_linkj  s    "(   R)   R*   R   R	   R   R   R-   R2   R4   R7   R9   R<   R=   RF   RH   RJ   RW   RY   RZ   R\   R`   Re   Rf   (    (    (    s6   lib/python2.7/site-packages/tables/tests/test_links.pyR+   l   s*   			
																		t   stricts   FILE_OPEN_POLICY = "strict"t   ExternalLinkTestCasec           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 RS(   c         C@ sK   t  t |  ƒ j ƒ  t j d ƒ |  _ t j |  j d ƒ |  _ |  j	 ƒ  d  S(   Ns   .h5t   w(
   R   Rh   R   RL   RM   t   extfnameRN   RO   t	   exth5fileR	   (   R
   (    (    s6   lib/python2.7/site-packages/tables/tests/test_links.pyR   v  s    c         C@ s:   |  j  } |  j j ƒ  t t |  ƒ j ƒ  t j | ƒ d S(   s   Remove ``extfname``.N(   Rj   Rk   RR   R   Rh   t   tearDownRS   R    (   R
   Rj   (    (    s6   lib/python2.7/site-packages/tables/tests/test_links.pyRl   }  s    	c         C@ so  |  j  j d d d d g ƒ |  j  j d d ƒ } |  j  j | d d d d g ƒ |  j j d d d d g ƒ } |  j | d  k	 ƒ |  j j d d ƒ } |  j j | d d d d g ƒ } |  j  j d d d	 |  j ƒ } |  j | d  k	 ƒ |  j  j | d
 d |  j ƒ } |  j | d  k	 ƒ |  j  j d d | ƒ } |  j | d  k	 ƒ |  j j ƒ  t	 j
 |  j d ƒ |  _ d  S(   NR   R   i   i   R   R   i   R   s
   %s:/group1R   s   %s:/arr1R   t   r(   R   R   R   Rk   R   R   t   create_external_linkRj   RR   RN   RO   (   R
   R   t   extarr1t	   extgroup1t   extarr2R   R   R   (    (    s6   lib/python2.7/site-packages/tables/tests/test_links.pyR	   Œ  s"    !		c         C@ s|   |  j  |  j j j |  j j j ƒ  ƒ |  j |  j j j |  j j j j ƒ  ƒ |  j |  j j j ƒ  j	 |  j j j
 ƒ  ƒ d S(   s   Creating soft links.N(   R   Rk   R   R   R   R   R   R   R   R   R   (   R
   (    (    s6   lib/python2.7/site-packages/tables/tests/test_links.pyR   ¥  s    c         C@ s†   |  j  ƒ  |  j |  j j j |  j j j ƒ  ƒ |  j |  j j j |  j j j j	 ƒ  ƒ |  j |  j j j ƒ  j
 |  j j j ƒ  ƒ d S(   s   Opening a file with soft links.N(   R   R   Rk   R   R   R   R   R   R   R   R   R   (   R
   (    (    s6   lib/python2.7/site-packages/tables/tests/test_links.pyR   ¯  s    
c         C@ s¹   |  j  j ƒ  t j |  j d ƒ |  _  |  j  j j j ƒ  |  j d |  j  k ƒ t	 j
 rs t d |  j j j j ƒ n  |  j d |  j k ƒ |  j j j j j ƒ  |  j d |  j k ƒ d S(   s   Removing an external link.RK   s   /arr1s   Dangling link:s   /group1/larr1N(   Rk   RR   RN   RO   Rj   R   R   R    R   R   R!   R"   R   R   R   (   R
   (    (    s6   lib/python2.7/site-packages/tables/tests/test_links.pyR-   º  s    	c         C@ sË   |  j  j } | j } | j d d ƒ } |  j d |  j  k ƒ |  j d |  j  k ƒ |  j d | j k ƒ |  j d | j k ƒ t j r˜ t	 d | ƒ n  | j
 ƒ  |  j |  j j j |  j  j j ƒ  ƒ d S(   s   Copying an external link.R   R.   s   /lgroup1s   /lgroup2s   Copied link:N(   R   R   R   R/   R   R0   R1   R   R!   R"   R    R   Rk   R   R.   (   R
   R   R   R.   (    (    s6   lib/python2.7/site-packages/tables/tests/test_links.pyR2   Î  s    		
c         C@ sã   |  j  j } | j } | j d d ƒ } | j d d d t ƒ} |  j d |  j  k ƒ |  j d |  j  k ƒ |  j d | j k ƒ |  j d | j k ƒ t j	 r° t
 d | ƒ n  | j ƒ  |  j |  j j j |  j  j j ƒ  ƒ d S(   s   Overwrite an external link.R   R.   R3   s   /lgroup1s   /lgroup2s   Copied link:N(   R   R   R   R/   R   R   R0   R1   R   R!   R"   R    R   Rk   R   R.   (   R
   R   R   R.   (    (    s6   lib/python2.7/site-packages/tables/tests/test_links.pyR4   á  s    		
c         C@ s·   |  j  j j } |  j  j d d ƒ } | j | d ƒ |  j  j j j } t j r_ t	 d | ƒ n  |  j
 d |  j  k ƒ |  j
 d |  j  k ƒ |  j |  j j j |  j  j j j ƒ  ƒ d S(   s   Moving an external link.R   R5   R.   s   Moved link:s   /lgroup1s   /group2/lgroup2N(   R   R   R   R   R6   R5   R.   R   R!   R"   R   R   Rk   R   (   R
   R   R5   R.   (    (    s6   lib/python2.7/site-packages/tables/tests/test_links.pyR7   õ  s    	c         C@ s™   |  j  j j } | j d ƒ |  j  j j } t j rD t d | ƒ n  |  j d |  j  k ƒ |  j d |  j  k ƒ |  j	 |  j
 j j |  j  j j ƒ  ƒ d S(   s   Renaming an external link.R.   s   Moved link:s   /lgroup1s   /lgroup2N(   R   R   R   R8   R.   R   R!   R"   R   R   Rk   R   (   R
   R   R.   (    (    s6   lib/python2.7/site-packages/tables/tests/test_links.pyR9     s    	c         C@ sÝ   |  j  j d d d ƒ g  |  j  j d d d ƒD] } | j ^ q/ } t j r] t d | ƒ n  |  j | d d	 d
 d g ƒ g  |  j  j d d d ƒD] } | j ^ q’ } t j rÀ t d | ƒ n  |  j | d d	 d
 g ƒ d S(   s.   Checking `walk_nodes` with `classname` option.s   /group1R;   s   ./group3R   R>   R?   s"   detected links (classname='Link'):s   /larr2s   /lgroup1s   /group1/larr1s   /group1/lgroup3t   ExternalLinks*   detected links (classname='ExternalLink'):N(   R   R,   RA   RB   R   R!   R"   RC   (   R
   RD   RE   (    (    s6   lib/python2.7/site-packages/tables/tests/test_links.pyRF     s    +	+	c         C@ s¦   g  |  j  j j D] } | ^ q } t j r; t d | ƒ n  |  j t | ƒ d ƒ g  |  j  j j j D] } | ^ qd } t j r t d | ƒ n  |  j | d g ƒ d S(   s   Checking `Group._v_links`.s   detected links (under root):i   s   detected links (under /group1):R   N(	   R   R   R1   R   R!   R"   RC   RG   R   (   R
   RD   RE   (    (    s6   lib/python2.7/site-packages/tables/tests/test_links.pyRH   #  s    "	%	c         C@ s{   |  j  j j } |  j | j d k ƒ | ƒ  } |  j | d k	 ƒ |  j | j d k	 ƒ | j ƒ  |  j | j d k ƒ d S(   s   Checking `umount()` method.N(   R   R   R   R   t   extfileR   t   umount(   R
   t   linkt   enode(    (    s6   lib/python2.7/site-packages/tables/tests/test_links.pyt   test09_umount/  s    	
c      	   C@ s  t  j d ƒ } zÍ t j | d ƒ µ } | j d d d d g ƒ | j d d ƒ |  j j j } | j	 | j d ƒ } |  j
 d	 |  j k ƒ |  j
 d	 | k ƒ |  j
 | | k ƒ t j rÕ t d
 | d | j j ƒ n  Wd QXWd t j j | ƒ rt j | ƒ n  Xd S(   s(   Checking copying a link to another file.s   .h5RK   R   R   i   i   R   R   s   /lgroup1s   Copied link:s   in:N(   RL   RM   RN   RO   R   R   R   R   R   R/   R   R   R!   R"   RP   RQ   RS   t   patht   existsR    (   R
   t   h5fname2t   h5file2R   RV   (    (    s6   lib/python2.7/site-packages/tables/tests/test_links.pyRW   >  s    	(   R)   R*   R   Rl   R	   R   R   R-   R2   R4   R7   R9   RF   RH   Rw   RW   (    (    (    s6   lib/python2.7/site-packages/tables/tests/test_links.pyRh   r  s   				
									c          C@ so   t  j ƒ  }  d } xV t | ƒ D]H } |  j t  j t ƒ ƒ |  j t  j t ƒ ƒ |  j t  j t ƒ ƒ q W|  S(   sC   Return a test suite consisting of all the test cases in the module.i   (   R   t	   TestSuiteR   t   addTestt	   makeSuiteR   R+   Rh   (   t   theSuitet   nitert   i(    (    s6   lib/python2.7/site-packages/tables/tests/test_links.pyt   suiteS  s    t   __main__t   defaultTestR‚   (   t   __doc__t
   __future__R    R   RS   Rb   RL   RN   t   tables.testsR   t   tables.tests.commonR   R   t   TestCaset	   six.movesR   t   TempFileMixinR   R+   t   skipIft   filet   _FILE_OPEN_POLICYRh   R‚   R)   t   syst
   parse_argvt   argvt   print_versionst   main(    (    (    s6   lib/python2.7/site-packages/tables/tests/test_links.pyt   <module>   s,   Oÿ 	ß	
