+
    ÏÜ³jø%  ã                   ó4  € ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIH	t	 ^ RI
t
]
P                  P                  t. ROtR.tR tR t] P$                  R 4       tR tR tR	 tR
 tR tR tR tRR/R ltR tR tR tR t]
P                  PA                  R]! 4       4      R 4       t!]
P                  PA                  R]! 4       4      R 4       t"]
P                  PA                  R]! 4       4      R 4       t#R t$]
P                  PA                  R]! 4       4      R 4       t%]
P                  PA                  R]! 4       4      R 4       t&]
P                  PA                  R]! 4       4      R 4       t']
P                  PA                  R]! 4       4      R 4       t(R# )é    N)ÚutilÚsystemc                 ó(   € \        \        V  R 24      # )Ú_memory_pool)ÚgetattrÚpa©Úbackend_names   &ÚZ/home/luca/screen-checking/.venv/lib/python3.14/site-packages/pyarrow/tests/test_memory.pyÚbackend_factoryr   $   s   € Ü”2˜,˜ |Ð4Ó5Ð5ó    c                  ó˜   € \         P                  .p T \         P                  ! 4        Uu. uF  p\        V4      NK  	  up,           # u upi ©N)r   Údefault_memory_poolÚsupported_memory_backendsr   )Ú	factoriesÚbns     r   Úsupported_factoriesr   (   s=   € Ü×'Ñ'Ð(€IØ´b×6RÒ6RÔ6TÓUÑ6T°œ¨Ö+Ñ6TÑUÕUÐUùÒUs   ªAc              #  óè   "  € \         P                  ! RV,          .\         P                  ! 4       V R7      pVP                  4       ^,          pRp\	        V4      V8X  g   Q h Rx € RpR#   Rpi ; i5i)z6
Temporarily allocate *nbytes* from the given *pool*.
ó   x)ÚtypeÚmemory_poolN)r   ÚarrayÚbinaryÚbuffersÚlen)ÚpoolÚnbytesÚarrÚbufs   &&  r   Úallocate_bytesr!   -   s`   é € ô
 �(Š(�D˜6•M�?¬¯ª«À$Ô
G€Cð �+‰+‹-˜Õ
€CØ
€CÜˆs‹8�vÔÐÐðÛàŠøˆd‰üs   ‚A A2Á#A+ Á'A2Á+A/Á/A2c                ó*  € V P                  4       pV P                  4       pV P                  4       p\        V R4      ;_uu_ 4        V P                  4       VR,           8X  g   Q hV P                  4       pV P                  4       V8¼  g   Q hV P                  4       pWS8”  g   Q hWS^,           8  g   Q h RRR4       V P                  4       V8X  g   Q hV P                  4       X8X  g   Q hV P                  4       X8X  g   Q hR#   + '       g   i     LW; i)z#
Check allocation stats on *pool*.
é   N)Úbytes_allocatedÚ
max_memoryÚnum_allocationsr!   )r   Úallocated_beforeÚmax_mem_beforeÚnum_allocations_beforeÚnew_max_memoryÚnum_allocations_afters   &     r   Úcheck_allocated_bytesr,   >   sú   € ð ×+Ñ+Ó-ÐØ—_‘_Ó&€NØ!×1Ñ1Ó3ÐÜ	˜˜c×	"Õ	"Ø×#Ñ#Ó%Ð)9¸CÕ)?Ô?Ð?Ð?ØŸ™Ó*ˆØ�‰Ó  NÔ2Ð2Ð2Ø $× 4Ñ 4Ó 6ÐØ$Ô=Ð=Ð=Ø$ÀÕ'AÔAÐAÑA÷ 
#ð ×ÑÓ!Ð%5Ô5Ð5Ð5Ø�?‰?Ó Ô.Ð.Ð.Ø×ÑÓ!Ð%:Ô:Ð:Ò:÷ 
#×	"ús   ÁA-DÄD	c                  óþ   € \         P                  ! 4       p \        V R 4      ;_uu_ 4        \        V 4       V P	                  4       \         P
                  ! 4       8X  g   Q h RRR4       R#   + '       g   i     R# ; i)i   N)r   r   r!   r,   r$   Útotal_allocated_bytes©r   s    r   Útest_default_allocated_bytesr0   Q   sT   € Ü×!Ò!Ó#€DÜ	˜˜d×	#Õ	#Ü˜dÔ#Ø×#Ñ#Ó%¬×)AÒ)AÓ)CÔCÐCÑC÷ 
$×	#×	#Ò	#ús   ª6A+Á+A<	c                  óÈ   € \         P                  ! \         P                  ! 4       4      p \        V 4       \        P
                  ! V 4      pV! 4       f   Q h? V! 4       e   Q hR # r   )r   Úproxy_memory_poolr   r,   ÚweakrefÚref)r   Úwrs     r   Útest_proxy_memory_poolr6   X   sN   € Ü×Ò¤× 6Ò 6Ó 8Ó9€DÜ˜$ÔÜ	�Š�TÓ	€BÙ‹4ÒÐÐØÙ‹4Š<ÐŠ<r   c                 ó"  € \         P                  ! \         P                  ! 4       4      p\        V4       V P	                  4       w  r#VR 8X  g   Q hVP                  R4      ^ 8”  g   Q hVP                  R4      VP                  R4      8X  g   Q hR# )Ú z	Allocate:zFree:N)r   Úlogging_memory_poolr   r,   Ú
readouterrÚcount)Úcapfdr   ÚoutÚerrs   &   r   Útest_logging_memory_poolr?   a   sv   € Ü×!Ò!¤"×"8Ò"8Ó":Ó;€DÜ˜$ÔØ×ÑÓ!�H€CØ�"Œ9Ðˆ9Ø�9‰9�[Ó! AÔ%Ð%Ð%Ø�9‰9�[Ó! S§Y¡Y¨wÓ%7Ô7Ð7Ò7r   c                  óÚ  € \         P                  ! 4       p \         P                  ! V 4      p\         P                  ! V4        VP	                  4       p\        R R4      ;_uu_ 4        VP	                  4       VR,           8X  g   Q h R R R 4       VP	                  4       V8X  g   Q h \         P                  ! V 4       R #   + '       g   i     L@; i  \         P                  ! T 4       i ; i)Nr#   )r   r   r2   Úset_memory_poolr$   r!   )Úold_poolr   r'   s      r   Útest_set_memory_poolrC   j   s±   € Ü×%Ò%Ó'€HÜ×Ò Ó)€DÜ×Ò�tÔð%Ø×/Ñ/Ó1ÐÜ˜D #×&Õ&Ø×'Ñ'Ó)Ð-=ÀÕ-CÔCÐCÑC÷ 'à×#Ñ#Ó%Ð)9Ô9Ð9Ñ9ä
×Ò˜8Ö$÷	 '×&ûô 	×Ò˜8Õ$ús$   Á$C Á'B?ÂC Â?C	Ã
C ÃC*c                  ó^   € \         P                  ! 4       p V P                  \        9   g   Q hR # r   )r   r   r
   Úpossible_backendsr/   s    r   Útest_default_backend_namerF   w   s%   € Ü×!Ò!Ó#€DØ×ÑÔ 1Ô1Ð1Ò1r   c                  óP   € \         P                  ! 4       p V P                  4        R # r   )r   r   Úrelease_unusedr/   s    r   Útest_release_unusedrI   |   s   € Ü×!Ò!Ó#€DØ×ÑÖr   Úexpect_warningFc                óp  € R V: R2p\        \        P                  4      pWR&   \        P                  ! \
        P                  RV.VR\        P                  R7      pVP                  ^ 8w  d6   \        VP                  \
        P                  R7       VP                  4        VP                  P                  4       pV'       d_   \        V4      R9   g   Q h\        V4      ^8X  d   RV  R2V^ ,          9   g   Q hR
# R	V^ ,          9   g   Q hRV  R2V^,          9   g   Q hR
# \        V4      ^ 8X  g   Q hR
# )zpif 1:
        import pyarrow as pa

        pool = pa.default_memory_pool()
        assert pool.backend_name in z, pool.backend_name
        ÚARROW_DEFAULT_MEMORY_POOLú-cT©ÚenvÚuniversal_newlinesÚstderr©ÚfilezUnsupported backend 'Ú'zInitGoogleLogging()N)é   é   )ÚdictÚosÚenvironÚ
subprocessÚrunÚsysÚ
executableÚPIPEÚ
returncodeÚprintrQ   Úcheck_returncodeÚ
splitlinesr   )ÚnameÚexpectedrJ   ÚcoderO   ÚresÚerrliness   &&$    r   Úcheck_env_varrh   �   s  € ð%ð &.¡Lð 1	ð	€Dô Œr�z‰zÓ
€CØ'+Ð#Ñ$Ü
�.Š.œ#Ÿ.™.¨$°Ð5¸3Ø,0¼¿¹ôJ€Cà
‡~�~˜ÔÜˆc�j‰jœsŸz™zÕ*Ø×ÑÔØ�z‰z×$Ñ$Ó&€HßÜ�8‹} Ô&Ð&Ð&Üˆx‹=˜AÔà*¨4¨&°Ð2°h¸qµkÔAÐAÒAð )¨H°Q­KÔ7Ð7Ð7Ø*¨4¨&°Ð2°h¸qµkÔAÐAÒAä�8‹} Ô!Ð!Ò!r   c                  ó\   € \          F  p \        W .4       K  	  \        R \        RR7       R# )ÚnonexistentT)rJ   N)Úmandatory_backendsrh   rE   r	   s    r   Útest_env_varrl   �   s#   € ß*ˆÜ�l NÖ3ñ +ä�-Ô!2À4×Hr   c                  ód   € R R/R lp \          F  pV ! \        V4      VV\        9  R7       K   	  R# )Úcan_failFc                ó€   € V'       d
    V ! 4       pMV ! 4       pVP                  V8X  g   Q hR #   \          d     R # i ; ir   )ÚNotImplementedErrorr
   )Úfactoryrc   rn   r   s   &&$ r   ÚcheckÚ)test_memory_pool_factories.<locals>.check¤   sB   € ßðÙ“y‘ñ “9ˆDØ× Ñ  DÔ(Ð(Ò(øô	 'ô Úðús   Š. ®=¼=)rn   N)rE   r   rk   )rr   r
   s     r   Útest_memory_pool_factoriesrt   £   s4   € ð)¨ô )÷ *ˆÙŒo˜lÓ+¨\Ø#Ô+=Ñ=÷	?ó *r   c                  ó¬   € \         P                  ! 4       p \        V 4      \        \        4      8¼  g   Q h\        V 4      \        \        4      8:  g   Q hR # r   )r   r   Úsetrk   rE   )Úbackendss    r   Útest_supported_memory_backendsrx   ³   s@   € Ü×+Ò+Ó-€HÜˆx‹=œCÔ 2Ó3Ô3Ð3Ð3Üˆx‹=œCÔ 1Ó2Ô2Ð2Ò2r   c                ó  € RV  R2p\        \        P                  4      pWR&   \        P                  ! \
        P                  RV.VR\        P                  R7      p\        VP                  \
        P                  R7       V# )zƒ
Run a piece of code making an invalid memory write with the
ARROW_DEBUG_MEMORY_POOL environment variable set to a specific value.
a  if 1:
        import ctypes
        import pyarrow as pa
        # ARROW-16873: some Python installs enable faulthandler by default,
        # which could dump a spurious stack trace if the following crashes
        import faulthandler
        faulthandler.disable()

        pool = pa.zÔ()
        buf = pa.allocate_buffer(64, memory_pool=pool)

        # Write memory out of bounds
        ptr = ctypes.cast(buf.address, ctypes.POINTER(ctypes.c_ubyte))
        ptr[64] = 0

        del buf
        ÚARROW_DEBUG_MEMORY_POOLrM   TrN   rR   )
rW   rX   rY   rZ   r[   r\   r]   r^   r`   rQ   )Úpool_factoryÚ	env_valuere   rO   rf   s   &&   r   Úrun_debug_memory_poolr}   ¹   sq   € ð
ð  �.ð !	ð€Dô" Œr�z‰zÓ
€CØ%.Ð!Ñ"Ü
�.Š.œ#Ÿ.™.¨$°Ð5¸3Ø,0¼¿¹ôJ€Cä	ˆ#�*‰*œ3Ÿ:™:Õ&Ø€Jr   r{   c                 óî   € \        V P                  R 4      p\        P                  R8X  d$   VP                  \
        P                  ) 8X  g   Q hMVP                  ^ 8w  g   Q hRVP                  9   g   Q hR# )ÚabortÚposixúWrong size on deallocationN)r}   Ú__name__rX   rc   r_   ÚsignalÚSIGABRTrQ   ©r{   rf   s   & r   Útest_debug_memory_pool_abortr†   ×   s\   € ä
 × 5Ñ 5°wÓ
