
    j                         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 ZdS )    N)h5ph5fversion   )TestCasec                       e Zd ZdZd Zd Zd Z ej        e	j
        dk     d          d             Z ej        e	j
        dk     d	          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     V/var/www/html/Carbon-Document/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,   k     
3?++@@@#.#/:0022	4 	4 	4 	4 	4r   )r      r   zRequires HDF5 1.14 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_V114N)	r   r   r   r   r   r   LIBVER_V114r   r   r   s     r   test_libver_v114zTestLibver.test_libver_v1145   r#   r   )   r   r   zRequires HDF5 2.0 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_V200N)	r   r   r   r   r   r   LIBVER_V200r   r   r   s     r   test_libver_v200zTestLibver.test_libver_v200>   r#   r   N)__name__
__module____qualname____doc__r   r   r   utskipIfr   hdf5_version_tupler"   r'   r+    r   r   r	   r	      s         4 4 44 4 44 4 4 RYw)J6.0 04 40 04 RYw)J6,. .4 4. .4 RYw)I5+- -4 4- -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_cacheL   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   r8   r   get_efile_prefixdecodeset_efile_prefixencode)r   r;   efile_prefixs      r   test_efile_prefixzTestDA.test_efile_prefixW   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 rA   zpath/to/virtual/datasetrB   N)r   r   r8   r   get_virtual_prefixrD   set_virtual_prefixrF   )r   r;   virtual_prefixs      r   test_virtual_prefixzTestDA.test_virtual_prefixf   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/   r?   rH   rM   r3   r   r   r5   r5   H   sK         	3 	3 	3' ' ') ) ) ) )r   r5   c                   $    e Zd ZdZd Zd Z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_configu   s>    CO,,&&((f%%%%%r   c                     t          j        t           j                  }d}d}|                    ||           |                     ||f|                                           dS )r7   i (  i   N)r   r   r   set_alignmentr   get_alignment)r   rS   	threshold	alignments       r   test_set_alignmentzTestFA.test_set_alignment|   sk    CO,,		Y	222)Y/--//	1 	1 	1 	1 	1r   c                     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   rS   use_file_lockingignore_when_disableds       r   test_set_file_lockingzTestFA.test_set_file_locking   sq    CO,, $ 02FGGG*,@A0022	4 	4 	4 	4 	4r   N)r,   r-   r.   r/   rU   r[   ra   r3   r   r   rO   rO   q   sK         & & &1 1 14 4 4 4 4r   rO   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   re   set_link_creation_orderr   get_link_creation_orderCRT_ORDER_TRACKEDCRT_ORDER_INDEXEDFILE_CREATE)r   rj   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   ry   Nr   )r   r   )r   r   ri   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.   rm   rv   r   r3   r   r   rc   rc      sD        ; ; ;6@ @ @$= = = = =r   rc   c                     t          j        t           j                  } d}|                     |           |                                 |k    sJ d}|                     |           |                                 |k    sJ t          j        t          j	        z  }| 
                    |           |                                 |k    sJ t          j        t           j                  }|                    dd           |                     |           |                                                                 dk    sJ |                                 |                                  dS )zTest Link Access Property List   s   /prefixF)FFN)r   r   LINK_ACCESS
set_nlinks
get_nlinksset_elink_prefixget_elink_prefixr   ACC_RDWRACC_SWMR_WRITEset_elink_acc_flagsget_elink_acc_flagsr   r]   set_elink_faplget_elink_faplr^   close)laplnlinksprefixrt   fapls        r   test_proplaidr      s=   :co&&DFOOF??&&&&F&!!!  ""f,,,,L3--EU#####%%....:co&&D%'''  1133~EEEEJJLLLJJLLLLLr   )unittestr0   h5pyr   r   r   commonr   r	   r5   rO   rc   r   r3   r   r   <module>r      s       " " " " " " " " " "      44 44 44 44 44 44 44 44n&) &) &) &) &)X &) &) &)R4 4 4 4 4X 4 4 4@?= ?= ?= ?= ?=X ?= ?= ?=D    r   