
    daf+                         d dl Z  G d de j                        Z G d de j                        Z G d de j                        Z G d d	e j                        Zed
k(  rd dl Z  e j                          yy)    Nc                       e Zd Zd Zy)TestLoadSuperAttrCachec                 *   g  G fdd       G fdd      } G d d|      } |       }| j                  |j                         d       j                          | j                  |j                         d       | j                  ||fg       y )Nc                       e Zd Z fdZy)[TestLoadSuperAttrCache.test_descriptor_not_double_executed_on_spec_fail.<locals>.Descriptorc                 0    j                  ||f       d S )Nc                       yN    r       ,/root/Python-3.12.4/Lib/test/test_opcache.py<lambda>zuTestLoadSuperAttrCache.test_descriptor_not_double_executed_on_spec_fail.<locals>.Descriptor.__get__.<locals>.<lambda>
       r   )append)selfinstanceownercallss      r   __get__zcTestLoadSuperAttrCache.test_descriptor_not_double_executed_on_spec_fail.<locals>.Descriptor.__get__   s    h./  r   N)__name__
__module____qualname__r   )r   s   r   
Descriptorr      s    !r   r   c                       e Zd Z W         Zy)RTestLoadSuperAttrCache.test_descriptor_not_double_executed_on_spec_fail.<locals>.CN)r   r   r   dr   s   r   Cr      s
    Ar   r   c                        e Zd Z fdZ xZS )RTestLoadSuperAttrCache.test_descriptor_not_double_executed_on_spec_fail.<locals>.Dc                      t         |          S N)superr   )r   	__class__s    r   fzTTestLoadSuperAttrCache.test_descriptor_not_double_executed_on_spec_fail.<locals>.D.f   s    wy{"r   )r   r   r   r&   __classcell__)r%   s   @r   Dr!      s    # #r   r(   r   )assertEqualr&   clear)r   r   r(   r   r   r   s       @@r   0test_descriptor_not_double_executed_on_spec_failzGTestLoadSuperAttrCache.test_descriptor_not_double_executed_on_spec_fail   s|    	! 	!
	 		# 	# C""!Q)r   N)r   r   r   r+   r   r   r   r   r      s    *r   r   c                   `    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zd Zd Zd Zd Zy)TestLoadAttrCachec                      G d d       G fdd      }d } |       }t        d      D ]  } ||      dk(  rJ  d _        d	 _        | j                   ||      d
       y )Nc                       e Zd Zy)NTestLoadAttrCache.test_descriptor_added_after_optimization.<locals>.DescriptorNr   r   r   r   r   r   r   r0          r   r   c                   $    e Zd Zd Z W         Zy)ETestLoadAttrCache.test_descriptor_added_after_optimization.<locals>.Cc                     d| _         y r
   xr   s    r   __init__zNTestLoadAttrCache.test_descriptor_added_after_optimization.<locals>.C.__init__!   s	    r   N)r   r   r   r9   r7   r   s   r   r   r4       s    Ar   r   c                     | j                   S r#   r6   os    r   r&   zETestLoadAttrCache.test_descriptor_added_after_optimization.<locals>.f%   s    33Jr     r   c                      y)N   r   r   r   values      r   r   zLTestLoadAttrCache.test_descriptor_added_after_optimization.<locals>.<lambda>,   r   r   c                       y r#   r   )argss    r   r   zLTestLoadAttrCache.test_descriptor_added_after_optimization.<locals>.<lambda>-   r   r   r?   )ranger   __set__r)   )r   r   r&   r<   ir   s        @r   (test_descriptor_added_after_optimizationz:TestLoadAttrCache.test_descriptor_added_after_optimization   sn    	 		 	
	 Ct 	AQ4199	 =
