B
    i\                 @   sj  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mZm	Z	 ddl
mZ ddlmZ ddlmZmZ d	d
 Zdd ZdddZedkrfeej eedd Zde Zeek redeef  eje	k redeje	f  dZejdd ZxFeD ]>Zedkr"dZeje nedkrde_eje qW e  esfeej  ej!dd dS )zRun all test cases.    )print_function)absolute_importN)min_hdf5_versionmin_numpy_version)common)unittest)print_heavyprint_versionsc             C   s"   | }|d@ d? |d@ d? |d@ fS )z*Get a tuple from a compact version in hex.i      i          )
hexversionhr   r   4lib/python3.7/site-packages/tables/tests/test_all.pyget_tuple_version   s    r   c              C   s   ddddddddd	d
ddddddddddddddddddg} |  d t }tjrf|ttj xD| D ]<}t| t	j
| j}||  tjrl|ttj qlW |S )Nztables.tests.test_attributesztables.tests.test_basicsztables.tests.test_createztables.tests.test_backcompatztables.tests.test_typesztables.tests.test_listsztables.tests.test_tablesztables.tests.test_tablesMDztables.tests.test_arrayztables.tests.test_earrayztables.tests.test_carrayztables.tests.test_vlarrayztables.tests.test_treeztables.tests.test_timetypeztables.tests.test_do_undoztables.tests.test_enumztables.tests.test_nestedtypesztables.tests.test_hdf5compatztables.tests.test_numpyztables.tests.test_queriesztables.tests.test_expressionztables.tests.test_linksztables.tests.test_indexesztables.tests.test_indexvaluesz"tables.tests.test_index_backcompatztables.tests.test_auxztables.tests.test_utilsz tables.nodes.tests.test_filenodeztables.tests.test_garbage)appendr   Z	TestSuiter   show_memoryZaddTestZ	makeSuiteZShowMemTime
__import__sysmodulessuite)Ztest_modulesZalltestsnameZ
test_suiter   r   r   r      sN    

r   Fc             C   sZ   t   t| tj| }t_z0tjdt|  dt }|	 rFdS dS W d|t_X dS )a  Run all the tests in the test suite.

    If *verbose* is set, the test suite will emit messages with full
    verbosity (not recommended unless you are looking into a certain
    problem).

    If *heavy* is set, the test suite will be run in *heavy* mode (you
    should be careful with this because it can take a lot of time and
    resources from your computer).

    Return 0 (os.EX_OK) if all tests pass, 1 in case of failure

       )	verbosityr   N)
r	   r   r   heavyr   ZTextTestRunnerintrunr   ZwasSuccessful)verboser   Zoldheavyresultr   r   r   testR   s    r    __main__Zhdf5z%s.%s.%sz:*Warning*: HDF5 version is lower than recommended: %s < %sz;*Warning*: NumPy version is lower than recommended: %s < %s)z--print-versionsz--show-versionsTz--show-memoryztables.tests.suite)ZdefaultTest)FF)"__doc__Z
__future__r   r   r   ZnumpyZtablesZtables.req_versionsr   r   Ztables.testsr   Ztables.tests.commonr   r   r	   r   r   r    __name__Z
parse_argvargvZwhich_lib_versionZhdf5_versionZhdf5_version_strprint__version__Zonly_versionsargsargremover   r   mainr   r   r   r   <module>   sF   9
 





