
    g?                         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z  ej                  d	z  d
      Z e       Z G d de      Zy)   )TestBaseFileCreator    )SlidingWindowMapManagerStaticWindowMapManager)SlidingWindowMapBuffer)randint)timeNd         )window_sizemax_memory_sizemax_open_handlesc                       e Zd Zd Zy)TestBufc                 	   t        | j                  d      5 }t        j                  |j                        }| j                  t        t         t        |                    | j                  t        t        ||j                         t               }|j                         J |j                          |j                          t        |      dk(  sJ d}|j                  ||j                        dk(  sJ |j                  ||      dk(  sJ t        |      |j                  |z
  k(  sJ |j                         j                         sJ |j                         dk(  sJ t        |      |j                  k(  sJ |j                         j                         sJ t        |j                  d      5 }|j!                         }d d d        |   |d   k(  sJ |||dz   |d| k(  sJ |d   |t        |      d	z
     k(  sJ |d
d  |t        |      dz
  t        |       k(  sJ |j                          |j                         j                         rJ |j                         j#                         sJ |j                         dk(  r|j                         j                         sJ ~~t        j%                         d	k(  sJ d}t'        j                  |j                  t&        j(                        }|j                  |fD ]  }	t        dft*        dft,        dffD ]  \  }
}t        |
j                  |	            }|
j%                         d	k(  sJ t/        d      D ]M  }|}d}|j                  }t1               }|j                          |rr|d	z  }|rJt3        d|      }t3        ||      }||| }t        |      ||z
  k(  sJ |||| k(  sJ |t        |      z  }~nt3        d|      }||   ||   k(  sJ |d	z  }|rr|j                          |
j%                         sJ |
j5                         sJ |
j%                         dk(  sJ t7        t1               |z
  d      }t9        d      }|xr dxs d}t;        d|||t        |	      ||z  |||z  |z  fz  t<        j>                         P ~  t'        j@                  |       d d d        y # 1 sw Y   xY w# 1 sw Y   y xY w)Nbuffer_testr   r   FTrb   r   i
   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_optimalmake_cursorpathassertRaises
ValueErrorr   typesizecursor
end_accesslenbegin_accessis_validopenreadis_associatednum_file_handlesosO_RDONLYman_worst_case
static_manranger
   r	   collectmaxfloatprintsysstderrclose)selffccbufoffsetfpdatamax_num_accessesfditemmanagerman_idaccess_modenum_accesses_left	num_bytesfsizest	ofs_startofs_enddposelapsedmbmode_strs                           H/var/www/openai/venv/lib/python3.12/site-packages/smmap/test/test_buf.pytest_basicszTestBuf.test_basics   s   00-@B ''0Aj*@'$q')Lj*@!RWWM(*C::<''' NNNNs8q= = F##Arww/5888##Av.$666s8rww////::<((*** ##%---s8rww&&&::<((*** bggt$wwy %<3q6)))vz*c!Fm;;; r7c#c(Q,////st9CHrM#c( ;;;; NNzz|,,...::<--/// ##%-#**,2G2G2III//1Q666  #"++.B")4i(@)7(F)35E(F(HOGV 11D1DT1JKC"335:::',Qx,<)$%	 "!V((*/-2-*,3Au,=	*1)U*C$'	'$:'*1v91D'D D'D'(D7,C'C C'C )SV 3	$%&-a&7'*3x49'< <'< )Q	 0" (&77999&000&779Q>>>"%dfrk5"9";/$/$;G#M  D!')98T$ZQZ]_Q_ahktwyky  ~E  kE  !FF#&::/? (0F Q(H &X HHRLI A@8 %$9 A@s,   FS.S?H9S9CSS	SS#N)__name__
__module____qualname__rR        rQ   r   r      s    erW   r   )libr   r   
smmap.mmanr   r   	smmap.bufr   randomr	   r
   r6   r-   r   r   r/   r0   r   rV   rW   rQ   <module>r\      si    & -   
 	 &'(++s2//14 $%
gh grW   