Ë
    ëmxi?  ã                   óÔ   — 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)ÚtimeNéd   é   é   )Ú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 optimalgü©ñÒMbP?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                           úJ/home/htdocs/ttos/venv/lib/python3.12/site-packages/smmap/test/test_buf.pyÚtest_basicszTestBuf.test_basics   sò  € Ü˜×0Ñ0°-Ó@ð d	ÀBô ×'Ñ'¨¯©Ó0ˆAØ×ÑœjÔ*@À'Ä$ÀqÃ'Ã)ÔLØ×ÑœjÔ*@À!ÀRÇWÁWÔMä(Ó*ˆCØ—:‘:“<Ð'Ð'Ð'ð �N‰NÔØ�N‰NÔÜ�s“8˜q’=Ð �=ð ˆFØ×#Ñ# A r§w¡wÓ/°5Ò8Ð8Ð8Ø×#Ñ# A vÓ.°$Ò6Ð6Ð6Ü�s“8˜rŸw™w¨Ñ/Ò/Ð/Ð/Ø—:‘:“<×(Ñ(Ô*Ð*Ð*ð ×#Ñ#Ó%¨Ò-Ð-Ð-Ü�s“8˜rŸw™wÒ&Ð&Ð&Ø—:‘:“<×(Ñ(Ô*Ð*Ð*ô �b—g‘g˜tÓ$ð !¨Ø—w‘w“y�÷!à˜‘< 3 q¡6Ò)Ð)Ð)Ø˜˜v¨™zÐ*¨c°!°F¨mÒ;Ð;Ð;ð �r‘7˜c¤# c£(¨Q¡,Ñ/Ò/Ð/Ð/Ø�s�t�9 ¤C¨£H¨r¡M´#°c³(Ð ;Ò;Ð;Ð;ð �N‰NÔØ—z‘z“|×,Ñ,Ô.Ð.Ð.Ø—:‘:“<×-Ñ-Ô/Ð/Ð/ð ×#Ñ#Ó%¨Ò-°#·*±*³,×2GÑ2GÔ2IÐIÐIØØä×/Ñ/Ó1°QÒ6Ð6Ð6ð  #ÐÜ—‘˜Ÿ™¤"§+¡+Ó.ˆBØŸ™ "˜ó )�Ü)4°iÐ(@Ü)7¸Ð(FÜ)3Ð5EÐ(Fð(Hó (‘O�G˜Vô 1°×1DÑ1DÀTÓ1JÓK�CØ"×3Ñ3Ó5¸Ò:Ð:Ð:Ü',¨Q£xó !/˜Ø,<Ð)Ø$%˜	Ø "§¡˜ä!›V˜Ø×(Ñ(Ô*Ù/Ø-°Ñ2Ð-Ù*Ü,3°A°uÓ,= 	Ü*1°)¸UÓ*C Ø$'¨	°'Ð$: Ü'*¨1£v°¸9Ñ1DÒ'DÐ DÐ'DØ'(¨D°¸7Ð,CÒ'CÐ CÐ'CØ )¬S°«VÑ 3 	Ù$%ä&-¨a°Ó&7 Ø'*¨3¡x°4¸±9Ò'<Ð <Ð'<Ø )¨Q¡ 	ò 0ð" Ÿ™Ô(Ø&×7Ñ7Ô9Ð9Ð9Ø&Ÿ™Ô0Ð0Ð0Ø&×7Ñ7Ó9¸QÒ>Ð>Ð>Ü"%¤d£f¨r¡k°5Ó"9˜Ü" ;Ó/˜Ø$/Ò$;°GÒ#MÀ˜Üð  DØ!'Ð)9¸8ÄTÈ$ÃZÐQZÐ]_ÑQ_ÐahÐktÐwyÑkyð  ~Eñ  kEð  !FñFä#&§:¡:÷/ð?!/òF òQ(ð)ôX �H‰H�RŒL÷Id	ð d	÷8!ñ !ú÷9d	ð d	ú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   