
    7bh+                         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       ;/opt/python-3.12.12/usr/lib/python3.12/test/test_opcache.py<lambda>zuTestLoadSuperAttrCache.test_descriptor_not_double_executed_on_spec_fail.<locals>.Descriptor.__get__.<locals>.<lambda>
   s    qr   )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 _        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   r/          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   r8   r6   r   s   r   r   r3       s    Ar   r   c                     | j                   S r"   r5   os    r   r%   zETestLoadAttrCache.test_descriptor_added_after_optimization.<locals>.f%   s    33Jr     c                      y)N   r   r   r   values      r   r   zLTestLoadAttrCache.test_descriptor_added_after_optimization.<locals>.<lambda>,   s    1r   c                       y r"   r   )argss    r   r   zLTestLoadAttrCache.test_descriptor_added_after_optimization.<locals>.<lambda>-   s    4r   r>   )ranger   __set__r(   )r   r   r%   r;   ir   s        @r   (test_descriptor_added_after_optimizationz:TestLoadAttrCache.test_descriptor_added_after_optimization   sV    	 		 	
	 CtA =
/
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>.DescriptorNr0   r   r   r   r   rI   2   r1   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   	MetaclassrK   5   
    "Ir   rN   c                       e Zd ZdZy)STestLoadAttrCache.test_metaclass_descriptor_added_after_optimization.<locals>.ClassTNrL   r   r   r   ClassrQ   8       Ir   rR   	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   rD   zUTestLoadAttrCache.test_metaclass_descriptor_added_after_optimization.<locals>.__set__>       r   c                       j                   S r"   rM   rR   s   r   r%   zOTestLoadAttrCache.test_metaclass_descriptor_added_after_optimization.<locals>.fA       ??"r   r<   typerC   
assertTruer   rD   assertFalser   rN   r   rD   r%   _rR   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   r7   s    r   rM   z`TestLoadAttrCache.test_metaclass_descriptor_shadows_class_attribute.<locals>.Metaclass.attributeO       r   Nr   r   r   propertyrM   r   r   r   rN   rh   N        r   rN   c                       e Zd ZdZy)RTestLoadAttrCache.test_metaclass_descriptor_shadows_class_attribute.<locals>.ClassFNrL   r   r   r   rR   rp   S       Ir   rR   rT   c                       j                   S r"   r\   r]   s   r   r%   zNTestLoadAttrCache.test_metaclass_descriptor_shadows_class_attribute.<locals>.fV   r^   r   r<   r`   rC   ra   r   rN   r%   rd   rR   s       @r   1test_metaclass_descriptor_shadows_class_attributezCTestLoadAttrCache.test_metaclass_descriptor_shadows_class_attributeM   s>    	 	
	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>.MetaclassNr0   r   r   r   rN   rx   ]   r1   r   rN   c                       e Zd ZdZy)QTestLoadAttrCache.test_metaclass_set_descriptor_after_optimization.<locals>.ClassTNrL   r   r   r   rR   rz   `   rS   r   rR   rT   c                      yrW   r   r7   s    r   rM   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<   r`   rm   rC   ra   rM   rb   r   rN   rM   r%   rd   rR   s        @r   0test_metaclass_set_descriptor_after_optimizationzBTestLoadAttrCache.test_metaclass_set_descriptor_after_optimization\   sz    	 		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rj   r   r7   s    r   rM   z_TestLoadAttrCache.test_metaclass_del_descriptor_after_optimization.<locals>.Metaclass.attributet   rk   r   Nrl   r   r   r   rN   r   s   rn   r   rN   c                       e Zd ZdZy)QTestLoadAttrCache.test_metaclass_del_descriptor_after_optimization.<locals>.ClassFNrL   r   r   r   rR   r   x   rq   r   rR   rT   c                       j                   S r"   r\   r]   s   r   r%   zMTestLoadAttrCache.test_metaclass_del_descriptor_after_optimization.<locals>.f{   r^   r   r<   r`   rC   ra   rM   rb   rt   s       @r   0test_metaclass_del_descriptor_after_optimizationzBTestLoadAttrCache.test_metaclass_del_descriptor_after_optimizationr   sd    	 	
	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   rR   r      s    Cr   rR   c                       j                   S r"   r   r]   s   r   r%   zJTestLoadAttrCache.test_type_descriptor_shadows_attribute_method.<locals>.f   s    99r   r<   )rC   assertIsNoner   r%   rd   rR   s      @r   -test_type_descriptor_shadows_attribute_methodz?TestLoadAttrCache.test_type_descriptor_shadows_attribute_method   s2    	 		 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   rR   r      s    Hr   rR   c                       j                   S r"   r   r]   s   r   r%   zJTestLoadAttrCache.test_type_descriptor_shadows_attribute_member.<locals>.f       >>!r   r<   )rC   assertIsobjectr   s      @r   -test_type_descriptor_shadows_attribute_memberz?TestLoadAttrCache.test_type_descriptor_shadows_attribute_member   s2    	 		" 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SpamNr0   r   r   r   rR   r      s    Hr   rR   c                       j                   S r"   )r   r]   s   r   r%   zJTestLoadAttrCache.test_type_descriptor_shadows_attribute_getset.<locals>.f   r   r   r<   rC   r(   r   s      @r   -test_type_descriptor_shadows_attribute_getsetz?TestLoadAttrCache.test_type_descriptor_shadows_attribute_getset   s4    	 		" 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rj   r   r   names     r   __getattribute__zQTestLoadAttrCache.test_metaclass_getattribute.<locals>.Metaclass.__getattribute__       r   Nr   r   r   r   r   r   r   rN   r          r   rN   c                       e Zd ZdZy)<TestLoadAttrCache.test_metaclass_getattribute.<locals>.ClassFNrL   r   r   r   rR   r      rq   r   rR   rT   c                       j                   S r"   r\   r]   s   r   r%   z8TestLoadAttrCache.test_metaclass_getattribute.<locals>.f   r^   r   r<   rs   rt   s       @r   test_metaclass_getattributez-TestLoadAttrCache.test_metaclass_getattribute   s>    	 		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rj   r   r7   s    r   rM   zETestLoadAttrCache.test_metaclass_swap.<locals>.OldMetaclass.attribute   rk   r   Nrl   r   r   r   OldMetaclassr      rn   r   r   c                       e Zd Zed        Zy);TestLoadAttrCache.test_metaclass_swap.<locals>.NewMetaclassc                      yrW   r   r7   s    r   rM   zETestLoadAttrCache.test_metaclass_swap.<locals>.NewMetaclass.attribute   s    r   Nrl   r   r   r   NewMetaclassr      s     r   r   c                       e Zd Zy)4TestLoadAttrCache.test_metaclass_swap.<locals>.ClassNr0   r   r   r   rR   r      r1   r   rR   rT   c                       j                   S r"   r\   r]   s   r   r%   z0TestLoadAttrCache.test_metaclass_swap.<locals>.f   r^   r   r<   r`   rC   ra   r$   rb   r   r   r   r%   rd   rR   s        @r   test_metaclass_swapz%TestLoadAttrCache.test_metaclass_swap   sq    	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   rR   r          !Ir   rR   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   rC   assertRaises	TypeErrorr   r   r%   r;   rd   rR   s        @r   0test_load_shadowing_slot_should_raise_type_errorzBTestLoadAttrCache.test_load_shadowing_slot_should_raise_type_error   s^    	" 	"	# 	#	 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   rR   r      r   r   rR   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<   rC   r   r   r   s        @r   1test_store_shadowing_slot_should_raise_type_errorzCTestLoadAttrCache.test_store_shadowing_slot_should_raise_type_error   sW    	" 	"	# 	#	 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   rR   r      r   r   rR   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   sW    	" 	"	" 	"	 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   rR   r      r   r   rR   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   sW    	" 	"	" 	"	 HtA""9-! .- --r   N)r   r   r   rF   re   ru   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>.DescriptorNr0   r   r   r   r   r     r1   r   r   c                       e Zd Z W         Zy)KTestLoadMethodCache.test_descriptor_added_after_optimization.<locals>.ClassNrL   r   s   r   rR   r     rO   r   rR   c                     d S )Nc                       yrW   r   r   r   r   r   z_TestLoadMethodCache.test_descriptor_added_after_optimization.<locals>.__get__.<locals>.<lambda>      5r   r   rX   s      r   r   zMTestLoadMethodCache.test_descriptor_added_after_optimization.<locals>.__get__        r   c                      y r"   r   r?   s      r   rD   zMTestLoadMethodCache.test_descriptor_added_after_optimization.<locals>.__set__  rZ   r   c                       yrj   r   r   r   r   rM   zOTestLoadMethodCache.test_descriptor_added_after_optimization.<locals>.attribute  rZ   r   c                  $     j                         S r"   r\   )r   s   r   r%   zGTestLoadMethodCache.test_descriptor_added_after_optimization.<locals>.f#  s    %%''r   r<   )rM   rC   ra   r   rD   rb   )	r   rR   r   rD   rM   r%   rd   r   r   s	          @@r   rF   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>.DescriptorNr0   r   r   r   r   r  0  r1   r   r   c                       e Zd Z W         Zy)YTestLoadMethodCache.test_metaclass_descriptor_added_after_optimization.<locals>.MetaclassNrL   r   s   r   rN   r  3  rO   r   rN   c                       e Zd Zd Zy)UTestLoadMethodCache.test_metaclass_descriptor_added_after_optimization.<locals>.Classc                       yrj   r   r   r   r   rM   z_TestLoadMethodCache.test_metaclass_descriptor_added_after_optimization.<locals>.Class.attribute7  r   r   NrL   r   r   r   rR   r	  6  r   r   rR   rT   c                     d S )Nc                       yrW   r   r   r   r   r   ziTestLoadMethodCache.test_metaclass_descriptor_added_after_optimization.<locals>.__get__.<locals>.<lambda>;  r   r   r   rX   s      r   r   zWTestLoadMethodCache.test_metaclass_descriptor_added_after_optimization.<locals>.__get__:  r   r   c                      y r"   r   r?   s      r   rD   zWTestLoadMethodCache.test_metaclass_descriptor_added_after_optimization.<locals>.__set__=  rZ   r   c                  $     j                         S r"   r\   r]   s   r   r%   zQTestLoadMethodCache.test_metaclass_descriptor_added_after_optimization.<locals>.f@      ??$$r   r<   r_   rc   s         @@r   re   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rj   r   r   r   r   r   ztTestLoadMethodCache.test_metaclass_descriptor_shadows_class_attribute.<locals>.Metaclass.attribute.<locals>.<lambda>P      tr   r   r7   s    r   rM   zbTestLoadMethodCache.test_metaclass_descriptor_shadows_class_attribute.<locals>.Metaclass.attributeN      ##r   Nrl   r   r   r   rN   r  M      $ $r   rN   c                       e Zd Zd Zy)TTestLoadMethodCache.test_metaclass_descriptor_shadows_class_attribute.<locals>.Classc                       yrW   r   r   r   r   rM   z^TestLoadMethodCache.test_metaclass_descriptor_shadows_class_attribute.<locals>.Class.attributeS      r   NrL   r   r   r   rR   r  R      r   rR   rT   c                  $     j                         S r"   r\   r]   s   r   r%   zPTestLoadMethodCache.test_metaclass_descriptor_shadows_class_attribute.<locals>.fV  r  r   r<   rs   rt   s       @r   ru   zETestLoadMethodCache.test_metaclass_descriptor_shadows_class_attributeL  s>    	$ 	$
	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>.MetaclassNr0   r   r   r   rN   r   ]  r1   r   rN   c                       e Zd Zd Zy)STestLoadMethodCache.test_metaclass_set_descriptor_after_optimization.<locals>.Classc                       yrj   r   r   r   r   rM   z]TestLoadMethodCache.test_metaclass_set_descriptor_after_optimization.<locals>.Class.attributea  r   r   NrL   r   r   r   rR   r"  `  r   r   rR   rT   c                     d S )Nc                       yrW   r   r   r   r   r   ziTestLoadMethodCache.test_metaclass_set_descriptor_after_optimization.<locals>.attribute.<locals>.<lambda>f  r   r   r   r7   s    r   rM   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\  sz    	 		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rj   r   r   r   r   r   zsTestLoadMethodCache.test_metaclass_del_descriptor_after_optimization.<locals>.Metaclass.attribute.<locals>.<lambda>w  r  r   r   r7   s    r   rM   zaTestLoadMethodCache.test_metaclass_del_descriptor_after_optimization.<locals>.Metaclass.attributeu  r  r   Nrl   r   r   r   rN   r)  t  r  r   rN   c                       e Zd Zd Zy)STestLoadMethodCache.test_metaclass_del_descriptor_after_optimization.<locals>.Classc                       yrW   r   r   r   r   rM   z]TestLoadMethodCache.test_metaclass_del_descriptor_after_optimization.<locals>.Class.attributez  r  r   NrL   r   r   r   rR   r-  y  r  r   rR   rT   c                  $     j                         S r"   r\   r]   s   r   r%   zOTestLoadMethodCache.test_metaclass_del_descriptor_after_optimization.<locals>.f}  r  r   r<   r   rt   s       @r   r   zDTestLoadMethodCache.test_metaclass_del_descriptor_after_optimizations  sd    	$ 	$
	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   rR   r2    s    (r   rR   c                  $     j                         S r"   r   r]   s   r   r%   zLTestLoadMethodCache.test_type_descriptor_shadows_attribute_method.<locals>.f  s    99;r   r<   r   r4  r   r   s      @r   r   zATestLoadMethodCache.test_type_descriptor_shadows_attribute_method  s9    	( 	(	 tAQS66"23 r   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   rR   r8    s    r   rR   c                  $     j                         S r"   r   r]   s   r   r%   zLTestLoadMethodCache.test_type_descriptor_shadows_attribute_member.<locals>.f  s    >>##r   r<   r   )rC   assertNotEqualr   s      @r   r   zATestLoadMethodCache.test_type_descriptor_shadows_attribute_member  s4    	 		$ 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rj   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   rN   r>    s    $r   rN   c                       e Zd Zd Zy)>TestLoadMethodCache.test_metaclass_getattribute.<locals>.Classc                       yrW   r   r   r   r   rM   zHTestLoadMethodCache.test_metaclass_getattribute.<locals>.Class.attribute  r  r   NrL   r   r   r   rR   rB    r  r   rR   rT   c                  $     j                         S r"   r\   r]   s   r   r%   z:TestLoadMethodCache.test_metaclass_getattribute.<locals>.f  r  r   r<   rs   rt   s       @r   r   z/TestLoadMethodCache.test_metaclass_getattribute  s>    	$ 	$	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rj   r   r   r   r   r   zYTestLoadMethodCache.test_metaclass_swap.<locals>.OldMetaclass.attribute.<locals>.<lambda>  r  r   r   r7   s    r   rM   zGTestLoadMethodCache.test_metaclass_swap.<locals>.OldMetaclass.attribute  r  r   Nrl   r   r   r   r   rG    r  r   r   c                       e Zd Zed        Zy)=TestLoadMethodCache.test_metaclass_swap.<locals>.NewMetaclassc                     d S )Nc                       yrW   r   r   r   r   r   zYTestLoadMethodCache.test_metaclass_swap.<locals>.NewMetaclass.attribute.<locals>.<lambda>  s    ur   r   r7   s    r   rM   zGTestLoadMethodCache.test_metaclass_swap.<locals>.NewMetaclass.attribute  s    $$r   Nrl   r   r   r   r   rK    s    % %r   r   c                       e Zd Zy)6TestLoadMethodCache.test_metaclass_swap.<locals>.ClassNr0   r   r   r   rR   rO    r1   r   rR   rT   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  sq    	$4 	$
	%4 	%
	l 		% tAOOAC   'tAQS! r   N)r   r   r   rF   re   ru   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__rC   r   r%   rd   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   r5   s    r   r%   z1TestCallCache.test_too_many_defaults_1.<locals>.f  rU  r   )NNr<   rV  rX  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   )r6   ys     r   r%   z1TestCallCache.test_too_many_defaults_2.<locals>.f  rU  r   )NNNr<   rV  rX  s      r   test_too_many_defaults_2z&TestCallCache.test_too_many_defaults_2  s3    	 ,tAdDMdGC r   N)r   r   r   rY  r\  r`  r   r   r   rR  rR    s    r   rR  __main__)unittestTestCaser   r,   r   rR  r   mainr   r   r   <module>re     ss    *X.. *.q)) qhu"(++ u"pH%% : zHMMO r   