/
1q!r   c                      G d d       G fddt               } G d d|      d }d	 }fd
}t        d      D ]  }| j                   |               |_        |_        t        d      D ]  }| j                   |               y )Nc                       e Zd Zy)XTestLoadAttrCache.test_metaclass_descriptor_added_after_optimization.<locals>.DescriptorNr1   r   r   r   r   rJ   2   r2   r   r   c                       e Zd Z W         Zy)WTestLoadAttrCache.test_metaclass_descriptor_added_after_optimization.<locals>.MetaclassNr   r   r   	attributer   s   r   	MetaclassrL   5   
    "Ir   rO   c                       e Zd ZdZy)STestLoadAttrCache.test_metaclass_descriptor_added_after_optimization.<locals>.ClassTNrM   r   r   r   ClassrR   8       Ir   rS   	metaclassc                      yNFr   r   r   r   s      r   r   zUTestLoadAttrCache.test_metaclass_descriptor_added_after_optimization.<locals>.__get__;   s    r   c                      y r#   r   r@   s      r   rE   zUTestLoadAttrCache.test_metaclass_descriptor_added_after_optimization.<locals>.__set__>       r   c                       j                   S r#   rN   rS   s   r   r&   zOTestLoadAttrCache.test_metaclass_descriptor_added_after_optimization.<locals>.fA       ??"r   r=   typerD   
