
    <e8=                        d Z ddlZddlZddlZddlZddlZddlZddlmZ ddl	m
Z
 ddlmZ ddlmZ ddlmZ d Z G d	 d
ej                  Zd Z G d dej                  Z G d d          Z G d d          Z G d d          Z G d de          Z G d d          Z G d dej                  Zedk    r ej                     dS dS )z3
  Test cases for the repr module
  Nick Mathewson
    N)verbose)create_empty_file)repr)Repr)recursive_reprc                 4    d}t          |           D ]}|f}|S )N )range)nestingtis      (/usr/lib/python3.11/test/test_reprlib.pynestedTupler      s*    
A7^^  DH    c                   b    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dS )	ReprTestsc                    | j         } |t          d          d            |t          d          d           d}t          |          d d         dz   t          |          dd          z   } |t          |          |            |t          d	          t          d	                     d
}t          |          d d         dz   t          |          dd          z   } |t          |          |           d S )Nabcz'abc'abcdefghijklmnopz'abcdefghijklmnop'<aaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbb   ...z"'z""""""""""""""""""""""""""""""''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''assertEqualrr   )selfeqsexpecteds       r   test_stringzReprTests.test_string   s    
1U88W
1  !5666773B3<%'$q''#$$-7
1Q44
1U88T%[[!!!773B3<%'$q''#$$-7
1Q44r   c                    | j         } |t          d          d           d} |t          |          d           t                      }d|_        t	          |          d d         dz   } ||                    |          |           t                      }d|_        d|_        t	          |          d d         d	z   } ||                    |          |           d S )
N   (1,)r$         	(1, 2, 3)r'   z...)+++z+++))r   r   r   maxtupler   	fillvalue)r   r   t3r2r    r3s         r   
test_tuplezReprTests.test_tuple*   s    
1T77F
1R55+VV88CRC=6)
2772;;!!! VV88CRC=6)
2772;;!!!!!r   c           	      6   ddl m } ddlm} | j        } |t	          d          d            |t	          d          d            |t	          d          d	            |t	          d
          d            |t	          d          d            |t	          g           d            |t	          dg          d            |t	          g d          d            |t	          g d
          d            |t	          g d          d            |t	          t          g                     d            |t	          t          dg                    d            |t	          t          g d                    d            |t	          t          g d
                    d            |t	          t          g d                    d            |t	          t          g                     d            |t	          t          dg                    d            |t	          t          g d                    d            |t	          t          g d
                    d            |t	          t          g d                    d            |t	           |g d                    d            |t	          i           d           dd d!d"d#} |t	          |          d$           d|d%<    |t	          |          d&            |t	           |d'                    d(            |t	           |d'dg                    d)            |t	           |d'dd g                    d*            |t	           |d'g d                    d+            |t	           |d'g d,                    d-            |t	           |d'g d.                    d/            |t	           |d'g d
                    d0           d S )1Nr   )array)dequer	   z()r#   r%   r&   r)   )r$   r'   r(            z(1, 2, 3, 4, 5, 6))r$   r'   r(   r5   r6   r7      z(1, 2, 3, 4, 5, 6, ...)z[]r$   z[1]z	[1, 2, 3]z[1, 2, 3, 4, 5, 6]z[1, 2, 3, 4, 5, 6, ...]zset(){1}	{1, 2, 3}{1, 2, 3, 4, 5, 6}{1, 2, 3, 4, 5, 6, ...}zfrozenset()frozenset({1})frozenset({1, 2, 3})frozenset({1, 2, 3, 4, 5, 6})"frozenset({1, 2, 3, 4, 5, 6, ...})zdeque([1, 2, 3, 4, 5, 6, ...])z{}r'   r(   r5   )alicebobcharlesdavez/{'alice': 1, 'bob': 2, 'charles': 3, 'dave': 4}arthurz6{'alice': 1, 'arthur': 1, 'bob': 2, 'charles': 3, ...}r   z
array('i')zarray('i', [1])zarray('i', [1, 2])zarray('i', [1, 2, 3]))r$   r'   r(   r5   zarray('i', [1, 2, 3, 4]))r$   r'   r(   r5   r6   zarray('i', [1, 2, 3, 4, 5])z array('i', [1, 2, 3, 4, 5, ...]))r3   collectionsr4   r   r   set	frozenset)r   r3   r4   r   ds        r   test_containerzReprTests.test_container=   sx   %%%%%%
1R55$
1T77F
1Y<<%%%
1  "6777
1"##%>??? 	1R55$
1aS665
1YYY<<%%%
1  "6777
1"""##%>??? 	1SWW::w
1S!XX;;
1S^^k***
1S###$$%%';<<<
1S&&&''((*CDDD 	1Yr]]]+++
1Ys^^.///
1Yyyy!!""$:;;;
1Y)))**++-LMMM
1Y,,,--..0TUUU 	1UU((())**,LMMM 	1R55$a;;
1Q44BCCC(
1Q44IJJJ 	1UU3ZZ==,'''
1UU3__0111
1UU3A  "6777
1UU3			""##%<===
1UU3%%&&(BCCC
1UU3(())+HIII
1UU3***++,,5	7 	7 	7 	7 	7r   c                     | j         } |t          dh          d            |t          h d          d            |t          h d          d            |t          h d          d           d S )	Nr$   r9      r$   r'   r(   r:      r$   r'   r(   r5   r6   r7   r;      r$   r'   r(   r5   r6   r7   r8   r<   )r   r   r   r   s     r   test_set_literalzReprTests.test_set_literalr   s    
1aS665
1YYY<<%%%
1  "6777
1"""##%>?????r   c                 R   | j         } |t          t          dh                    d            |t          t          h d                    d            |t          t          h d                    d            |t          t          h d                    d           d S )	Nr$   r=   rL   r>   rM   r?   rN   r@   )r   r   rH   rO   s     r   test_frozensetzReprTests.test_frozensety   s    
1Ys^^.///
1Yyyy!!""$:;;;
1Y)))**++-LMMM
1Y,,,--..0TUUUUUr   c                    | j         } |t          d          t          d                      |t          d          t          d                      |t          d          t          d                     ddz  }t          |          d d         dz   t          |          dd          z   } |t          |          |           d S )N{   gUUUUUU?
   d      r   ir   )r   r   nr    s       r   test_numberszReprTests.test_numbers   s    
1S66499
1S66499
1U88T%[[!!!G773B3<%'$q''#$$-7
1Q44r   c                    | j         }t          d          } |t          |          t          |                     t          d          }t          |          d d         dz   t          |          dd          z   } |t          |          |           t	                      } |t          |          dt          |          z             t          t                    }|                     |                    d                     |                     |                    d                     | 	                    |
                    d          d	dg           d S )
Na  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxr   r   r   z&<ClassWithFailingRepr instance at %#x>z<class >   )r   ClassWithReprr   r   ClassWithFailingReprid
assertTrue
startswithendswithassertInfind)r   r   i1i2r    i3r   s          r   test_instancezReprTests.test_instance   s$   3
1R55$r((8$$88CRC=5(488CDD>9
1R55(!##
1R55;BrFFBDDD"##Y//000

3(((affUmmb"X.....r   c                 n    t          d           }|                      |j        d          |           d S )Nc                     | S Nr	   xs    r   <lambda>z'ReprTests.test_lambda.<locals>.<lambda>   s    1 r   z0<function ReprTests.test_lambda.<locals>.<lambda)r   rb   rc   )r   r   s     r   test_lambdazReprTests.test_lambda   s9    %WXXZ[\\\\\r   c                     | j         } |t          t                    d           |                     t          dj                                      d                     d S )Nz<built-in function hash> z*<built-in method split of str object at 0x)r   r   hashrb   splitrc   rO   s     r   test_builtin_functionzReprTests.test_builtin_function   s`    
4::1222RX118: : 	; 	; 	; 	; 	;r   c           	          | j         } |t          t          d                    d            |t          t          dd                    d            |t          t          ddd                    d           d S )Nr$   zrange(0, 1)r'   zrange(1, 2)r5   r(   zrange(1, 4, 3))r   r   r
   rO   s     r   
test_rangezReprTests.test_range   su    
4a>>=)))
4am,,,
4aA!122222r   c                 |   | j         } |t          g gggggg          d            |t          g ggggggg          d            |t          t          d                    d            |t          t          d                    d            |t          t          d          t          d          i          d            |t          t          d          t          d          i          d	            |t          i gggggg          d
            |t          i ggggggg          d           d S )Nz[[[[[[[]]]]]]]z[[[[[[[...]]]]]]]r7   z(((((((),),),),),),)r8   z(((((((...),),),),),),)r6   z&{((((((),),),),),): ((((((),),),),),)}z,{((((((...),),),),),): ((((((...),),),),),)}z[[[[[[{}]]]]]])r   r   r   rO   s     r   test_nestingzReprTests.test_nesting   sZ   
12$zl^.///
1B4&
|n 3444
1[^^4555
1[^^7888
1{1~~A0113	5 	5 	5
1{1~~A0119	; 	; 	; 	12$zl^.///
1B4&
|n 344444r   c                     d } |            j         d         }|                     t          |          d           |                     t          |          d           d S )Nc                      dfd} | S )N*   c                       S rm   r	   rn   s   r   innerz4ReprTests.test_cell.<locals>.get_cell.<locals>.inner   s    r   r	   )r   ro   s    @r   get_cellz%ReprTests.test_cell.<locals>.get_cell   s&    A    Lr   r   z6<cell at 0x[0-9A-Fa-f]+: int object at 0x[0-9A-Fa-f]+>z<cell at 0x.*\.\.\..*>)__closure__assertRegexr   r   )r   r   ro   s      r   	test_cellzReprTests.test_cell   sr    	 	 	
 HJJ"1%a #C 	D 	D 	D1899999r   c                 t   | j         } |t          t          j                  d            G d d          }t	          |j                  }|                      t          |          d|j        d           t          |j                  }|                      t          |          d|j        d           d S )Nz"<method 'items' of 'dict' objects>c                       e Zd Zd ZdS )%ReprTests.test_descriptors.<locals>.Cc                     d S rm   r	   )clss    r   fooz)ReprTests.test_descriptors.<locals>.C.foo   s      r   N)__name__
__module____qualname__r   r	   r   r   Cr      s        r   r   z<staticmethod(z)>z<classmethod()r   r   dictitemsstaticmethodr   classmethod)r   r   r   ro   s       r   test_descriptorszReprTests.test_descriptors   s    
4
ABBB
	 	 	 	 	 	 	 	a">15">">">???a"=!%"="="=>>>>>r   c                     t          g d          }t          |          }ddd}t          |           t          |           t          |           d S )N)              ?               @y              @r$   r'   )r   r   )rG   rH   r   )r   ro   yzs       r   test_unsortablezReprTests.test_unsortable   sP     aLLNN	!	!	!r   N)r   r   r   r!   r1   rJ   rP   rR   rY   rj   rq   rv   rx   rz   r   r   r   r	   r   r   r   r      s          " " "&37 37 37j@ @ @V V V  / / /"] ] ]
; ; ;3 3 35 5 5"	: 	: 	:? ? ?    r   r   c                     t          | dd          5 }|                    |           d d d            d S # 1 swxY w Y   d S )NwASCII)encoding)openwrite)pathtextfps      r   
write_filer      s    	dC'	*	*	* b
                 s   6::c                       e Zd ZdZd Zd Zd Zd Zd Z e	j
        d          d             Zd	 Zd
 Zd Z e	j
        d          d             ZdS )LongReprTest3areallylongpackageandmodulenametotestreprtruncationc                    t           j                            | j                  | _        t           j                            | j        | j                  | _        t          j        | j        d           t          j        | j                   t          t           j                            | j        d                     t          j        | j        d           t          j        | j                   t          t           j                            | j        d                     t          j
                    | _        t          j                            d| j                   t          j                     d S )NT)ignore_errorsz__init__.pyr   )osr   joinlongnamepkgname
subpkgnameshutilrmtreemkdirr   getcwdheresysinsert	importlibinvalidate_cachesr   s    r   setUpzLongReprTest.setUp   s   w||DM22',,t}dmDDdl$7777
"',,t|]CCDDDdoT::::
!!!"',,tFFGGGIKK	49%%% 	#%%%%%r   c                    g }t          j        | j                  D ]A\  }}}||z   D ]5}|                    t           j                            ||                     6B|                    | j                   |                                 |                                 |D ]J}t           j                            |          rt          j	        |           6t          j
        |           Kt          j        d= d S )Nr   )r   walkr   appendr   r   sortreverseisdirrmdirremover   )r   actionsdirpathdirnames	filenamesnameps          r   tearDownzLongReprTest.tearDown   s    ,.GDL,A,A 	< 	<(GXy 9, < <rw||GT::;;;;<t|$$$ 	 	Aw}}Q 	!HQKKKr   c                    t          | j                  }|dt          | j                  dz   z  z  }|t          |          dz   t          d          z   z  }|t          t          j                            d                    z   t          d          z
  }t          j        dk    r |dk    r|                     d|z             d S t          j        dk    rt          rt          d|           d S d S d S )	Nr'   r$   .pyzx.pynti  zDtest paths too long (%d characters) for Windows' 260 character limitzcached_path_len =)lenr   r   r   utilcache_from_sourcer   r   skipTestr   print)r   module_namesource_path_lencached_path_lens       r   _check_path_limitationsz$LongReprTest._check_path_limitations
  s    di..1DM 2 2Q 6773{++a/#e**<<*	008899:<?KKH7d??#55 MM`+, - - - - -W___%77777 ___r   c                    d | _         |                     | j                   t          t          j                            | j        | j        dz                        t          j	                     ddl
m} |}|                     t          |          d|j        d|j        d           |                     t          t                     d           d S )Nr   r   )r   z<module z from r]   z<module 'sys' (built-in)>)maxDiffr   r   r   r   r   r   r   r   r   gareallylongpackageandmodulenametotestreprtruncation.areallylongpackageandmodulenametotestreprtruncationr   r   r   r   __file__r   )r   r   modules      r   test_modulezLongReprTest.test_module  s    $$T\222"',,tu8LMMNNN#%%% 	p  	p  	p  	p  	p  	pDfQWQ`Q`Q`'abbbc$?@@@@@r   c                 "   |                      d           | j        }t          t          j                            | j        d          d           t          j                     ddl	m
}  |t          |j
                  d|j        z             d S )Nr   zfoo.pyzclass foo(object):
    pass
r   )r   z<class '%s.foo'>)r   r   r   r   r   r   r   r   r   r   r   r   r   )r   r   r   s      r   	test_typezLongReprTest.test_type&  s    $$U+++27<<:: = 	 	 	 	#%%%
4==!CL0	2 	2 	2 	2 	2r   zneed a suitable objectc                     d S rm   r	   r   s    r   test_objectzLongReprTest.test_object2  s	     	r   c                 (   |                      d           t          t          j                            | j        d          d           t          j                     ddlm	} | 
                    t          |j	                  d|j        z             d S )Nbarzbar.pyzclass bar:
    pass
r   )r   z<class '%s.bar'>)r   r   r   r   r   r   r   r   r   r   r   r   r   )r   r   s     r   
test_classzLongReprTest.test_class8  s    $$U+++27<<:: = 	 	 	 	#%%%cg(:S\(IJJJJJr   c                 j   |                      d           t          t          j                            | j        d          d           t          j                     ddlm	} |	                                }| 
                    t          |                              d|j        z                       d S )Nbazzbaz.pyzclass baz:
    pass
r   )r   z<%s.baz object at 0x)r   r   r   r   r   r   r   r   r   r   rb   r   rc   r   )r   r   ibazs      r   rj   zLongReprTest.test_instanceC  s    $$U+++27<<:: = 	 	 	 	#%%%wwyyT

--"S\13 3 	4 	4 	4 	4 	4r   c                    |                      d           | j        }t          t          j                            | j        d          d           t          j                     ddl	m
} t          |j        j                  }|                      |j        d          |           |                                }t          |j                  }|                      |j        d|j        d          |           d S )	Nquxzqux.pyzclass aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa:
    def amethod(self): pass
r   )r   z<function aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.amethodz<bound method aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.amethod of <z.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa object at 0x)r   r   r   r   r   r   r   r   r   r   r   r   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamethodrb   rc   r   )r   r   r   r   iquxs        r   test_methodzLongReprTest.test_methodO  s2   $$U+++27<<:: = 	 	 	 	#%%%  ^  f  g  g  &B  C  C  EF  	G  	G  	G  \  \  ^  ^|||   !"	$ 	$ 	$ 	$ 	$r   z1needs a built-in function with a really long namec                     d S rm   r	   r   s    r   rv   z"LongReprTest.test_builtin_functionb  s	     	r   N)r   r   r   r   r   r   r   r   r   unittestskipr   r   rj   r   rv   r	   r   r   r   r      s        DH& & &"  8 8 8$A A A
2 
2 
2 X]+,,  -,
	K 	K 	K
4 
4 
4$ $ $& X]FGG  HG  r   r   c                       e Zd Zd Zd ZdS )r_   c                     || _         d S rm   r   )r   r   s     r   __init__zClassWithRepr.__init__h  s    r   c                     d| j         z  S )NzClassWithRepr(%r)r   r   s    r   __repr__zClassWithRepr.__repr__j  s    "TV++r   N)r   r   r   r   r   r	   r   r   r_   r_   g  s2          , , , , ,r   r_   c                       e Zd Zd ZdS )r`   c                      t          d          )Nz+This should be caught by Repr.repr_instance)	Exceptionr   s    r   r   zClassWithFailingRepr.__repr__o  s    EFFFr   N)r   r   r   r   r	   r   r   r`   r`   n  s(        G G G G Gr   r`   c                   D    e Zd ZdZd Zd Z e            d             ZdS )MyContainerz"Helper class for TestRecursiveReprc                 .    t          |          | _        d S rm   )listvalues)r   r   s     r   r   zMyContainer.__init__t  s    6llr   c                 :    | j                             |           d S rm   )r   r   )r   values     r   r   zMyContainer.appendv  s    5!!!!!r   c                 h    dd                     t          t          | j                            z   dz   S N<z, r]   r   mapstrr   r   s    r   r   zMyContainer.__repr__x  *    TYYs344555;;r   N)r   r   r   __doc__r   r   r   r   r	   r   r   r   r   r  sZ        ((# # #" " "^< < < < <r   r   c                   6    e Zd Z ed          d             ZdS )MyContainer2r+   c                 h    dd                     t          t          | j                            z   dz   S r   r   r   s    r   r   zMyContainer2.__repr__}  r  r   N)r   r   r   r   r   r	   r   r   r  r  |  s8        ^E< < < < <r   r  c                   >    e Zd Zd ZeZ  e            e          ZdS )MyContainer3c                     dS )zTest document contentNr	   r   s    r   r   zMyContainer3.__repr__  s    r   N)r   r   r   r   wrappedr   wrapperr	   r   r   r  r    s;           Gnnw''GGGr   r  c                       e Zd Zd Zd ZdS )TestRecursiveReprc                    t          t          d                    }|                    |           |                    d           |                    |           |                     t	          |          d           t          t          d                    }|                    |           |                    d           |                    |           |                     t	          |          d           d S )Nabcdero   z<a, b, c, d, e, ..., x, ...>z<a, b, c, d, e, +++, x, +++>)r   r   r   r   r   r  )r   ms     r   test_recursive_reprz%TestRecursiveRepr.test_recursive_repr  s    W&&			a"@AAAg''			a"@AAAAAr   c                     ddl m} t          j        }t          j        }|D ]4}|                     t          ||          t          ||                     5d S )Nr   )WRAPPER_ASSIGNMENTS)	functoolsr  r  r
  r  assertIsgetattr)r   assignedr
  r  r   s        r   test_assigned_attributesz*TestRecursiveRepr.test_assigned_attributes  sl    ======&& 	J 	JDMM''400''42H2HIIII	J 	Jr   N)r   r   r   r  r  r	   r   r   r  r    s:        
B 
B 
BJ J J J Jr   r  __main__)r  r   r   r   r   importlib.utilr   test.supportr   test.support.os_helperr   reprlibr   r   r   r   r   TestCaser   r   r   r_   r`   r   r  r  r  r   mainr	   r   r   <module>r      s^   
 


 				                       4 4 4 4 4 4             " " " " " "  G G G G G! G G GR  ~ ~ ~ ~ ~8$ ~ ~ ~@, , , , , , , ,G G G G G G G G< < < < < < < << < < < <; < < <
( ( ( ( ( ( ( (J J J J J) J J J( zHMOOOOO r   