3
d                 @   s   d Z ddlmZ ddlZddlZddlmZmZmZm	Z	 ddl
mZmZ dd Zedd#ded%fd(d*gdd Zeddedfdedfgdd Zdd Zdd  ZdS )+z$
Unit tests for the disk utilities.
    )with_statementN)	disk_usedmemstr_to_bytesmkdirp
rm_subdirs)parametrizeraisesc          
   C   s   | j }tjd}|j}d}t|d | }tjd|d }ttjj|dd}|j| W d Q R X t	||kstt
t	||d k st
d S )Nii      testwb   )r
   )strpatharrayitemsizeintopenospathjoinZtofiler   AssertionError)tmpdirZcachediraZsizeof_iZtarget_sizenoutput r   7/tmp/pip-build-v9q4h5k9/joblib/joblib/test/test_disk.pytest_disk_used   s    
r   z
text,value80GP   i      z1.4Mgffffff?   120Mx   53K5   c             C   s   t | |kstd S )N)r   r   )textvaluer   r   r   test_memstr_to_bytes$   s    r(   ztext,exception,regexZfooGz Invalid literal for size.*fooG.*z1.4Nz Invalid literal for size.*1.4N.*c          	   C   s.   t |}t|  W d Q R X |j|s*td S )N)r   r   matchr   )r&   	exceptionregexZexcinfor   r   r   test_memstr_to_bytes_exception-   s    
r,   c          	   C   s^   t tjj| jd t tjj| jd t tjj| jdd tt t d W d Q R X d S )NZhamZspam )r   r   r   r   r   r   OSError)r   r   r   r   test_mkdirp6   s
    
r/   c             C   s^   t jj| jdd}t jj|d}tt jj| t| t jj|sHtt jj| sZtd S )NamZstramZgram)r   r   r   r   r   r   existsr   )r   Zsub_path	full_pathr   r   r   test_rm_subdirs@   s    r3   i   @       P )r   r4   i   gffffff6Ai     )r"   r5      )r$   r6   )__doc__
__future__r   r   r   Zjoblib.diskr   r   r   r   Zjoblib.testingr   r   r   r   r(   
ValueErrorr,   r/   r3   r   r   r   r   <module>   s    

