U
    -e
5                     @   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
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re  e  e  dS )    NTrecursez_test_file.txt
(   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   U/var/www/html/Darija-Ai-Train/env/lib/python3.8/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   sB   z| |  W n, t |k
r8   t d j|jk Y S X dS d S )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 )N)ospathexistsr	   remover   r   r   r   teardown_module2   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sPt	|
 |
 ksdt	| | ksxt	|  |  ttd}|d tj||d}|j}|
 }|  t|}	|	j}
|	
 }|	j}|	d |	  |tjkr0tt dkst	|
|ks t	|dkst	n|tjkr~tt dksRt	|
|ks`t	||ksnt	|tkst	nL|tjkrtt dkst	|
|kst	||kst	ntd	| t  ttd
}|d tj||d}|j}|
 }|  t|}	|	j}
|	
 }|	d |	  |
|ks@t	|tjkrrtt dksbt	||kst	np|tjkrtt dkst	||kst	n>|tjkrtt dkst	||kst	ntd	| t  ttd}| }tj||d}|j}|
 }|  d}t|d}| rLttj|fts~t	n2t|}	|	j|ksft	|tjkr|	
 |kst	|	 dkst	|	d |	 |kst	|	
 |ksvt	n|tjkr
|	
 dkst	|	 |kst	|	
 |ksvt	nl|tjkrj|	
 |ks(t	|	 dks:t	|	d |	 |ksVt	|	
 |ksvt	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t	nt|}	|	j}
|	
 }|	d |	  |tjkrttt dksVt	|
|ksdt	||ks t	n|tjkrtt dkst	|
|kst	|dks t	nL|tjkrtt dkst	|
|kst	||ks t	ntd	| |	  t  ttd
}|d tj||d}|j}|
 }|  tt }ttd}|d |
 }|  | rttj|ftsvt	nt|}	|	j}
|	
 }|	d |	  |
|kst	|tjkrtt dkst	||ksnt	np|tjkr0tt dks t	||ksnt	n>|tjkrbtt dksRt	||ksnt	ntd	| |	  t  ttd}| }tj||d}|j}|
 }|  tt | rttj|ftst	n t|}	|	j|kst	|tjkrD|	 dkst	|	d |	 dks0t	|	
 dkst	n|tjkr|	
 |ksbt	|	 dkstt	|	d |	 |kst	|	
 |kst	nP|tjkr|	
 dkst	|	 dkst	|	
 dkst	ntd	| |	  t  ttd}|d tj||d}|
 }|j}|  tt | 	rbttj|ft
sXt	nt|}	|	j}
|	
 }|	d |	  |tjk	rtt dk	st	|
dk	st	|dk
sXt	n|tjk
rtt dk	st	|
|k	st	|dk
sXt	nL|tjk
rLtt dk
s.t	|
|k
s<t	||k
sXt	ntd	| t  ttd
}|d tj||d}|
 }|j}|  tt | 
rttj|ftst	nt|}	|	j}
|	
 }|	d |	  |
|k
st	|tjkr(tt dkst	|dkst	np|tjkrZtt dksJt	|dkst	n>|tjkrtt dks|t	||kst	ntd	| t  ttd}| }tj||d}|j}|
 }|  d}t|d}t|}	|	j|kst	|tjkrd|	
 |kst	|	 ||d  ks4t	|	d |	 |ksPt	|	
 |kst	n|tjkr|	
 dkst	|	 |kst	|	
 |kst	nl|tjkr|	
 |kst	|	 dkst	|	d |	 |kst	|	
 |kst	ntd	| |	  ttd}|d tj||d}|j}|
 }tt }|d |
 }|  t|}	|	j}
|	
 }|	d |	  |tjkrtt dkst	|
|kst	||ksht	n|tjkrtt dkst	|
|kst	|dksht	nL|tjkr\tt dks>t	|
|ksLt	||ksht	ntd	| |	  t  ttd
}|d tj||d}|j}|
 }tt }|d |
 }|  t|}	|	j}
|	
 }|	d |	  |
|kst	|tjkr6tt dks&t	||kst	np|tjkrhtt dksXt	||kst	n>|tjkrtt dkst	||kst	ntd	| |	  d S )Nr   PyPyr   )fmoder   Z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AssertionErrortellr   r   r   nameHANDLE_FMODECONTENTS_FMODE
FILE_FMODERuntimeErrorr   r    buffer_errorseekr!   r$   	dne_error)Zstrictior'   Zskippypyr-   r   Z_fZf_dumpedZf1modeZftellf2Zf2modeZf2tellZf2nameZfstrZ_flenZ_fstrZ_ftellr   r   r   bench7   s   























































r>   c                   C   s   t dtjd t  d S NF)r>   r/   r6   r%   r   r   r   r   test_nostrictio_handlefmode  s    r@   c                   C   s   t dtjd t  d S r?   )r>   r/   r8   r%   r   r   r   r   test_nostrictio_filefmode  s    rA   c                   C   s   t dtjd t  d S )NFT)r>   r/   r7   r%   r   r   r   r   test_nostrictio_contentsfmode  s    rB   __main__)r   )r!   r   stringr   r/   settingsr	   listascii_lettersr   
ValueErrorr:   FileNotFoundErrorr<   r   r   r    r%   r>   r@   rA   rB   __name__r   r   r   r   <module>	   s0   

	   )
