+
    Biz                         ^ RI t ^ RIt^ RIt^ RIHt ^ RIHt ^ RIHt ^ RIt]P                  ! R4      t
 ! R R]P                  4      t]R8X  d   ]P                  ! 4        R# R# )	    N)support)import_helper)	os_helperresourcec                   >  a  ] tR t^t o R t]P                  ! ]P                  R8H  R4      R 4       t	R t
R t]P                  ! ]! ]R4      R4      R	 4       t]P                  ! ]P                  R8H  R
4      R 4       tR t]P                  ! ]P                  R9   R4      R 4       tR t]P                  ! ]! ]R4      R4      ]P*                  ! ^^^$4      R 4       4       t]P                  ! ]! ]R4      R4      ]P*                  ! ^^^$4      R 4       4       tRtV tR# )ResourceTestc                0   V P                  \        \        P                  4       V P                  \        \        P                  ^*^*4       V P                  \        \        P                  4       V P                  \        \        P                  ^*^*^*4       R# *   N)assertRaises	TypeErrorr   	getrlimit	setrlimitselfs   &)/usr/lib/python3.14/test/test_resource.py	test_args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                     \         P                  \         P                  4      w  rV P                  \         P                  V4       \         P                  \         P                  W34       R #   \         d     R # i ; i)N)r   r   RLIMIT_FSIZEassertEqualRLIM_INFINITYr   AttributeError)r   curmaxs   &  r   test_fsize_ismaxResourceTest.test_fsize_ismax   sd    	B!++H,A,ABJS X33S9x44sjA  		s   %A. .A=<A=c                &    \         P                  \         P                  4      w  r  \         P                  \         P                  R V34       Rp\        \        P                  R4      p VP                  R4        VP                  R4       VP                  4        \        ^4       F)  p\        P                  ! R4       VP                  4        K+  	  V'       d&   \         P                  \         P                  W34       VP                  4         V'       d&   \         P                  \         P                  W34       \        P                  ! \        P                  4       R#   \         d    Rp EL'i ; i  \         d    T'       g   h  Li ; i  TP                  4        i ; i  X'       d&   \         P                  \         P                  Y34       \        P                  ! \        P                  4       i ; i  \          d     R# i ; i)i   TFwb   Yg?Ns   XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX)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_enforced ResourceTest.test_fsize_enforced%   s   ,	3!++H,A,ABJS 3&&&x'<'<tSkJ $I ))40GGK("	 "'qA JJrNGGI "* ! !**8+@+@3*MGGI&&x'<'<sjI  !1!129 " & %I&  # "(!  )" GGI&&x'<'<sjI  !1!12U  		s   %H (E( F+ ,F >AE< F %F F+ (E95F+ 8E99F+ <FFF FF F((F+ +AG>HHc                ~   ^
^2,          p \         P                  \         P                  4      w  r# \         P                  \         P                  W34        \         P                  \         P                  W134       R#   \        \
        3 d     L;i ; i  \        \
        3 d     R# i ; i  \         d     R# i ; i)
   N)r   r   r   r   OverflowErrorr#   r   )r   too_bigr   r   s   &   r   test_fsize_toobigResourceTest.test_fsize_toobigT   s    b&	!++H,A,ABJS""8#8#87.I""8#8#83.I ":.  ":.   		s4   %B- %A> %B >BBB*)B*-B<;B<	getrusagezneeds getrusagec                   V P                  \        \        P                  4       V P                  \        \        P                  ^*^*4       \        P                  \        P                  4      p\        P                  \        P
                  4      p \        P                  \        P                  4      p \        P                  \        P                  4      pR#   \        \        3 d     L9i ; i  \        \        3 d     R# i ; ir
   )