assertTruer   rE   assertFalser   rO   r   rE   r&   _rS   r   s         @@r   2test_metaclass_descriptor_added_after_optimizationzDTestLoadAttrCache.test_metaclass_descriptor_added_after_optimization1   s    	 		% 	%	i 				# t 	!AOOAC 	! %
$
t 	"AQS!	"r   c                      G d dt               } G d d|      fd}t        d      D ]  }| j                   |               y )Nc                       e Zd Zed        Zy)VTestLoadAttrCache.test_metaclass_descriptor_shadows_class_attribute.<locals>.Metaclassc                      yNTr   r8   s    r   rN   z`TestLoadAttrCache.test_metaclass_descriptor_shadows_class_attribute.<locals>.Metaclass.attributeO       r   Nr   r   r   propertyrN   r   r   r   rO   ri   N        r   rO   c                       e Zd ZdZy)RTestLoadAttrCache.test_metaclass_descriptor_shadows_class_attribute.<locals>.ClassFNrM   r   r   r   rS   rq   S       Ir   rS   rU   c                       j                   S r#   r]   r^   s   r   r&   zNTestLoadAttrCache.test_metaclass_descriptor_shadows_class_attribute.<locals>.fV   r_   r   r=   ra   rD   rb   r   rO   r&   re   rS   s       @r   1test_metaclass_descriptor_shadows_class_attributezCTestLoadAttrCache.test_metaclass_descriptor_shadows_class_attributeM   sC    	 	
	i 		# t 	!AOOAC 	!r   c                     G d dt               } G d d|      t        d        }fd}t        d      D ]  }| j                   |               ||_        t        d      D ]  }| j                   |               y )	Nc                       e Zd Zy)UTestLoadAttrCache.test_metaclass_set_descriptor_after_optimization.<locals>.MetaclassNr1   r   r   r   rO   ry   ]   r2   r   rO   c                       e Zd ZdZy)QTestLoadAttrCache.test_metaclass_set_descriptor_after_optimization.<locals>.ClassTNrM   r   r   r   rS   r{   `   rT   r   rS   rU   c                      yrX   r   r8   s    r   rN   zUTestLoadAttrCache.test_metaclass_set_descriptor_after_optimization.<locals>.attributec   s    r   c                       j                   S r#   r]   r^   s   r   r&   zMTestLoadAttrCache.test_metaclass_set_descriptor_after_optimization.<locals>.fg   r_   r   r=   ra   rn   rD   rb   rN   rc   r   rO   rN   r&   re   rS   s        @r   0test_metaclass_set_descriptor_after_optimizationzBTestLoadAttrCache.test_metaclass_set_descriptor_after_optimization\   s    	 		i 	 
	 
		# t 	!AOOAC 	! (	t 	"AQS!	"r   c                      G d dt               } G d d|      fd}t        d      D ]  }| j                   |               |`t        d      D ]  }| j	                   |               y )Nc                       e Zd Zed        Zy)UTestLoadAttrCache.test_metaclass_del_descriptor_after_optimization.<locals>.Metaclassc                      yrk   r   r8   s    r   rN   z_TestLoadAttrCache.test_metaclass_del_descriptor_after_optimization.<locals>.Metaclass.attributet   rl   r   Nrm   r   r   r   rO   r   s   ro   r   rO   c                       e Zd ZdZy)QTestLoadAttrCache.test_metaclass_del_descriptor_after_optimization.<locals>.ClassFNrM   r   r   r   rS   r   x   rr   r   rS   rU   c                       j                   S r#   r]   r^   s   r   r&   zMTestLoadAttrCache.test_metaclass_del_descriptor_after_optimization.<locals>.f{   r_   r   r=   ra   rD   rb   rN   rc   ru   s       @r   0test_metaclass_del_descriptor_after_optimizationzBTestLoadAttrCache.test_metaclass_del_descriptor_after_optimizationr   sn    	 	
	i 		# t 	!AOOAC 	! t 	"AQS!	"r   c                 p     G d d      fd}t        d      D ]  }| j                   |               y )Nc                       e Zd ZdZy)NTestLoadAttrCache.test_type_descriptor_shadows_attribute_method.<locals>.ClassNr   r   r   mror   r   r   rS   r      s    Cr   rS   c                       j                   S r#   r   r^   s   r   r&   zJTestLoadAttrCache.test_type_descriptor_shadows_attribute_method.<locals>.f   s    99r   r=   )rD   assertIsNoner   r&   re   rS   s      @r   -test_type_descriptor_shadows_attribute_methodz?TestLoadAttrCache.test_type_descriptor_shadows_attribute_method   s7    	 		 t 	#Aac"	#r   c                 z     G d d      fd}t        d      D ]  }| j                   |       t                y )Nc                       e Zd ZdZy)NTestLoadAttrCache.test_type_descriptor_shadows_attribute_member.<locals>.ClassNr   r   r   __base__r   r   r   rS   r      s    Hr   rS   c                       j                   S r#   r   r^   s   r   r&   zJTestLoadAttrCache.test_type_descriptor_shadows_attribute_member.<locals>.f       >>!r   r=   )rD   assertIsobjectr   s      @r   -test_type_descriptor_shadows_attribute_memberz?TestLoadAttrCache.test_type_descriptor_shadows_attribute_member   s7    	 		" t 	'AMM!#v&	'r   c                 r     G d d      fd}t        d      D ]  }| j                   |       d        y )Nc                       e Zd ZdZ y)NTestLoadAttrCache.test_type_descriptor_shadows_attribute_getset.<locals>.ClassSpamNr1   r   r   r   rS   r      s    Hr   rS   c                       j                   S r#   )r   r^   s   r   r&   zJTestLoadAttrCache.test_type_descriptor_shadows_attribute_getset.<locals>.f   r   r   r=   rD   r)   r   s      @r   -test_type_descriptor_shadows_attribute_getsetz?TestLoadAttrCache.test_type_descriptor_shadows_attribute_getset   s9    	 		" t 	+AQS'*	+r   c                      G d dt               } G d d|      fd}t        d      D ]  }| j                   |               y )Nc                       e Zd Zd Zy)@TestLoadAttrCache.test_metaclass_getattribute.<locals>.Metaclassc                      yrk   r   r   names     r   __getattribute__zQTestLoadAttrCache.test_metaclass_getattribute.<locals>.Metaclass.__getattribute__       r   Nr   r   r   r   r   r   r   rO   r          r   rO   c                       e Zd ZdZy)<TestLoadAttrCache.test_metaclass_getattribute.<locals>.ClassFNrM   r   r   r   rS   r      rr   r   rS   rU   c                       j                   S r#   r]   r^   s   r   r&   z8TestLoadAttrCache.test_metaclass_getattribute.<locals>.f   r_   r   r=   rt   ru   s       @r   test_metaclass_getattributez-TestLoadAttrCache.test_metaclass_getattribute   sC    	 		i 		# t 	!AOOAC 	!r   c                 
    G d dt               } G d dt               } G d d|      fd}t        d	      D ]  }| j                   |               |_        t        d	      D ]  }| j	                   |               y )
