
    2hh}                     L   S SK r S SKrS SKJr  S SKJr  \R
                  " S5      r\R
                  " S5      r " S S\ R                  5      r	 " S S	\R                  5      r " S
 S\R                  5      r " S S\R                  5      r\S:X  a  \R                  " 5         gg)    N)import_helper)	os_helper_testlimitedcapi	_testcapic                   F    \ rS rSrSrSrSrSrSrSr	Sr
S	rS
rSr\S-   rSrg)Constant
   r                           	    N)__name__
__module____qualname____firstlineno__Py_CONSTANT_NONEPy_CONSTANT_FALSEPy_CONSTANT_TRUEPy_CONSTANT_ELLIPSISPy_CONSTANT_NOT_IMPLEMENTEDPy_CONSTANT_ZEROPy_CONSTANT_ONEPy_CONSTANT_EMPTY_STRPy_CONSTANT_EMPTY_BYTESPy_CONSTANT_EMPTY_TUPLEINVALID_CONSTANT__static_attributes__r       C/opt/python-3.13.8/usr/lib/python3.13/test/test_capi/test_object.pyr   r   
   sH    "#O.2r$   r   c                   &    \ rS rSrS rS rS rSrg)GetConstantTest   c                    U R                  U" [        R                  5      S 5        U R                  U" [        R                  5      S5        U R                  U" [        R                  5      S5        U R                  U" [        R
                  5      [        5        U R                  U" [        R                  5      [        5        [        R                  [        S4[        R                  [        S4[        R                  [        S4[        R                  [        S4[        R                   ["        S44 HR  u  p#nU R%                  US9   U" U5      nU R'                  [)        U5      X55        U R'                  XT5        S S S 5        MT     U R+                  [,        5         U" [        R.                  5        S S S 5        g ! , (       d  f       M  = f! , (       d  f       g = f)	NFTr   r
    r$   r   )constant_id)assertIsr   r   r   r   r   Ellipsisr   NotImplementedr   intr   r   strr    bytesr!   tuplesubTestassertEqualtypeassertRaisesSystemErrorr"   )selfget_constantr+   constant_typevalueobjs         r%   check_get_constant"GetConstantTest.check_get_constant   s^   l8#<#<=tDl8#=#=>Fl8#<#<=tDl8#@#@A8Ll8#G#GH.Y &&Q/%%sA.++S"5--uc:--ub92
-K +6";/  cM?  , 762
 {+223 ,+ 76
 ,+s   5G"G
G	
G"c                 B    U R                  [        R                  5        g N)r=   r   r9   r8   s    r%   test_get_constant!GetConstantTest.test_get_constant0   s     0 = =>r$   c                 B    U R                  [        R                  5        g r@   )r=   r   get_constant_borrowedrA   s    r%   test_get_constant_borrowed*GetConstantTest.test_get_constant_borrowed3   s     0 F FGr$   r   N)r   r   r   r   r=   rB   rF   r#   r   r$   r%   r'   r'      s    4,?Hr$   r'   c                   ,    \ rS rSrS rS rS rS rSrg)	PrintTest7   c                     " S S5      nU" 5       n[         R                  nU R                  [         R                  U5        [        R                  X#S5        [        US5       nU R                  UR                  5       [        U5      5        S S S 5        [        R                  X#S5        [        US5       nU R                  UR                  5       [        U5      5        S S S 5        g ! , (       d  f       Nc= f! , (       d  f       g = f)Nc                        \ rS rSrS rS rSrg):PrintTest.testPyObjectPrintObject.<locals>.PrintableObject:   c                     g)Nzspam spam spamr   rA   s    r%   __repr__CPrintTest.testPyObjectPrintObject.<locals>.PrintableObject.__repr__<   s    'r$   c                     g)Nzegg egg eggr   rA   s    r%   __str__BPrintTest.testPyObjectPrintObject.<locals>.PrintableObject.__str__?   s    $r$   r   N)r   r   r   r   rP   rS   r#   r   r$   r%   PrintableObjectrM   :   s    (%r$   rU   FrT)r   TESTFN
addCleanupunlinkr   call_pyobject_printopenr4   readreprr0   )r8   rU   r<   output_filenameoutput_files        r%   testPyObjectPrintObject!PrintTest.testPyObjectPrintObject8   s    	% 	% #**	((/: 	%%cEB/3';[--/c; ( 	%%cDA/3';[--/S: (' ('
 ('s   $*C+8*C<+
C9<
D
c                    [         R                  nU R                  [         R                  U5        [        R                  U5        [        US5       nU R                  UR                  5       S5        S S S 5        g ! , (       d  f       g = f)NrV   z<nil>)	r   rW   rX   rY   r   pyobject_print_nullr[   r4   r\   )r8   r^   r_   s      r%   testPyObjectPrintNULLPrintTest.testPyObjectPrintNULLP   sb    #**	((/: 	%%o6/3';[--/9 (''   !A<<
B
c                    [         R                  nU R                  [         R                  U5        [        R                  U5      n[        US5       nU R                  UR                  5       U5        S S S 5        g ! , (       d  f       g = f)NrV   )	r   rW   rX   rY   r   pyobject_print_noref_objectr[   r4   r\   )r8   r^   correct_outputr_   s       r%   testPyObjectPrintNoRefObject&PrintTest.testPyObjectPrintNoRefObjectY   sd    #**	((/: #>>O/3';[--/@ (''rf   c                     [         R                  nU R                  [         R                  U5        [	        US5      R                  5         U R                  [        5         [        R                  U5        S S S 5        g ! , (       d  f       g = f)Nzw+)
r   rW   rX   rY   r[   closer6   OSErrorr   pyobject_print_os_error)r8   r^   s     r%   testPyObjectPrintOSError"PrintTest.testPyObjectPrintOSErrorb   s\    #**	((/:_d#))+w'--o> (''s    A??
Br   N)	r   r   r   r   r`   rd   rj   rp   r#   r   r$   r%   rI   rI   7   s    ;0:A?r$   rI   c                   $    \ rS rSrSrS rS rSrg)ClearWeakRefsNoCallbacksTestk   z/Test PyUnstable_Object_ClearWeakRefsNoCallbacksc                 P  ^ SSK nSSKn " S S5      nU" 5       n/ mUR                  UU4S j5      nU R                  U" 5       U5        U R	                  T5        [
        R                  U5        U R                  U" 5       5        UR                  5         U R	                  T5        g)z7Ensure PyUnstable_Object_ClearWeakRefsNoCallbacks worksr   Nc                       \ rS rSrSrg)EClearWeakRefsNoCallbacksTest.test_ClearWeakRefsNoCallbacks.<locals>.Cq   r   N)r   r   r   r   r#   r   r$   r%   Crw   q   s    r$   ry   c                  &   > T R                  S5      $ )Nzdon't add this)append)messagess   r%   <lambda>LClearWeakRefsNoCallbacksTest.test_ClearWeakRefsNoCallbacks.<locals>.<lambda>u   s    x7G'Hr$   )	weakrefgcrefr,   assertFalser   $pyobject_clear_weakrefs_no_callbacksassertIsNonecollect)r8   r   r   ry   r<   r   r|   s         @r%   test_ClearWeakRefsNoCallbacks:ClearWeakRefsNoCallbacksTest.test_ClearWeakRefsNoCallbacksm   s    	 	ckk#HIceS!"66s;#% 


"r$   c                     SSK n[        5       nU R                  [        5         UR	                  U5      nSSS5        [
        R                  U5        g! , (       d  f       N$= f)z1Don't fail on objects that don't support weakrefsr   N)r   objectr6   	TypeErrorr   r   r   )r8   r   r<   r   s       r%   0test_ClearWeakRefsNoCallbacks_no_weakref_supportMClearWeakRefsNoCallbacksTest.test_ClearWeakRefsNoCallbacks_no_weakref_support}   sD    hy)++c"C *66s; *)s   A
A"r   N)r   r   r   r   __doc__r   r   r#   r   r$   r%   rs   rs   k   s    9# <r$   rs   __main__)enumunittesttest.supportr   r   import_moduler   r   IntEnumr   TestCaser'   rI   rs   r   mainr   r$   r%   <module>r      s      & " ../AB ''4	3t|| 3Hh'' H<1?!! 1?h<8#4#4 <6 zMMO r$   