U
    /e                     @   s   d dl Z d dlZd dlZd dlmZ d dlmZ ed ej	de
ejdd gdd	 Zd
d Zdd Zdd Zdd Zdd Zdd ZdS )    N)LMDB)
utils_testlmdbdirtypec                 C   s   | S N )xr   r   8/tmp/pip-unpacked-wheel-z3s6s24u/zict/tests/test_lmdb.py<lambda>       r
   c                 C   s*   t | }d|d< |d dks t|d= d S )N   123r   )r   AssertionError)tmp_pathcheck_fd_leaksr   zr   r   r	   test_dirtypes   s    r   c                 C   s   t | }t| dS )z,
    Test mapping interface for LMDB().
    N)r   r   Zcheck_mappingr   r   r   r   r   r	   test_mapping   s    r   c                 C   s    t | }t| t| d S r   )r   r   Zcheck_bad_key_typesZcheck_bad_value_typesr   r   r   r	   test_bad_types   s    
r   c              	   C   sd   t | }t|dkstd|d< W 5 Q R X t | &}t|dksFt|d dksVtW 5 Q R X dS )z/
    Test persistence of a LMDB() mapping.
    r   r   abc   N)r   lenr   r   r   r   r	   
test_reuse"   s    

r   c              	   C   s*   t | | tj| stW 5 Q R X d S r   )r   ospathisdirr   )r   r   r   r   r	   test_creates_dir/   s    r   c              	   C   s2   t | }~t | }|  t | }W 5 Q R X d S r   )r   closer   r   r   r	   test_file_descriptors_dont_leak4   s    
r   c              	   C   sH   dd l }t| dd}dd |d< t|j dd |d< W 5 Q R X d S )Nr   i   )Zmap_size   xi   r   y)r   r   pytestZraisesZMapFullError)r   r   r   r   r   r   r	   test_map_size?   s
    r"   )r   pathlibr!   Zzictr   Z
zict.testsr   ZimportorskipmarkZparametrizestrPathr   r   r   r   r   r   r"   r   r   r   r	   <module>   s   