Nc                       e Zd Zed        Zy);TestLoadAttrCache.test_metaclass_swap.<locals>.OldMetaclassc                      yrk   r   r8   s    r   rN   zETestLoadAttrCache.test_metaclass_swap.<locals>.OldMetaclass.attribute   rl   r   Nrm   r   r   r   OldMetaclassr      ro   r   r   c                       e Zd Zed        Zy);TestLoadAttrCache.test_metaclass_swap.<locals>.NewMetaclassc                      yrX   r   r8   s    r   rN   zETestLoadAttrCache.test_metaclass_swap.<locals>.NewMetaclass.attribute   s    r   Nrm   r   r   r   NewMetaclassr      s     r   r   c                       e Zd Zy)4TestLoadAttrCache.test_metaclass_swap.<locals>.ClassNr1   r   r   r   rS   r      r2   r   rS   rU   c                       j                   S r#   r]   r^   s   r   r&   z0TestLoadAttrCache.test_metaclass_swap.<locals>.f   r_   r   r=   ra   rD   rb   r%   rc   r   r   r   r&   re   rS   s        @r   test_metaclass_swapz%TestLoadAttrCache.test_metaclass_swap   s{    	4 	
	4 	
	l 		# t 	!AOOAC 	! 't 	"AQS!	"r   c                      G d d       G fdd      }d } |       }d|_         t        d      D ](  }| j                  t              5   ||       d d d        * y # 1 sw Y   5xY w)Nc                       e Zd ZdZy)QTestLoadAttrCache.test_load_shadowing_slot_should_raise_type_error.<locals>.ClassslotNr   r   r   	__slots__r   r   r   rS   r          !Ir   rS   c                   ,    e Zd ZdZW  j                  Zy)RTestLoadAttrCache.test_load_shadowing_slot_should_raise_type_error.<locals>.SneakyshadowedNr   r   r   r   r   	shadowingr^   s   r   Sneakyr          %I

