
    2hh                     R   S SK r S SKJr  S SKJr  \R                  " S5        S SKJrJrJrJ	r	J
r
JrJrJrJrJrJrJrJrJrJrJrJrJrJr   " S S5      rS r " S	 S
5      r " S S\\ R8                  5      r " S S\\ R8                  5      r\S:X  a  \ R@                  " 5         gg)    N)import_helper)warnings_helper	_testcapi)_test_structmembersType_OldAPI_test_structmembersType_NewAPICHAR_MAXCHAR_MIN	UCHAR_MAXSHRT_MAXSHRT_MIN	USHRT_MAXINT_MAXINT_MINUINT_MAXLONG_MAXLONG_MIN	ULONG_MAX	LLONG_MAX	LLONG_MIN
ULLONG_MAXPY_SSIZE_T_MAXPY_SSIZE_T_MINc                        \ rS rSrS rS rSrg)Index   c                     Xl         g Nvalue)selfr   s     J/opt/python-3.13.8/usr/lib/python3.13/test/test_capi/test_structmembers.py__init__Index.__init__   s    
    c                     U R                   $ r   r   r    s    r!   	__index__Index.__index__   s    zzr$   r   N)__name__
__module____qualname____firstlineno__r"   r'   __static_attributes__ r$   r!   r   r      s    r$   r   c                 *    U " SSSSSSSSS	S
SSS5      $ )NF                           grt#@g3$@hir.   )clss    r!   _make_test_objectr;      s5    u r$   c                   z    \ rS rSrS rSS jrSS jrS rSSS.S jrS	 r	S
 r
