U
    ½mœd  ã                	   @   s¤   d dl mZmZmZmZmZmZmZmZm	Z	 d dl
Z
d dlZd dlmZ ddlmZ eeeeeeƒeeeƒeeƒƒZG dd„ de	ƒZdd	„ Ze
jjed
d„ ƒƒZdS )é    )	Ú	addressofÚc_char_pÚc_intÚc_longÚc_uintÚc_void_pÚ	CFUNCTYPEÚPOINTERÚ	StructureN)Úh5zé   )Úinsubprocessc                	   @   sD   e Zd ZdZdefdefdefdefdefdefdefd	efgZ	d
S )Ú
H5ZClass2Tz(H5Z_class2_t structure defining a filterÚversionÚid_Úencoder_presentÚdecoder_presentÚnameÚ	can_applyÚ	set_localÚfilter_N)
Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   ÚH5ZFuncTZ_fields_© r   r   úL/home/sam/Atlas/atlas_env/lib/python3.8/site-packages/h5py/tests/test_h5z.pyr       s   ør   c               
   C   sˆ   d} t dd„ ƒ}ttj| dddd d |d�}t t|ƒ¡ z0t | ¡sHt‚t 	| ¡}|tj
tjB ksft‚W 5 t | ¡ X t | ¡r„t‚d S )Né   c                 S   s   dS )Nr   r   )ÚflagsZ
cd_nelemtsZ	cd_valuesÚnbytesZbuf_sizeÚbufr   r   r   Úfailing_filter_callback2   s    z5test_register_filter.<locals>.failing_filter_callbackr   s   dummy filter)r   r   r   r   r   r   r   r   )r   r   r   ZCLASS_T_VERSZregister_filterr   Úunregister_filterÚfilter_availÚAssertionErrorZget_filter_infoZFILTER_CONFIG_ENCODE_ENABLEDZFILTER_CONFIG_DECODE_ENABLED)Z	filter_idr"   Zdummy_filter_classZfilter_flagsr   r   r   Útest_register_filter/   s.    
ø

ÿÿ
r&   c                 C   s,   t j t jj¡r(t j t jj¡}|s(t‚d S )N)Úh5pyr   r$   Z
FILTER_LZFr#   r%   )ÚrequestÚresr   r   r   Útest_unregister_filterP   s    r*   )Úctypesr   r   r   r   r   r   r   r	   r
   Zpytestr'   r   Úcommonr   r   r   r&   ÚmarkZmpi_skipr*   r   r   r   r   Ú<module>   s$   ,ø!