o
    ~]J5                     @   s   d dl Z d dlZd dlZd dlZd dlZdejd< dZeejdgd  Z	ej
dk r,eZedZed	e ZdddZdd Zdd Zdd Zdd Zdd Zdd Zdd Zedkrfe  e  e  dS dS )    NTrecursez_test_file.txt
(   i  zinvalid buffer sizez)[Errno 2] No such file or directory: '%s'   c                 C   sN   t td}t| D ]
}|tt q	|  t td}| }|  |S )Nwr)	openfnamerangewriterandomchoice
rand_charscloseread)numberficontents r   M/var/www/Datamplify/venv/lib/python3.10/site-packages/dill/tests/test_file.pywrite_randomness   s   

r   c                   C   s   t td  d S )Nr   )r   r	   r   r   r   r   r   
trunc_file'   s   r   c              	   C   s:   z| |  W dS  t |y   t d j|jk Y S w )N   F)typesysexc_infoargs)opr   excr   r   r   throws+   s   
r    c                   C   s   t jtrt t d S d S )N)ospathexistsr	   remover   r   r   r   teardown_module4   s   r%   c                 C   s  dd l }|r| dkrd S t  ttd}ttj||d}|j|jks(J |	 |	 ks2J |
 |
 ks<J |  |  ttd}|d tj||d}|j}|	 }|  t|}	|	j}
|		 }|	j}|	d |	  |tjkrtt
 dksJ |
|ksJ |dksJ nD|tjkrtt
 dksJ |
|ksJ ||ksJ |tksJ n"|tjkrtt
 dksJ |
|ksJ ||ksJ ntd	| t  ttd
}|d tj||d}|j}|	 }|  t|}	|	j}
|		 }|	d |	  |
|ksJ |tjkr,tt
 dks$J ||ks+J n8|tjkrEtt
 dks=J ||ksDJ n|tjkr^tt
 dksVJ ||ks]J ntd	| t  ttd}|
 }tj||d}|j}|	 }|  d}t|d}| rttj|ftsJ nt|}	|	j|ksJ |tjkr|		 |ksJ |	
 dksJ |	d |	
 |ksJ |		 |ksJ nX|tjkr|		 dksJ |	
 |ksJ |		 |ksJ n6|tjkr'|		 |ksJ |	
 dksJ |	d |	
 |ksJ |		 |ks&J ntd	| |	  t  ttd}|d tj||d}|j}|	 }|  tt
 }ttd}|d |	 }|  | rwttj|ftsvJ nt|}	|	j}
|		 }|	d |	  |tjkrtt
 dksJ |
|ksJ ||ksJ nF|tjkrtt
 dksJ |
|ksJ |dksJ n&|tjkrtt
 dksJ |
|ksJ ||ksJ ntd	| |	  t  ttd
}|d tj||d}|j}|	 }|  tt
 }ttd}|d |	 }|  | r<ttj|fts;J nqt|}	|	j}
|		 }|	d |	  |
|ksXJ |tjkrqtt
 dksiJ ||kspJ n8|tjkrtt
 dksJ ||ksJ n|tjkrtt
 dksJ ||ksJ ntd	| |	  t  ttd}|
 }tj||d}|j}|	 }|  tt | rttj|ftsJ nt|}	|	j|ksJ |tjkr|	
 dksJ |	d |	
 dks	J |		 dksJ nX|tjkrC|		 |ks"J |	
 dks+J |	d |	
 |ks9J |		 |ksBJ n(|tjkre|		 dksRJ |	
 dks[J |		 dksdJ ntd	| |	  t  ttd}|d tj||d}|	 }|j}|  tt | rttj|ftsJ n{t|}	|	j}
|		 }|	d |	  |tjkrtt
 dksJ |
dksJ |dksJ nF|tjkrtt
 dksJ |
|ksJ |dksJ n&|tjkrtt
 dksJ |
|ksJ ||ksJ ntd	| t  ttd
}|d tj||d}|	 }|j}|  tt | rPttj|ftsOJ nmt|}	|	j}
|		 }|	d |	  |
|kslJ |tjkrtt
 dks}J |dksJ n8|tjkrtt
 dksJ |dksJ n|tjkrtt
 dksJ ||ksJ ntd	| t  ttd}|
 }tj||d}|j}|	 }|  d}t|d}t|}	|	j|ksJ |tjkr#|		 |ksJ |	
 ||d  ksJ |	d |	
 |ksJ |		 |ks"J nX|tjkrE|		 dks2J |	
 |ks;J |		 |ksDJ n6|tjkru|		 |ksTJ |	
 dks]J |	d |	
 |kskJ |		 |kstJ ntd	| |	  ttd}|d tj||d}|j}|	 }tt
 }|d |	 }|  t|}	|	j}
|		 }|	d |	  |tjkrtt
 dksJ |
|ksJ ||ksJ nF|tjkrtt
 dksJ |
|ksJ |dksJ n&|tjkrtt
 dksJ |
|ksJ ||ksJ ntd	| |	  t  ttd
}|d tj||d}|j}|	 }tt
 }|d |	 }|  t|}	|	j}
|		 }|	d |	  |
|kssJ |tjkrtt
 dksJ ||ksJ n8|tjkrtt
 dksJ ||ksJ n|tjkrtt
 dksJ ||ksJ ntd	| |	  d S )Nr   PyPyr   )fmoder   helloz world!zhello world!zUnknown file mode '%s'a   )r    hzh world!zw+   z and goodbye!zhello world!odbye!zhello and goodbye! world!)platformpython_implementationr   r   r	   dillloadsdumpsmodetellr   r   r   nameHANDLE_FMODECONTENTS_FMODE
FILE_FMODERuntimeErrorr   r    buffer_errorseekr!   r$   	dne_error)strictior'   skippypyr.   r   _ff_dumpedf1modeftellf2f2modef2tellf2namefstr_flen_fstr_ftellr   r   r   bench9   s  


























































rK   c                   C      t dtjd t  d S NF)rK   r0   r6   r%   r   r   r   r   test_nostrictio_handlefmode     
rN   c                   C   rL   rM   )rK   r0   r8   r%   r   r   r   r   test_nostrictio_filefmode  rO   rP   c                   C   s   t dtjd t  d S )NFT)rK   r0   r7   r%   r   r   r   r   test_nostrictio_contentsfmode  rO   rQ   __main__)r   )r!   r   stringr   r0   settingsr	   listascii_lettersr   
hexversionIOErrorFileNotFoundError
ValueErrorr:   r<   r   r   r    r%   rK   rN   rP   rQ   __name__r   r   r   r   <module>   s8   


	   )