?€CÜ	‡w�w�'ÔØ�~‰~¤&§.¡. Ô0Ð0Ñ0à�~‰~ Ô"Ð"Ð"Ø'¨3¯:©:Ô5Ð5Ò5r   c                 óî   € \        V P                  R 4      p\        P                  R8X  d$   VP                  \
        P                  ) 8X  g   Q hMVP                  ^ 8w  g   Q hRVP                  9   g   Q hR# )Útrapr€   r�   N)r}   r‚   rX   rc   r_   rƒ   ÚSIGTRAPrQ   r…   s   & r   Útest_debug_memory_pool_traprŠ   á   s\   € ä
 × 5Ñ 5°vÓ
>€CÜ	‡w�w�'ÔØ�~‰~¤&§.¡. Ô0Ð0Ñ0à�~‰~ Ô"Ð"Ð"Ø'¨3¯:©:Ô5Ð5Ò5r   c                 óx   € \        V P                  R 4      pVP                  4        RVP                  9   g   Q hR# )Úwarnr�   N)r}   r‚   ra   rQ   r…   s   & r   Útest_debug_memory_pool_warnr�   ë   s2   € ä
 × 5Ñ 5°vÓ
>€CØ×ÑÔØ'¨3¯:©:Ô5Ð5Ò5r   c                 óV  € \         P                  R8  d   \        P                  ! R4       \	        V P
                  V4      p\        P                  R8X  d   VP                  ^ 8:  g   Q hMVP                  4        VR8X  d   VP                  R8X  g   Q hR# W#P                  9   g   Q hR# )rV   z!Test may fail on 32-bit platformsr€   r8   Nl        )r\   ÚmaxsizeÚpytestÚskipr}   r‚   rX   rc   r_   ra   rQ   )r{   r|   Úmsgrf   s   &&& r   Ú check_debug_memory_pool_disabledr“   ò   s‚   € Ü
