
    g                     Z    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y)   )TestBaseFileCreator    )	MapWindow	MapRegionMapRegionListALLOCATIONGRANULARITY	is_64_bitalign_to_mmapNc                   $    e Zd Zd Zd Zd Zd Zy)TestMManc                 N   t        dd      }t        dd      }t        dd      }t        dd      }|j                         dk(  sJ |j                         dk(  sJ |j                         dk(  sJ d	}|j                  ||       |j                  dk(  r|j                  dk(  sJ |j                  ||       |j                  ||       |j                  dk(  r|j                  dk(  sJ |j                         }|j                  ||       |j                  |j                         k(  r||j                         k(  sJ |j                  ||       |j                  dk(  r|j                  |k(  sJ |j                  ||       |j                  dk(  r|j                  |k(  sJ |j                  |t        j                         |j                         |j                  k(  r|j                  dk(  sJ |j                  ||       |j                  ||       |j                  |k(  sJ |j                  |t        j                         |j                  |j                         k(  sJ |j                          |j                  dk(  r#|j                  t        |j                  d
      k(  sJ y )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          I/var/www/openai/venv/lib/python3.12/site-packages/smmap/test/test_util.pytest_windowzTestMMan.test_window   s@   q!_q!_AtR zz|q   zz|q   zz|t### 
"g&vv{rww!|++
2w'
2w'vv{rww!|++ ;;=2w'ww"**,&8s{{}+DDD 	2w'vv{rww'111
2w'vv{rww'111 	2s{{+zz|rvv%"&&A+55 	#w'
#w'ww'!!!
#s{{+vv&&&

vv{rww-*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|      }|j                         dk(  r|j                         |j                  k(  sJ |j                         |j                  k(  sJ |j                         |k(  r |j                         |j                  |z
  k(  sJ |j                         dk(  r|j                         |k(  sJ |j                  d      r/|j                  |j                  dz
        r|j                  |      sJ |j                  d      s|j                  t        j                        rJ 	 d d d        j                         dk(  sJ |}|j                         dk(  sJ d       t        j                  |      }|j                  |j                         k(  r!|j                         |j                         k(  sJ y # 1 sw Y   xY w)	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0-@B1I u-Dbggq"''2E $8H!"''1i8I ??$)ejjlbgg.EEE==?bgg---%%'4/HMMOrwwQU~4UUU&&(A-)..2Bi2OOO%%a(U-?-?!-LQVQcQcdmQnnn))"-e6H6H6UUU6U A$ !!#q(((!!#q(<*<<( !!%(uu))aiikU]]_.LLL.L1 A@s   FH>>Ic                    t        dd      5 }t        j                  |j                  t        j                        }	 |j                  |fD ]Q  }t        |      }t        |      dk(  sJ |j                         |k(  sJ |j                         |j                  k(  rQJ  	 t        j                  |       	 d d d        y # t        j                  |       w xY w# 1 sw Y   y xY w)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WWbMD&t,Br7a<'<==?d222<<>RWW444 *  -,  -,s)   /CAB?B? C?CCC"c                     t        t               t              sJ t        dd      dk(  sJ t        dd      t        k(  sJ y )Nr   Fr   T)
isinstancer
   boolr   r	   )r   s    r"   	test_utilzTestMMan.test_utilf   s?    )+t,,,Q&!+++Q%)>>>>r$   N)__name__
__module____qualname__r#   r6   rC   rG    r$   r"   r   r      s    *GXM6?r$   r   )libr   r   
smmap.utilr   r   r   r	   r
   r   r9   r   r   rK   r$   r"   <module>rN      s(    &  
 
Y?x Y?r$   