
­­­­­­­­­­­­­­­­­­
<!DOCTYPE html>
<html>
3
yb/                 @   s   d Z ddlZddlZddlmZmZ ejdd Zejddgd	d
d Zejdddgddd Z	ejddg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d#d$ ZdS )%zM
Do benchmarks using pytest-benchmark.

Usage:

    py.test --benchmark-only
    N   )	changedircmdc             c   s|   |j dd |j dd |j dd |j dd |j dt|jd	 |j d
t|jd t|jdV  |jdd d S )NZBORG_PASSPHRASEZ123456Z!BORG_CHECK_I_KNOW_WHAT_I_AM_DOINGZYESZ"BORG_DELETE_I_KNOW_WHAT_I_AM_DOINGZ*BORG_UNKNOWN_UNENCRYPTED_REPO_ACCESS_IS_OKyesZBORG_KEYS_DIRkeysZBORG_CACHE_DIRcacheZ
repositoryr   )rec)Zsetenvstrjoinremove)requesttmpdirZmonkeypatch r   !/usr/lib64/python3.6/benchmark.pyrepo_url   s    r   noneZrepokey)paramsc             C   s   |dd| j | |S )NZinitz--encryption)param)r   r   r   r   r   r   repo   s    r   Zsessionzerosrandom)Zscoper   c       	      c   s   d\}}|j d}| j}|dkr*dd }n|dkr<dd }ntd	xBt|D ]6}tt|jt|d
}|j|| W d Q R X qNW t|V  |jdd d S )N
   i  datar   c             S   s   d|  S )N   0r   )sizer   r   r   r   )   s    ztestdata.<locals>.datar   c             S   s
   t j| S )N)osurandom)r   r   r   r   r   ,   s    z&data_type must be 'random' or 'zeros'.wbr   )r   @B )r   r   )	Zmktempr   
ValueErrorrangeopenr	   r
   writer   )	r   Ztmpdir_factorycountr   pZ	data_typer   ifr   r   r   testdata"   s    



r'   lz4c             C   s   |d }|dd| j || |S )Nz::testcreatez--compression)r   )r   r   r   r'   Zarchive_urlr   r   r   archive7   s    r*   c             C   s.   | j |ddd|d |f\}}|dks*td S )Nr)   z--compressionr   z::testr   )pedanticAssertionError)	benchmarkr   r   r'   resultoutr   r   r   test_create_none>   s    r0   c             C   s.   | j |ddd|d |f\}}|dks*td S )Nr)   z--compressionr(   z::testr   )r+   r,   )r-   r   r   r'   r.   r/   r   r   r   test_create_lz4C   s    r1   c             C   s<   t t| | j|d|f\}}W d Q R X |dks8td S )Nextractr   )r   r	   r+   r,   )r-   r   r*   r   r.   r/   r   r   r   test_extractH   s    r3   c             C   s$   | j |d|f\}}|dks td S )Ndeleter   )r+   r,   )r-   r   r*   r.   r/   r   r   r   test_deleteN   s    r5   c             C   s    | |d|\}}|dkst d S )Nlistr   )r,   )r-   r   r*   r.   r/   r   r   r   	test_listS   s    r7   c             C   s    | |d|\}}|dkst d S )Ninfor   )r,   )r-   r   r*   r.   r/   r   r   r   	test_infoX   s    r9   c             C   s.   |j dd }| |d|\}}|dks*td S )Nz::r   Zcheck)splitr,   )r-   r   r*   r   r.   r/   r   r   r   
test_check]   s    r;   c             C   s   | |d\}}|dkst d S )Nhelpr   )r,   )r-   r   r.   r/   r   r   r   	test_helpc   s    r=   )__doc__r   ZpytestZarchiverr   r   Zfixturer   r   r'   r*   r0   r1   r3   r5   r7   r9   r;   r=   r   r   r   r   <module>   s   