Ë
    dÿafv  ã                   óÄ   — d dl Z d dlZd dlZd dlmZ d dlmZ d dlmZ d dlZ ej                  d«      Z
 G d„ dej                  «      Zedk(  r ej                  «        yy)	é    N)Úsupport)Úimport_helper)Ú	os_helperÚresourcec                   ó*  — e Zd Zd„ Z ej
                  ej                  dk(  d«      d„ «       Zd„ Z	d„ Z
 ej                   eed«      d«      d	„ «       Z ej
                  ej                  dk(  d
«      d„ «       Zd„ Z ej                  ej                  dk(  d«      d„ «       Zd„ Z ej                   eed«      d«       ej(                  ddd«      d„ «       «       Z ej                   eed«      d«       ej(                  ddd«      d„ «       «       Zy)ÚResourceTestc                 ó.  — | j                  t        t        j                  «       | j                  t        t        j                  dd«       | j                  t        t        j                  «       | j                  t        t        j                  ddd«       y ©Né*   )ÚassertRaisesÚ	TypeErrorr   Ú	getrlimitÚ	setrlimit©Úselfs    ú-/root/Python-3.12.4/Lib/test/test_resource.pyÚ	test_argszResourceTest.test_args   sd   € Ø×Ñœ)¤X×%7Ñ%7Ô8Ø×Ñœ)¤X×%7Ñ%7¸¸RÔ@Ø×Ñœ)¤X×%7Ñ%7Ô8Ø×Ñœ)¤X×%7Ñ%7¸¸RÀÕDó    Úvxworksz0setting RLIMIT_FSIZE is not supported on VxWorksc                 óü   — 	 t         j                  t         j                  «      \  }}| j                  t         j                  |«       t         j                  t         j                  ||f«       y # t        $ r Y y w xY w)N)r   r   ÚRLIMIT_FSIZEÚassertEqualÚRLIM_INFINITYr   ÚAttributeError)r   ÚcurÚmaxs      r   Útest_fsize_ismaxzResourceTest.test_fsize_ismax   sh   € ð	BÜ!×+Ñ+¬H×,AÑ,AÓB‰JˆS#ð ×ÑœX×3Ñ3°SÔ9Ü×Ñœx×4Ñ4°s¸C°jÕAøô ò 	Ùð	ús   ‚&A/ Á/	A;Á:A;c                 óæ  — 	 t         j                  t         j                  «      \  }}	 	 t         j                  t         j                  d|f«       d}t        t        j                  d«      }	 |j                  d«       	 |j                  d«       |j                  «        t        d«      D ]'  }t        j                  d«       |j                  «        Œ) 	 |r&t         j                  t         j                  ||f«       |j                  «        	 |r&t         j                  t         j                  ||f«       t        j                  t        j                  «       y # t        $ r d}Y Œw xY w# t        $ r |s‚ Y Œ¥w xY w# |j                  «        w xY w# r&t         j                  t         j                  ||f«       t        j                  t        j                  «       w xY w# t         $ r Y y w xY w)	Ni   TFÚwbs   XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXó   Yé   gš™™™™™¹?)r   r   r   r   Ú
ValueErrorÚopenr   ÚTESTFNÚwriteÚflushÚrangeÚtimeÚsleepÚOSErrorÚcloseÚunlinkr   )r   r   r   Ú	limit_setÚfÚis         r   Útest_fsize_enforcedz ResourceTest.test_fsize_enforced%   s  € ð,	3Ü!×+Ñ+¬H×,AÑ,AÓB‰JˆS#ð 3ð&Ü×&Ñ&¤x×'<Ñ'<¸tÀS¸kÔJØ $Iô œ×)Ñ)¨4Ó0ðØ—G‘G˜KÔ(ð"ØŸ™ œØŸ™œ	ô "' q£ò &˜AÜ ŸJ™J rœNØŸG™GIñ&ñ !ô !×*Ñ*¬8×+@Ñ+@À3ÈÀ*ÔMà—G‘G•IáÜ×&Ñ&¤x×'<Ñ'<¸sÀC¸jÔIÜ× Ñ ¤×!1Ñ!1Õ2øô9 "ò &Ø %“Ið&ûô  #ò "Ù(Ø!ñ  )ð"ûð —G‘G•IûáÜ×&Ñ&¤x×'<Ñ'<¸sÀC¸jÔIÜ× Ñ ¤×!1Ñ!1Õ2ûôU ò 	Ùð	úsx   ‚&G$ ª(E ÁF Á-E? Á?AE- Ã)E? Ã>F ÅE*Å&F Å)E*Å*F Å-E<Å9E? Å;E<Å<E? Å?FÆF ÆAG!Ç$	G0Ç/G0c                 ój  — ddz  }	 t         j                  t         j                  «      \  }}	 t         j                  t         j                  ||f«       	 t         j                  t         j                  ||f«       y # t        t
        f$ r Y Œ9w xY w# t        t
        f$ r Y y w xY w# t        $ r Y y w xY w)Né
   é2   )r   r   r   r   ÚOverflowErrorr"   r   )r   Útoo_bigr   r   s       r   Útest_fsize_toobigzResourceTest.test_fsize_toobigT   s¬   € àb‘&ˆð	Ü!×+Ñ+¬H×,AÑ,AÓB‰JˆS#ðÜ×"Ñ"¤8×#8Ñ#8¸7ÀC¸.ÔIðÜ×"Ñ"¤8×#8Ñ#8¸3À¸.ÕIøô "¤:Ð.ò Ùðûô "¤:Ð.ò Ùðûô ò 	Ùð	ús4   ‡&B& ®&A< Á&B Á<BÂBÂB#Â"B#Â&	B2Â1B2Ú	getrusagezneeds getrusagec                 ó  — | j                  t        t        j                  «       | j                  t        t        j                  dd«       t        j                  t        j                  «      }t        j                  t        j
                  «      }	 t        j                  t        j                  «      }	 t        j                  t        j                  «      }y # t        t        f$ r Y Œ6w xY w# t        t        f$ r Y y w xY wr
   )
