
    -Sh                         d dl Zd dlmZmZmZ ddlmZ  G d de          Z G d de          Z	 G d	 d
e          Z
 G d de          ZdS )    N)h5ph5fversion   )TestCasec                   j    e Zd ZdZd Zd Zd Z ej        e	j
        dk     d          d             ZdS )	
TestLibverz5
        Feature: Setting/getting lib ver bounds
    c                    t          j        t           j                  }|                    t          j        t          j                   |                     t          j        t          j        f|                                           dS )z Test libver bounds set/get N)	r   createFILE_ACCESSset_libver_boundsr   LIBVER_EARLIESTLIBVER_LATESTassertEqualget_libver_boundsselfplists     Y/var/www/html/movieo_spanner_bot/venv/lib/python3.11/site-packages/h5py/tests/test_h5p.pytest_libverzTestLibver.test_libver   sm    
3?++ 3S5FGGG#-s/@A0022	4 	4 	4 	4 	4    c                    t          j        t           j                  }|                    t          j        t          j                   |                     t          j        t          j        f|                                           dS )z. Test libver bounds set/get for H5F_LIBVER_V18N)	r   r   r   r   r   r   
LIBVER_V18r   r   r   s     r   test_libver_v18zTestLibver.test_libver_v18   sk    
3?++ 3S^DDD#-s~>0022	4 	4 	4 	4 	4r   c                    t          j        t           j                  }|                    t          j        t          j                   |                     t          j        t          j        f|                                           dS )z/ Test libver bounds set/get for H5F_LIBVER_V110N)	r   r   r   r   r   r   LIBVER_V110r   r   r   s     r   test_libver_v110zTestLibver.test_libver_v110%   si    
3?++@@@#.#/:0022	4 	4 	4 	4 	4r   )r         zRequires HDF5 1.11.4 or laterc                    t          j        t           j                  }|                    t          j        t          j                   |                     t          j        t          j        f|                                           dS )z/ Test libver bounds set/get for H5F_LIBVER_V112N)	r   r   r   r   r   r   LIBVER_V112r   r   r   s     r   test_libver_v112zTestLibver.test_libver_v112,   sk     
3?++@@@#.#/:0022	4 	4 	4 	4 	4r   N)__name__
__module____qualname____doc__r   r   r   utskipIfr   hdf5_version_tupler"    r   r   r	   r	      s         4 4 44 4 44 4 4 RYw)J6.0 04 40 04 4 4r   r	   c                   $    e Zd ZdZd Zd Zd ZdS )TestDAzU
    Feature: setting/getting chunk cache size on a dataset access property list
    c                     t          j        t           j                  }d}d}d}|                    |||           |                     |||f|                                           dS )test get/set chunk cache i'  i@B g      ?N)r   r   DATASET_ACCESSset_chunk_cacher   get_chunk_cache)r   dalistnslotsnbytesw0s        r   test_chunk_cachezTestDA.test_chunk_cache9   su    C.//vvr222&&"-//11	3 	3 	3 	3 	3r   c                 F   t          j        t           j                  }|                     |                                                                d           d}|                    |                    d                     |                     |                                                                |           d}|                    |                    d                     |                     |                                                                |           dS )ztest get/set efile prefix  zpath/to/external/datasetutf-8z	${ORIGIN}N)r   r   r/   r   get_efile_prefixdecodeset_efile_prefixencode)r   r2   efile_prefixs      r   test_efile_prefixzTestDA.test_efile_prefixD   s   C.//002299;;R@@@1 3 3G < <===002299;;%	' 	' 	' # 3 3G < <===002299;;%	' 	' 	' 	' 	'r   c                 ~   t          j        t           j                  }|                     |                                                                d           d}|                    |                    d                     |                     |                                                                |           dS )ztest get/set virtual prefix r8   zpath/to/virtual/datasetr9   N)r   r   r/   r   get_virtual_prefixr;   set_virtual_prefixr=   )r   r2   virtual_prefixs      r   test_virtual_prefixzTestDA.test_virtual_prefixS   s    C.//2244;;==rBBB2!!."7"7"@"@AAA2244;;=='	) 	) 	) 	) 	)r   N)r#   r$   r%   r&   r6   r?   rD   r*   r   r   r,   r,   5   sK         	3 	3 	3' ' ') ) ) ) )r   r,   c                       e Zd ZdZd Zd Z ej        ej	        dk    p#ej	        dd         dk    oej	        d         dk    d	          d
             Z