r   r   r   r9   RUSAGE_SELFRUSAGE_CHILDRENRUSAGE_BOTHr#   r   RUSAGE_THREAD)r   	usageselfusagechildren	usagebothusage_threads   &    r   test_getrusageResourceTest.test_getrusagee   s    )X%7%78)X%7%7R@&&x';';<	 **8+C+CD	 **8+?+?@I	#--h.D.DEL N+ 		 N+ 		s$   #C 6#C2 C/.C/2DDz.setting RLIMIT_CPU is not supported on VxWorksc                     \         P                  \         P                  4      p ! R  R4      p\         P                  \         P                  V! 4       4       R#   \         d     R# i ; i)c                   ,   a  ] tR t^~t o R tR tRtV tR# )9ResourceTest.test_setrusage_refcount.<locals>.BadSequencec                    ^#     r   s   &r   __len__AResourceTest.test_setrusage_refcount.<locals>.BadSequence.__len__   s    r   c                V    VR9   d   \        \        \        R4      4      4      # \        h)r   i@B )r      )lentupler(   
IndexError)r   keys   &&r   __getitem__EResourceTest.test_setrusage_refcount.<locals>.BadSequence.__getitem__   s#    f}"5w#899$$r   rK   N__name__
__module____qualname____firstlineno__rL   rT   __static_attributes____classdictcell____classdict__s   @r   BadSequencerG   ~   s     % %r   r_   N)r   r   
RLIMIT_CPUr   r   )r   limitsr_   s   &  r   test_setrusage_refcount$ResourceTest.test_setrusage_refcountv   sV    	C''(;(;<F% % x22KMB  		s   #A A)(A)c                ~    \         P                  4       pV P                  V\        4       V P	                  V^ 4       R# )r   N)r   getpagesizeassertIsInstanceintassertGreaterEqual)r   pagesizes   & r   test_pagesizeResourceTest.test_pagesize   s0    '')h,!,r   z
Linux onlyc           
         R FY  p\         P                  ! \        4      ;_uu_ 4        V P                  \	        \
        RV,           4      \        4       RRR4       K[  	  R#   + '       g   i     Kp  ; i)MSGQUEUERLIMIT_N)rm   NICERTPRIORTTIME
SIGPENDING
contextlibsuppressr   rf   getattrr   rg   r   attrs   & r   test_linux_constants!ResourceTest.test_linux_constants   sL    JD$$^44%%gh	D8H&I3O 54 K444   ,A""A3c           
         R FY  p\         P                  ! \        4      ;_uu_ 4        V P                  \	        \
        RV,           4      \        4       RRR4       K[  	  R#   + '       g   i     Kp  ; i)SWAPrn   N)r}   SBSIZENPTSrs   rw   s   & r   test_freebsd_contants"ResourceTest.test_freebsd_contants   sK    .D$$^44%%gh	D8H&I3O 54 /444r{   prlimitz
no prlimitc                   V P                  \        \        P                  4       V P                  \        \        P                  R\        P
                  4       \        P                  \        P
                  4      pV P                  \        P                  ^ \        P
                  4      V4       V P                  \        P                  ^ \        P
                  V4      V4       R# )rO   N)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                   a  ! V3R  lR4      p\         P                  \         P                  4      oV P                  \         P	                  ^ \         P                  V! 4       4      S4       R# )c                   4   <a  ] tR t^t o R tV3R ltRtV tR# )2ResourceTest.test_prlimit_refcount.<locals>.BadSeqc                    ^# rI   rK   r   s   &r   rL   :ResourceTest.test_prlimit_refcount.<locals>.BadSeq.__len__   s    r   c                $   < SV,          ^,
          # )rO   rK   )r   rS   ra   s   &&r   rT   >ResourceTest.test_prlimit_refcount.<locals>.BadSeq.__getitem__   s    c{Q&r   rK   NrV   )r^   ra   s   @r   BadSeqr      s     ' 'r   r   N)r   r   r   r   r   )r   r   ra   s   & @r   test_prlimit_refcount"ResourceTest.test_prlimit_refcount   sO    	' 	' ##H$6$67))!X-?-?J	!r   rK   N)linuxandroid)rW   rX   rY   rZ   r   unittestskipIfsysplatformr   r1   r7   
skipUnlesshasattrr   rC   rb   rj   ry   r   r   requires_linux_versionr   r   r[   r\   r]   s   @r   r   r      sW    E __S\\Y.GIBIB-3^" ;79JK L  __S\\Y.EGCGC -
 )==|LP MP
P
 95|D##Aq"-  . E  95|D##Aq"-	! . E	!r   r   __main__)rt   r   r   testr   test.supportr   r   r)   import_moduler   TestCaser   rW   mainrK   r   r   <module>r      sW     
   & " &&z2b!8$$ b!J zMMO r   