r   r   r   r7   ÚRUSAGE_SELFÚRUSAGE_CHILDRENÚRUSAGE_BOTHr"   r   ÚRUSAGE_THREAD)r   Ú	usageselfÚusagechildrenÚ	usagebothÚusage_threads        r   Útest_getrusagezResourceTest.test_getrusagee   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#C/ ÃC,Ã+C,Ã/DÄ Dz.setting RLIMIT_CPU is not supported on VxWorksc                 óÐ   — 	 t         j                  t         j                  «      } G d„ d«      }t         j                  t         j                   |«       «       y # t        $ r Y y w xY w)Nc                   ó   — e Zd Zd„ Zd„ Zy)ú9ResourceTest.test_setrusage_refcount.<locals>.BadSequencec                  ó   — y©Né   © r   s    r   Ú__len__zAResourceTest.test_setrusage_refcount.<locals>.BadSequence.__len__   s   € Ør   c                 óP   — |dv rt        t        t        d«      «      «      S t        ‚)N)r   é   i@B )ÚlenÚtupler'   Ú
IndexError)r   Úkeys     r   Ú__getitem__zEResourceTest.test_setrusage_refcount.<locals>.BadSequence.__getitem__   s#   € Ø˜f‘}Ü"¤5¬¨w«Ó#8Ó9Ð9Ü$Ð$r   N©Ú__name__Ú
__module__Ú__qualname__rI   rP   rH   r   r   ÚBadSequencerD   ~   s   „ òó%r   rU   )r   r   Ú
RLIMIT_CPUr   r   )r   ÚlimitsrU   s      r   Útest_setrusage_refcountz$ResourceTest.test_setrusage_refcountv   sV   € ð	CÜ×'Ñ'¬×(;Ñ(;Ó<ˆF÷%ñ %ô ×Ñœx×2Ñ2±K³MÕBøô ò 	Ùð	ús   ‚#A Á	A%Á$A%c                 ó|   — t         j                  «       }| j                  |t        «       | j	                  |d«       y )Nr   )r   ÚgetpagesizeÚassertIsInstanceÚintÚassertGreaterEqual)r   Úpagesizes     r   Útest_pagesizezResourceTest.test_pagesizeˆ   s0   € Ü×'Ñ'Ó)ˆØ×Ñ˜h¬Ô,Ø×Ñ ¨!Õ,r   Úlinuxztest requires Linuxc           	      ó¼   — dD ]K  }t        j                  t        «      5  | j                  t	        t
        d|z   «      t        «       d d d «       ŒM y # 1 sw Y   ŒXxY w)N)ÚMSGQUEUEÚNICEÚRTPRIOÚRTTIMEÚ
SIGPENDINGÚRLIMIT_©Ú
contextlibÚsuppressr   r[   Úgetattrr   r\   ©r   Úattrs     r   Útest_linux_constantsz!ResourceTest.test_linux_constants   s\   € àJò 	PˆDÜ×$Ñ$¤^Ó4ñ PØ×%Ñ%¤g¬h¸	ÀDÑ8HÓ&IÌ3ÔO÷Pð Pñ	P÷Pð Púó   Ÿ(AÁA	c           	      ó¼   — dD ]K  }t        j                  t        «      5  | j                  t	        t
        d|z   «      t        «       d d d «       ŒM y # 1 sw Y   ŒXxY w)N)ÚSWAPÚSBSIZEÚNPTSrg   rh   rl   s     r   Útest_freebsd_contantsz"ResourceTest.test_freebsd_contants“   s\   € Ø.ò 	PˆDÜ×$Ñ$¤^Ó4ñ PØ×%Ñ%¤g¬h¸	ÀDÑ8HÓ&IÌ3ÔO÷Pð Pñ	P÷Pð Púro   Úprlimitz
no prlimitrG   é   é$   c                 óÌ  — | j                  t        t        j                  «       | j                  t        t        j                  dt        j
                  «       t        j                  t        j
                  «      }| j                  t        j                  dt        j
                  «      |«       | j                  t        j                  dt        j
                  |«      |«       y )Néÿÿÿÿr   )r   r   r   ru   ÚProcessLookupErrorÚ	RLIMIT_ASr   r   )r   Úlimits     r   Útest_prlimitzResourceTest.test_prlimit˜   sŸ   € ð 	×Ñœ)¤X×%5Ñ%5Ô6Ø×ÑÔ,¬h×.>Ñ.>Øœh×0Ñ0ô	2ä×"Ñ"¤8×#5Ñ#5Ó6ˆØ×Ñœ×)Ñ)¨!¬X×-?Ñ-?Ó@À%ÔHØ×Ñœ×)Ñ)¨!¬X×-?Ñ-?ÀÓGØõ	 r   c                 óØ   ‡—  G ˆfd„d«      }t         j                  t         j                  «      Š| j                  t         j	                  dt         j                   |«       «      ‰«       y )Nc                   ó   •— e Zd Zd„ Zˆ fd„Zy)ú2ResourceTest.test_prlimit_refcount.<locals>.BadSeqc                  ó   — yrF   rH   r   s    r   rI   z:ResourceTest.test_prlimit_refcount.<locals>.BadSeq.__len__¨   s   € Ør   c                 ó   •— ‰|   dz
  S )NrK   rH   )r   rO   rW   s     €r   rP   z>ResourceTest.test_prlimit_refcount.<locals>.BadSeq.__getitem__ª   s   ø€ Ø˜c‘{ Q‘Ð&r   NrQ   )rW   s   €r   ÚBadSeqr€   §   s   ø„ òõ'r   rƒ   r   )r   r   r{   r   ru   )r   rƒ   rW   s     @r   Útest_prlimit_refcountz"ResourceTest.test_prlimit_refcount¤   sO   ø€ ÷	'ó 	'ô ×#Ñ#¤H×$6Ñ$6Ó7ˆØ×Ñœ×)Ñ)¨!¬X×-?Ñ-?ÁÃÓJØõ	!r   N)rR   rS   rT   r   ÚunittestÚskipIfÚsysÚplatformr   r0   r6   Ú
skipUnlessÚhasattrr   rA   rX   r_   rn   rt   r   Úrequires_linux_versionr}   r„   rH   r   r   r   r      sd  „ òEð €X‡__S—\‘\ YÑ.ØGóIñBóIðBò-3ò^ð" €X×Ñ™ ¨;Ó7Ð9JÓKñó Lðð  €X‡__S—\‘\ YÑ.ØEóGñCóGðCò -ð
 €X×Ñ˜Ÿ™¨Ñ0Ð2GÓHñPó IðPò
Pð
 €X×Ñ™ ¨9Ó5°|ÓDØ#€W×#Ñ# A q¨"Ó-ñ ó .ó Eð ð €X×Ñ™ ¨9Ó5°|ÓDØ#€W×#Ñ# A q¨"Ó-ñ	!ó .ó Eñ	!r   r   Ú__main__)ri   r‡   r…   Útestr   Útest.supportr   r   r(   Úimport_moduler   ÚTestCaser   rR   ÚmainrH   r   r   ú<module>r’      s[   ðÛ Û 
Û Ý Ý &Ý "Û à&ˆ=×&Ñ& zÓ2€ôb!8×$Ñ$ô b!ðJ ˆzÒØ€H‡MM…Oð r   