
    h}                         S SK r S SKrS SKrSSKJrJrJrJrJr  SSK	J
r
Jr   " S S\R                  5      r " S S\R                  5      rg)	    N   )inferred_method_return_types"find_return_type_of_builtin_methodunsafe_compile_time_methodsis_safe_compile_time_methodbuiltin_scope)KNOWN_PYTHON_BUILTINS_VERSIONKNOWN_PYTHON_BUILTINSc                       \ rS rSrS rSrg)TestBuiltinReturnTypes   c                 P   [         R                  S:  n[        R                  " 5        H  u  p#[	        [
        US:w  a  UOS5      nUR                  5        H  u  pV[        R                  " U5      R                  n[        Xu5      nUR                  (       ai  SU;   a  UR                  S5      S   nUS:X  a  UnU R                  UR                  U5        U(       a"  U R                  [        XE5      U SU 35        M  M  U R                  UR!                  SS	9U5        M     M     g )
N)   
   unicodestr[r   T.T)pyrex)sysversion_infor   itemsgetattrbuiltinsr   lookuptyper   is_builtin_type	partitionassertEqualname
assertTruehasattrempty_declaration_code)	selflook_up_methods	type_namemethodspy_typemethod_namereturn_type_namebuiltin_typereturn_types	            [/var/www/fran/franai/venv/lib/python3.13/site-packages/Cython/Compiler/Tests/TestBuiltin.py'test_find_return_type_of_builtin_method>TestBuiltinReturnTypes.test_find_return_type_of_builtin_method   s
   **f4">"D"D"FIhY)5K	QVWG18-,33I>CC@[....+;+E+Ec+J1+M('3.+4($$[%5%57GH&(E)TUVaUbGcd ' $$[%G%Gd%G%SUef 2A #G     N)__name__
__module____qualname____firstlineno__r/   __static_attributes__r2   r1   r.   r   r      s    gr1   r   c                        \ rS rSrS rS rSrg)TestBuiltinCompatibility'   c                    [        [        5      n[        R                  S:w  a  UR	                  S5        [        S [        [        5       5       5      n[        R                  [        :  aH  X-
  nU(       a,  U R                  SSR                  [        U5      5       35        U R                  S5        U R                  X!5        g )Nwin32WindowsErrorc              3   6   #    U  H  nUS ;  d  M  Uv   M     g7f))__doc__
__loader__r3   __package____spec__Nr2   ).0r!   s     r.   	<genexpr>MTestBuiltinCompatibility.test_python_builtin_compatibility.<locals>.<genexpr>,   s"      %]*T[[ D]s   
	z=skipping test, older Python release found. Missing builtins: z, z*skipping test, older Python release found.)setr
   r   platformdiscard	frozensetdirr   r   r	   skipTestjoinsortedassertSetEqual)r%   expected_builtinsruntime_builtinsmissing_builtinss       r.   !test_python_builtin_compatibility:TestBuiltinCompatibility.test_python_builtin_compatibility(   s     56<<7"%%n5$ %] ]%] ] ;;0C ]^b^g^ghno  iA  _B  ^C  D  EMMFG,@r1   c                 F   [         R                  " 5        H  u  pU R                  U[        5        [	        [
        U5      n[        [        U   5      nU R                  UR                  U5      5        U H%  n[	        X5S5      nUb  M  U R                  XR5        M'     M     g)zValidate the table of builtin methods that are not safe for compile time evaluation
against the table of known builtin methods (and their types).
N)r   r   assertIsInstancerF   r   r   rM   r   assertFalse
differenceassertIn)r%   builtin_type_nameunsafe_methodsr,   known_methodsr*   builtin_methods          r.    test_unsafe_compile_time_methods9TestBuiltinCompatibility.test_unsafe_compile_time_methods6   s     2M1R1R1T-!!.#6"8->?L",->?AM ^66}EF,!(D!I!)MM+>	  - 2Ur1   r2   N)r3   r4   r5   r6   rR   r]   r7   r2   r1   r.   r9   r9   '   s    Ar1   r9   )r   r   unittestBuiltinr   r   r   r   r   Coder	   r
   TestCaser   r9   r2   r1   r.   <module>rc      sC     
  gX.. g0!x00 !r1   