Ir   r   c                     | j                    y r#   r   r;   s    r   r&   zMTestLoadAttrCache.test_load_shadowing_slot_should_raise_type_error.<locals>.f   s	    KKr   *   r=   )r   rD   assertRaises	TypeErrorr   r   r&   r<   re   rS   s        @r   0test_load_shadowing_slot_should_raise_type_errorzBTestLoadAttrCache.test_load_shadowing_slot_should_raise_type_error   sn    	" 	"	# 	#	 H
t 	A""9- ! 	 s   	A  A)	c                      G d d       G fdd      }d } |       }t        d      D ](  }| j                  t              5   ||       d d d        * y # 1 sw Y   5xY w)Nc                       e Zd ZdZy)RTestLoadAttrCache.test_store_shadowing_slot_should_raise_type_error.<locals>.Classr   Nr   r   r   r   rS   r      r   r   rS   c                   ,    e Zd ZdZW  j                  Zy)STestLoadAttrCache.test_store_shadowing_slot_should_raise_type_error.<locals>.Sneakyr   Nr   r^   s   r   r   r      r   r   r   c                     d| _         y Nr   r   r;   s    r   r&   zNTestLoadAttrCache.test_store_shadowing_slot_should_raise_type_error.<locals>.f   s	    AKr   r=   rD   r   r   r   s        @r   1test_store_shadowing_slot_should_raise_type_errorzCTestLoadAttrCache.test_store_shadowing_slot_should_raise_type_error   sg    	" 	"	# 	#	 Ht 	A""9- ! 	    	AA"	c                      G d d       G fdd      }d } |       }t        d      D ](  }| j                  t              5   ||       d d d        * y # 1 sw Y   5xY w)Nc                       e Zd ZdZy)ITestLoadAttrCache.test_load_borrowed_slot_should_not_crash.<locals>.Classr   Nr   r   r   r   rS   r      r   r   rS   c                   (    e Zd ZW  j                  Zy)JTestLoadAttrCache.test_load_borrowed_slot_should_not_crash.<locals>.SneakyNr   r   r   r   borrowedr^   s   r   r   r          zzHr   r   c                     | j                    y r#   r   r;   s    r   r&   zETestLoadAttrCache.test_load_borrowed_slot_should_not_crash.<locals>.f   s	    JJr   r=   r   r   s        @r   (test_load_borrowed_slot_should_not_crashz:TestLoadAttrCache.test_load_borrowed_slot_should_not_crash   sg    	" 	"	" 	"	 Ht 	A""9- ! 	 r   c                      G d d       G fdd      }d } |       }t        d      D ](  }| j                  t              5   ||       d d d        * y # 1 sw Y   5xY w)Nc                       e Zd ZdZy)JTestLoadAttrCache.test_store_borrowed_slot_should_not_crash.<locals>.Classr   Nr   r   r   r   rS   r      r   r   rS   c                   (    e Zd ZW  j                  Zy)KTestLoadAttrCache.test_store_borrowed_slot_should_not_crash.<locals>.SneakyNr   r^   s   r   r   r     r   r   r   c                     d| _         y r   r   r;   s    r   r&   zFTestLoadAttrCache.test_store_borrowed_slot_should_not_crash.<locals>.f  s	    AJr   r=   r   r   s        @r   )test_store_borrowed_slot_should_not_crashz;TestLoadAttrCache.test_store_borrowed_slot_should_not_crash   sg    	" 	"	" 	"	 Ht 	A""9- ! 	 r   N)r   r   r   rG   rf   rv   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r-   r-      sH    "*"8!","(#'+!"2$" r   r-   c                   B    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zy
)TestLoadMethodCachec                      G d d       G fdd      }d }d }d } |       |_         fd}t        d	      D ]  }| j                   |               |_        |_        t        d	      D ]  }| j                   |               y )
Nc                       e Zd Zy)PTestLoadMethodCache.test_descriptor_added_after_optimization.<locals>.DescriptorNr1   r   r   r   r   r     r2   r   r   c                       e Zd Z W         Zy)KTestLoadMethodCache.test_descriptor_added_after_optimization.<locals>.ClassNrM   r   s   r   rS   r     rP   r   rS   c                     d S )Nc                       yrX   r   r   r   r   r   z_TestLoadMethodCache.test_descriptor_added_after_optimization.<locals>.__get__.<locals>.<lambda>  r   r   r   rY   s      r   r   zMTestLoadMethodCache.test_descriptor_added_after_optimization.<locals>.__get__        r   c                      y r#   r   r@   s      r   rE   zMTestLoadMethodCache.test_descriptor_added_after_optimization.<locals>.__set__  r[   r   c                       yrk   r   r   r   r   rN   zOTestLoadMethodCache.test_descriptor_added_after_optimization.<locals>.attribute  r[   r   c                  $     j                         S r#   r]   )r   s   r   r&   zGTestLoadMethodCache.test_descriptor_added_after_optimization.<locals>.f#  s    %%''r   r=   )rN   rD   rb   r   rE   rc   )	r   rS   r   rE   rN   r&   re   r   r   s	          @@r   rG   z<TestLoadMethodCache.test_descriptor_added_after_optimization  s    	 		% 	%	!		 7&	( t 	!AOOAC 	! %
$
t 	"AQS!	"r   c                      G d d       G fddt               } G d d|      d }d	 }fd
}t        d      D ]  }| j                   |               |_        |_        t        d      D ]  }| j                   |               y )Nc                       e Zd Zy)ZTestLoadMethodCache.test_metaclass_descriptor_added_after_optimization.<locals>.DescriptorNr1   r   r   r   r   r  0  r2   r   r   c                       e Zd Z W         Zy)YTestLoadMethodCache.test_metaclass_descriptor_added_after_optimization.<locals>.MetaclassNrM   r   s   r   rO   r  3  rP   r   rO   c                       e Zd Zd Zy)UTestLoadMethodCache.test_metaclass_descriptor_added_after_optimization.<locals>.Classc                       yrk   r   r   r   r   rN   z_TestLoadMethodCache.test_metaclass_descriptor_added_after_optimization.<locals>.Class.attribute7  r   r   NrM   r   r   r   rS   r	  6  r   r   rS   rU   c                     d S )Nc                       yrX   r   r   r   r   r   ziTestLoadMethodCache.test_metaclass_descriptor_added_after_optimization.<locals>.__get__.<locals>.<lambda>;  r   r   r   rY   s      r   r   zWTestLoadMethodCache.test_metaclass_descriptor_added_after_optimization.<locals>.__get__:  r   r   c                      y r#   r   r@   s      r   rE   zWTestLoadMethodCache.test_metaclass_descriptor_added_after_optimization.<locals>.__set__=  r[   r   c                  $     j                         S r#   r]   r^   s   r   r&   zQTestLoadMethodCache.test_metaclass_descriptor_added_after_optimization.<locals>.f@      ??$$r   r=   r`   rd   s         @@r   rf   zFTestLoadMethodCache.test_metaclass_descriptor_added_after_optimization/  s    	 		% 	%	i 		!		% t 	!AOOAC 	! %
$
t 	"AQS!	"r   c                      G d dt               } G d d|      fd}t        d      D ]  }| j                   |               y )Nc                       e Zd Zed        Zy)XTestLoadMethodCache.test_metaclass_descriptor_shadows_class_attribute.<locals>.Metaclassc                     d S )Nc                       yrk   r   r   r   r   r   ztTestLoadMethodCache.test_metaclass_descriptor_shadows_class_attribute.<locals>.Metaclass.attribute.<locals>.<lambda>P  r   r   r   r8   s    r   rN   zbTestLoadMethodCache.test_metaclass_descriptor_shadows_class_attribute.<locals>.Metaclass.attributeN      ##r   Nrm   r   r   r   rO   r  M      $ $r   rO   c                       e Zd Zd Zy)TTestLoadMethodCache.test_metaclass_descriptor_shadows_class_attribute.<locals>.Classc                       yrX   r   r   r   r   rN   z^TestLoadMethodCache.test_metaclass_descriptor_shadows_class_attribute.<locals>.Class.attributeS      r   NrM   r   r   r   rS   r  R      r   rS   rU   c                  $     j                         S r#   r]   r^   s   r   r&   zPTestLoadMethodCache.test_metaclass_descriptor_shadows_class_attribute.<locals>.fV  r  r   r=   rt   ru   s       @r   rv   zETestLoadMethodCache.test_metaclass_descriptor_shadows_class_attributeL  sC    	$ 	$
	i 		% t 	!AOOAC 	!r   c                     G d dt               } G d d|      t        d        }fd}t        d      D ]  }| j                   |               ||_        t        d      D ]  }| j                   |               y )	Nc                       e Zd Zy)WTestLoadMethodCache.test_metaclass_set_descriptor_after_optimization.<locals>.MetaclassNr1   r   r   r   rO   r  ]  r2   r   rO   c                       e Zd Zd Zy)STestLoadMethodCache.test_metaclass_set_descriptor_after_optimization.<locals>.Classc                       yrk   r   r   r   r   rN   z]TestLoadMethodCache.test_metaclass_set_descriptor_after_optimization.<locals>.Class.attributea  r   r   NrM   r   r   r   rS   r!  `  r   r   rS   rU   c                     d S )Nc                       yrX   r   r   r   r   r   ziTestLoadMethodCache.test_metaclass_set_descriptor_after_optimization.<locals>.attribute.<locals>.<lambda>f  r   r   r   r8   s    r   rN   zWTestLoadMethodCache.test_metaclass_set_descriptor_after_optimization.<locals>.attributed  s      r   c                  $     j                         S r#   r]   r^   s   r   r&   zOTestLoadMethodCache.test_metaclass_set_descriptor_after_optimization.<locals>.fh  r  r   r=   r~   r   s        @r   r   zDTestLoadMethodCache.test_metaclass_set_descriptor_after_optimization\  s    	 		i 	 
	! 
	!	% t 	!AOOAC 	! (	t 	"AQS!	"r   c                      G d dt               } G d d|      fd}t        d      D ]  }| j                   |               |`t        d      D ]  }| j	                   |               y )Nc                       e Zd Zed        Zy)WTestLoadMethodCache.test_metaclass_del_descriptor_after_optimization.<locals>.Metaclassc                     d S )Nc                       yrk   r   r   r   r   r   zsTestLoadMethodCache.test_metaclass_del_descriptor_after_optimization.<locals>.Metaclass.attribute.<locals>.<lambda>w  r   r   r   r8   s    r   rN   zaTestLoadMethodCache.test_metaclass_del_descriptor_after_optimization.<locals>.Metaclass.attributeu  r  r   Nrm   r   r   r   rO   r(  t  r  r   rO   c                       e Zd Zd Zy)STestLoadMethodCache.test_metaclass_del_descriptor_after_optimization.<locals>.Classc                       yrX   r   r   r   r   rN   z]TestLoadMethodCache.test_metaclass_del_descriptor_after_optimization.<locals>.Class.attributez  r  r   NrM   r   r   r   rS   r,  y  r  r   rS   rU   c                  $     j                         S r#   r]   r^   s   r   r&   zOTestLoadMethodCache.test_metaclass_del_descriptor_after_optimization.<locals>.f}  r  r   r=   r   ru   s       @r   r   zDTestLoadMethodCache.test_metaclass_del_descriptor_after_optimizations  sn    	$ 	$
	i 		% t 	!AOOAC 	! t 	"AQS!	"r   c                 v     G d d      fd}t        d      D ]  }| j                   |       ddg        y )Nc                       e Zd Zd Zy)PTestLoadMethodCache.test_type_descriptor_shadows_attribute_method.<locals>.Classc                  
    ddgS )Nr   eggsr   r   r   r   r   zTTestLoadMethodCache.test_type_descriptor_shadows_attribute_method.<locals>.Class.mro  s    ''r   Nr   r   r   r   rS   r1    s    (r   rS   c                  $     j                         S r#   r   r^   s   r   r&   zLTestLoadMethodCache.test_type_descriptor_shadows_attribute_method.<locals>.f  s    99;r   r=   r   r3  r   r   s      @r   r   zATestLoadMethodCache.test_type_descriptor_shadows_attribute_method  s>    	( 	(	 t 	4AQS66"23	4r   c                 r     G d d      fd}t        d      D ]  }| j                   |       d        y )Nc                       e Zd Zd Zy)PTestLoadMethodCache.test_type_descriptor_shadows_attribute_member.<locals>.Classc                       y)Nr   r   r   r   r   r   zYTestLoadMethodCache.test_type_descriptor_shadows_attribute_member.<locals>.Class.__base__  s    r   Nr   r   r   r   rS   r7    s    r   rS   c                  $     j                         S r#   r   r^   s   r   r&   zLTestLoadMethodCache.test_type_descriptor_shadows_attribute_member.<locals>.f  s    >>##r   r=   r   )rD   assertNotEqualr   s      @r   r   zATestLoadMethodCache.test_type_descriptor_shadows_attribute_member  s9    	 		$ t 	-AV,	-r   c                      G d dt               } G d d|      fd}t        d      D ]  }| j                   |               y )Nc                       e Zd Zd Zy)BTestLoadMethodCache.test_metaclass_getattribute.<locals>.Metaclassc                     d S )Nc                       yrk   r   r   r   r   r   zeTestLoadMethodCache.test_metaclass_getattribute.<locals>.Metaclass.__getattribute__.<locals>.<lambda>  r   r   r   r   s     r   r   zSTestLoadMethodCache.test_metaclass_getattribute.<locals>.Metaclass.__getattribute__  s    ##r   Nr   r   r   r   rO   r=    s    $r   rO   c                       e Zd Zd Zy)>TestLoadMethodCache.test_metaclass_getattribute.<locals>.Classc                       yrX   r   r   r   r   rN   zHTestLoadMethodCache.test_metaclass_getattribute.<locals>.Class.attribute  r  r   NrM   r   r   r   rS   rA    r  r   rS   rU   c                  $     j                         S r#   r]   r^   s   r   r&   z:TestLoadMethodCache.test_metaclass_getattribute.<locals>.f  r  r   r=   rt   ru   s       @r   r   z/TestLoadMethodCache.test_metaclass_getattribute  sC    	$ 	$	i 		% t 	!AOOAC 	!r   c                 
    G d dt               } G d dt               } G d d|      fd}t        d	      D ]  }| j                   |               |_        t        d	      D ]  }| j	                   |               y )
