
    2hh                     `   S SK r 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J	r	  S SK
Jr  \R                  " S5      rS SKJrJr   S SKrS	rS
r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$  \RJ                  RL                  r'\(" S5      r)\(" S5      r*Sr+Sr,Sr-Sr " S S5      r. " S S\/5      r0 " S S5      r1 " S S5      r2 " S S\/5      r3 " S S5      r4 " S S\/5      r5 " S S 5      r6 " S! S"5      r7 " S# S$\/5      r8 " S% S&5      r9 " S' S(\(5      r: " S) S*\(5      r; " S+ S,5      r< " S- S.5      r= " S/ S0\(5      r> " S1 S25      r? " S3 S4\@5      rA " S5 S6\@5      rB " S7 S85      rC " S9 S:5      rD " S; S<\@5      rE " S= S>\F5      rG " S? S@\H5      rI\J" \K" SA5      5      SSSB2   rL\J" SA5      SSSB2   rM " SC SD\ R                  5      rO " SE SF\ R                  5      rP " SG SH\ R                  5      rQ " SI SJ\ R                  \5      rR " SK SL5      rS " SM SN\ R                  5      rT " SO SP\ R                  5      rU " SQ SR\ R                  5      rV " SS ST\ R                  5      rW " SU SV\ R                  5      rX " SW SX\ R                  5      rY " SY SZ\ R                  5      rZ " S[ S\\ R                  5      r[ " S] S^\ R                  5      r\ " S_ S`\ R                  5      r] " Sa Sb\ R                  5      r^\_Sc:X  a  \ R                  " 5         gg! \ a    \r GNf = f)d    N)support)import_helper)script_helper)warnings_helper)FloatsAreIdenticalMixin	_testcapi)getargs_keywordsgetargs_keyword_onlyil   B$$HH! `? )	UCHAR_MAX	USHRT_MAXUINT_MAX	ULONG_MAXINT_MAXINT_MINLONG_MINLONG_MAXPY_SSIZE_T_MINPY_SSIZE_T_MAXSHRT_MINSHRT_MAXFLT_MINFLT_MAXDBL_MINDBL_MAXinfnanl    l         l    c                       \ rS rSrS rSrg)IndexC   c                     gNc    selfs    D/opt/python-3.13.8/usr/lib/python3.13/test/test_capi/test_getargs.py	__index__Index.__index__D           r#   N__name__
__module____qualname____firstlineno__r'   __static_attributes__r#   r*   r&   r   r   C       r*   r   c                       \ rS rSrS rSrg)IndexIntSubclassG   c                     gr!   r#   r$   s    r&   r'   IndexIntSubclass.__index__H   r)   r*   r#   Nr+   r#   r*   r&   r3   r3   G   r1   r*   r3   c                       \ rS rSrS rSrg)BadIndexK   c                     gN      ?r#   r$   s    r&   r'   BadIndex.__index__L       r*   r#   Nr+   r#   r*   r&   r8   r8   K       r*   r8   c                       \ rS rSrS rSrg)	BadIndex2O   c                     gNTr#   r$   s    r&   r'   BadIndex2.__index__P       r*   r#   Nr+   r#   r*   r&   rA   rA   O       r*   rA   c                       \ rS rSrS rSrg)	BadIndex3S   c                     grD   r#   r$   s    r&   r'   BadIndex3.__index__T   rF   r*   r#   Nr+   r#   r*   r&   rI   rI   S   rG   r*   rI   c                       \ rS rSrS rSrg)IntX   c                     gr!   r#   r$   s    r&   __int__Int.__int__Y   r)   r*   r#   Nr,   r-   r.   r/   rQ   r0   r#   r*   r&   rN   rN   X   r1   r*   rN   c                       \ rS rSrS rSrg)IntSubclass\   c                     gr!   r#   r$   s    r&   rQ   IntSubclass.__int__]   r)   r*   r#   NrS   r#   r*   r&   rU   rU   \   r1   r*   rU   c                       \ rS rSrS rSrg)BadInt`   c                     gr;   r#   r$   s    r&   rQ   BadInt.__int__a   r>   r*   r#   NrS   r#   r*   r&   rZ   rZ   `   r?   r*   rZ   c                       \ rS rSrS rSrg)BadInt2d   c                     grD   r#   r$   s    r&   rQ   BadInt2.__int__e   rF   r*   r#   NrS   r#   r*   r&   r_   r_   d   rG   r*   r_   c                       \ rS rSrS rSrg)BadInt3h   c                     grD   r#   r$   s    r&   rQ   BadInt3.__int__i   rF   r*   r#   NrS   r#   r*   r&   rd   rd   h   rG   r*   rd   c                       \ rS rSrS rSrg)Floatm   c                     gN      @r#   r$   s    r&   	__float__Float.__float__n   rF   r*   r#   Nr,   r-   r.   r/   rn   r0   r#   r*   r&   ri   ri   m   rG   r*   ri   c                       \ rS rSrSrg)FloatSubclassq   r#   Nr,   r-   r.   r/   r0   r#   r*   r&   rr   rr   q       r*   rr   c                       \ rS rSrS rSrg)FloatSubclass2t   c                     grl   r#   r$   s    r&   rn   FloatSubclass2.__float__u   rF   r*   r#   Nrp   r#   r*   r&   rw   rw   t   rG   r*   rw   c                       \ rS rSrS rSrg)BadFloatx   c                     g)Ni  r#   r$   s    r&   rn   BadFloat.__float__y   r>   r*   r#   Nrp   r#   r*   r&   r|   r|   x   r?   r*   r|   c                       \ rS rSrS rSrg)	BadFloat2|   c                     [        S5      $ rl   rr   r$   s    r&   rn   BadFloat2.__float__}       T""r*   r#   Nrp   r#   r*   r&   r   r   |       #r*   r   c                       \ rS rSrS rSrg)	BadFloat3   c                     [        S5      $ rl   r   r$   s    r&   rn   BadFloat3.__float__   r   r*   r#   Nrp   r#   r*   r&   r   r      r   r*   r   c                       \ rS rSrS rSrg)Complex   c                     gN      @      ?r#   r$   s    r&   __complex__Complex.__complex__       r*   r#   Nr,   r-   r.   r/   r   r0   r#   r*   r&   r   r          r*   r   c                       \ rS rSrSrg)ComplexSubclass   r#   Nrt   r#   r*   r&   r   r      ru   r*   r   c                       \ rS rSrS rSrg)ComplexSubclass2   c                     gr   r#   r$   s    r&   r   ComplexSubclass2.__complex__   r   r*   r#   Nr   r#   r*   r&   r   r      r   r*   r   c                       \ rS rSrS rSrg)
BadComplex   c                     g)Ng      ?r#   r$   s    r&   r   BadComplex.__complex__   rF   r*   r#   Nr   r#   r*   r&   r   r      rG   r*   r   c                       \ rS rSrS rSrg)BadComplex2   c                     [        S5      $ r   r   r$   s    r&   r   BadComplex2.__complex__       y))r*   r#   Nr   r#   r*   r&   r   r          *r*   r   c                       \ rS rSrS rSrg)BadComplex3   c                     [        S5      $ r   r   r$   s    r&   r   BadComplex3.__complex__   r   r*   r#   Nr   r#   r*   r&   r   r      r   r*   r   c                       \ rS rSrSrg)TupleSubclass   r#   Nrt   r#   r*   r&   r   r      ru   r*   r   c                       \ rS rSrSrg)DictSubclass   r#   Nrt   r#   r*   r&   r   r      ru   r*   r   s	   noncontigc                   2    \ rS rSrS rS rS rS rS rSr	g)	Unsigned_TestCase   c                 V   SSK Jn  U R                  [        US5        U R	                  SU" [        5       5      5        U R	                  SU" [        5       5      5        U R                  [        U[        5       5        U R                  [        5         U R	                  SU" [        5       5      5        S S S 5        U R	                  SU" [        5       5      5        U R                  [        U[        5       5        U R	                  SU" [        5       5      5        U R                  [        U[        5       5        U R                  [        U[        5       5        U R	                  SU" [!        5       5      5        U R                  ["        US5        U R	                  SU" S5      5        U R	                  [$        U" [$        5      5        U R                  ["        U[$        S-   5        U R	                  SU" S5      5        U R                  ["        U[&        5        g ! , (       d  f       GNm= f)Nr   )	getargs_bQ	@r"      *   )r   r   assertRaises	TypeErrorassertEqualr   r3   r8   assertWarnsDeprecationWarningrA   rI   rN   rU   rZ   r_   rd   OverflowErrorr   
VERY_LARGE)r%   r   s     r&   test_bUnsigned_TestCase.test_b   s   ')Y5Yuw/0I&6&89:)Y
;01Q	)+ 67 2Iik23)Y6Ikm45)Y9)Y	:Igi01-B7IaL)Ii$89-IMBYr]+-J? 21s   !H
H(c                 z   SSK Jn  U R                  [        US5        U R	                  SU" [        5       5      5        U R	                  SU" [        5       5      5        U R                  [        U[        5       5        U R                  [        5         U R	                  SU" [        5       5      5        S S S 5        U R	                  SU" [        5       5      5        U R                  [        U[        5       5        U R	                  SU" [        5       5      5        U R                  [        U[        5       5        U R                  [        U[        5       5        U R	                  SU" [!        5       5      5        U R	                  ["        U" S5      5        U R	                  SU" S5      5        U R	                  ["        U" ["        5      5        U R	                  SU" ["        S-   5      5        U R	                  SU" S5      5        U R	                  ["        [$        -  U" [$        5      5        g ! , (       d  f       GN= f)Nr   )	getargs_Br   r"   r   r   r   )r   r   r   r   r   r   r3   r8   r   r   rA   rI   rN   rU   rZ   r_   rd   r   r   )r%   r   s     r&   test_BUnsigned_TestCase.test_B   s   ')Y5Yuw/0I&6&89:)Y
;01Q	)+ 67 2Iik23)Y6Ikm45)Y9)Y	:Igi01IbM2IaL)Ii$89Iik23Yr]+Z/:1FG 21   !H++
H:c                 z   SSK Jn  U R                  [        US5        U R	                  SU" [        5       5      5        U R	                  SU" [        5       5      5        U R                  [        U[        5       5        U R                  [        5         U R	                  SU" [        5       5      5        S S S 5        U R	                  SU" [        5       5      5        U R                  [        U[        5       5        U R	                  SU" [        5       5      5        U R                  [        U[        5       5        U R                  [        U[        5       5        U R	                  SU" [!        5       5      5        U R	                  ["        U" S5      5        U R	                  SU" S5      5        U R	                  ["        U" ["        5      5        U R	                  SU" ["        S-   5      5        U R	                  SU" S5      5        U R	                  [$        ["        -  U" [$        5      5        g ! , (       d  f       GN= f)Nr   )	getargs_Hr   r"   r   r   r   )r   r   r   r   r   r   r3   r8   r   r   rA   rI   rN   rU   rZ   r_   rd   r   r   )r%   r   s     r&   test_HUnsigned_TestCase.test_H   s   ')Y5Yuw/0I&6&89:)Y
;01Q	)+ 67 2Iik23)Y6Ikm45)Y9)Y	:Igi01IbM2IaL)Ii$89Iik23Yr]+i/:1FG! 21r   c                 z   SSK Jn  U R                  [        US5        U R	                  SU" [        5       5      5        U R	                  SU" [        5       5      5        U R                  [        U[        5       5        U R                  [        5         U R	                  SU" [        5       5      5        S S S 5        U R	                  SU" [        5       5      5        U R                  [        U[        5       5        U R	                  SU" [        5       5      5        U R                  [        U[        5       5        U R                  [        U[        5       5        U R	                  SU" [!        5       5      5        U R	                  ["        U" S5      5        U R	                  SU" S5      5        U R	                  ["        U" ["        5      5        U R	                  SU" ["        S-   5      5        U R	                  SU" S5      5        U R	                  [$        ["        -  U" [$        5      5        g ! , (       d  f       GN= f)Nr   )	getargs_Ir   r"   r   r   r   )r   r   r   r   r   r   r3   r8   r   r   rA   rI   rN   rU   rZ   r_   rd   r   r   )r%   r   s     r&   test_IUnsigned_TestCase.test_I   s   ')Y5Yuw/0I&6&89:)Y
;01Q	)+ 67 2Iik23)Y6Ikm45)Y9)Y	:Igi019R=1IaL)9X#67Ihqj12Yr]+h.	*0EF! 21r   c                    SSK Jn  U R                  [        US5        U R                  [        U[	        5       5        U R                  SU" [        5       5      5        U R                  [        U[        5       5        U R                  [        U[        5       5        U R                  SU" [        5       5      5        U R                  [        U[        5       5        U R                  SU" [        5       5      5        U R                  [        U[        5       5        U R                  [        U[        5       5        U R                  SU" [        5       5      5        U R                  [        U" S5      5        U R                  SU" S5      5        U R                  [        U" [        5      5        U R                  SU" [        S-   5      5        U R                  SU" S5      5        U R                  [         [        -  U" [         5      5        g )Nr   )	getargs_kr   r   r   r   )r   r   r   r   r   r   r3   r8   rA   rI   rN   rU   rZ   r_   rd   r   r   )r%   r   s     r&   test_kUnsigned_TestCase.test_k	  ss   ' 	)Y5)Y8I&6&89:)Y
;)Y	<Iik23)Y6Ikm45)Y9)Y	:Igi01IbM2IaL)Ii$89Iik23Yr]+i/:1FGr*   r#   N)
r,   r-   r.   r/   r   r   r   r   r   r0   r#   r*   r&   r   r      s     @0H0H2G2Hr*   r   c                   ,    \ rS rSrS rS rS rS rSrg)Signed_TestCasei"  c                 t   SSK Jn  U R                  [        US5        U R	                  SU" [        5       5      5        U R	                  SU" [        5       5      5        U R                  [        U[        5       5        U R                  [        5         U R	                  SU" [        5       5      5        S S S 5        U R	                  SU" [        5       5      5        U R                  [        U[        5       5        U R	                  SU" [        5       5      5        U R                  [        U[        5       5        U R                  [        U[        5       5        U R	                  SU" [!        5       5      5        U R                  ["        U[$        S-
  5        U R	                  [$        U" [$        5      5        U R	                  [&        U" [&        5      5        U R                  ["        U[&        S-   5        U R	                  SU" S5      5        U R                  ["        U[(        5        g ! , (       d  f       GN|= f)Nr   )	getargs_hr   r"   r   r   )r   r   r   r   r   r   r3   r8   r   r   rA   rI   rN   rU   rZ   r_   rd   r   r   r   r   )r%   r   s     r&   test_hSigned_TestCase.test_h#     ')Y5Yuw/0I&6&89:)Y
;01Q	)+ 67 2Iik23)Y6Ikm45)Y9)Y	:Igi01-HQJ?9X#679X#67-HQJ?Yr]+-J? 21   !H((
H7c                 t   SSK Jn  U R                  [        US5        U R	                  SU" [        5       5      5        U R	                  SU" [        5       5      5        U R                  [        U[        5       5        U R                  [        5         U R	                  SU" [        5       5      5        S S S 5        U R	                  SU" [        5       5      5        U R                  [        U[        5       5        U R	                  SU" [        5       5      5        U R                  [        U[        5       5        U R                  [        U[        5       5        U R	                  SU" [!        5       5      5        U R                  ["        U[$        S-
  5        U R	                  [$        U" [$        5      5        U R	                  [&        U" [&        5      5        U R                  ["        U[&        S-   5        U R	                  SU" S5      5        U R                  ["        U[(        5        g ! , (       d  f       GN|= f)Nr   )	getargs_ir   r"   r   r   )r   r   r   r   r   r   r3   r8   r   r   rA   rI   rN   rU   rZ   r_   rd   r   r   r   r   )r%   r   s     r&   test_iSigned_TestCase.test_i;  s   ')Y5Yuw/0I&6&89:)Y
;01Q	)+ 67 2Iik23)Y6Ikm45)Y9)Y	:Igi01-GAI>)G"45)G"45-GAI>Yr]+-J? 21r   c                 t   SSK Jn  U R                  [        US5        U R	                  SU" [        5       5      5        U R	                  SU" [        5       5      5        U R                  [        U[        5       5        U R                  [        5         U R	                  SU" [        5       5      5        S S S 5        U R	                  SU" [        5       5      5        U R                  [        U[        5       5        U R	                  SU" [        5       5      5        U R                  [        U[        5       5        U R                  [        U[        5       5        U R	                  SU" [!        5       5      5        U R                  ["        U[$        S-
  5        U R	                  [$        U" [$        5      5        U R	                  [&        U" [&        5      5        U R                  ["        U[&        S-   5        U R	                  SU" S5      5        U R                  ["        U[(        5        g ! , (       d  f       GN|= f)Nr   )	getargs_lr   r"   r   r   )r   r   r   r   r   r   r3   r8   r   r   rA   rI   rN   rU   rZ   r_   rd   r   r   r   r   )r%   r   s     r&   test_lSigned_TestCase.test_lS  r   r   c                 t   SSK Jn  U R                  [        US5        U R	                  SU" [        5       5      5        U R	                  SU" [        5       5      5        U R                  [        U[        5       5        U R                  [        5         U R	                  SU" [        5       5      5        S S S 5        U R	                  SU" [        5       5      5        U R                  [        U[        5       5        U R	                  SU" [        5       5      5        U R                  [        U[        5       5        U R                  [        U[        5       5        U R	                  SU" [!        5       5      5        U R                  ["        U[$        S-
  5        U R	                  [$        U" [$        5      5        U R	                  [&        U" [&        5      5        U R                  ["        U[&        S-   5        U R	                  SU" S5      5        U R                  ["        U[(        5        g ! , (       d  f       GN|= f)Nr   )	getargs_nr   r"   r   r   )r   r   r   r   r   r   r3   r8   r   r   rA   rI   rN   rU   rZ   r_   rd   r   r   r   r   )r%   r   s     r&   test_nSigned_TestCase.test_nk  s   ' 	)Y5Yuw/0I&6&89:)Y
;01Q	)+ 67 2Iik23)Y6Ikm45)Y9)Y	:Igi01-N14DE>)BC>)BC-N14DEYr]+-J? 21r   r#   N)	r,   r-   r.   r/   r   r   r   r   r0   r#   r*   r&   r   r   "  s    @0@0@0@r*   r   c                        \ rS rSrS rS rSrg)LongLong_TestCasei  c                    SSK Jn  U R                  [        US5        U R                  [        US5        U R	                  SU" [        5       5      5        U R	                  SU" [        5       5      5        U R                  [        U[        5       5        U R                  [        5         U R	                  SU" [        5       5      5        S S S 5        U R	                  SU" [        5       5      5        U R                  [        U[        5       5        U R	                  SU" [        5       5      5        U R                  [        U[        5       5        U R                  [        U[        5       5        U R	                  SU" [!        5       5      5        U R                  ["        U[$        S-
  5        U R	                  [$        U" [$        5      5        U R	                  [&        U" [&        5      5        U R                  ["        U[&        S-   5        U R	                  SU" S5      5        U R                  ["        U[(        5        g ! , (       d  f       GN|= f)Nr   )	getargs_Lr   Hellor"   r   r   )r   r   r   r   r   r   r3   r8   r   r   rA   rI   rN   rU   rZ   r_   rd   r   	LLONG_MIN	LLONG_MAXr   )r%   r   s     r&   test_LLongLong_TestCase.test_L  s   ' 	)Y5)Y8Yuw/0I&6&89:)Y
;01Q	)+ 67 2Iik23)Y6Ikm45)Y9)Y	:Igi01-IaK@Ii$89Ii$89-IaK@Yr]+-J? 21s   )!H??
Ic                    SSK Jn  U R                  [        US5        U R                  [        U[	        5       5        U R                  SU" [        5       5      5        U R                  [        U[        5       5        U R                  [        U[        5       5        U R                  SU" [        5       5      5        U R                  [        U[        5       5        U R                  SU" [        5       5      5        U R                  [        U[        5       5        U R                  [        U[        5       5        U R                  SU" [        5       5      5        U R                  [        U" [        5      5        U R                  SU" S5      5        U R                  SU" [        S-   5      5        U R                  SU" S5      5        U R                  [         [        -  U" [         5      5        g )Nr   )	getargs_Kr   r   r   )r   r   r   r   r   r   r3   r8   rA   rI   rN   rU   rZ   r_   rd   
ULLONG_MAXr   )r%   r   s     r&   test_KLongLong_TestCase.test_K  s]   ')Y5)Y8I&6&89:)Y
;)Y	<Iik23)Y6Ikm45)Y9)Y	:Igi01Yz%:;IaL)Ijl34Yr]+j0)J2GHr*   r#   N)r,   r-   r.   r/   r   r   r0   r#   r*   r&   r   r     s    @4Ir*   r   c                   J    \ rS rSrS r\R                  S 5       rS rS r	Sr
g)Float_TestCasei  c                 L   SSK Jn  U R                  U" S5      S5        U R                  U" S5      S5        U R                  [        US5        U R                  U" [        5       5      S5        U R                  U" [        S5      5      S5        U R                  U" [        S5      5      S5        U R                  [        U[        5       5        U R                  [        5         U R                  U" [        5       5      S5        S S S 5        U R                  U" [        S5      5      S5        U R                  U" [        5       5      S5        U R                  [        U[        5       5        [        [        * [         [         * ["        ["        * 4 H  nU R                  U" U5      U5        M     [         [$        :  aB  U R                  U" [$        5      ["        5        U R                  U" [$        * 5      ["        * 5        [        [&        :  a9  U R)                  U" [&        5      S	5        U R)                  U" [&        * 5      S
5        U R)                  U" S	5      S	5        U R)                  U" S
5      S
5        U" [*        5      nU R-                  X35        g ! , (       d  f       GN= f)Nr   	getargs_frm            @      @              @     X@               )r   r  r   r   r   ri   rr   rw   r|   r   r   r   r   r   rN   r   r   INFr   r   assertFloatsAreIdenticalNANassertNotEqual)r%   r  xrs       r&   test_fFloat_TestCase.test_f  s   '4$/1s+)Y857+T2=#56<>##67=)Y
;01Yy{3T: 29S>2C857+T2)Y6G8WwhcTBAYq\1- CWYw/5Yx03$7W)))G*<cB)))WH*=tD%%inc:%%iot<cNA!# 21s   $!J
J#c                     SSK Jn  U R                  U" S5      [        5        U R                  U" S5      [        * 5        g )Nr   r  gnGgn)r   r  r   r   )r%   r  s     r&   test_f_roundingFloat_TestCase.test_f_rounding  s1    '=17;>2WH=r*   c                    SSK Jn  U R                  U" S5      S5        U R                  U" S5      S5        U R                  [        US5        U R                  U" [        5       5      S5        U R                  U" [        S5      5      S5        U R                  U" [        S5      5      S5        U R                  [        U[        5       5        U R                  [        5         U R                  U" [        5       5      S5        S S S 5        U R                  U" [        S5      5      S5        U R                  U" [        5       5      S5        U R                  [        U[        5       5        [        [        * [         [         * ["        ["        * 4 H  nU R                  U" U5      U5        M     U R                  [$        US	[&        -  5        U R                  [$        US
[&        -  5        U R)                  U" S5      S5        U R)                  U" S5      S5        U" [*        5      nU R-                  X35        g ! , (       d  f       GN;= f)Nr   )	getargs_drm   r  r  r  r  r  r   r   r  r	  )r   r  r   r   r   ri   rr   rw   r|   r   r   r   r   r   rN   r   r   r
  r   DBL_MAX_EXPr  r  r  )r%   r  r  r  s       r&   test_dFloat_TestCase.test_d  s   '4$/1s+)Y857+T2=#56<>##67=)Y
;01Yy{3T: 29S>2C857+T2)Y6G8WwhcTBAYq\1- C-A{NC-BOD%%inc:%%iot<cNA! 21s   $!H99
Ic                 F   SSK Jn  U R                  U" S5      S5        U R                  U" S5      S5        U R                  U" S5      S5        U R                  U" [        5       5      S5        U R                  U" [	        S5      5      S5        U R                  U" [        S5      5      S5        U R                  [        U[        5       5        U R                  [        5         U R                  U" [        5       5      S5        S S S 5        U R                  U" [        S5      5      S5        U R                  U" [        5       5      S	5        U R                  [        U[        5       5        [        [        * [         [         * ["        ["        * 4 HK  n[%        US
5      nU R                  U" U5      U5        [%        S
U5      nU R                  U" U5      U5        MM     U R'                  U" [%        SS
5      5      R(                  S5        U R'                  U" [%        SS
5      5      R(                  S5        U R'                  U" [%        S
S5      5      R*                  S5        U R'                  U" [%        S
S5      5      R*                  S5        g ! , (       d  f       GN= f)Nr   )	getargs_Dr   rm   r  r  y      @        y      @      ?y     X@        r<   r  r	  )r   r  r   r   r   r   r   r   r   r   r   r   r   r   rN   r   r   r
  complexr  realimag)r%   r  r  cs       r&   test_DFloat_TestCase.test_D  s   '9-y94'21v.79-y9?9#=>	J#3I#>?K)Y
=01Y{}5yA 2;y#9:IF57+W5)Y6G8WwhcTBA3AYq\1-QAYq\1-	 C
 	%%iS0A&B&G&GM%%ic0B&C&H&H$O%%iS0A&B&G&GM%%iT0B&C&H&H$O 21s   %!J
J r#   N)r,   r-   r.   r/   r  r   requires_IEEE_754r  r  r   r0   r#   r*   r&   r   r     s,    "8 > >
"0Pr*   r   c                       \ rS rSrS rSrg)Paradoxi  c                     [         eN)NotImplementedErrorr$   s    r&   __bool__Paradox.__bool__  s    !!r*   r#   N)r,   r-   r.   r/   r(  r0   r#   r*   r&   r$  r$    s    "r*   r$  c                       \ rS rSrS rSrg)Boolean_TestCasei  c                    SSK Jn  U R                  SU" S5      5        U R                  SU" S 5      5        U R                  SU" S5      5        U R                  SU" S5      5        U R                  SU" S5      5        U R                  SU" S5      5        U R                  SU" S5      5        U R                  SU" / 5      5        U R                  SU" 0 5      5        U R                  SU" S	5      5        U R                  SU" S5      5        U R                  SU" S
5      5        U R                  SU" S5      5        U R                  SU" S5      5        U R                  SU" S5      5        U R                  SU" S/5      5        U R                  SU" SS05      5        U R                  SU" [        R                  5      5        U R                  [        U[        5       5        g )Nr   )	getargs_pFr  y                 r#   r   Tr<   y              ?r  r      )r   r-  r   unittestTestCaser   r'  r$  )r%   r-  s     r&   test_pBoolean_TestCase.test_p  s   'Ie,-IdO,IaL)IcN+IbM*IbM*IbM*IbM*IbM*IdO,IaL)IcN+IbM*IcN+IdO,IqcN+Iqe,-Ih&7&789-y')Dr*   r#   N)r,   r-   r.   r/   r3  r0   r#   r*   r&   r+  r+    s    Er*   r+  c                        \ rS rSrS rS rSrg)Tuple_TestCasei,  c                    SSK Jn  U" SS5      nU R                  US5        U R                  [	        U5      [
        5        U" S/SQ76 nU R                  US5        U R                  [	        U5      [
        5        U" SS/6 nU R                  US5        U R                  [	        U5      [
        5        U" [        SS/5      6 nU R                  US5        U R                  [	        U5      [
        5        U" 5       nU R                  US5        U R                  [	        U5      [
        [	        S 5      45        U" S	6 nU R                  US5        U R                  [	        U5      [
        [	        S 5      45        g )
Nr   )get_argsr   r0  r   r0  r0     r   r0  r;  )r#   Nr#   )r   r8  r   assertIstypetupler   assertIn)r%   r8  rets      r&   	test_argsTuple_TestCase.test_args-  s*   &q!nf%d3i'q"6"i(d3i'Af%d3i'q!f-.f%d3i'jc:&d3i%d!45mc:&d3i%d!45r*   c                     SSK Jn  U" SS5      nU R                  US5         " S S5      nU R                  [        USU" 5       5        g )Nr   )getargs_tupler   r:  r<  c                        \ rS rSrS rS rSrg)&Tuple_TestCase.test_tuple.<locals>.seqiO  c                     g)Nr0  r#   r$   s    r&   __len__.Tuple_TestCase.test_tuple.<locals>.seq.__len__P  s    r*   c                     [         er&  )
ValueError)r%   ns     r&   __getitem__2Tuple_TestCase.test_tuple.<locals>.seq.__getitem__R  s      r*   r#   N)r,   r-   r.   r/   rI  rN  r0   r#   r*   r&   seqrG  O  s    !r*   rP  )r   rE  r   r   r   )r%   rE  rA  rP  s       r&   
test_tupleTuple_TestCase.test_tupleH  sC    +Av&g&	! 	!
 	)]Asu=r*   r#   N)r,   r-   r.   r/   rB  rQ  r0   r#   r*   r&   r6  r6  ,  s    66>r*   r6  c                   J    \ 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)Keywords_TestCaseiV  c           	         SSK Jn  U" SSS9nU R                  USSS.5        U R                  [	        U5      [
        5        U" S
SS0SSS.D6nU R                  USSSS	.5        U R                  [	        U5      [
        5        U" S
0 [        SSS.5      D6nU R                  USSS.5        U R                  [	        U5      [
        5        U" 5       nU R                  U0 S 45        U R                  [	        U5      [
        [	        S 5      45        U" S
0 0 D6nU R                  U0 S 45        U R                  [	        U5      [
        [	        S 5      45        g )Nr   )
get_kwargsr   r0  abrX  r;  )rY  r  rX  rY  r  r#   )r   rV  r   r=  r>  dictr   r@  )r%   rV  rA  s      r&   test_kwargsKeywords_TestCase.test_kwargsW  s$   (1"AA./d3i&111aa 01AAA67d3i&:<aa(89:AA./d3i&lcB:&d3i$T
!342cB:&d3i$T
!34r*   c           	      B    U R                  [        SSSSS5      S5        g )Nr9  r;  r  )            	   
   
r   r0  r;  r  r`  ra  rc  rd  re  rf  r   r	   r$   s    r&   test_positional_args&Keywords_TestCase.test_positional_argsn  s#    UAy'2>+	r*   c           
      >    U R                  [        SSSSSS9S5        g )Nr9  r;  r_  rb  rf  )arg4arg5rg  rh  r$   s    r&   test_mixed_args!Keywords_TestCase.test_mixed_argsu  s#    UAywRH+	r*   c           
      >    U R                  [        SSSSSS9S5        g )Nr9  r;  r_  rb  rf  )arg1arg2arg3rl  rm  rg  rh  r$   s    r&   test_keyword_args#Keywords_TestCase.test_keyword_args|  s$    %aigTVW+	r*   c                 :    U R                  [        SSSS9S5        g )Nr9  r;  rf  )rq  rr  rm  )
r   r0  r;  r   r   r   r   r   r   rf  rh  r$   s    r&   test_optional_args$Keywords_TestCase.test_optional_args  s    %ab91	r*   c                      [        SS9  U R                  S5        g ! [         a%  nU R                  [	        U5      S5         S nAg S nAff = f)Nr9  )rq  !TypeError should have been raisedz1function missing required argument 'arg2' (pos 2)r	   failr   r   strr%   errs     r&   test_required_args$Keywords_TestCase.test_required_args  sQ    	;%(
 II9:	  	OCMO O	Os   	 
AAAc                      [        SSSSSS5        U R                  S5        g ! [         a%  nU R                  [	        U5      S5         S nAg S nAff = f)	Nr9  r;  r_  rb  rf  o   rz  z,function takes at most 5 arguments (6 given)r{  r~  s     r&   test_too_many_args$Keywords_TestCase.test_too_many_args  sT    	;U1Ywr#> II9:  	WSX'UVV	Ws   $ 
AAAc                      [        SSSSS9  U R                  S5        g ! [         a%  nU R                  [	        U5      S5         S nAg S nAff = f)Nr9  r;  rf    )rm  arg666rz  z9this function got an unexpected keyword argument 'arg666'r{  r~  s     r&   test_invalid_keyword&Keywords_TestCase.test_invalid_keyword  sP    	;U1"C8 II9:  	dSX'bcc	ds     
AA

Ac                      [        S0 SS0D6  U R                  S5        g ! [         a%  nU R                  [	        U5      S5         S nAg S nAff = f)N)r9  r;  r_  rb     rf  rz  6   this function got an unexpected keyword argument ''r{  r~  s     r&   test_surrogate_keyword(Keywords_TestCase.test_surrogate_keyword  sQ    	;Lh^L II9:  	dSX'bcc	ds   ! 
AAAr#   N)r,   r-   r.   r/   r\  ri  rn  rt  rw  r  r  r  r  r0   r#   r*   r&   rT  rT  V  s/    5.;;;;r*   rT  c                   P    \ 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)KeywordOnly_TestCasei  c                 <    U R                  [        SS5      S5        g )Nr   r0  r   r0  r   r   r
   r$   s    r&   ri  )KeywordOnly_TestCase.test_positional_args  s     A&	r*   c                 :    U R                  [        SSSS9S5        g )Nr   r0  r;  keyword_onlyr<  r  r$   s    r&   rn  $KeywordOnly_TestCase.test_mixed_args  s     AA6	r*   c                 :    U R                  [        SSSS9S5        g )Nr   r0  r;  )requiredoptionalr  r<  r  r$   s    r&   rt  &KeywordOnly_TestCase.test_keyword_args  s     !aaH	r*   c                 l    U R                  [        SSS9S5        U R                  [        SSS9S5        g )Nr   r0  )r  r  r  r;  )r  r  r   r   r;  r  r$   s    r&   rw  'KeywordOnly_TestCase.test_optional_args  s:     !a8	 	 !!<	r*   c                 P   U R                  [        S5      S5        U R                  [        SS9S5        U R                  [        S5         [        SS9  S S S 5        U R                  [        S5         [        SS9  S S S 5        g ! , (       d  f       N7= f! , (       d  f       g = f)	Nr   r   r   r   )r  z7function missing required argument 'required' \(pos 1\)r0  )r  r;  r  )r   r
   assertRaisesRegexr   r$   s    r&   r  'KeywordOnly_TestCase.test_required_args  s     #	 	 !,	
 ##IFH !,H ##IFH a0H H	H HH Hs   
B3
B
B
B%c                     U R                  [        S5         [        SSS5        S S S 5        U R                  [        S5         [        SSSSS9  S S S 5        g ! , (       d  f       N:= f! , (       d  f       g = f)Nz9function takes at most 2 positional arguments \(3 given\)r   r0  r;  z.function takes at most 3 arguments \(4 given\)r`  r  r  r   r
   r$   s    r&   r  'KeywordOnly_TestCase.test_too_many_args  sm    ##IHJ Aq)J ##I=? Aqq9? ?	J J? ?s   AA*
A'*
A8c                 z    U R                  [        S5         [        SSSS9  S S S 5        g ! , (       d  f       g = f)Nz:this function got an unexpected keyword argument 'monster'r   r0  r  )monsterr  r$   s    r&   r  )KeywordOnly_TestCase.test_invalid_keyword  s5    ##IHJ As3J J Js   ,
:c                 ~    U R                  [        S5         [        S0 SS0D6  S S S 5        g ! , (       d  f       g = f)Nr  r  rf  r9  r  r$   s    r&   r  +KeywordOnly_TestCase.test_surrogate_keyword  s8    ##IGI 8(B8I I Is   .
<c                 .    " S S[         5      nU R                  [        S5         [        S	0 U" S5      S0D6  S S S 5        U R                  [        S5         [        S	0 U" S5      S0D6  S S S 5        g ! , (       d  f       NA= f! , (       d  f       g = f)
Nc                        \ rS rSrS rS rSrg)<KeywordOnly_TestCase.test_weird_str_subclass.<locals>.BadStri  c                     grD   r#   r%   others     r&   __eq__CKeywordOnly_TestCase.test_weird_str_subclass.<locals>.BadStr.__eq__  s    r*   c                 2    [         R                  U 5      S-  $ )Nr;  r}  __hash__r$   s    r&   r  EKeywordOnly_TestCase.test_weird_str_subclass.<locals>.BadStr.__hash__  s    ||D)A--r*   r#   Nr,   r-   r.   r/   r  r  r0   r#   r*   r&   BadStrr    s    .r*   r  *invalid keyword argument for this functionr  r;  0this function got an unexpected keyword argumentr  r  r9  r}  r  r   r
   r%   r  s     r&   test_weird_str_subclass,KeywordOnly_TestCase.test_weird_str_subclass  s    	.S 	. ##I8: E&*@!)DE: ##I>@ B&*;S)AB@ @: :@ @   A5B5
B
Bc                 .    " S S[         5      nU R                  [        S5         [        S	0 U" S5      S0D6  S S S 5        U R                  [        S5         [        S	0 U" S5      S0D6  S S S 5        g ! , (       d  f       NA= f! , (       d  f       g = f)
Nc                        \ rS rSrS rS rSrg)=KeywordOnly_TestCase.test_weird_str_subclass2.<locals>.BadStri  c                     g)NFr#   r  s     r&   r  DKeywordOnly_TestCase.test_weird_str_subclass2.<locals>.BadStr.__eq__  s    r*   c                 ,    [         R                  U 5      $ r&  r  r$   s    r&   r  FKeywordOnly_TestCase.test_weird_str_subclass2.<locals>.BadStr.__hash__  s    ||D))r*   r#   Nr  r#   r*   r&   r  r    s    *r*   r  r  r  r;  r  r  r  r9  r  r  s     r&   test_weird_str_subclass2-KeywordOnly_TestCase.test_weird_str_subclass2  s    	*S 	*
 ##I8: E&*@!)DE: ##I>@ B&*;S)AB@ @: :@ @r  r#   N)r,   r-   r.   r/   ri  rn  rt  rw  r  r  r  r  r  r  r0   r#   r*   r&   r  r    s6    	1$:49
CCr*   r  c                   >    \ rS rSrSSKJr  S rS rS r	S r
S rS	rg
)"PositionalOnlyAndKeywords_TestCasei  r   )$getargs_positional_only_and_keywordsc                 J    U R                  U R                  SSS5      S5        g )Nr   r0  r;  r<  r   getargsr$   s    r&   ri  7PositionalOnlyAndKeywords_TestCase.test_positional_args  s    aA.	:r*   c                 F    U R                  U R                  SSSS9S5        g )Nr   r0  r;  keywordr<  r  r$   s    r&   rn  2PositionalOnlyAndKeywords_TestCase.test_mixed_args  s!    aA6	Br*   c                     U R                  U R                  SS5      S5        U R                  U R                  SSS9S5        g )Nr   r0  r  r;  r  r  r  r$   s    r&   rw  5PositionalOnlyAndKeywords_TestCase.test_optional_args  s:    a+Z8a3Z@r*   c                 D   U R                  U R                  S5      S5        U R                  [        S5         U R                  5         S S S 5        U R                  [        S5         U R                  SS9  S S S 5        g ! , (       d  f       N== f! , (       d  f       g = f)Nr   r  9function takes at least 1 positional argument \(0 given\)r;  r  )r   r  r  r   r$   s    r&   r  5PositionalOnlyAndKeywords_TestCase.test_required_args   s    a+6##IHJLLNJ ##IHJLLL#J J	J JJ Js   B 'B 
B
Bc                     U R                  [        S5         U R                  " S0 SS0D6  S S S 5        g ! , (       d  f       g = f)Nz3this function got an unexpected keyword argument ''r.  r  r9  )r  r   r  r$   s    r&   test_empty_keyword5PositionalOnlyAndKeywords_TestCase.test_empty_keyword+  s<    ##IACLL+"c+C C Cs	   5
Ar#   N)r,   r-   r.   r/   r   r  r  ri  rn  rw  r  r  r0   r#   r*   r&   r  r    s     I;CA
	$,r*   r  c                   8    \ rS rSrS rS rS rS rS rS r	Sr
g	)
Bytes_TestCasei1  c                 z   SSK Jn  U R                  [        US5        U R	                  U" S5      S5        U R	                  U" [        S5      5      S5        U R                  [        U[        S5      5        U R                  [        US5        U R                  [        US5        U R                  [        US 5        g )Nr   )	getargs_cs   abc   aa   s)r   r  r   r   r   	bytearray
memoryview)r%   r  s     r&   test_cBytes_TestCase.test_c2  s    ')Y74"-9T?3R8)Y
40@A)Y4)Y3)Y5r*   c                 J   SSK Jn  U R                  [        US5        U R	                  U" S5      S5        U R                  [
        US5        U R                  [        U[        S5      5        U R                  [        U[        S5      5        U R                  [        US 5        g )Nr   )	getargs_y   abcé   bytes   nul: 	   bytearray
   memoryview)r   r  r   r   r   rL  r  r  )r%   r  s     r&   test_yBytes_TestCase.test_y<  s~    ')Y	:8,h7*i;)Y	,0GH)Y
=0IJ)Y5r*   c                    SSK Jn  U R                  [        US5        U R	                  U" S5      S5        U R	                  U" S5      S5        U R	                  U" [        S5      5      S5        U R	                  U" [        S5      5      S5        U R                  [        US 5        U R                  [        U[        5        U R                  [        U[        5        g )Nr   )getargs_y_starr  r  r  r  r  )
r   r  r   r   r   r  r  BufferErrorNONCONTIG_WRITABLENONCONTIG_READONLY)r%   r  s     r&   test_y_starBytes_TestCase.test_y_starE  s    ,)^Y?18<	2I>	,(?@,O
=(ABMR)^T:+~7IJ+~7IJr*   c                    SSK Jn  U R                  [        US5        U R	                  U" S5      S5        U R	                  U" S5      S5        U R                  [        U[        S5      5        U R                  [        U[        S5      5        U R                  [        US 5        U R                  [        U[        5        U R                  [        U[        5        g )Nr   )getargs_y_hashr  r  r  r  r  )	r   r  r   r   r   r  r  r  r  )r%   r  s     r&   test_y_hashBytes_TestCase.test_y_hashP  s    ,)^Y?18<	2I>)^Y|5LM)^Z5NO)^T:)^5GH)^5GHr*   c           	         SSK JnJn  X4 GHS  nU R                  US9   U R	                  [
        US5        U R	                  [
        US5        U R	                  [
        US5        U R	                  [
        U[        S5      5        [        S5      nU R                  U" U5      S5        U R                  U[        S5      5        [        S	5      nU R                  U" [        U5      5      S
5        U R                  U[        S
5      5        U R	                  [
        US 5        U R	                  [
        U[        5        U R	                  [
        U[        5        S S S 5        GMV     g ! , (       d  f       GMi  = f)Nr   )getargs_w_stargetargs_w_star_opt)funcr  r  r  r  s	   [ytearra]r  s
   [emoryvie])r   r  r  subTestr   r   r  r  r   r  r  )r%   r  r  r   bufs        r&   test_w_starBytes_TestCase.test_w_star\  s"    	A#8D4(!!)T9=!!)T8<!!)T9=!!)T:h3GH-  cL9  i&=>.  jo!6F  i&>?!!)T48!!)T3EF!!)T3EF )( 9((s   D8E%%
E5	c           
      $   SSK Jn  U R                  U" 5       5        U R                  [        US5        U R                  [        USSS5        U R                  [        USS9  U R                  [        USSS9  U R                  [        USS	S
SSS9  g )Nr   )getargs_emptyr   r0  r;  rX  rW  r  yz)r   r  
assertTruer   r   )r%   r  s     r&   test_getargs_empty!Bytes_TestCase.test_getargs_emptyq  s    +()]A6)]Aq!<)]a8)]a1=)]CcQ!Lr*   r#   N)r,   r-   r.   r/   r  r  r  r  r  r  r0   r#   r*   r&   r  r  1  s$    66	K
IG*Mr*   r  c                   \    \ 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Srg)String_TestCasei{  c                    SSK Jn  U R                  [        US5        U R	                  U" S5      S5        U R	                  U" S5      S5        U R	                  U" S5      S	5        U R                  [        US
5        U R                  [        U[        S
5      5        U R                  [        U[        S
5      5        U R                  [        US5        U R                  [        US 5        g )Nr   )	getargs_CabcrX  r  u   €i   u   🐍i r  )r   r  r   r   r   r  r  )r%   r  s     r&   test_CString_TestCase.test_C|  s    ')Y63,8,f5<0':)Y5)Y	$@)Y
40@A)Y3)Y5r*   c                 J   SSK Jn  U R                  U" S5      S5        U R                  [        US5        U R                  [
        US5        U R                  [
        U[        S5      5        U R                  [
        U[        S5      5        U R                  [
        US 5        g )	Nr   )	getargs_sr     abcénul: r  r  r  )r   r  r   r   rL  r   r  r  )r%   r  s     r&   test_sString_TestCase.test_s  s~    '9-~>*i:)Y9)Y	,0GH)Y
=0IJ)Y5r*   c                    SSK Jn  U R                  U" S5      S5        U R                  U" S5      S5        U R                  U" S5      S5        U R                  U" [        S5      5      S5        U R                  U" [	        S	5      5      S	5        U R                  [        US 5        U R                  [        U[        5        U R                  [        U[        5        g )
Nr   )getargs_s_starr  r  r  r  r  r  r  )
r   r  r   r  r  r   r   r  r  r  )r%   r  s     r&   test_s_starString_TestCase.test_s_star  s    ,	2NC19=18<	,(?@,O
=(ABMR)^T:+~7IJ+~7IJr*   c                    SSK Jn  U R                  U" S5      S5        U R                  U" S5      S5        U R                  U" S5      S5        U R                  [        U[        S5      5        U R                  [        U[        S	5      5        U R                  [        US 5        U R                  [        U[        5        U R                  [        U[        5        g )
Nr   )getargs_s_hashr  r  r  r  r  r  r  )	r   r  r   r   r   r  r  r  r  )r%   r  s     r&   test_s_hashString_TestCase.test_s_hash  s    ,	2NC19=18<)^Y|5LM)^Z5NO)^T:)^5GH)^5GHr*   c                 J   SSK Jn  U R                  U" S5      S5        U R                  [        US5        U R                  [
        US5        U R                  [
        U[        S5      5        U R                  [
        U[        S5      5        U R                  U" S 5      5        g )	Nr   )	getargs_zr  r  r  r  r  r  )	r   r#  r   r   rL  r   r  r  assertIsNone)r%   r#  s     r&   test_zString_TestCase.test_z  s~    '9-~>*i:)Y9)Y	,0GH)Y
=0IJ)D/*r*   c                    SSK Jn  U R                  U" S5      S5        U R                  U" S5      S5        U R                  U" S5      S5        U R                  U" [        S5      5      S5        U R                  U" [	        S	5      5      S	5        U R                  U" S 5      5        U R                  [        U[        5        U R                  [        U[        5        g )
Nr   )getargs_z_starr  r  r  r  r  r  r  )
r   r(  r   r  r  r$  r   r  r  r  )r%   r(  s     r&   test_z_starString_TestCase.test_z_star  s    ,	2NC19=18<	,(?@,O
=(ABMR../+~7IJ+~7IJr*   c                    SSK Jn  U R                  U" S5      S5        U R                  U" S5      S5        U R                  U" S5      S5        U R                  [        U[        S5      5        U R                  [        U[        S	5      5        U R                  U" S 5      5        U R                  [        U[        5        U R                  [        U[        5        g )
Nr   )getargs_z_hashr  r  r  r  r  r  r  )
r   r,  r   r   r   r  r  r$  r  r  )r%   r,  s     r&   test_z_hashString_TestCase.test_z_hash  s    ,	2NC19=18<)^Y|5LM)^Z5NO../)^5GH)^5GHr*   c                    SSK Jn  U R                  U" S5      S5        U R                  U" SS5      S5        U R                  [        USS5        U R                  [
        USS5        U R                  [        US	S5        U R                  [        U[        S
5      S5        U R                  [        U[        S5      S5        U R                  [        US S5        U R                  [        USS5        g )Nr   )
getargs_esr  r  latin1   abcasciispamr  r  r  r  )	r   r0  r   r   UnicodeEncodeErrorLookupErrorr   r  r  )r%   r0  s     r&   test_esString_TestCase.test_es  s    (I.?Ix8*E,j)WM+z9fE)Z8D)Z<1H(S)ZM1JHU)Zx@)Z8Dr*   c                 \   SSK Jn  U R                  U" S5      S5        U R                  U" SS5      S5        U R                  [        USS5        U R                  [
        USS5        U R                  U" S	S5      S	5        U R                  U" [        S
5      S5      S
5        U R                  [        U[        S5      S5        U R                  [        US S5        U R                  [        USS5        U R                  [        USS5        U R                  [        U[        S5      S5        g )Nr   )
getargs_etr  r  r1  r2  r3  r4  r  r  r  r  r  )	r   r:  r   r   r5  r6  r  r   r  )r%   r:  s     r&   test_etString_TestCase.test_et  s    (I.?Ix8*E,j)WM+z9fEHh7BIl$;XFU)ZM1JHU)Zx@)Z8D)ZHE)Z91ExPr*   c                    SSK Jn  U R                  U" S5      S5        U R                  U" SS5      S5        U R                  [        USS5        U R                  [
        USS5        U R                  [        US	S5        U R                  [        U[        S
5      S5        U R                  [        U[        S5      S5        U R                  [        US S5        U R                  U" SS5      S5        [        S5      nU R                  U" SSU5      S5        U R                  U[        S5      5        [        S5      nU R                  U" SSU5      S5        U R                  U[        S5      5        [        S5      nU R                  [        USSU5        U R                  U[        S5      5        [        5       nU R                  [        USSU5        g )Nr   )getargs_es_hashr  r  r1  r2  r3  r4  r  r  r  r  r     xxxxxxxx   abc xxx   xxxxx   abc    xxxx)
r   r>  r   r   r5  r6  r   r  r  rL  )r%   r>  r  s      r&   test_es_hashString_TestCase.test_es_hash  s   -3^DH=zJ,oy'R+	6J)_hI)_i6MxX)_j6OQYZ)_dHE8<iHHcBJOi(9:;HcBJOi78*oy(CPi/0k*oy(CPr*   c                 &   SSK Jn  U R                  U" S5      S5        U R                  U" SS5      S5        U R                  [        USS5        U R                  [
        USS5        U R                  U" S	S5      S	5        U R                  U" [        S
5      S5      S
5        U R                  [        U[        S5      S5        U R                  [        US S5        U R                  U" SS5      S5        U R                  U" SS5      S5        U R                  U" [        S5      S5      S5        [        S5      nU R                  U" SSU5      S5        U R                  U[        S5      5        [        S5      nU R                  U" SSU5      S5        U R                  U[        S5      5        [        S5      nU R                  [        USSU5        U R                  U[        S5      5        [        5       nU R                  [        USSU5        g )Nr   )getargs_et_hashr  r  r1  r2  r3  r4  r  r  r  r  r  r?  r@  rA  rB  rC  )
r   rG  r   r   r5  r6  r  r   r  rL  )r%   rG  r  s      r&   test_et_hashString_TestCase.test_et_hash  s   -3^DH=zJ,oy'R+	6J8<hG<)@(K\Z)_j6OQYZ)_dHE8<iHH=yI9)=xH)THcBJOi(9:;HcBJOi78*oy(CPi/0k*oy(CPr*   c                 @    SSK Jn  U R                  [        USS5        g )Nr   )gh_99240_clear_argsrX  z b)r   rK  r   r   )r%   rK  s     r&   test_gh_99240_clear_args(String_TestCase.test_gh_99240_clear_args  s    1)%8#uEr*   r#   N)r,   r-   r.   r/   r  r  r  r   r%  r)  r-  r7  r;  rD  rH  rL  r0   r#   r*   r&   r  r  {  sG    
66	K
I+	K
I
EQQ0Q4Fr*   r  c                   &    \ rS rSrS rS rS rSrg)Object_TestCasei  c                     SSK Jn  SnU R                  U" U5      U5        U R                  [        U[        S5      5        U R                  [        US5        U R                  [        US 5        U R                  [        U[        U5      5        g )Nr   )	getargs_Sr  r  r}  )r   rQ  r=  r   r   r  r  )r%   rQ  objs      r&   test_SObject_TestCase.test_S  sm    'inc*)Y	,0GH)Y6)Y5)Y
3@r*   c                     SSK Jn  [        S5      nU R                  U" U5      U5        U R	                  [
        US5        U R	                  [
        US5        U R	                  [
        US 5        U R	                  [
        U[        U5      5        g )Nr   )	getargs_Yr  r  r}  )r   rV  r  r=  r   r   r  )r%   rV  rR  s      r&   test_YObject_TestCase.test_Y#  sm    '%inc*)Y9)Y6)Y5)Y
3@r*   c                     SSK Jn  SnU R                  U" U5      U5        U R                  [        US5        U R                  [        U[        S5      5        U R                  [        US 5        g )Nr   )	getargs_Ur}  r  r  )r   rZ  r=  r   r   r  )r%   rZ  rR  s      r&   test_UObject_TestCase.test_U,  sW    'inc*)Y9)Y	,0GH)Y5r*   r#   N)r,   r-   r.   r/   rS  rW  r[  r0   r#   r*   r&   rO  rO    s    AA6r*   rO  c                       \ rS rSrS rSrg)Test6012i6  c                 P    U R                  [        R                  SS5      S5        g )Nr   Worldr   )r   r   
argparsingr$   s    r&   testTest6012.test7  s    --gw?Cr*   r#   N)r,   r-   r.   r/   rb  r0   r#   r*   r&   r^  r^  6  s    Dr*   r^  c                   F    \ rS rSr\R
                  " \S9S 5       rS rSr	g)SkipitemTesti;  )categoryc                    SnSnSS0nSS/n[        SS5       Hv  n[        U5      nUS;   a  M  US	-   n [        R                  X#Xt5        S
nSU-   n [        R                  XX5        S
nSR                  XeX5      nU R                  XU5        Mx     g ! [         a  n	Sn
[        U	5      U
:H  n S n	A	NfS n	A	f[         a    S
n Nwf = f! [         a)  n	SR                  U5      n
[        U	5      U
:H  n S n	A	NS n	A	ff = f)Nr#   r   rY  r   rX         z()ew|$iFz(argument 1 (impossible<bad format char>)|z!impossible<bad format char>: '{}'ztest_skipitem_parity: detected mismatch between convertsimple and skipitem for format unit '{}' ({}), not skipped {}, skipped {})	rangechrr   parse_tuple_and_keywordsSystemErrorr}  r   formatr=  )r%   empty_tupletuple_1dict_bkeywordsrk  r  rq  when_not_skippeder  optional_formatwhen_skippedmessages                 r&   test_skipitemSkipitemTest.test_skipitem>  s#   6 a:r3AAA
 H} WF)227&#(  "FlO-22;#/$
HHN,I:  MM,'BG    1>$'FaK  )#( )  -7>>vF #A!-s5   BC
CB33CC
C;C66C;c           
         [         R                  nSnSnSS0nSS/nSn[        R                   Hg  nS H^  nXx-   n	U R	                  U	S9   S	U	-   S
-   n
X;   a
  U" X$X5        O(U R                  [        S5         U" X$X5        S S S 5        S S S 5        M`     Mi     [        [        [        SS5      5       H`  nSU-   n	S	U	-   S
-   n
U R	                  U	S9   US;   a
  U" X$X5        O(U R                  [        S5         U" X$X5        S S S 5        S S S 5        Mb     g ! , (       d  f       N= f! , (       d  f       GM  = f! , (       d  f       N?= f! , (       d  f       M  = f)Nr#   rh  rY  r   rX  )zs#zs*zz#zz*zy#zy*zw*z#*)rq  rl  rk  zimpossible<bad format char>ri  r   rw  st)
r   ro  stringascii_lettersr  r  rp  maprn  rm  )r%   parserr  rs  rt  ru  	supportedr  c2frx  s              r&   test_skipitem_with_suffix&SkipitemTest.test_skipitem_with_suffix  sG   22a:>	%%AF\\\+&)AgmO~k?M!33K$AC!+QC ,+  & S%C.)AaA!AgmOQ'9+I// =?k?M?	 (' *	C C ,+ ? ?	 ('sH   
.D*8
D	D*'E:
D=E
D'#D**
D:=
EE
E	r#   N)
r,   r-   r.   r/   r   ignore_warningsr   r{  r  r0   r#   r*   r&   re  re  ;  s.     $$.@ABC BBCHNr*   re  c                   n    \ rS rSrS rS rS rS rS rS r	\
R                  " \SL S	5      S
 5       rSrg)ParseTupleAndKeywords_Testi  c           	      N   U R                  [        [        R                  S0 S/ 5        U R                  [        [        R                  S0 SS5        U R                  [        [        R                  S0 SS/S-  5        U R                  [        [        R                  S0 SS/5        g )Nr#   r   r.  )r   r   r   ro  rL  r$   s    r&   test_parse_tuple_and_keywords8ParseTupleAndKeywords_Test.test_parse_tuple_and_keywords  s    )Y%G%Gb"b	**i&H&Hb"b	**i&H&Hb"rdRi	1*i&H&Hb"rd	,r*   c           	         [         R                  nU R                  U" SSS0SS/5      S5        U R                  U" S0 SS/5      [        45        U R                  U" S0 SSS	/5      S5        U R                  U" SS	S
0SSS	/5      S5        U R                  U" SSS
S.SSS	/5      S5        U R                  U" SS	S
0SSS	/5      [        S
45        U R	                  [
        S5         U" S0 SS/5        S S S 5        U R	                  [
        S5         U" SS	S0SS/5        S S S 5        U R	                  [
        S5         U" SSS
0SSS	/5        S S S 5        g ! , (       d  f       Nj= f! , (       d  f       NN= f! , (       d  f       g = f)Nr#   rX  r   Or/  |Or9  OOrY  r0  rW  |OOz&function missing required argument 'a'4this function got an unexpected keyword argument 'b'z>argument for function given by name \('a'\) and position \(1\)O|O)r   ro  r   NULLr  r   r%   r  s     r&   
test_basic%ParseTupleAndKeywords_Test.test_basic  s   22rC8S3%8$?r2tcU3dW=vr4#s<fEtc1Xtc3Z@&Ir#3TC:FOrC8US#J?$K##I8:"b#u%: ##IFH"sAhse,H ##I&( $a%#s4( (: :H H( (s$   'EE)?E:
E&)
E7:
Fc           	      V   U R                  [        [        R                  S0 SS/5        U R                  [        [        R                  S0 SSS/5        U R                  [        [        R                  SSS0S	S/5        U R                  [        [        R                  SSS
S.SSS/5        U R                  [        [        R                  SSS0SS/5        U R                  [        [        R                  SSS
S.SSS/5        U R                  [        [        R                  S0 SSS/5        U R                  [        [        R                  S0 SS/5        U R                  [        [        R                  S0 SS/5        U R                  [        [        R                  S0 SSS/5        g )Nr/  z||OrX  r9  z|O|OrY  r#   r   z$$Or0  rW  z$O$Oz$|Oz$O|Or  r  z|$Or.  )r   rp  r   ro  r$   s    r&   test_bad_use'ParseTupleAndKeywords_Test.test_bad_use  s    	+y'I'IEC5	2+y'I'I "fsCj	:+y'I'IsAhu	6+y'I'IAA.c
	D+y'I'IsAhu	6+y'I'IAA.c
	D+y'I'ID3*	6+y'I'IEC5	2+y'I'Ib%"	/+y'I'Ib%#r	4r*   c           	      b   [         R                  nU R                  U" S0 S/ SQ5      S5        U R                  U" SSS0S/ SQ5      S5        U R                  [        S5         U" SSS0S/ SQ5        S S S 5        U R                  U" S0 S	/ SQ5      S
[
        [
        45        U R                  [        S5         U" S0 S	/ SQ5        S S S 5        U R                  U" SSS0S/ SQ5      S5        U R                  [        S5         U" SSS0S/ SQ5        S S S 5        U R                  U" S0 S/ SQ5      S
[
        [
        45        U R                  [        S5         U" S0 S/ SQ5        S S S 5        U R                  [        S5         U" S0 S/ SQ5        S S S 5        U R                  [        S5         U" S0 S	/ SQ5        S S S 5        g ! , (       d  f       GN]= f! , (       d  f       GN= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       g = f)Nr<  OOO)r.  r.  rX  r9  rX  r;  z:function takes at least 2 positional arguments \(1 given\)r/  zO|OOr   r  r#   zOO$Oz9function takes exactly 2 positional arguments \(1 given\)zO|O$OzEmpty parameter name after \$zO|$OOzEmpty keyword)r.  rX  r.  )r   ro  r   r  r   r  rp  r  s     r&   test_positional_only/ParseTupleAndKeywords_Test.test_positional_only  s   22y"e]CYOvQxF	R##ILN$a%7N 	tR?T4	*##IKM"b&-0M 	vQxG"	$##IKM$a&-8M 	tR-@T4	*##IKM"b'=1M ##K1QR$G]3 S##KA$FM2 BA)N N
M M
M M
M M SRAAsH   #G	9GG-G>H2H 	
G
G*-
G;>
H
H 
H.c                    [         R                  nS GH  nU R                  US9   U R                  U" SUS0SU/5      S5        U R                  U" S0 SU/5      [        45        U R                  [        SU S	35         U" S0 SU/5        S S S 5        U R                  [        S
U S35         U" SUS0SUS/5        S S S 5        U R                  [        SU S	35         U" SUS0SS/5        S S S 5        U R                  [        S5         U" SSS0SU/5        S S S 5        UR                  5       UR                  5       S S =(       d    S-   nU R                  U" S0 SU/5      [        45        U R                  U" SSS0SUS/5      S5        U R                  [        SU S35         U" S0 SU/5        S S S 5        U R                  [        S5         U" SSS0SUS/5        S S S 5        U R                  [        S5         U" SSS0SU/5        S S S 5        S HL  nU R                  US9   U R                  [        SU S	35         U" SUS0SU/5        S S S 5        S S S 5        MN     UR                  5       R                  S5      nXB:w  ai  U R                  [        SU S	35         U" SUS0SU/5        S S S 5        US-   nU R                  [        SU S	35         U" SUSUS0SX%/5        S S S 5        S S S 5        GM     g ! , (       d  f       GN= f! , (       d  f       GNc= f! , (       d  f       GND= f! , (       d  f       GN)= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GNh= f! , (       d  f       GN4= f! , (       d  f       GM  = f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       GM  = f)N)rX     äu   ŷu   㷷u   𐀀)namer#   r   r  r/  r  z$function missing required argument ''z'argument for function given by name \('z'\) and position \(1\)r0  r  rY  z2this function got an unexpected keyword argument 'r  r      r9  u   �'z"'utf-8' codec can't decode bytes? r  )rY     ëu   ĉu   Ɐu   𐀁)name2r1  3)
r   ro  r  r   r  r  r   encodeUnicodeDecodeErrordecode)r%   r  r  invalidr  name3s         r&   test_nonascii_keywords1ParseTupleAndKeywords_Test.test_nonascii_keywords  s   224D4(  rD!9cD6!BDI  r2tdV!<tgF++I>tfAFH"b#v.H ++IB4& I. /0 $q	54+>0 ++ILTFRSTV"tQiu5V ++INP"sAhtf5P ++-4;;="+=+HI  r2tgY!?$I  tc1Xuwn!M$*,++I>tfGLN"b#y1N ++,><?"sAh~>? ++,><?"sAhwi8? >EE2!33I"TUZT[[\ ]_!"uaj$?_ 32 > ,,X6=//	PQVPWWXY[b5!*dTF;[ !3JE//	PQVPWWXY[b5!UA"6}M[W )( 5H H0 0V VP PN N? ?? ?_ _ 32[ [[ [W )(s  AO L	"O/L?"O!L-0OL?BO,M9OM#'OM5O0N	NN	"A
O,N,;'O"N=3O	
LO
L*%O-
L<7O?
M	O
M O#
M2-O5
N?O
NN	
N)#	O,
N:6O=
OO
O	c           	         [         R                  nU R                  U" S0 SS/5      S5        U R                  U" S0 S/ SQ5      S5        U" S0 S	S/5        U R                  [        S
5         U" S0 SS/5        S S S 5        U R                  [        S5         U" S0 SS/5        S S S 5        U R                  [        S5         U" S0 SS/5        S S S 5        U R                  [        S5         U" S0 SS/5        S S S 5        S Hd  nU R                  [        5         U" S0 SU-   S-   S/5        S S S 5        U R                  [        S5         U" S0 SU-   S-   S/5        S S S 5        Mf     g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       M  = f)N)r<  z(OOO)rX  r<  )r   r:  r  zO(OO)OrZ  )r   r0  r;  r  z(iii)z.argument 1 must be sequence of length 2, not 3z(ii)z.argument 1 must be sequence of length 2, not 1)r/  z+argument 1 must be 2-item sequence, not intr/  z-argument 1 must be 2-item sequence, not bytes)s   ab)esetzes#zet#)r  ()z.argument 1 must be sequence of length 1, not 0)r#   )r   ro  r   r  r   r   r6  )r%   r  r  s      r&   test_nested_tuple,ParseTupleAndKeywords_Test.test_nested_tuple,  s   22|R3%@)L~r8_M%	'lB#/##I@B,FSE2B ##I@B'2vu-B ##I=?$FSE*? ##I?A(B.A *A"";/iS1Ws]SE: 0''	DFeRq36F F *B BB B? ?A A
 0/F FsH   ,E-E>F-F F1G-
E;>
F
F 
F.1
F?	
G	Nzneeds _testinternalcapic                 \    [         R                  " SS5      u  pnU R                  US5        g )Nz-caa  if True:
            from test import support
            script = '''if True:
                import _testinternalcapi
                _testinternalcapi.gh_119213_getargs(spam='eggs')
                '''
            config = dict(
                allow_fork=False,
                allow_exec=False,
                allow_threads=True,
                allow_daemon_threads=False,
                use_main_obmalloc=False,
                gil=2,
                check_multi_interp_extensions=True,
            )
            rc = support.run_in_subinterp_with_config(script, **config)
            assert rc == 0

            # The crash is different if the interpreter was not destroyed first.
            #interpid = _testinternalcapi.create_interpreter()
            #rc = _testinternalcapi.exec_interpreter(interpid, script)
            #assert rc == 0
            r   )r   assert_python_okr   )r%   rcoutr  s       r&   test_gh_119213)ParseTupleAndKeywords_Test.test_gh_119213H  s/    $55d = . 	Qr*   r#   )r,   r-   r.   r/   r  r  r  r  r  r  r1  skipIf_testinternalcapir  r0   r#   r*   r&   r  r    sI    	,5*40381Nf78 __&$.0IJ  K r*   r  __main__)ar1  mathr  sysrb  r   test.supportr   r   r   test.support.testcaser   import_moduler   r	   r
   r  ImportErrorr  LARGEr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   
float_infomax_expr  floatr
  r  r   r   r   r   intr3   r8   rA   rI   rN   rU   rZ   r_   rd   ri   rr   rw   r|   r   r   r   r  r   r   r   r   r   r?  r   r[  r   r  r  r  r  r2  r   r   r   r   r$  r+  r6  rT  r  r  r  r  rO  r^  re  r  r,   mainr#   r*   r&   <module>r     sN      
  & & ( 9''4	 <D 	'
< < < < < nn$$ElEl 		
 s    
 #   c 
 	E 	U  # ## #
 	g 	w  * **' *
	E 		4 	  	, 782> -dd3 zH)) zHx`@h'' `@F0I)) 0IfRPX&&(? RPj" "
Ex(( E4(>X&& (>TU;)) U;n`C8,, `CF,):): ,BGMX&& GMT[Fh'' [F|6h'' 6:Dx   D
eN8$$ eNP~ !2!2 ~ B zMMO i*  s   
L! !L-,L-