S rS rS rS rS rS rS rSrg)ReadWriteTests,   c                 8    [        U R                  5      U l        g r   )r;   r:   tsr&   s    r!   setUpReadWriteTests.setUp-   s    #DHH-r$   Nc                 t    Uc  UnU R                   n[        XAU5        U R                  [        XA5      U5        g r   )r@   setattrassertEqualgetattrr    namer   expectedr@   s        r!   _test_writeReadWriteTests._test_write0   s5    HWW% *H5r$   c                     U R                   nU R                  [        [        XAU5        Ub  U R	                  [        XA5      U5        g g r   )r@   assertWarnsRuntimeWarningrD   rE   rF   rG   s        r!   
_test_warnReadWriteTests._test_warn7   s?    WW"EBWR.9  r$   c                 T    U R                   nU R                  [        [        X1U5        g r   )r@   assertRaisesOverflowErrorrD   )r    rH   r   r@   s       r!   _test_overflowReadWriteTests._test_overflow=   s    WW-"EBr$   )	hardlimit
indexlimitc          	         Uc  X#4nU R                   nU R                  X5        U R                  X5        Uu  pxU R                  XS-
  5        U R                  XS-   5        U R                  USS-  5        U R                  USS-  * 5        Xr:  a&  U R                  X5        U R                  XS-
  U5        X8:  a&  U R                  XS-   U5        U R                  X5        USL aK  U R	                  [
        [        Xa[        U5      5        U R	                  [
        [        Xa[        U5      5        g U R                  U[        U5      U5        U R                  U[        U5      U5        U R                  U[        US-
  5      5        U R                  U[        US-   5      5        U R                  U[        SS-  5      5        U R                  U[        SS-  * 5      5        Xr:  a:  U R                  U[        U5      5        U R                  U[        US-
  5      U5        X8:  a;  U R                  U[        US-   5      U5        U R                  U[        U5      5        g g )Nr0   r1   i  F)r@   rJ   rT   rO   rR   	TypeErrorrD   r   )	r    rH   minvalmaxvalrV   rW   r@   
hardminval
hardmaxvals	            r!   _test_int_rangeReadWriteTests._test_int_rangeA   s   (IWW&&!*
DQ,/DQ,/D!T'*D1d7(+OOD-OOD(F3OOD(F3OOD-i"E&MJi"E&MJT5=&9T5=&9eJqL&9:eJqL&9:eAtGn5eQWHo6"eJ&78eF1Hov>"eF1Hov>eJ&78 #r$   c                 V   U R                   nSUl        U R                  UR                  S5        SUl        U R                  UR                  S5        U R                  [        [
        USS5        U R                  [        [
        USS5        U R                  [        [
        USS 5        g )NTFT_BOOLr0   r   )r@   ra   assertIsrR   rY   rD   r    r@   s     r!   	test_boolReadWriteTests.test_boole   s    WW	bii&	bii')Wb(A>)Wb(A>)Wb(DAr$   c                     U R                  S[        [        [        [        4S9  U R                  SS[
        [        [        4S9  g )NT_BYTErV   T_UBYTEr   )r^   r	   r   r   r   r
   r&   s    r!   	test_byteReadWriteTests.test_byteo   sD    Xx(0('; 	 	=Y9(0('; 	 	=r$   c                     U R                  S[        [        [        [        4S9  U R                  SS[
        [        [        4S9  g )NT_SHORTrh   T_USHORTr   )r^   r   r   r   r   r   r&   s    r!   
test_shortReadWriteTests.test_shortu   sD    Y((0('; 	 	=ZI(0('; 	 	=r$   c                     U R                  S[        [        [        [        4S9  U R                  SS[
        [        [        4S9  g )NT_INTrh   T_UINTr   )r^   r   r   r   r   r   r   r&   s    r!   test_intReadWriteTests.test_int{   sD    Wgw(0('; 	 	=Xq((0)'< 	 	>r$   c                 z    U R                  S[        [        5        U R                  SS[        [        [        4S9  g )NT_LONGT_ULONGr   rh   )r^   r   r   r   r&   s    r!   	test_longReadWriteTests.test_long   s5    Xx:Y9(0)'< 	 	>r$   c                 8    U R                  S[        [        SS9  g )N
T_PYSSIZETF)rW   )r^   r   r   r&   s    r!   test_py_ssize_tReadWriteTests.test_py_ssize_t   s    \>>V[\r$   c                 z    U R                  S[        [        5        U R                  SS[        [        [        4S9  g )N
T_LONGLONGT_ULONGLONGr   rh   )r^   r   r   r   r   r&   s    r!   test_longlongReadWriteTests.test_longlong   s5    \9i@]Az(0*'= 	 	?r$   c           	          U R                   n/ SQnS SS0 / 4 H(  nU H  nU R                  [        [        XU5        M!     M*     g )N)ra   rg   ri   rm   rn   rr   rs   rw   rx   r   r   r|   y        	@zfull of eels)r@   rR   rY   rD   )r    r@   integer_attributesnonintattrs        r!   test_bad_assignments#ReadWriteTests.test_bad_assignments   sH    WW D."b8F*!!)WbG + 9r$   c                     U R                   nU R                  UR                  S5        U R                  [        [
        USS5        U R                  [        [        US5        g )Nr9   T_STRING_INPLACEs)r@   rE   r   rR   rY   rD   delattrrc   s     r!   test_inplace_string"ReadWriteTests.test_inplace_string   sM    WW,,d3)Wb2DcJ)Wb2DEr$   )r@   r   )r)   r*   r+   r,   rA   rJ   rO   rT   r^   rd   rj   ro   rt   ry   r}   r   r   r   r-   r.   r$   r!   r=   r=   ,   sX    .6:C BF#'"9HB==>>
]?
H$Fr$   r=   c                       \ rS rSr\rSrg)ReadWriteTests_OldAPI   r.   N)r)   r*   r+   r,   r   r:   r-   r.   r$   r!   r   r          
(Cr$   r   c                       \ rS rSr\rSrg)ReadWriteTests_NewAPI   r.   N)r)   r*   r+   r,   r   r:   r-   r.   r$   r!   r   r      r   r$   r   __main__)!unittesttest.supportr   r   import_moduler   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r;   r=   TestCaser   r   r)   mainr.   r$   r!   <module>r      s     & (   K (      "xF xFt)NH,=,= ))NH,=,= ) zMMO r$   