Nc                       e Zd Zed        Zy)=TestLoadMethodCache.test_metaclass_swap.<locals>.OldMetaclassc                     d S )Nc                       yrk   r   r   r   r   r   zYTestLoadMethodCache.test_metaclass_swap.<locals>.OldMetaclass.attribute.<locals>.<lambda>  r   r   r   r8   s    r   rN   zGTestLoadMethodCache.test_metaclass_swap.<locals>.OldMetaclass.attribute  r  r   Nrm   r   r   r   r   rF    r  r   r   c                       e Zd Zed        Zy)=TestLoadMethodCache.test_metaclass_swap.<locals>.NewMetaclassc                     d S )Nc                       yrX   r   r   r   r   r   zYTestLoadMethodCache.test_metaclass_swap.<locals>.NewMetaclass.attribute.<locals>.<lambda>  r   r   r   r8   s    r   rN   zGTestLoadMethodCache.test_metaclass_swap.<locals>.NewMetaclass.attribute  s    $$r   Nrm   r   r   r   r   rJ    s    % %r   r   c                       e Zd Zy)6TestLoadMethodCache.test_metaclass_swap.<locals>.ClassNr1   r   r   r   rS   rN    r2   r   rS   rU   c                  $     j                         S r#   r]   r^   s   r   r&   z2TestLoadMethodCache.test_metaclass_swap.<locals>.f  r  r   r=   r   r   s        @r   r   z'TestLoadMethodCache.test_metaclass_swap  s{    	$4 	$
	%4 	%
	l 		% t 	!AOOAC 	! 't 	"AQS!	"r   N)r   r   r   rG   rf   rv   r   r   r   r   r   r   r   r   r   r   r     s/    ">":! "."*	4	-!"r   r   c                       e Zd Zd Zd Zd Zy)TestCallCachec                 F    d }d|_         t        d      D ]	  } |         y )Nc                       y r#   r   r   r   r   r&   z1TestCallCache.test_too_many_defaults_0.<locals>.f      r   r#   r=   __defaults__rD   r   r&   re   s      r   test_too_many_defaults_0z&TestCallCache.test_too_many_defaults_0  s(    	 !t 	AC	r   c                 V    d }d|_         t        d      D ]  } |d         |         y )Nc                      y r#   r   r6   s    r   r&   z1TestCallCache.test_too_many_defaults_1.<locals>.f  rT  r   )NNr=   rU  rW  s      r   test_too_many_defaults_1z&TestCallCache.test_too_many_defaults_1  s/    	 &t 	AdGC	r   c                 h    d }d|_         t        d      D ]  } |d d         |d         |         y )Nc                      y r#   r   )r7   ys     r   r&   z1TestCallCache.test_too_many_defaults_2.<locals>.f  rT  r   )NNNr=   rU  rW  s      r   test_too_many_defaults_2z&TestCallCache.test_too_many_defaults_2  s8    	 ,t 	AdDMdGC	r   N)r   r   r   rX  r[  r_  r   r   r   rQ  rQ    s    r   rQ  __main__)unittestTestCaser   r-   r   rQ  r   mainr   r   r   <module>rd     ss    *X.. *.q)) qhu"(++ u"pH%% : zHMMO r   