
    [e|                        d dl Z d dlZd dlZd dlZd dlmZ d dlmZ d Zej	        
                    deej        d g          d             Zd Zd	 Zd
 Zd Zd Zd Zd Zd Zd Zej	        j        ej	                            ej                  d                         Zej	        j        ej	                            ej                  ej	                            ej        dk    d          d                                     ZdS )    NFile)
utils_testc                 L    t          |           }t          j        |           dS )z,
    Test mapping interface for File().
    N)r   r   check_mappingtmp_pathcheck_fd_leakszs      4lib/python3.11/site-packages/zict/tests/test_file.pytest_mappingr      s&     	XAQ    dirtypec                     | S N )xs    r   <lambda>r      s    ! r   c                 d   t           ||                     }|rJ d|d<   t          j        |           dgk    sJ t          | dz  d          5 }|                                dk    sJ 	 d d d            n# 1 swxY w Y   d|v sJ |d         }t          |t                    sJ |dk    sJ d S N   123r   x#0rb)r   oslistdiropenread
isinstance	bytearray)r	   r
   r   r   fouts         r   test_implementationr"      s
   WWXALLLAcF:hE7****	h	%	% "vvxx6!!!!!" " " " " " " " " " " " " " " !8888
C&Cc9%%%%%&======s   A88A<?A<c                     t          | d          }|rJ t          d          }d|vsJ ||d<   t          j        |           dgk    sJ d|v sJ |d         }|dk    sJ |d         |d<   |dk    sJ d S )	NT)memmapr   r   r      r   s   223)r   
memoryviewr   r   )r	   r
   r   mvmv2s        r   test_memmap_implementationr)   #   s    Xd###ALLL	F		Ba<<<<AcF:hE7****!8888
C&C&====VCF&======r   c                     t          |           }t          |          t          |          cxk    r
d|  dk    sn J d S )Nz<File: z, 0 elements>)r   strreprr   s      r   test_strr-   3   sP    XAq66T!WWAAAA A( A A AAAAAAAAAr   c                     t          |           }t          j        t                    5  d|d<   d d d            d S # 1 swxY w Y   d S )N{   r   )r   pytestraises	TypeErrorr   s      r   test_setitem_typeerrorr3   8   s    XA	y	!	!  #                 s   <A A c                     t          |           5 }d|d<   d d d            n# 1 swxY w Y   t          | dz  d          5 }|                                dk    sJ 	 d d d            d S # 1 swxY w Y   d S r   )r   r   r   )r	   r
   r   fhs       r   test_contextmanagerr6   >   s    	h 1#               
h	%	% #wwyyF"""""# # # # # # # # # # # # # # # # # #s   "&& A))A-0A-c                    t          |           }d|d<   t          j        |           dgk    sJ |d= t          j        |           g k    sJ d|d<   t          j        |           dgk    sJ d|d<   t          j        |           dgk    sJ d S )Nr   r   r   zx#1zx#2)r   r   r   r   s      r   test_delitemr8   F   s    XAAcF:hE7****	#:h2%%%%AcF:hE7****AcF:hE7******r   c                     t          |           }t          j        t                    5  |d          d d d            d S # 1 swxY w Y   d S )Nr   )r   r0   r1   KeyErrorr   s      r   test_missing_keyr;   U   s    XA	x	 	   	#                 s   	?AAc                 d   t          |           }d}t          dd|          D ]}d                    dgd t          |t          d||z                       D             z             }t	          j        t                    5  ||          d d d            n# 1 swxY w Y   d||<   ||         dk    sJ t          |          |gk    sJ t          |                                          |gk    sJ t          |	                                          |dfgk    sJ t          |
                                          dgk    sJ t          |           }||         dk    sJ t          |          |gk    sJ t          |                                          |gk    sJ t          |	                                          |dfgk    sJ t          |
                                          dgk    sJ ~||= t	          j        t                    5  ||          d d d            n# 1 swxY w Y   d S )N   r%       foo_c                 ,    g | ]}t          |          S r   )chr).0is     r   
<listcomp>z(test_arbitrary_chars.<locals>.<listcomp>b   s    !P!P!PQ#a&&!P!P!Pr   s   foo)r   rangejoinminr0   r1   r:   listkeysitemsvalues)r	   r
   r   chunkrD   keyzzs          r   test_arbitrary_charsrP   \   s   XA E1c5!!  ggvh!P!P%3sAI;N;N2O2O!P!P!PPQQ]8$$ 	 	cFF	 	 	 	 	 	 	 	 	 	 	 	 	 	 	#vAww3%AFFHH~~#&&&&AGGIIC=/1111AHHJJF8++++(^^#w&    BxxC5    BGGII3%''''BHHJJS&M?2222BIIKK  VH,,,,cF]8$$ 	 	cFF	 	 	 	 	 	 	 	 	 	 	 	 	 	 	) s$   	BB	B		H##H'	*H'	c                 N    t          |           }ddg|d<   |d         dk    sJ d S )Nr   s   4567r   s   1234567r   r   s      r   test_write_list_of_bytesrR   y   s6    XAgAcFS6Zr   c                 t    t          |           }t          j        |           t          j        |           d S r   )r   r   check_bad_key_typescheck_bad_value_typesr   s      r   test_bad_typesrV      s5    XA"1%%%$Q'''''r   c                 t    t          |           }t          j        |           t          j        |           d S r   )r   r   check_different_keys_threadsafer   r	   r   s     r   %test_stress_different_keys_threadsaferZ      s7     	XA.q111Qr   win32zCan't delete file with open fd)reasonc                 t    t          |           }t          j        |           t          j        |           d S r   )r   r   check_same_key_threadsafer   rY   s     r   test_stress_same_key_threadsafer_      s7     	XA(+++Qr   )r   pathlibsysr0   zictr   
zict.testsr   r   markparametrizer+   Pathr"   r)   r-   r3   r6   r8   r;   rP   rR   rV   stressrepeatREPEAT_STRESS_TESTSrZ   skipifplatformr_   r   r   r   <module>rl      s   				  



        ! ! ! ! ! !      S',$DEE  FE   B B B
  # # #+ + +    :     ( ( ( J233    43   J233CLG+4TUU    VU 43      r   