ó
    0hîhy,  ã                   óÆ   • S SK r S SKrS SKrS SKJr  S SKJr  S SKJr  S SKr\R                  " S5      r
 " S S\R                  5      r\S:X  a  \R                  " 5         gg)	é    N)Úsupport)Úimport_helper)Ú	os_helperÚresourcec                   ó²  • \ rS rSrS r\R                  " \R                  S:H  S5      \R                  " \
" \S5      S5      S 5       5       r\R                  " \R                  S:H  S5      \R                  " \
" \S5      S5      S 5       5       r\R                  " \R                  S:H  S5      \R                  " \
" \S5      S5      S	 5       5       r\R                  " \R                  S:H  S5      \R                  " \
" \S5      S5      S
 5       5       r\R                  " \R                  S:H  S5      \R                  " \
" \S5      S5      S 5       5       r\R                  " \
" \S5      S5      S 5       r\R                  " \R                  S:H  S5      \R                  " \
" \S5      S5      S 5       5       rS r\R                  " \R                  S;   S5      S 5       rS r\R                  " \
" \S5      S5      \R.                  " SSS5      S 5       5       r\R                  " \
" \S5      S5      \R.                  " SSS5      S 5       5       rSrg )!ÚResourceTesté   c                 óÒ  • U R                  [        [        R                  5        U R                  [        [        R                  SS5        U R                  [        [        R                  SS-  5        U R                  [        [        R                  SS-  * 5        U R                  [        [        R                  S5        U R                  [        [        R
                  5        U R                  [        [        R
                  S5        U R                  [        [        R
                  SS5        U R                  [        [        R
                  SSS5        U R                  [        [        R
                  SS-  S5        U R                  [        [        R
                  SS-  * S5        U R                  [        [        R
                  SS5        U R                  [        [        R
                  SS5        U R                  [        [        R
                  SS5        U R                  [        [        R
                  SS	5        U R                  [        [        R
                  SS
5        g )Nr   é*   é   éè  Ú0)r   r   )r   )r   r   r   )Ú42r   )r   r   )ÚassertRaisesÚ	TypeErrorr   Ú	getrlimitÚOverflowErrorÚ	setrlimitÚ
ValueError©Úselfs    Ú;/opt/python-3.13.8/usr/lib/python3.13/test/test_resource.pyÚ	test_argsÚResourceTest.test_args   s¨  € Ø×Ñœ)¤X×%7Ñ%7Ô8Ø×Ñœ)¤X×%7Ñ%7¸¸BÔ?Ø×Ñœ-¬×);Ñ);¸QÀ¹WÔEØ×Ñœ-¬×);Ñ);¸aÀ¹g¸XÔFØ×Ñœ)¤X×%7Ñ%7¸Ô=Ø×Ñœ)¤X×%7Ñ%7Ô8Ø×Ñœ)¤X×%7Ñ%7¸Ô;Ø×Ñœ)¤X×%7Ñ%7¸¸BÔ?Ø×Ñœ)¤X×%7Ñ%7¸¸BÀÔCØ×Ñœ-¬×);Ñ);¸QÀ¹WÀhÔOØ×Ñœ-¬×);Ñ);¸aÀ¹g¸XÀxÔPØ×Ñœ*¤h×&8Ñ&8¸!¸UÔCØ×Ñœ*¤h×&8Ñ&8¸!¸\ÔJØ×Ñœ)¤X×%7Ñ%7¸¸hÔGØ×Ñœ)¤X×%7Ñ%7¸¸JÔGØ×Ñœ)¤X×%7Ñ%7¸¸JÕGó    Úvxworksz0setting RLIMIT_FSIZE is not supported on VxWorksÚRLIMIT_FSIZEzrequires resource.RLIMIT_FSIZEc                 óØ   • [         R                  [         R                  5      u  pU R                  [         R                  U5        [         R                  [         R                  X45        g )N)r   r   r   ÚassertEqualÚRLIM_INFINITYr   )r   ÚcurÚmaxs      r   Útest_fsize_ismaxÚResourceTest.test_fsize_ismax!   sL   € ô ×'Ñ'¬×(=Ñ(=Ó>‰
ˆð 	×Ñœ×/Ñ/°Ô5Ü×Ñœ8×0Ñ0°3°*Õ=r   c                 óò  • [         R                  [         R                  5      u  p  [         R                  [         R                  SU45        Sn[        [        R                  S5      n UR                  S5         UR                  S5        UR                  5         [        S5       H)  n[        R                  " S5        UR                  5         M+     U(       a%  [         R                  [         R                  X45        UR                  5          U(       a%  [         R                  [         R                  X45        [        R                  " [        R                  5        g ! [         a    Sn GN#f = f! [         a    U(       d  e  Nµf = f! UR                  5         f = f! W(       a%  [         R                  [         R                  X45        [        R                  " [        R                  5        f = f)	Ni   TFÚwbs   XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXó   Yé   gš™™™™™¹?)r   r   r   r   r   Úopenr   ÚTESTFNÚwriteÚflushÚrangeÚtimeÚsleepÚOSErrorÚcloseÚunlink)r   r!   r"   Ú	limit_setÚfÚis         r   Útest_fsize_enforcedÚ ResourceTest.test_fsize_enforced.   sk  € ô ×'Ñ'¬×(=Ñ(=Ó>‰
ˆð 	/ð"Ü×"Ñ"¤8×#8Ñ#8¸4À¸+ÔFØ 	ô ”Y×%Ñ% tÓ,ˆAðØ—‘˜Ô$ðØ—G‘G˜D”MØ—G‘G”Iô # 1žX˜ÜŸ
š
 2œØŸ™ž	ñ &ö ô ×&Ñ&¤x×'<Ñ'<¸s¸jÔIà—‘•	æÜ×"Ñ"¤8×#8Ñ#8¸3¸*ÔEÜ×ÒœY×-Ñ-Õ.øô9 ó "Ø!“	ð"ûô  ó Þ$Øñ %ðûð —‘•	ûæÜ×"Ñ"¤8×#8Ñ#8¸3¸*ÔEÜ×ÒœY×-Ñ-Õ.úsg   ¨(E$ ÁF$ Á+F Á=AE7 Ã,F ÄF$ Å$E4Å0F$ Å3E4Å4F$ Å7FÆ	F ÆFÆF ÆF!Æ!F$ Æ$AG6c                 óH  • SS-  n[         R                  [         R                  5      u  p# [         R                  [         R                  X45         [         R                  [         R                  X145        g ! [        [
        4 a     N9f = f! [        [
        4 a     g f = f)Né
   é2   )r   r   r   r   r   r   )r   Útoo_bigr!   r"   s       r   Útest_fsize_too_bigÚResourceTest.test_fsize_too_big\   s   € ð
 b‘&ˆÜ×'Ñ'¬×(=Ñ(=Ó>‰
ˆð	Ü×Ñœx×4Ñ4°w°nÔEð	Ü×Ñœx×4Ñ4°s°nÕEøô œzÐ*ó 	Ùð	ûô œzÐ*ó 	Ùð	ús#   ¬%A8 Á%B Á8BÂ
BÂB!Â B!c                 óš  ^• [         R                  [         R                  5      u  nmU R                  [         R                  [         R                  UT45        U4S jn[         R	                  [         R                  ST45        U R                  [         R                  [         R                  5      ST45         [         R	                  [         R                  ST45        U R                  [         R                  [         R                  5      U" S5      5        [         R	                  [         R                  ST45        U R                  [         R                  [         R                  5      ST45        [         R	                  [         R                  ST45        U R                  [         R                  [         R                  5      ST45        [         R	                  [         R                  ST45        U R                  [         R                  [         R                  5      U" S5      5         [         R	                  [         R                  ST45        U R                  [         R                  [         R                  5      U" S5      5        [         R	                  [         R                  ST45        U R                  [         R                  [         R                  5      U" S5      5        g ! [         a     g f = f! [         aÁ    [         R	                  [         R                  ST45        U R                  [         R                  [         R                  5      U" S5      5        [         R	                  [         R                  ST45        U R                  [         R                  [         R                  5      U" S5      5         g f = f)	Nc                 ó°   >• [         R                  S:  a  U T4[         R                  T4/$ [         R                  U :  a  [         R                  T4/$ U T4/$ ©Nr   )r   r    )r!   r"   s    €r   ÚexpectedÚ5ResourceTest.test_fsize_not_too_big.<locals>.expecteds   sY   ø€ Ü×%Ñ%¨Ó)Ø˜c˜
¤X×%;Ñ%;¸SÐ$AÐBÐBÜ×'Ñ'¨#Ó-Ü!×/Ñ/°Ð5Ð6Ð6à˜c˜
|Ð#r   iûÿÿl        l        l   ûÿ l   ûÿÿÿ l            l   ûÿÿÿ )	r   r   r   Ú
addCleanupr   r   ÚassertInr   r   )r   r!   rA   r"   s      @r   Útest_fsize_not_too_bigÚ#ResourceTest.test_fsize_not_too_bigl   s®  ø€ ô ×'Ñ'¬×(=Ñ(=Ó>‰
ˆˆcØ‰œ×*Ñ*¬H×,AÑ,AÀCÈÀ:ÔNõ	$ô 	×Ñœ8×0Ñ0°7¸C°.ÔAØ×Ñœ×+Ñ+¬H×,AÑ,AÓBÀWÈcÀNÔSð	\Ü×Ñœx×4Ñ4°u¸c°lÔCð M‰Mœ(×,Ñ,¬X×-BÑ-BÓCÁXÈeÃ_ÔUÜ×Ñœx×4Ñ4°u¸c°lÔCØ×ÑœX×/Ñ/´×0EÑ0EÓFÈÐPSÈÔUÜ×Ñœx×4Ñ4°wÀ°nÔEØ×ÑœX×/Ñ/´×0EÑ0EÓFÈÐRUÈÔWä×Ñœx×4Ñ4°wÀ°nÔEØM‰Mœ(×,Ñ,¬X×-BÑ-BÓCÁXÈgÓEVÔWð\Ü×"Ñ"¤8×#8Ñ#8¸5À#¸,ÔGð
 —‘œh×0Ñ0´×1FÑ1FÓGÉÐRWËÔYÜ×"Ñ"¤8×#8Ñ#8¸7ÀC¸.ÔIØ—‘œh×0Ñ0´×1FÑ1FÓGÉÐRYÓIZÕ[øô ó áðûô! ó 	XÜ×Ñœx×4Ñ4°u¸c°lÔCØM‰Mœ(×,Ñ,¬X×-BÑ-BÓCÁXÈeÃ_ÔUÜ×Ñœx×4Ñ4°wÀ°nÔEØM‰Mœ(×,Ñ,¬X×-BÑ-BÓCÁXÈgÓEVÖWð		Xús%   Â;&K? È0&K/ Ë/
K<Ë;K<Ë?CO
Ï	O
c           	      óÜ  • [         R                  [         R                  5      u  pSSSSSSS-  * 4 H¥  nU R                  US9   U R	                  U[         R
                  5        U R                  [        [         R                  [         R                  X245        U R                  [        [         R                  [         R                  X45        S S S 5        M§     g ! , (       d  f       M¹  = f)	Néûÿÿÿi   €lýÿÿÿ    lûÿÿÿ         lûÿÿÿ        r   r   )Úvalue)	r   r   r   ÚsubTestÚassertNotEqualr    r   r   r   )r   r!   r"   rI   s       r   Útest_fsize_negativeÚ ResourceTest.test_fsize_negative˜   s·   € ô ×'Ñ'¬×(=Ñ(=Ó>‰
ˆØ˜ ¨6°8¸aÀ¹g¸XÓEˆEØ—‘ EÒ*ð ×#Ñ# E¬8×+AÑ+AÔBà×!Ñ!¤*¬h×.@Ñ.@Ä(×BWÑBWÐZ_ÐYeÔfØ×!Ñ!¤*¬h×.@Ñ.@Ä(×BWÑBWÐZ]ÐYeÔf÷ +Ñ*ò Fß*Ö*ús   ÁBCÃ
C+	Ú	getrusagezneeds getrusagec                 ó  • U R                  [        [        R                  5        U R                  [        [        R                  SS5        [        R                  [        R                  5      n[        R                  [        R
                  5      n [        R                  [        R                  5      n [        R                  [        R                  5      ng ! [        [        4 a     N7f = f! [        [        4 a     g f = f)Nr   )
r   r   r   rN   ÚRUSAGE_SELFÚRUSAGE_CHILDRENÚRUSAGE_BOTHr   ÚAttributeErrorÚRUSAGE_THREAD)r   Ú	usageselfÚusagechildrenÚ	usagebothÚusage_threads        r   Útest_getrusageÚResourceTest.test_getrusage¦   sÅ   € à×Ñœ)¤X×%7Ñ%7Ô8Ø×Ñœ)¤X×%7Ñ%7¸¸RÔ@Ü×&Ñ&¤x×';Ñ';Ó<ˆ	Ü ×*Ñ*¬8×+CÑ+CÓDˆð	Ü ×*Ñ*¬8×+?Ñ+?Ó@ˆIð	Ü#×-Ñ-¬h×.DÑ.DÓE‰Løô œNÐ+ó 	Ùð	ûô œNÐ+ó 	Ùð	ús$   Â#C Â6#C0 ÃC-Ã,C-Ã0DÄDz.setting RLIMIT_CPU is not supported on VxWorksÚ
RLIMIT_CPUzrequires resource.RLIMIT_CPUc                 ó°   • [         R                  [         R                  5      n " S S5      n[         R                  [         R                  U" 5       5        g )Nc                   ó    • \ rS rSrS rS rSrg)Ú9ResourceTest.test_setrusage_refcount.<locals>.BadSequenceé¼   c                 ó   • g©Nr   © r   s    r   Ú__len__ÚAResourceTest.test_setrusage_refcount.<locals>.BadSequence.__len__½   ó   € Ør   c                 óT   • US;   a  [        [        [        S5      5      5      $ [        e)N)r   é   i@B )ÚlenÚtupler-   Ú
IndexError)r   Úkeys     r   Ú__getitem__ÚEResourceTest.test_setrusage_refcount.<locals>.BadSequence.__getitem__¿   s#   € Ø˜&“=Üœu¤U¨7£^Ó4Ó5Ð5Ü Ð r   rb   N©Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__rc   rl   Ú__static_attributes__rb   r   r   ÚBadSequencer^   ¼   s   † òõ!r   rt   )r   r   r[   r   )r   Úlimitsrt   s      r   Útest_setrusage_refcountÚ$ResourceTest.test_setrusage_refcount·   s>   € ô ×#Ñ#¤H×$7Ñ$7Ó8ˆ÷	!ñ 	!ô 	×Ñœ8×.Ñ.±³Õ>r   c                 ó|   • [         R                  5       nU R                  U[        5        U R	                  US5        g r@   )r   ÚgetpagesizeÚassertIsInstanceÚintÚassertGreaterEqual)r   Úpagesizes     r   Útest_pagesizeÚResourceTest.test_pagesizeÆ   s0   € Ü×'Ñ'Ó)ˆØ×Ñ˜h¬Ô,Ø×Ñ ¨!Õ,r   )ÚlinuxÚandroidz
Linux onlyc           	      óÎ   • S HM  n[         R                  " [        5         U R                  [	        [
        SU-   5      [        5        S S S 5        MO     g ! , (       d  f       Ma  = f)N)ÚMSGQUEUEÚNICEÚRTPRIOÚRTTIMEÚ
SIGPENDINGÚRLIMIT_©Ú
contextlibÚsuppressrS   rz   Úgetattrr   r{   ©r   Úattrs     r   Útest_linux_constantsÚ!ResourceTest.test_linux_constantsË   sF   € ãJˆDÜ×$Ò$¤^Õ4Ø×%Ñ%¤g¬h¸	ÀDÑ8HÓ&IÌ3ÔO÷ 5Ñ4ò Kß4Ö4úó    (AÁ
A$	c           	      óÎ   • S HM  n[         R                  " [        5         U R                  [	        [
        SU-   5      [        5        S S S 5        MO     g ! , (       d  f       Ma  = f)N)ÚSWAPÚSBSIZEÚNPTSrˆ   r‰   r   s     r   Útest_freebsd_contantsÚ"ResourceTest.test_freebsd_contantsÑ   sE   € Û.ˆDÜ×$Ò$¤^Õ4Ø×%Ñ%¤g¬h¸	ÀDÑ8HÓ&IÌ3ÔO÷ 5Ñ4ò /ß4Ö4úr‘   Úprlimitz
no prlimitr   é   é$   c                 óÌ  • U R                  [        [        R                  5        U R                  [        [        R                  S[        R
                  5        [        R                  [        R
                  5      nU R                  [        R                  S[        R
                  5      U5        U R                  [        R                  S[        R
                  U5      U5        g )Néÿÿÿÿr   )r   r   r   r˜   ÚProcessLookupErrorÚ	RLIMIT_ASr   r   )r   Úlimits     r   Útest_prlimitÚResourceTest.test_prlimitÖ   sŸ   € ð 	×Ñœ)¤X×%5Ñ%5Ô6Ø×ÑÔ,¬h×.>Ñ.>Øœh×0Ñ0ô	2ä×"Ñ"¤8×#5Ñ#5Ó6ˆØ×Ñœ×)Ñ)¨!¬X×-?Ñ-?Ó@À%ÔHØ×Ñœ×)Ñ)¨!¬X×-?Ñ-?ÀÓGØõ	 r   c                 óÚ   ^•  " U4S jS5      n[         R                  [         R                  5      mU R                  [         R	                  S[         R                  U" 5       5      T5        g )Nc                   ó(   >• \ rS rSrS rU 4S jrSrg)Ú2ResourceTest.test_prlimit_refcount.<locals>.BadSeqéå   c                 ó   • gra   rb   r   s    r   rc   Ú:ResourceTest.test_prlimit_refcount.<locals>.BadSeq.__len__æ   re   r   c                 óP   >• TU   nUS:”  a  US-
  $ U[         R                  S-  -   $ )Nr   rg   r   )ÚsysÚmaxsize)r   rk   Úlimru   s      €r   rl   Ú>ResourceTest.test_prlimit_refcount.<locals>.BadSeq.__getitem__è   s.   ø€ Ø˜S‘kØ"%¨£'s˜Q‘wÐB¨s´S·[±[À±]Ñ/BÐBr   rb   Nrn   )ru   s   €r   ÚBadSeqr¤   å   s   ø† ò÷Cð Cr   r­   r   )r   r   rž   r   r˜   )r   r­   ru   s     @r   Útest_prlimit_refcountÚ"ResourceTest.test_prlimit_refcountâ   sQ   ø€ ÷	Cô 	Cô ×#Ñ#¤H×$6Ñ$6Ó7ˆØ×Ñœ×)Ñ)¨!¬X×-?Ñ-?ÁÃÓJØõ	!r   rb   N)ro   rp   rq   rr   r   ÚunittestÚskipIfr©   ÚplatformÚ
skipUnlessÚhasattrr   r#   r6   r<   rE   rL   rY   rv   r~   r   r–   r   Úrequires_linux_versionr    r®   rs   rb   r   r   r   r      s³  † òHð$ ‡_‚_S—\‘\ YÑ.ØGóIà×Ò™ ¨>Ó:Ð<\Ó]ñ>ó ^óIð>ð ‡_‚_S—\‘\ YÑ.ØGóIà×Ò™ ¨>Ó:Ð<\Ó]ñ)/ó ^óIð)/ðV ‡_‚_S—\‘\ YÑ.ØGóIà×Ò™ ¨>Ó:Ð<\Ó]ñó ^óIðð ‡_‚_S—\‘\ YÑ.ØGóIà×Ò™ ¨>Ó:Ð<\Ó]ñ'\ó ^óIð'\ðR ‡_‚_S—\‘\ YÑ.ØGóIà×Ò™ ¨>Ó:Ð<\Ó]ñ	gó ^óIð	gð ×Ò™ ¨;Ó7Ð9JÓKñó Lðð  ‡_‚_S—\‘\ YÑ.ØEóGà×Ò™ ¨<Ó8Ð:XÓYñ
?ó ZóGð
?ò-ð
 ×Ò˜Ÿ™Ð)=Ñ=¸|ÓLñPó MðPò
Pð
 ×Ò™ ¨9Ó5°|ÓDØ×#Ò# A q¨"Ó-ñ ó .ó Eð ð ×Ò™ ¨9Ó5°|ÓDØ×#Ò# A q¨"Ó-ñ
!ó .ó Eó
!r   r   Ú__main__)rŠ   r©   r°   Útestr   Útest.supportr   r   r.   Úimport_moduler   ÚTestCaser   ro   Úmainrb   r   r   Ú<module>r¼      sW   ðÛ Û 
Û Ý Ý &Ý "Û à×&Ò& zÓ2€ôa!8×$Ñ$ô a!ðH ˆzÓØ‡M‚M…Oð r   