
    .Ph                     b    d dl mZmZ ddlmZmZmZmZmZm	Z	 ddl
Z
ddlZ G d de          ZdS )   )TestBaseFileCreator    )	MapWindow	MapRegionMapRegionListALLOCATIONGRANULARITY	is_64_bitalign_to_mmapNc                   &    e Zd Zd Zd Zd Zd ZdS )TestMManc                    t          dd          }t          dd          }t          dd          }t          dd          }|                                dk    sJ |                                dk    sJ |                                dk    sJ d	}|                    ||           |j        dk    r|j        dk    sJ |                    ||           |                    ||           |j        dk    r|j        dk    sJ |                                }|                    ||           |j        |                                k    r||                                k    sJ |                    ||           |j        dk    r|j        |k    sJ |                    ||           |j        dk    r|j        |k    sJ |                    |t          j                   |                                |j        k    r|j        dk    sJ |                    ||           |                    ||           |j        |k    sJ |                    |t          j                   |j        |                                k    sJ |                                 |j        dk    r|j        t          |j        d
          k    sJ d S )Nr   r   
      i@  2      ir  d   T)
r   ofs_endextend_left_toofssizeextend_right_tosysmaxsizealignr   )selfwlwcwc2wrr   pofs_ends          T/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/smmap/test/test_util.pytest_windowzTestMMan.test_window   s   q!__q!__AtR  zz||q    zz||q    zz||t#### 
"g&&&v{{rw!||||
2w'''
2w'''v{{rw!|||| ;;==2w'''w"**,,&&8s{{}}+D+D+D+D 	2w'''v{{rw'1111
2w'''v{{rw'1111 	2s{+++zz||rv%%"&A++++ 	#w'''
#w'''w'!!!!
#s{+++v&&&&



v{{rw-*F*FFFFFFF    c                    t          | j        d          5 }|j        dz  }t          dd          }t	          |j        d|j                  }t	          |j        ||j                  }t	          |j        d|          }|                                dk    r|                                |j        k    sJ |                                |j        k    sJ |                                |k    r |                                |j        |z
  k    sJ |                                dk    r|                                |k    sJ |                    d          r2|                    |j        dz
            r|                    |          sJ |                    d          s|                    t          j
                  rJ 	 d d d            n# 1 swxY w Y   |                                dk    sJ |}|                                dk    s
J d            t          j        |          }|j        |                                k    r*|                                |                                k    sJ d S )	Nwindow_testr   ih  Fr   r   zno auto-counting)r   k_window_test_sizer   r   r   path	ofs_beginr   includes_ofsr   r   client_countr   from_regionr   )	r   fc	half_sizerofsrfullrhalfofs	rhalfsizerfull2ws	            r"   test_regionzTestMMan.test_region>   s   0-@@ 	VB1I u--Dbgq"'22E $88H!"'1i88I ??$$))ejjllbg.E.E.E.E==??bg----%%''4//HMMOOrwQU~4U4U4U4U&&((A--)..2B2Bi2O2O2O2O%%a((nU-?-?!-L-LnQVQcQcdmQnQnnnn))"--Ue6H6H6U6UUUUU	V 	V 	V 	V 	V 	V 	V 	V 	V 	V 	V 	V 	V 	V 	V$ !!##q((((!!##q(((*<((( !%((u))))aiikkU]]__.L.L.L.L.L.Ls   F(GGGc                    t          dd          5 }t          j        |j        t          j                  }	 |j        |fD ]_}t          |          }t          |          dk    sJ |                                |k    sJ |                                |j	        k    sJ `	 t          j
        |           n# t          j
        |           w xY w	 d d d            d S # 1 swxY w Y   d S )Nr   sample_filer   )r   osopenr)   O_RDONLYr   len
path_or_fd	file_sizer   close)r   r.   fditemmls        r"   test_region_listzTestMMan.test_region_listY   s#   m,, 
	"+..BWbM 5 5D&t,,Br77a<<<<==??d2222<<>>RW444445 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	s)   %CA)B6!C6CCC!$C!c                     t          t                      t                    sJ t          dd          dk    sJ t          dd          t          k    sJ d S )Nr   Fr   T)
isinstancer
   boolr   r	   )r   s    r"   	test_utilzTestMMan.test_utilf   sY    )++t,,,,,Q&&!++++Q%%)>>>>>>>r$   N)__name__
__module____qualname__r#   r6   rC   rG    r$   r"   r   r      sW        *G *G *GXM M M6  ? ? ? ? ?r$   r   )libr   r   
smmap.utilr   r   r   r	   r
   r   r9   r   r   rK   r$   r"   <module>rN      s    & & & & & & & &                
			 



Y? Y? Y? Y? Y?x Y? Y? Y? Y? Y?r$   