dS )TestFAzL
    Feature: setting/getting mdc config on a file access property list
    c                     t          j        t           j                  }|                                }|                    |           dS )ztest get/set mdc config N)r   r   r   get_mdc_configset_mdc_config)r   falistconfigs      r   test_mdc_configzTestFA.test_mdc_configb   s>    CO,,&&((f%%%%%r   c                     t          j        t           j                  }d}d}|                    ||           |                     ||f|                                           dS )r.   i (  i   N)r   r   r   set_alignmentr   get_alignment)r   rJ   	threshold	alignments       r   test_set_alignmentzTestFA.test_set_alignmenti   sk    CO,,		Y	222)Y/--//	1 	1 	1 	1 	1r   )r      r   N   )r   
      z1Requires HDF5 1.12.1 or later or 1.10.x >= 1.10.7c                     t          j        t           j                  }d}d}|                    ||           |                     ||f|                                           dS )ztest get/set file lockingFN)r   r   r   set_file_lockingr   get_file_locking)r   rJ   use_file_lockingignore_when_disableds       r   test_set_file_lockingzTestFA.test_set_file_lockings   ss     CO,, $ 02FGGG*,@A0022	4 	4 	4 	4 	4r   )r#   r$   r%   r&   rL   rR   r'   
skipUnlessr   r)   r\   r*   r   r   rF   rF   ^   s         & & &1 1 1 R]"j0 	[		#BQB	'7	2	Yw7QRS7TXY7Y;= =4 4	= =4 4 4r   rF   c                        e Zd Zd Zd Zd ZdS )TestPLc                    t          j        t           j                  }|                    d           |                     d|                                           |                    d           |                     d|                                           t          j        t           j                  }|                    d           |                     d|                                           |                    d           |                     d|                                           t          j        t           j                  }|                    d           |                     d|                                           |                    d           |                     d|                                           dS )z:
        tests if the object track times  set/get
        FTN)r   r   GROUP_CREATEset_obj_track_timesr   get_obj_track_timesDATASET_CREATEOBJECT_CREATE)r   gciddcidocids       r   test_obj_track_timeszTestPL.test_obj_track_times   s   
 z#*++  ''' 8 8 : :;;;  &&&t7799:::z#,--  ''' 8 8 : :;;;  &&&t7799::: z#+,,  ''' 8 8 : :;;;  &&&t7799:::::r   c                    t          j        t           j                  }|                    d           |                     d|                                           t           j        t           j        z  }|                    |           |                     ||                                           t          j        t           j                  }|                    |           |                     ||                                           dS )z7
        tests the link creation order set/get
        r   N)	r   r   ra   set_link_creation_orderr   get_link_creation_orderCRT_ORDER_TRACKEDCRT_ORDER_INDEXEDFILE_CREATE)r   rf   flagsfcpls       r   test_link_creation_trackingz"TestPL.test_link_creation_tracking   s    
 z#*++$$Q'''D88::;;;%(==$$U+++ < < > >??? z#/**$$U+++ < < > >?????r   c                    t          j        t           j                  }|                                }|                     d|           |                     t                    5  |                    dd           ddd           n# 1 swxY w Y   |                    dd           |                     d|                                           dS )z1
        test the attribute phase change
        )      i   ru   Nr   )r   r   )r   r   re   get_attr_phase_changer   assertRaises
ValueErrorset_attr_phase_change)r   cidrets      r   test_attr_phase_changezTestPL.test_attr_phase_change   s    
 j*++''))$$$ z** 	0 	0%%eQ///	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0
 	!!!Q''' 9 9 ; ;<<<<<s   #BB
B
N)r#   r$   r%   ri   rr   r|   r*   r   r   r_   r_      sD        ; ; ;6@ @ @$= = = = =r   r_   )unittestr'   h5pyr   r   r   commonr   r	   r,   rF   r_   r*   r   r   <module>r      s        " " " " " " " " " "      "4 "4 "4 "4 "4 "4 "4 "4H&) &) &) &) &)X &) &) &)R!4 !4 !4 !4 !4X !4 !4 !4H?= ?= ?= ?= ?=X ?= ?= ?= ?= ?=r   