id bddlmZmZddlmZmZmZmZmZm Z ddl Z ddl Z GddeZ dS))TestBase FileCreator) MapWindow MapRegion MapRegionListALLOCATIONGRANULARITY is_64_bit align_to_mmapNc&eZdZdZdZdZdZdS)TestMManctdd}tdd}tdd}tdd}|dksJ|dksJ|dksJd }||||jdkr |jdksJ|||||||jdkr |jdksJ|}||||j|kr||ksJ||||jdkr |j|ksJ||||jdkr |j|ksJ||t j||jkr |jdksJ|||||||j|ksJ||t j|j|ksJ||jdkr|jt|jd ksJdS) Nrr i@2irdT) rofs_endextend_left_toofssizeextend_right_tosysmaxsizealignr )selfwlwcwc2wrrpofs_ends I/opt/cloudlinux/venv/lib/python3.11/site-packages/smmap/test/test_util.py test_windowzTestMMan.test_windows 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'1111 2w'''v{{rw'1111 2s{+++zz||rv%%"&A++++ #w''' #w'''w'!!!! #s{+++v&&&&  v{{rw-*F*FFFFFFFct|jd5}|jdz}tdd}t |jd|j}t |j||j}t |jd|}|dkr||jksJ||jksJ||kr ||j|z ksJ|dkr||ksJ|dr2||jdz r||sJ|ds|tj rJ dddn #1swxYwY| dksJ|}| dks Jdtj |}|j|kr*||ksJdS) N window_testrihFrrzno auto-counting)rk_window_test_sizerr rpath ofs_beginr includes_ofsrr client_countr from_regionr) rfc half_sizerofsrfullrhalfofs rhalfsizerfull2ws r" test_regionzTestMMan.test_region>s 0- @ @ VB1 I u--Dbgq"'22E $88H!"'1i88I??$$))ejjllbg.E.E.E.E==??bg----%%''4//HMMOOrwQU~4U4U4U4U&&((A--)..2B2Bi2O2O2O2O%%a(( nU-?-?! -L-L nQVQcQcdmQnQn n n n))"-- Ue6H6H6U6U 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.LsF(G  GGctdd5}tj|jtj} |j|fD]_}t |}t |dksJ||ksJ||j ksJ` tj |n#tj |wxYw ddddS#1swxYwYdS)Nr sample_filer) rosopenr)O_RDONLYrlen path_or_fd file_sizerclose)rr.fditemmls r"test_region_listzTestMMan.test_region_listYs# m , , "+..B WbM55D&t,,Br77a<<<<==??d2222<<>>RW44444 5                    s)%CA)B6!C6C  CC!$C!ctttsJtdddksJtddtksJdS)NrFrT) isinstancer boolr r )rs r" test_utilzTestMMan.test_utilfsY)++t,,,,,Q&&!++++Q%%)>>>>>>>r$N)__name__ __module__ __qualname__r#r6rCrGr$r"r r sW*G*G*GXMMM6   ?????r$r ) librr smmap.utilrrrr r r r9rr rKr$r"rNs&&&&&&&& Y?Y?Y?Y?Y?xY?Y?Y?Y?Y?r$