
    2hhcP                        S SK r S SKrS SKrS SKrS SKrS SKrS SKJr  S SKJ	r	  S SK
JrJr  S SKJrJr  S SKJr  SSKJr  \	R(                  " S	5      rSr " S
 S\5      r " S S\R2                  5      r " S S\R2                  5      r " S S\R2                  5      r " S S\\R2                  5      r\S:X  a  \R>                  " 5         gg)    N)support)import_helper)TESTFNTESTFN_UNDECODABLE)assert_python_failureassert_python_ok)ExceptionIsLikeMixin   )decode_stderr	_testcapic                       \ rS rSrSrg)CustomError    N__name__
__module____qualname____firstlineno____static_attributes__r       G/opt/python-3.13.8/usr/lib/python3.13/test/test_capi/test_exceptions.pyr   r      s    r   r   c                   ,    \ rS rSrS rS rS rS rSrg)Test_Exceptions   c                     [        S5      n[        S5      n Ue! [          a  n[        R                  " 5       n[
        R                  U5      n[        R                  " 5       n[
        R                  U5      n[        R                  " 5       nU R                  XS5        U R                  XQ5        U R                  XE5        U R                  X5        U R                  Xr5        U R                  Xg5         S nAg S nAff = f)N5TEST)
ValueError	TypeErrorfailsys	exceptionr   set_exceptionassertEqual)	selfraised_exceptionnew_exceorig_sys_exceptionorig_exceptionnew_sys_exceptionnew_exceptionreset_sys_exceptions	            r   test_exceptionTest_Exceptions.test_exception   s    %c?F#	."" 	?!$&44W=N #%33NCM"%--/^/^>/@0A]4.>>	?s    
C=CC88C=c                 h   [        S5      n[        S5      n Ue! [          Ga  nUR                  n[        R
                  " 5       n[        R                  UR                  US 5      n[        R
                  " 5       n[        R                  " U6 n[        R
                  " 5       n	U R                  US   U5        U R                  XaR                  X45        U R                  XV5        U R                  X5        U R                  XR                  US 45        U R                  Xx5         S nAg S nAff = f)Nr   r   r
   )r   r    
assertTrue__traceback__r"   exc_infor   set_exc_info	__class__r%   assertSequenceEqual)
r&   r'   r(   r)   tborig_sys_exc_infoorig_exc_infonew_sys_exc_infonew_exc_inforeset_sys_exc_infos
             r   test_exc_infoTest_Exceptions.test_exc_info1   s   %c?F#	#"" 	EB #%2273D3DgtTM"||~$11=AL!$]1-q1$$]5O5OQa4fg$$%6F$$%7G$$\4E4EwPT3UV$$%5DD	Es    D1DD,,D1c                     [         R                  " S5      n[        SU5      nUR                  R	                  5       nU R                  USS/5        g )Nz            import _testcapi

            def foo():
                _testcapi.function_set_warning()

            foo()  # line 6


            foo()  # line 9
        -cs0   <string>:6: RuntimeWarning: Testing PyErr_WarnExs0   <string>:9: RuntimeWarning: Testing PyErr_WarnExtextwrapdedentr   err
splitlinesr%   r&   codeprocwarningss       r   test_warn_with_stacklevel)Test_Exceptions.test_warn_with_stacklevelH   sP     
  
  d+88&&(??$
 	r   c                     [         R                  " S5      n[        SU5      nUR                  R	                  5       nU R                  US/5        g )Nz            import _testcapi

            class Foo:
                def foo(self):
                    _testcapi.function_set_warning()
                def __del__(self):
                    self.foo()

            ref = Foo()
        rA   s0   <string>:7: RuntimeWarning: Testing PyErr_WarnExrB   rG   s       r   test_warn_during_finalization-Test_Exceptions.test_warn_during_finalization[   sO     
  
  d+88&&( 	?$
 	r   r   N)	r   r   r   r   r/   r>   rK   rN   r   r   r   r   r   r      s    .,#.&r   r   c                   L    \ rS rSrSS jr\R                  " 5       S 5       rSrg)Test_FatalErrorp   r   c                    [         R                  " 5          [        SSU5      u  pEnS S S 5        [        W5      nU R	                  SU5        [
        R                  " SU[
        R                  5      nU(       d  U R                  SU< 35        [        UR                  S5      R                  5       R                  S5      5      n[        UR                  S5      5      n	U H  n
U R	                  X5        M     U H  n
U R                  X5        M     U R                  [!        U5      U	5        g ! , (       d  f       GN= f)	Nz-sSIrA   z8Fatal Python error: _testcapi_fatal_error_impl: MESSAGE
z,^Extension modules:(.*) \(total: ([0-9]+)\)$z$Cannot find 'Extension modules:' in r
   z,    )r   SuppressCrashReportr   r   assertInresearch	MULTILINEr!   setgroupstripsplitintassertNotInr%   len)r&   rH   expectednot_expectedrcoutrE   matchmodulestotalnames              r   check_fatal_error!Test_FatalError.check_fatal_errorr   s    ((*0tDLBS + C Q	 		Ir||-II<SGDEekk!n**,22489EKKN#DMM$(  DT+ !Wu-% +*s   D//
D>c                 b    SnSnSnU R                  X1U5        SnSnSnU R                  X15        g )N)r   )r"   z8import _testcapi, sys; _testcapi.fatal_error(b"MESSAGE")zif True:
            import _testcapi, sys
            sys.stdlib_module_names = frozenset({"_testcapi"})
            _testcapi.fatal_error(b"MESSAGE")
        )ri   )r&   ra   rb   rH   s       r   test_fatal_error Test_FatalError.test_fatal_error   sF     "It|< %
 	t.r   N)r   )	r   r   r   r   ri   r   requires_subprocessrl   r   r   r   r   rQ   rQ   p   s$    .*   "/ #/r   rQ   c                   J    \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rSrg)Test_ErrSetAndRestore   c                 ,   U R                  [        5         [        R                  [        5       5        S S S 5        [        5       n [        R                  U5        g ! , (       d  f       N/= f! [         a  nU R	                  X5         S nAg S nAff = fN)assertRaisesr   r   err_set_raisedassertIs)r&   vexs      r   test_err_set_raised)Test_ErrSetAndRestore.test_err_set_raised   sh    z*$$Z\2 +L	!$$Q'	 +*
  	!MM!  	!s#   AA. 
A+.
B8BBc                 t   U R                  [        5         [        R                  [        5        S S S 5        U R                  [        5         [        R                  [        S5        S S S 5        U R                  [        5         [        R                  [        SS 5        S S S 5        U R                  [        5         [        R                  [        [        5       5        S S S 5         [        R                  [        S5         SS-    U R                  [        5         [        R                  [        SW5        S S S 5        U R                  [        5         [        R                  [        SS5        S S S 5         [        R                  [        SW5        g ! , (       d  f       GNp= f! , (       d  f       GNJ= f! , (       d  f       GN#= f! , (       d  f       N= f! [         a*  nU R                  SUR                  S   5         S nAGNS nAff = f! [         a  nUR                  n S nAGN)S nAff = f! , (       d  f       GN= f! , (       d  f       N= f! [         aO  nU R                  SUR                  S   5        U R                  WUR                  R                  5         S nAg S nAff = f)Nr
   hir   )rt   r   r   err_restoreKeyErrorr%   args	Exceptionr3   r    rv   tb_next)r&   kr)   r8   rw   s        r   test_err_restore&Test_ErrSetAndRestore.test_err_restore   s   z*!!*- +z*!!*a0 +z*!!*a6 +z*!!*jl; +	.!!(D1	!aC z*!!*a4 +y)!!*a3 *	7!!*a4+ +*******  	.T166!9--	.  	!B	!**))  	7Qq	*MM"aoo5566	7s   FF+F=>#G*G  H H;I=I 
F(+
F:=
G
G 
H*HH
H8!H33H8;
I

I
J7(AJ22J7c           	         U R                  [        5       n[        R                  [        S5        S S S 5        U R	                  WR
                  R                  S5        U R                  [        5       n[        R                  [        [        SSS5      5        S S S 5        UR
                  R                  S   nU R                  U[        5        U R	                  UR                  S5        U R                  [        5       n[        R                  [        [        S5      5        S S S 5        U R	                  UR
                  R                  S	5         " S
 S[        5      n " S S[        US9nU R                  [        5       n[        R                  XD" 5       5        S S S 5        g ! , (       d  f       GN= f! , (       d  f       GN)= f! , (       d  f       N= f! , (       d  f       g = f)N*   )r   r
   rT      r   )r
   rT   r      )r   c                       \ rS rSrS rSrg)3Test_ErrSetAndRestore.test_set_object.<locals>.Meta   c                     SS-    g )Nr
   r   r   )clssubs     r   __subclasscheck__ETest_ErrSetAndRestore.test_set_object.<locals>.Meta.__subclasscheck__   s	    !r   r   N)r   r   r   r   r   r   r   r   r   Metar      s    r   r   c                       \ rS rSrSrg)5Test_ErrSetAndRestore.test_set_object.<locals>.Broken   r   Nr   r   r   r   Brokenr      s    r   r   )	metaclass)rt   r   r   exc_set_objectr%   r#   r   r    assertIsInstancePermissionErrorOSErrortyper   ZeroDivisionError)r&   r)   wrappedr   r   s        r   test_set_object%Test_ErrSetAndRestore.test_set_object   s\    z*a$$Z4 +))51 z*a$$Z1Qq1AB +++""1%gy1y1 /1$$Wob.AB 0))51	4 		Y$ 	 01Q$$VVX6 21/ +*
 +* 0/ 21s/   F*4&F<$GG*
F9<
G
G
G-c                 j    " S S[         5      n[        R                  US5      nU R                  U[        5        U R                  UR                  S   S5         " S S5      n[        R                  X" 5       5      nU R                  U[        5        U R                  UR                  S   S5        g )	Nc                       \ rS rSrS rSrg)?Test_ErrSetAndRestore.test_set_object_and_fetch.<locals>.Broken   c                     [        S5      e)NzBroken __init__)r   )r&   args     r   __init__HTest_ErrSetAndRestore.test_set_object_and_fetch.<locals>.Broken.__init__   s     !233r   r   N)r   r   r   r   r   r   r   r   r   r   r      s    4r   r   abcdr   z-Normalization failed: type=Broken args='abcd'c                       \ rS rSrS rSrg)?Test_ErrSetAndRestore.test_set_object_and_fetch.<locals>.BadArg   c                     [        S5      e)NzBroken arg type)r    r&   s    r   __repr__HTest_ErrSetAndRestore.test_set_object_and_fetch.<locals>.BadArg.__repr__   s     122r   r   N)r   r   r   r   r   r   r   r   r   BadArgr      s    3r   r   z0Normalization failed: type=Broken args=<unknown>)r   r   exc_set_object_fetchr   r   r%   	__notes__)r&   r   excr   s       r   test_set_object_and_fetch/Test_ErrSetAndRestore.test_set_object_and_fetch   s    	4Y 	4 ,,VV<c:.q)H	J	3 	3 ,,VVX>c:.q)K	Mr   c                 x   [         R                  nU R                  [        5       nU" [        S5        SSS5        U R	                  WR
                  R                  S5        U R                  [        5       nU" [        SR                  5       5        SSS5        U R	                  UR
                  R                  S5        U R                  [        5         U" [        S5        SSS5        U R                  [        U[        S5        g! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       NM= f)zTest PyErr_SetString()   errorN)error   помилкаr      )r   err_setstringrt   r   r%   r#   r   encodeUnicodeDecodeErrorSystemErrorlist)r&   	setstringr)   s      r   test_set_string%Test_ErrSetAndRestore.test_set_string   s    ++	01Q'2 2)):601Q')9)@)@)BC 2))+>?12'1 3+y$A 21 21 32s#   D	7DD+	
D
D(+
D9c           	      p   [         R                  " S5        SSKJnJnJnJn  Sn[        X5      nX#4Ul        X&l	        U R                  [        5       nU" [        SSU" S5      5        SSS5        U R                  WR                  R                  S	5        U R                  [        5       nU" [        S
SR                  5       5        SSS5        U R                  UR                  R                  S5        U R!                  ["        S5         U" [        SU" S5      5        SSS5        U R!                  [$        S5         U" [        S5        SSS5        U R                  [&        U[(        S5        g! , (       d  f       GN= f! , (       d  f       N= f! , (       d  f       Nz= f! , (       d  f       N_= f)zTest PyErr_Format()ctypesr   )	pythonapi	py_objectc_char_pc_intPyErr_Formats   %s %dr   r   N)zerror 42s   %sr   r   znot in ranges   %czformat stringr   )r   import_moduler   r   r   r   r   getattrargtypesrestypert   r   r%   r#   r   r   assertRaisesRegexOverflowErrorr   r   r   )r&   r   r   r   r   rh   r   r)   s           r   test_format!Test_ErrSetAndRestore.test_format  s@   ##H-@@y/!* 6(01Q*Hhb	J 2))=901Q*E3C3J3J3LM 2))+>?##M>B*E59= C##J@*G4 A+|T8D 21 21 CB@@s0   E3,FF F'3
F
F
F$'
F5c                    [         R                  n[        R                  nU R	                  [
        5       nU" U[        S5        SSS5        U R                  WR                  R                  US45        U R                  UR                  R                  U5        U R                  UR                  R                  S5        U R	                  [
        5       nU" U[        [        R                  " [        5      5        SSS5        U R                  UR                  R                  [        5        [        (       an  U R	                  [
        5       nU" U[        [        5        SSS5        U R                  UR                  R                  [        R                  " [        5      5        U R	                  [
        5       nU" U[        [         5        SSS5        U R#                  UR                  R                  5        U R	                  [        5       nU" S[        S5        SSS5        U R                  UR                  R                  S5        U R                  UR                  R                  S5        U R                  UR                  R                  S5        U R	                  [$        5       nU" U[$        S5        SSS5        U R                  UR                  R                  USS45        g! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN^= f! , (       d  f       GN= f! , (       d  f       N= f)z%Test PyErr_SetFromErrnoWithFilename()s   fileNzNo such file or directoryfiler   )r   Error)r   err_setfromerrnowithfilenameerrnoENOENTrt   FileNotFoundErrorr   r%   r#   r   filenameosfsencoder   r   fsdecodeNULLassertIsNoner   )r&   setfromerrnowithfilenamer   r)   s       r   test_setfromerrnowithfilename3Test_ErrSetAndRestore.test_setfromerrnowithfilename  sP   #,#I#I 01Q$VWg> 2)) "=>	@**F3--v601Q$VWbkk&6IJ 2--v6""#45(:LM 6Q[[11[[);<> 01Q$VWd; 2!++../w'1$Q9 ())<8**A.--v601Q$V->H 2)) "=vF	H; 21 21
 65
 21 (' 21sG   K1'LL=L'L90M1
L 
L
L$'
L69
M
Mc                 D   [         R                  nU R                  R                  R                  n[
        R                  " 5        nU" [        S5      [        5        U R                  UR                  R                  [        5        U R                  [        UR                  R                  5      S5        U R                  UR                  R                  R                  US-   5        U R!                  UR                  R"                  5        U R                  UR                  R$                  [        5        S S S 5        [
        R                  " 5        nU" [        S5      [&        5        U R                  UR                  R                  [        5        U R                  [        UR                  R                  5      S5        U R                  UR                  R                  R                  US-   5        U R!                  UR                  R"                  5        U R!                  UR                  R$                  5        S S S 5        [
        R(                  " [*        SS 5         [
        R,                  " 5        nU" [        S5      [        5        S S S 5        S S S 5        WR/                  5       R1                  5       nU R                  US   S[        < 35        U R                  US   S5        U R                  US	   [2         S
35        [
        R(                  " [*        SS 5         [
        R,                  " 5        nU" [        S5      [&        5        S S S 5        S S S 5        UR/                  5       R1                  5       nU R                  US   S5        U R                  US	   [2         S
35        g ! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GNP= f! , (       d  f       GNZ= f! , (       d  f       N= f! , (       d  f       N= f)Noops!      unraisablehookr   zException ignored in: r
   "Traceback (most recent call last):r   .CustomError: oops!)r   err_writeunraisabletest_err_writeunraisable__code__co_firstlinenor   catch_unraisable_exceptionr   hexr%   
unraisableexc_typestr	exc_valueexc_traceback	tb_linenor   err_msgobjectr   	swap_attrr"   captured_stderrgetvaluerF   r   )r&   writeunraisable	firstlinecmstderrliness         r   r   .Test_ErrSetAndRestore.test_err_writeunraisable=  s   #7711::II	//1RK0#6R]]33[AS!8!897CR]]88BB&],bmm334R]]1137 2 //1RK0$7R]]33[AS!8!897CR]]88BB&^-bmm334bmm223 2 %5t<%%'6K0#6 ( = !,,.q%;C7#CDq#GHrxj0C$DE%5t<%%'6K0$7 ( = !,,.q#GHrxj0C$DE? 21 21 (' =< (' =<sb   C2N8C-O
&O.<OO.+PP P8
O

O
O+	&O..
O= 
P	
P
Pc                    [         R                  nU R                  R                  R                  n[
        R                  " 5        nU" [        S5      S/ 5        U R                  UR                  R                  [        5        U R                  [        UR                  R                  5      S5        U R                  UR                  R                  R                  US-   5        U R                  UR                  R                  S5        U R!                  UR                  R"                  5        S S S 5        [
        R                  " 5        nU" [        S5      S5        U R                  UR                  R                  [        5        U R                  [        UR                  R                  5      S5        U R                  UR                  R                  R                  US-   5        U R!                  UR                  R                  5        U R!                  UR                  R"                  5        S S S 5        [
        R                  " 5        nU" [        S5      [$        5        U R                  UR                  R                  [        5        U R                  [        UR                  R                  5      S5        U R                  UR                  R                  R                  US-   5        U R!                  UR                  R                  5        U R!                  UR                  R"                  5        S S S 5        [
        R&                  " [(        SS 5         [
        R*                  " 5        nU" [        S5      S/ 5        S S S 5        S S S 5        WR-                  5       R/                  5       nU R                  US	   S
5        U R                  US   S5        U R                  US   [0         S35        [
        R&                  " [(        SS 5         [
        R*                  " 5        nU" [        S5      S5        S S S 5        S S S 5        UR-                  5       R/                  5       nU R                  US	   S5        U R                  US   [0         S35        [
        R&                  " [(        SS 5         [
        R*                  " 5        nU" [        S5      [$        5        S S S 5        S S S 5        UR-                  5       R/                  5       nU R                  US	   S5        U R                  US   [0         S35        g ! , (       d  f       GN&= f! , (       d  f       GN2= f! , (       d  f       GN:= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GNi= f! , (       d  f       GNs= f! , (       d  f       N= f! , (       d  f       N= f)Nr   s   Error in %Rr   zError in []s   undecodable r   r   r   r   zError in []:r
   r   r   r   )r   err_formatunraisabletest_err_formatunraisabler   r   r   r   r   r%   r   r   r   r   r   r   r   r   r   r   r   r"   r   r   rF   r   )r&   formatunraisabler   r   r   r   s         r   r  /Test_ErrSetAndRestore.test_err_formatunraisablef  s5   $9922;;JJ	//1R[1>2FR]]33[AS!8!897CR]]88BB&],R]]22MBbmm223 2 //1R[13FGR]]33[AS!8!897CR]]88BB&^-bmm334bmm223 2 //1R[148R]]33[AS!8!897CR]]88BB&^-bmm334bmm223 2 %5t<%%'6[1>2F ( = !,,.q\3q#GHrxj0C$DE%5t<%%'6[13FG ( = !,,.q#GHrxj0C$DE%5t<%%'6[148 ( = !,,.q#GHrxj0C$DE_ 21 21 21 (' =< (' =< (' =<s   C+UC)U"C-U4%V;VVV<5V*V<WW0W
U"
U14
V
V	V
V'*
V9	4V<<
W
W	W
W-r   N)r   r   r   r   ry   r   r   r   r   r   r   r   r  r   r   r   r   rp   rp      s7    !767:M&B E."HJ$FR4Fr   rp   c                   F   ^  \ rS rSrU 4S jrS rS rS rS rS r	Sr
U =r$ )	#Test_PyUnstable_Exc_PrepReraiseStari  c                    > [         TU ]  5          [        S[        S5      [	        S5      /5      e! [         a  nXl         S nAg S nAff = f)Negzbad typer   )supersetUpExceptionGroupr    r   orig)r&   r)   r6   s     r   r  )Test_PyUnstable_Exc_PrepReraiseStar.setUp  sC    	 	*(=z"~'NOO 	II	s    1 
AAAc           	      f   U R                  [        S5         [        R                  SS /5        S S S 5        U R                  [        S5         [        R                  U R                  S5        S S S 5        U R                  [        S5         [        R                  U R                  [        S5      S/5        S S S 5        U R                  [
        S5         [        R                  [        S5      [        S5      /5        S S S 5        U R                  [
        S5         [        R                  [        S[        S5      /5      [        S5      /5        S S S 5        g ! , (       d  f       GN4= f! , (       d  f       GN= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       g = f)Nzorig must be an exceptionr   zexcs must be a listznot an exceptionzorig must be a raised exceptionr
  )r   r    r   unstable_exc_prep_reraise_starr  r   r  r   s    r   test_invalid_args5Test_PyUnstable_Exc_PrepReraiseStar.test_invalid_args  s:   ##I/JK44R$@ L ##I/DE44TYYC F ##I/AB44TYY2PR@ST C ##J0QR44Z^iPRm_U S ##J0QR44^D:VX>JZ5[6?m_F SR LK FE CB SR SRs;   E!E.,F *F5F"
E+.
E= 
F
F"
F0c                     U R                  [        R                  U R                  S /5      S 5         [	        S5      e! [         a  nUn S nAOS nAff = fU R                  [        R                  US /5      S 5        g )Nr   )r%   r   r  r  r   )r&   r)   r  s      r   test_nothing_to_reraise;Test_PyUnstable_Exc_PrepReraiseStar.test_nothing_to_reraise  sp    44TYYG	O	R.  	D	44TD6BD	Js   > 
AAAc                 j    U R                   n[        R                  X/5      nU R                  X!5        g rs   )r  r   r  assertExceptionIsLike)r&   r  ress      r   test_reraise_orig5Test_PyUnstable_Exc_PrepReraiseStar.test_reraise_orig  s+    yy66tVD""3-r   c                 *   U R                   nUR                  [        5      u  p#X#/U4X2/U4U/U4U/U4/ S 4/nU HC  u  pVU R                  US9   [        R                  X5      nU R                  Xv5        S S S 5        ME     g ! , (       d  f       MW  = f)Ninput)r  r]   r    subTestr   r  r  )r&   r  re   rest
test_casesr  ra   r  s           r   test_raise_orig_parts9Test_PyUnstable_Exc_PrepReraiseStar.test_raise_orig_parts  s    yyjj+ ]D!]D!WeVTNJ

  *OEE*>>tK**39 +*  ***s   'B
B	c                    U R                   nUR                  [        5      u  p#[        S5      n[	        S5      nXBU/[        SXA/5      4X$U/[        SXA/5      4X#U/[        SXA/5      4XEX#/[        SXEU/5      4XBXS/[        SXEU/5      4XSX$/[        SXTU/5      4X5X$/[        SXTU/5      4XEU/[        SXEU/5      4XBU/[        SXEU/5      4X5U/[        SXTU/5      4XE/[        SXE/5      4XT/[        SXT/5      4/nU HC  u  pxU R                  US9   [        R                  X5      n	U R                  X5        S S S 5        ME     g ! , (       d  f       MW  = f)Nzbad filezbad runtime r  )
r  r]   r    r   RuntimeErrorr  r  r   r  r  )
r&   r  re   r   new1new2r!  r  ra   r  s
             r   test_raise_with_new_exceptionsBTest_PyUnstable_Exc_PrepReraiseStar.test_raise_with_new_exceptions  s   yyjj+z"M* 4 .d\"BC4 .d\"BC4 .d\"BC%&rD;M(NO4&rD;M(NO%&rD;M(NO%&rD;M(NO $T4F!GH4 .d%5H"IJ$T4F!GH\>"tl;<\>"tl;<

$ ",UE*>>tK**39 +* ",**s   'E
E	)r  )r   r   r   r   r  r  r  r  r"  r)  r   __classcell__)r6   s   @r   r  r    s(    F$	J.
:$: :r   r  __main__) r   r   rW   r"   unittestrC   testr   test.supportr   test.support.os_helperr   r   test.support.script_helperr   r   test.support.testcaser	   	test_miscr   r   r   r   r   r   TestCaser   rQ   rp   r  r   mainr   r   r   <module>r6     s     	 	 
    & = N 6 $ ''4		) 	Th'' Tn(/h'' (/VFH-- FJY:*>@Q@Q Y:x zMMO r   