‡{�{�UÔä�ŠÐ7Ô8Ü
 × 5Ñ 5°yÓ
A€Cô 
‡w�w�'ÔØ�~‰~ Ô"Ð"Ñ"à×ÑÔØ
ˆb„yØ�z‰z˜RÔÐÒà—j‘jÔ Ð Ò r   c                 ó    € \        V R R4       R# )Únoner8   N©r“   ©r{   s   &r   Útest_debug_memory_pool_noner˜     s   € ä$ \°6¸2Ö>r   c                 ó    € \        V R R 4       R# )r8   Nr–   r—   s   &r   Útest_debug_memory_pool_emptyrš     s   € ä$ \°2°rÖ:r   c                 ó.   € R pRV R2p\        WV4       R# )Úsome_arbitrary_valuez,Invalid value for ARROW_DEBUG_MEMORY_POOL: 'z4'. Valid values are 'abort', 'trap', 'warn', 'none'.Nr–   )r{   r|   r’   s   &  r   Útest_debug_memory_pool_unknownr�     s*   € à&€Ià
6°y°kð B<ð 	<ð ô % \¸cÖBr   c                 ó`  € R V P                    R2p\        P                  ! \        P                  RV.RR\        P
                  \        P
                  R7      p\        P                  R8X  dA   \        P                  ! 4       '       g$   VP                  P                  4       R8w  g   Q hR# R# R# )z6if 1:
        import pyarrow as pa

        pool = pa.z]()
        buf = pa.allocate_buffer(64, memory_pool=pool)
        pool.print_stats()
        rM   T)rr   rP   ÚstdoutrQ   Úlinuxr8   N)r‚   rZ   r[   r\   r]   r^   Úplatformr   Úrunning_on_musllinuxrQ   Ústrip)r{   re   rf   s   &  r   Útest_print_statsr¤     s�   € ðð  ×(Ñ(Ð)ð *	ð€Dô �.Š.œ#Ÿ.™.¨$°Ð5¸TØ,0¼¿¹Ü *§¡ô1€Cô ‡|�|�wÔ¤t×'@Ò'@×'BÒ'Bà�z‰z×ÑÓ! RÔ'Ð'Ò'ñ (CÑr   )r   ÚjemallocÚmimalloc))Ú
contextlibrX   rƒ   rZ   r\   r3   Úpyarrowr   Úpyarrow.testsr   r�   ÚmarkÚ	processesÚ
pytestmarkrE   rk   r   r   Úcontextmanagerr!   r,   r0   r6   r?   rC   rF   rI   rh   rl   rt   rx   r}   Úparametrizer†   rŠ   r�   r“   r˜   rš   r�   r¤   © r   r   Ú<module>r°      sÖ  ðó$ Û 	Û Û Û 
Û ã Ý ã à�[‰[×"Ñ"€
â6Ð Ø�ZÐ ò6òVð
 ×Ññó ðò ;ò&Dòò8ò
%ò2ò
ð
"°Eô "ò8Iò?ò 3òð< ‡�×Ñ˜Ñ)<Ó)>Ó?ñ6ó @ð6ð ‡�×Ñ˜Ñ)<Ó)>Ó?ñ6ó @ð6ð ‡�×Ñ˜Ñ)<Ó)>Ó?ñ6ó @ð6ò!ð" ‡�×Ñ˜Ñ)<Ó)>Ó?ñ?ó @ð?ð ‡�×Ñ˜Ñ)<Ó)>Ó?ñ;ó @ð;ð ‡�×Ñ˜Ñ)<Ó)>Ó?ñCó @ðCð ‡�×Ñ˜Ñ)<Ó)>Ó?ñ(ó @ò(r   