a
     d?                     @   s   d dl mZmZ ddlmZmZ ddlmZ ddlm	Z	 ddl
m
Z
 ddlZddlZe Zeejd ejd	 d
dZe ZG dd deZdS )   )TestBaseFileCreator    )SlidingWindowMapManagerStaticWindowMapManager)SlidingWindowMapBuffer)randint)timeNd         )Zwindow_sizeZmax_memory_sizeZmax_open_handlesc                   @   s   e Zd Zdd ZdS )TestBufc                 C   s
  t | jd}t|j}| ttt|  | tt||j	 t }|
 d u sXJ |  |  t|dksxJ d}|||j	dksJ |||dksJ t||j	| ksJ |
  sJ | dksJ t||j	ksJ |
  sJ t|jd}| }W d    n1 s*0    Y  || |d ksJJ |||d  |d| kslJ |d |t|d	  ksJ |d
d  |t|d t| ksJ |  |
  rJ |
  sJ | dkr|
  s J ~~t d	ksJ d}t|jtj}|j|fD ]}	tdftdftdffD ]\}
}t|
|	}|
 d	kszJ tdD ]L}|}d}|j	}t }|  |r@|d	8 }|rtd|}t||}||| }t||| ksJ |||| ksJ |t|7 }~n(td|}|| || ks4J |d	7 }q|  |
 sVJ |
 sdJ |
 dksvJ tt | d}td}|rdpd}td|||t|	|| ||| | f tjd q~qPq4t | W d    n1 s0    Y  d S )NZbuffer_testr   r
   FTrb   r   i
   Zoptimalz
worst casezstatic optimalgMbP?i@B slicezsingle bytezc%s: Made %i random %s accesses to buffer created from %s reading a total of %f mb in %f s (%f mb/s))file)!r   k_window_test_sizeman_optimalZmake_cursorpathassertRaises
ValueErrorr   typesizecursorZ
end_accesslenZbegin_accessZis_validopenreadZis_associatedZnum_file_handlesosO_RDONLYman_worst_case
static_manranger	   r   Zcollectmaxfloatprintsysstderrclose)selfZfccbufoffsetfpdataZmax_num_accessesfditemmanagerZman_idZaccess_modeZnum_accesses_left	num_bytesfsizestZ	ofs_startZofs_enddposelapsedmbZmode_str r:   \/var/www/html/stable-diffusion-webui/venv/lib/python3.9/site-packages/smmap/test/test_buf.pytest_basics   s    ("* 


 

zTestBuf.test_basicsN)__name__
__module____qualname__r<   r:   r:   r:   r;   r      s   r   )libr   r   Z
smmap.mmanr   r   Z	smmap.bufr   randomr   r	   r'   r   r   r   r!   r"   r   r:   r:   r:   r;   <module>   s   