+
    BiS              %          ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RIHt	 ^ RI
t^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHtHtHt  ^ RIt]P>                  ! RR	7       R
RRRRRSR^RR.R]	P@                  ! R4      RRR]!! R4      RRRRRRR]	PD                  ! R4      R]	PD                  ! RT4      R ]	PD                  ! ]P                  ! R^^
^^)^4      4      /.t# ! R! R"]PH                  4      t% ! R# R$]PH                  4      t& ! R% R&]PH                  4      t' ! R' R(]PH                  4      t( ! R) R*]PH                  4      t) ! R+ R,]PH                  4      t*R;s+;s,s-RUR- lt.RVR. lt/R/ t0R0 t1 ! R1 R2]PH                  4      t2 ! R3 R4]24      t3 ! R5 R6]24      t4 ! R7 R8]24      t5 ! R9 R:]24      t6 ! R; R<]64      t7 ! R= R>]64      t8]Pr                  ! ]RJ R?4       ! R@ RA]24      4       t:]Pr                  ! ]RJ R?4       ! RB RC]PH                  4      4       t; ! RD RE]24      t< ! RF RG]PH                  4      t= ! RH RI]P                  P|                  4      t? ! RJ RK]PH                  4      t@]P                  RWRL l4       tB ! RM RN]PH                  4      tC ! RO RP]PH                  4      tDRQ tE]FRR8X  d   ]P                  ! 4        R# R#   ] d    Rt ELi ; i)X    N)mock)support)	os_helper)socket_helper)threading_helper)	ALWAYS_EQLARGESTSMALLESTT)moduleastringzfoo@bar.baz.spamafloatgHzns@anint
ashortlonganotherlistz.zyx.41abase64   my dog has fleasb64bytesb64bytearraybooleanFunicodeu	   䀀怀耀u   ukey䀀zregular value	datetime120050210T11:41:23	datetime2  	datetime3c                      a  ] tR t^0t o R tR tR tR tR tR t	R t
R tR	 tR
 tR tR tR tR tR tR tR tR tR tR tR tR tRtV tR# )XMLRPCTestCasec                    \         P                  ! \        34      p\         P                  ! V4      pV P	                  \        V^ ,          ^ ,          4       R# )r   N)	xmlrpclibdumpsalistloadsassertEqual)selfdumploads   &  '/usr/lib/python3.14/test/test_xmlrpc.pytest_dump_loadXMLRPCTestCase.test_dump_load2   s8    x(t$Q
+    c                   \         P                   ! R ^^
^^)^4      pV P                  V\        P                  ! R4      4       \        P                  ! V34      p\        P
                  ! VRR7      w  r4Vw  pV P                  WQ4       V P                  \        V4      \         P                   4       V P                  V4       \        P
                  ! VRR7      w  r4Vw  pV P                  WQ4       V P                  \        V4      \        P                  4       V P                  V4       \        P
                  ! VRR7      w  r4Vw  pV P                  WQ4       V P                  \        V4      \         P                   4       V P                  V4       \        P
                  ! VRR7      w  r4Vw  pV P                  WQ4       V P                  \        V4      \        P                  4       V P                  V4       R# )r   r   Tuse_builtin_typesF)use_datetimeN	datetimer#   r   DateTimer    r"   assertIstypeassertIsNoner$   dtsresultmnewdts   &     r'   test_dump_bare_datetime&XMLRPCTestCase.test_dump_bare_datetime7   s~   
 tQBB7Y//0CDEOORE"OOA>	#d5k8#4#45!OOA?	#d5k9#5#56!OOAD9	#d5k8#4#45!OOAE:	#d5k9#5#56!r*   c                Z   \         P                   ! ^^^
^^)^4      pV P                  V\        P                  ! R4      4       \        P                  ! V34      p\        P
                  ! VRR7      w  r4Vw  pV P                  WQ4       V P                  \        V4      \         P                   4       V P                  V4       \        P
                  ! VRR7      w  r4Vw  pV P                  WQ4       V P                  \        V4      \        P                  4       V P                  V4       R# )   z00010210T11:41:23Tr,   FNr/   r5   s   &     r'   test_datetime_before_1900(XMLRPCTestCase.test_datetime_before_1900Y   s    q1b"b"5Y//0CDEOORE"OOA>	#d5k8#4#45!OOA?	#d5k9#5#56!r*   c                0   \         P                  ! 4       p\         P                  ! \         P                  ! V3R R7      4      w  w  r#V P	                  VP
                  \        4       \         P                  ! V3R R7      pV P	                  V\        4       R# )TmethodresponseN)r   r1   r"   r    assertIsInstancevaluestr)r$   dnew_ddummyr7   s   &    r'   test_bug_1164912XMLRPCTestCase.test_bug_1164912k   so     %OOIOOQD;?-A B%ekk3/ OOUHT:a%r*   c                     ! R  R\         4      pV! 4       p^dVn        RVn        \        P                  ! \        P
                  ! V34      4      w  w  r4V P                  W2P                  4       R# )c                       ] tR t^vtRtR# )-XMLRPCTestCase.test_newstyle_class.<locals>.T N__name__
__module____qualname____firstlineno____static_attributes__rO   r*   r'   TrN   v   s    r*   rV   HelloN)objectxyr   r"   r    r#   __dict__)r$   rV   tt2rI   s   &    r'   test_newstyle_class"XMLRPCTestCase.test_newstyle_classu   sR    	 	C"!)>?"ZZ(r*   c                `    V P                  \        \        P                  ^^c,          34       R# )   N)assertRaisesOverflowErrorr   r    r$   s   &r'   test_dump_big_long!XMLRPCTestCase.test_dump_big_long~   s    -1b5(Cr*   c                V    V P                  \        \        P                  R^/34       R# r>   Nr>   ra      rb   	TypeErrorr   r    rd   s   &r'   test_dump_bad_dict!XMLRPCTestCase.test_dump_bad_dict   s    )Y__|oFr*   c                    . ROp^^^V.pVP                  V4       V P                  \        \        P                  V34       R# rh   )appendrb   rl   r   r    )r$   lr\   s   &  r'   test_dump_recursive_seq&XMLRPCTestCase.test_dump_recursive_seq   s7    q1I	)Y__qd;r*   c                r    R ^R^/pR^RV/pW!R&   V P                  \        \        P                  V34       R# )123rG   r\   Nrk   r$   rG   r\   s   &  r'   test_dump_recursive_dict'XMLRPCTestCase.test_dump_recursive_dict   s;    CNCN#)Y__qd;r*   c                n   \         P                  R8  d0   V P                  \        \        P
                  \        R4      34       \        P
                  ! \        P                  \        P                  34       V P                  \        \        P
                  \        P                  ^,           34       V P                  \        \        P
                  \        P                  ^,
          34       R p\        P                  ! 4       pVP                  \        P                  V4       VP                  \        P                  V4       V P                  \        VP                  \        P                  ^,           V4       V P                  \        VP                  \        P                  ^,
          V4       R# )ra   c                     R # NrO   r7   s   &r'   dummy_write5XMLRPCTestCase.test_dump_big_int.<locals>.dummy_write       r*   Ni        )sysmaxsizerb   rc   r   r    intMAXINTMININT
Marshallerdump_intr$   r   r9   s   &  r'   test_dump_big_int XMLRPCTestCase.test_dump_big_int   s#   ;; mY__"5zm- 	))9+;+;<=-$++A-/	1-$++A-/	1	   "	

9##[1	

9##[1-#**1,k	;-#**1,k	;r*   c                   \         P                  ! \        R4      34       \         P                  ! \        \         P                  4      \        \         P                  4      34       \         P                  ! \        \         P                  ^*,           4      \        \         P                  ^*,
          4      34       R p\         P
                  ! 4       pVP                  \         P                  V4       VP                  \         P                  V4       VP                  \         P                  ^*,           V4       VP                  \         P                  ^*,
          V4       R# )ra   c                     R # r}   rO   r~   s   &r'   r   4XMLRPCTestCase.test_dump_double.<locals>.dummy_write   r   r*   Nr   )r   r    floatr   r   r   dump_doubler   s   &  r'   test_dump_doubleXMLRPCTestCase.test_dump_double   s    w)*y//0y//02 	3y//"45y//"457 	8	   "	i&&4	i&&4	i&&+[9	i&&+[9r*   c                $   \         R .,           p\         R .,           3p\        P                  ! VRR7      pV P                  V\        P                  ! V4      ^ ,          ^ ,          4       V P                  \        \        P                  V34       R # )NT)
allow_none)r!   r   r    r#   r"   rb   rl   )r$   rE   arg1strgs   &   r'   test_dump_noneXMLRPCTestCase.test_dump_none   si     t5#//$/215	7)Y__tg>r*   c                h   R R/p\         P                  ! V3RR7      pRV,           pV P                  \         P                  ! V4      ^ ,          ^ ,          V4       VP	                  RR4      pV P                  \         P                  ! V4      ^ ,          ^ ,          V4       \         P                  ! V3RRR7      pV P                  \         P                  ! V4      ^ ,          ^ ,          V4       VP	                  RR4      pV P                  \         P                  ! V4      ^ ,          ^ ,          V4       Rp\         P                  ! V3RVR	7      pV P                  \         P                  ! V4      ^ ,          ^ ,          V4       V P                  \         P                  ! V4      ^,          V4       R
# )u   key€¤u
   value€¤iso-8859-15encodingz,<?xml version='1.0' encoding='iso-8859-15'?>xmlcharrefreplaceT)r   rC   u   method€¤)r   
methodnameN)r   r    r#   r"   encode)r$   rE   r   r   s   &   r'   test_dump_encoding!XMLRPCTestCase.test_dump_encoding   sM    "$x-@=D.q1!4e<{{=*=>.q1!4e<x-.24.q1!4e<{{=*=>.q1!4e<'
x-*46.q1!4e<.q1:>r*   c                h   R pV P                  V\        P                  ! V4      4       \        \        \        P                  3 F  pV! V4      p\        P
                  ! V34      p\        P                  ! VRR7      w  rVVw  pV P                  Wq4       V P                  \        V4      \        4       V P                  V4       \        P                  ! VRR7      w  rVVw  pV P                  Wq4       V P                  \        V4      \        P                  4       V P                  V4       K  	  R# )r   Tr,   FN)
r#   r   Binarybytes	bytearrayr    r"   r2   r3   r4   )r$   sampletype_rE   r7   r8   r9   newvalues   &       r'   test_dump_bytesXMLRPCTestCase.test_dump_bytes   s    $!1!1&!9:Iy'7'77E&ME)A!TBIF KXX.MM$x.%0a !UCIF KXX.MM$x.)*:*:;a  8r*   c                    \         P                  pR pV P                  V\         P                  V4       RpV P                  V\         P                  V4       RpV P                  V\         P                  V4       R# )z6<params><param><value><spam/></value></param></params>zT<params><param><value><array><value><spam/></value></array></value></param></params>z<params><param><value><struct><member><name>a</name><value><spam/></value></member><member><name>b</name><value><spam/></value></member></struct></value></param></params>N)r   ResponseErrorrb   r"   )r$   r   datas   &  r'   test_loads_unsupported%XMLRPCTestCase.test_loads_unsupported   sf    !//G-$?4 	-$?5 	-$?r*   c                    R V,          p\         P                  ! V3/ VB w  rVVw  pV P                  Wr4       V P                  \	        V4      \	        V4      4       V P                  V4       R# )z1<params><param><value>%s</value></param></params>N)r   r"   r#   r2   r3   r4   )r$   r7   rE   kwargsr%   r8   r9   r   s   &&&,    r'   check_loadsXMLRPCTestCase.check_loads   sZ    BQFOOD3F3	)d8nd5k2!r*   c                   V P                   pV! R R 4       V! RR 4       V! RR4       V! RR4       V! RR4       V! RR4       V! RR	4       V! R
R4       V! R\        P                  ! R4      4       V! RRRR7       V! R\        P                  ! R4      4       V! R\        P                  ! R^^
^^)^4      RR7       V! R^^.4       V! RR^R^/4       R# )stringz<string>string</string>u4   <string>𝔘𝔫𝔦𝔠𝔬𝔡𝔢 string</string>u#   𝔘𝔫𝔦𝔠𝔬𝔡𝔢 stringz<int>2056183947</int>izz<int>-2056183947</int>z<i4>2056183947</i4>z<double>46093.78125</double>g    @z<boolean>0</boolean>Fz%<base64>AGJ5dGUgc3RyaW5n/w==</base64>s    byte stringTr,   z6<dateTime.iso8601>20050210T11:41:23</dateTime.iso8601>r   r   zR<array><data><value><int>1</int></value><value><int>2</int></value></data></array>z<struct><member><name>b</name><value><int>2</int></value></member><member><name>a</name><value><int>1</int></value></member></struct>abNiuq)r   r   r   r1   r0   r$   checks   & r'   test_load_standard_types'XMLRPCTestCase.test_load_standard_types   s     h!'2DFkl%z2&4#Z0,k:$e,556	85$	>F  !45	7FaRR8 $	& 	  "#Q	) 	   C+	-r*   c                    V P                   pV! R R4       V! RR4       V! R^4       V! RR4       V! RR4       V! RR	4       V! R
R4       V! R\        P                  ! R4      4       R# )z<nil/>Nz	<ex:nil/>z<i1>205</i1>z<i2>20561</i2>iQP  z<i8>9876543210</i8>l   `	 z-<biginteger>98765432100123456789</biginteger>l   5?4*UU z<float>93.78125</float>g     rW@z.<bigdecimal>9876543210.0123456789</bigdecimal>z9876543210.0123456789)r   decimalDecimalr   s   & r'   test_load_extension_types(XMLRPCTestCase.test_load_extension_types  sr      hk4 nc"&#Z0="	$'2>oo56	8r*   c           	        V P                   pR p\        P                  ! V4      ;_uu_ 4        RV^,           ,          pV P                  \        4      ;_uu_ 4        V! RV R2R4       RRR4       V P                  \        4      ;_uu_ 4        V! RV R2R4       RRR4       RRR4       R#   + '       g   i     LM; i  + '       g   i     L-; i  + '       g   i     R# ; i)i  ru   z<int>z</int>Nz<biginteger>z</biginteger>)r   r   adjust_int_max_str_digitsrb   
ValueError)r$   r   	maxdigitsr7   s   &   r'   test_limit_intXMLRPCTestCase.test_limit_int$  s      	..y99y1}%A"":..aS'. /"":..QC}5t< /	 :9....	 :99s;   .CB.	)%CC	C.B>9CCCC%	c                    \         P                  P                  4       pV P                  VP	                  R 4      RR./ 34       R# )zuser@host.tldzhost.tldN)AuthorizationzBasic dXNlcg==)xmlrpcclient	Transportr#   get_host_info)r$   transps   & r'   test_get_host_info!XMLRPCTestCase.test_get_host_info.  sA    ((*--o>%?@"F	Gr*   c                    ^ RI pRp \        P                  P	                  R4      P                  4        R#   \         d    Rp L?i ; i  \         d    T P                  TR4        R# \         d    T P                  T4        R# i ; i)r   NTFzhttps://localhost:9999z&xmlrpc client's error with SSL support)
sslImportErrorr   r   ServerProxybad_functionNotImplementedErrorassertFalseOSError
assertTrue)r$   r   has_ssls   &  r'   test_ssl_presence XMLRPCTestCase.test_ssl_presence5  s~    	 G	%MM%%&>?LLN  	G	 # 	PW&NO 	%OOG$	%s,   8 -A AAB
+B
4B
	B
c                  a  ! R  R\         P                  P                  4      pV3R lp\         P                  P                  \        P
                  ^ 3V4      oV P                  SP                  4       \        P                  ! VR7      pVP                  4        V P                  VP                  4       RP                  ! SP                  !  p\        P                  ! V4      ;_uu_ 4       pV P!                  VP#                  4       ^4       V P!                  VP#                  4       ^4       RRR4       R#   + '       g   i     R# ; i)c                   4   a  ] tR tRt o RtRtR tR tRtV t	R# )@XMLRPCTestCase.test_keepalive_disconnect.<locals>.RequestHandleriD  HTTP/1.1Fc                   \        V P                  P                  R 4      4      pV P                  P	                  V4       V P
                  '       d
   RV n        R# \        P                  ! RRR7      pVP                  4       pV P                  \        P                  P                  4       V P                  R \        V4      4       V P!                  4        V P"                  P%                  V4       RV n        RV n        R# )Content-LengthTNrB   F)   )r   headersgetrfilereadhandledclose_connectionr   r    r   send_responsehttp
HTTPStatusOKsend_headerlenend_headerswfilewrite)r$   lengthresponses   &  r'   do_POSTHXMLRPCTestCase.test_keepalive_disconnect.<locals>.RequestHandler.do_POSTH  s    T\\--.>?@

'<<<,0D)$??4E#??,""4??#5#56  !13x=A  "

  *#(-%r*   c                    R # r}   rO   )r$   formatargss   &&*r'   log_messageLXMLRPCTestCase.test_keepalive_disconnect.<locals>.RequestHandler.log_messageW  s    r*   )r   r   N)
rQ   rR   rS   rT   protocol_versionr   r   r   rU   __classdictcell____classdict__s   @r'   RequestHandlerr   D  s     )G. r*   r   c                     < S P                   P                  \        ^4      4       S P                  4        S P                  4        R# )r>   N)socket
settimeoutr   handle_request)servers   r'   
run_server<XMLRPCTestCase.test_keepalive_disconnect.<locals>.run_server[  s1    MM$$U1X.!!#!!#r*   )targetzhttp://{}:{}/N)r   r  BaseHTTPRequestHandler
HTTPServerr   HOST
addCleanupserver_close	threadingThreadstartjoinr   server_addressr   r   r#   method)r$   r   r  threadurlpr  s   &     @r'   test_keepalive_disconnect(XMLRPCTestCase.test_keepalive_disconnectC  s    	T[[?? 	.	$
 ''););Q(?P++,!!4$$$f&;&;<""3''1QXXZ+QXXZ+ ('''s   0AD;;E	rO   N)rQ   rR   rS   rT   r(   r;   r?   rJ   r^   re   rm   rr   ry   r   r   r   r   r   r   r   r   r   r   r   r   r  rU   r   r   s   @r'   r   r   0   s}     ,
D$&)DG<<;,: ??*!&@-68=G%%, %,r*   r   c                   Z   a  ] tR tRt o  ! R R]4      tR tR tR tR t	R t
R	 tR
tV tR# )SimpleXMLRPCDispatcherTestCaseik  c                       ] tR tRtRtR# )*SimpleXMLRPCDispatcherTestCase.DispatchExcil  rO   NrP   rO   r*   r'   DispatchExcr  l  s    r*   r  c                  a  RpV 3R lp\         P                  P                  4       pVP                  V4       S P	                  S P
                  4      ;_uu_ 4       pVP                  RV4       RRR4       S P                  XP                  P                  V34       S P                  VP                  P                  4       S P                  VP                  P                  4       R#   + '       g   i     L; i)r>   c                  &   < SP                  V 4      hr}   )r  )paramsr$   s   *r'   dispatched_funcQSimpleXMLRPCDispatcherTestCase.test_call_registered_func.<locals>.dispatched_funcw  s    ""6**r*   r!  Nri   )r   r  SimpleXMLRPCDispatcherregister_functionrb   r  	_dispatchr#   	exceptionr   r4   	__cause____context__)r$   
exp_paramsr!  
dispatcherexc_ctxs   f    r'   test_call_registered_func8SimpleXMLRPCDispatcherTestCase.test_call_registered_funcp  s    
 
	+ ]]99;
$$_5t//00G  !2J? 1**//*?'++556'++778	 10s   C**C:	c                
   Rp ! R R4      p\         P                  P                  4       pVP                  V! 4       4       V P	                  V P
                  4      ;_uu_ 4       pVP                  RV4       RRR4       V P                  XP                  P                  V34       V P                  VP                  P                  4       V P                  VP                  P                  4       R#   + '       g   i     L; i)r>   c                   &   a  ] tR tRt o R tRtV tR# )OSimpleXMLRPCDispatcherTestCase.test_call_instance_func.<locals>.DispatchedClassi  c                ,    \         P                  V4      hr}   r  r  )r$   r   s   &*r'   r!  _SimpleXMLRPCDispatcherTestCase.test_call_instance_func.<locals>.DispatchedClass.dispatched_func  s    4@@HHr*   rO   N)rQ   rR   rS   rT   r!  rU   r   r   s   @r'   DispatchedClassr0    s     I Ir*   r4  r!  Nri   r   r  r#  register_instancerb   r  r%  r#   r&  r   r4   r'  r(  )r$   r)  r4  r*  r+  s   &    r'   test_call_instance_func6SimpleXMLRPCDispatcherTestCase.test_call_instance_func  s    
 
	I 	I ]]99;
$$_%67t//00G  !2J? 1**//*?'++556'++778	 10s   $C22D	c                   R pRp ! R R4      p\         P                  P                  4       pVP                  V! 4       4       V P	                  V P
                  4      ;_uu_ 4       pVP                  W4       RRR4       V P                  XP                  P                  W34       V P                  VP                  P                  4       V P                  VP                  P                  4       R#   + '       g   i     L; i)r  c                   &   a  ] tR tRt o R tRtV tR# )LSimpleXMLRPCDispatcherTestCase.test_call_dispatch_func.<locals>.TestInstancei  c                ,    \         P                  W4      hr}   r2  )r$   r  r   s   &&&r'   r%  VSimpleXMLRPCDispatcherTestCase.test_call_dispatch_func.<locals>.TestInstance._dispatch  s    4@@$ $r*   rO   N)rQ   rR   rS   rT   r%  rU   r   r   s   @r'   TestInstancer;    s     $ $r*   r>  Nri   r5  )r$   
exp_methodr)  r>  r*  r+  s   &     r'   test_call_dispatch_func6SimpleXMLRPCDispatcherTestCase.test_call_dispatch_func  s    
 

	$ 	$
 ]]99;
$$\^4t//00G  8 1**//*1IJ'++556'++778	 10s   &C33D	c                   \         P                  P                  4       pVP                  R RR7       V P	                  \
        R4      ;_uu_ 4        VP                  RR4       R R R 4       R #   + '       g   i     R # ; i)Nr  nameparam)r   r  r#  r$  assertRaisesRegex	Exceptionr%  r$   r*  s   & r'   test_registered_func_is_none;SimpleXMLRPCDispatcherTestCase.test_registered_func_is_none  s[     ]]99;
$$T$9##Ix88  :6 9888s   A--A>	c                   \         P                  P                  4       pVP                  \	        4       4       V P                  \        R 4      ;_uu_ 4        VP                  R R4       RRR4       R#   + '       g   i     R# ; ir  NrE  )r   r  r#  r6  rX   rG  rH  r%  rI  s   & r'   test_instance_has_no_func8SimpleXMLRPCDispatcherTestCase.test_instance_has_no_func  sX     ]]99;
$$VX.##Ix88  :6 9888s   A33B	c                    \         P                  P                  4       pV P                  \        R 4      ;_uu_ 4        VP                  R R4       RRR4       R#   + '       g   i     R# ; irM  )r   r  r#  rG  rH  r%  rI  s   & r'   test_cannot_locate_func6SimpleXMLRPCDispatcherTestCase.test_cannot_locate_func  sH     ]]99;
##Ix88  :6 9888s   AA+	rO   N)rQ   rR   rS   rT   rH  r  r,  r7  r@  rJ  rN  rQ  rU   r   r   s   @r'   r  r  k  s4     i 9$9&9*777 7r*   r  c                   &   a  ] tR tRt o R tRtV tR# )HelperTestCasei  c                    V P                  \        P                  ! R 4      R4       V P                  \        P                  ! R4      R4       V P                  \        P                  ! R4      R4       R# )za&bza&amp;bza<bza&lt;bza>bza&gt;bN)r#   r   escaperd   s   &r'   test_escapeHelperTestCase.test_escape  sS    ))%0)<))%0(;))%0(;r*   rO   N)rQ   rR   rS   rT   rW  rU   r   r   s   @r'   rT  rT    s     < <r*   rT  c                   2   a  ] tR tRt o R tR tR tRtV tR# )FaultTestCasei  c                    \         P                  ! ^*R4      pV P                  \        V4      R4       V P                  \        V4      \	        V4      4       R# )*   
Test Faultz<Fault 42: 'Test Fault'>N)r   Faultr#   reprrF   )r$   fs   & r'   	test_reprFaultTestCase.test_repr  s?    OOB-a"<=a#a&)r*   c                   \         P                  ! ^*R4      p\         P                  ! V34      p\         P                  ! V4      w  w  r4V P	                  VR^*RR/4       V P	                  VR4       \         P
                  ! 4       P                  V4      pV P                  \         P                  \         P                  V4       R# )r\  r]  	faultCodefaultStringN)r   r^  r    r"   r#   r   rb   )r$   r`  r7   newfr9   s   &    r'   test_dump_faultFaultTestCase.test_dump_fault  s    OOB-OOQD!__Q'
RMND!  "((+)//9??A>r*   c                    V P                  \        \        P                  P                  \
        R 4       V P                  \        P                  P	                  \
        R4      4       R# __addtitleN)rb   AttributeErrorr   r  resolve_dotted_attributerF   r   rd   s   &r'   test_dotted_attribute#FaultTestCase.test_dotted_attribute  sC     	. --@@#w	P>>sGLMr*   rO   N)	rQ   rR   rS   rT   ra  rg  ro  rU   r   r   s   @r'   rZ  rZ    s     *
?N Nr*   rZ  c                   P   a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
tV tR# )DateTimeTestCasei  c           	     l   \         P                  ! R 4      ;_uu_ 4       p\        P                  ! . RO4      pW!n        \        P
                  ! 4       p\        P                  ! 4       pV P                  \        V4      \        P                  ! RV4      4       RRR4       R#   + '       g   i     R# ; i)ztime.localtime%Y%m%dT%H:%M:%SN)	i        r      1   r      r   )r   patchtimestruct_timereturn_value	localtimer   r1   r#   rF   strftime)r$   localtime_mocktime_structr~  r\   s   &    r'   test_defaultDateTimeTestCase.test_default  sz    ZZ())^**35K*5'(I""$ASV!]]+<iHJ *)))s   A9B""B3	c           	         R p\         P                  ! V4      pV P                  \        V4      \        P
                  ! R\        P                  ! V4      4      4       R# gl]ޮArt  N)r   r1   r#   rF   r{  r  r~  rx   s   &  r'   	test_timeDateTimeTestCase.test_time  sD    q!Q'8$..:KL	Nr*   c                l    Rp\         P                  ! V4      pV P                  \        V4      R4       R# )  z20070609T10:38:50N)	r     	   
   &   2   r      r   )r   r1   r#   rF   rx   s   &  r'   test_time_tuple DateTimeTestCase.test_time_tuple  s,    'q!Q!45r*   c                    \         P                  ! R 4      p\        P                  ! V4      pV P	                  \        V4      \         P                  ! RV4      4       R# r  )r{  r~  r   r1   r#   rF   r  rx   s   &  r'   test_time_struct!DateTimeTestCase.test_time_struct  sA    NN,-q!Q/@!!DEr*   c           	     T   \         P                   ! R ^^^^^4      p\        P                  ! V4      pV P                  \	        V4      R4       \         P                   ! R^^^^\         P
                  R7      p\        P                  ! V4      pV P                  \	        V4      R4       R# )r  z20070102T03:04:05i  )tzinfoz20230612T13:30:00N)r0   r   r1   r#   rF   UTCrx   s   &  r'   test_datetime_datetime'DateTimeTestCase.test_datetime_datetime  s    d1Qq1-q!Q!45 dAr2r(,,Gq!Q!45r*   c                    \         P                   ! R ^^^^^4      p\        P                  ! V4      pR\        V4      ,          pV P	                  \        V4      V4       R# )r  z%<DateTime '20070102T03:04:05' at %#x>N)r0   r   r1   idr#   r_  )r$   rG   r\   vals   &   r'   ra  DateTimeTestCase.test_repr  sN    d1Qq1-q!4r!u<a#&r*   c           
     $   R p\         P                  ! 4       pVP                  V4       \         P                  ! \        P                  ! R^	^^^^4      4      pV P	                  W#4       \         P
                  ! V4      pV P	                  WC4       R# )z 20070908T07:11:13  r  N)r   r1   decoder0   r#   	_datetime)r$   rG   t1trefr]   s   &    r'   test_decodeDateTimeTestCase.test_decode  sq    "!
		!!!("3"3D1Qr""EF"  #"r*   c                H   \         P                   P                  4       p\        P                  ! VP	                  4       4      pV P                  W!8H  4       V P                  W8H  4       V\         P                  ! ^R7      ,           pV P                  W28  4       V P                  W#8  4       VP                  R4      pV P                  W$8H  4       V P                  WB8H  4       \        P                  ! VP	                  4       4      pV P                  WT8  4       V P                  WE8  4       VP                  R4      pVP	                  4       pV P                  VR8H  4       V P                  W&8g  4       V P                  V\        V4      8H  4       V P                  W'8g  4       V P                  \        4      ;_uu_ 4        V\        R4      8   RRR4       V P                  \        4      ;_uu_ 4        W&8   RRR4       V P                  \        4      ;_uu_ 4        V\        V4      8*   RRR4       V P                  \        4      ;_uu_ 4        W'8   RRR4       V P                  V\        8H  4       V P                  V\        8g  4       V P                  V\        8  4       V P                  V\        8  4       V P                  V\        8*  4       V P                  V\        8  4       V P                  V\         8  4       V P                  V\         8  4       V P                  V\         8*  4       V P                  V\         8  4       R#   + '       g   i     EL; i  + '       g   i     ELu; i  + '       g   i     ELU; i  + '       g   i     EL?; i)   )secondsrt  asciii  N)r0   nowr   r1   	timetupler   	timedeltar  r   r   r   rb   rl   r   r   r	   r
   )r$   r  dtimethendstr
dtime_thendbytesdtuples   &       r'   test_comparison DateTimeTestCase.test_comparison  s   ##%""3==?3 	%%X''22&% ||-.&&''(89

*+)* W%$'()F"334(y))E$K *y))N *y))Yv&& *y))O * 	*+)+,()()')*)*()(*+)*% *)))))))))))s0   M7M(!M<NM%	(M9	<N	N!	rO   N)rQ   rR   rS   rT   r  r  r  r  r  ra  r  r  rU   r   r   s   @r'   rr  rr    s5     JN6
F
	6'#,+ ,+r*   rr  c                   2   a  ] tR tRt o R tR tR tRtV tR# )BinaryTestCaseiD  c                f    \         P                  ! 4       pV P                  \        V4      R 4       R# ) Nr   r   r#   rF   )r$   r\   s   & r'   r  BinaryTestCase.test_defaultK  s$    Q$r*   c                    R p\         P                  ! V4      pV P                  \        V4      \        VR4      4       R# s   abc123zlatin-1Nr  rx   s   &  r'   test_stringBinaryTestCase.test_stringO  s2    )QQQ	!23r*   c                B   R p\         P                  ! V4      p\        P                  ! 4       pVP	                  V4       V P                  \        V4      \        VR4      4       \        P                  ! V4      pV P                  \        V4      \        VR4      4       R# r  )base64encodebytesr   r   r  r#   rF   _binary)r$   rG   der  r]   s   &    r'   r  BinaryTestCase.test_decodeT  sv    )"
		"R#a"34r"R#a"34r*   rO   N)	rQ   rR   rS   rT   r  r  r  rU   r   r   s   @r'   r  r  D  s     %4
5 5r*   r  c                     ! R  R4      p ! R R\         P                  P                  4      pV'       g   \         P                  P                  pV! RVVRRR7      p VP	                  4        VP
                  P                  4       w  ssR\        \        3,          s	VP                  4        VP                  4        VP                  4        VP                  \        4       VP                  R R4       VP                  R	 4       pVP                  R
R7      R 4       pV! 4       p	VP                  V	RR7       V P!                  4        V^ 8  d   VP#                  4        V^,          pK"   VP
                  P'                  4        RsV P!                  4        R#   \$         d     L;i ; i  TP
                  P'                  4        RsT P!                  4        i ; i)c                   @   a  ] tR tRt o R tR t ! R R4      tRtV tR# )&http_server.<locals>.TestInstanceClassie  c                    W,          # r}   rO   r$   rY   rZ   s   &&&r'   div*http_server.<locals>.TestInstanceClass.divf  	    6Mr*   c                    VR 8X  d   R# R# r  This is the div functionNrO   r$   rD  s   &&r'   _methodHelp2http_server.<locals>.TestInstanceClass._methodHelpi      u}1 r*   c                   0   a  ] tR tRt o ]R 4       tRtV tR# ).http_server.<locals>.TestInstanceClass.Fixtureim  c                     R # )42rO   rO   r*   r'   getData6http_server.<locals>.TestInstanceClass.Fixture.getDatan  s    r*   rO   N)rQ   rR   rS   rT   staticmethodr  rU   r   r   s   @r'   Fixturer  m  s      r*   r  rO   N)	rQ   rR   rS   rT   r  r  r  rU   r   r   s   @r'   TestInstanceClassr  e  s     		2	 	r*   r  c                   &   a  ] tR tRt o R tRtV tR# )#http_server.<locals>.MyXMLRPCServerir  c                b    V P                   P                  4       w  rVP                  R 4       W3# Tr  acceptsetblockingr$   r7   ports   &  r'   get_request/http_server.<locals>.MyXMLRPCServer.get_requests  +     kk((*GAMM$7Nr*   rO   NrQ   rR   rS   rT   r  rU   r   r   s   @r'   MyXMLRPCServerr  r       	 	r*   r  F)r   logRequestsbind_and_activatehttp://%s:%dc                     V # r}   rO   )rY   s   &r'   <lambda>http_server.<locals>.<lambda>  s    r*      têštc                      R # r  rO   rO   r*   r'   my_function http_server.<locals>.my_function  s     r*   addrC  c                     W,           # r}   rO   rY   rZ   s   &&r'   _http_server.<locals>._  s	    5Lr*   T)allow_dotted_namesN	localhostr   )r   r  SimpleXMLRPCServerSimpleXMLRPCRequestHandlerserver_bindr  getsocknameADDRPORTURLserver_activate register_introspection_functionsregister_multicall_functionsr$  powr6  setr  TimeoutErrorclose)
evtnumrequestsrequestHandlerr   r  r  servr  r  testInstances
   &&&&      r'   http_serverr  d  s    99  AA*N#+&+uFD#[[,,.
d
 dD\)--/))+s#{H5				 
 	 
		U		+	 
,	(*|E	 Ao!1K  		   		s+   DF ,F, F)&F, (F))F, ,.Gc                     ! R  R4      pR p ! R R\         P                  P                  4      pV'       g   \         P                  P                  p ! R RV4      p ! R R4      pV! RVR	R	R
7      pVP                  P                  ^4       VP                  4         VP                  P                  4       w  ss	R\        \        3,          s
VP                  4        . ROp	V	 Fg  p
VP                  V
\         P                  P                  4       4      pVP                  4        VP                  4        VP!                  V
3R lR4       Ki  	  VP#                  V	^ ,          4      P!                  \$        4       VP#                  V	^,          4      P!                  R R4       VP                  RV! 4       4       V P'                  4        V^ 8  d   VP)                  4        V^,          pK"   VP                  P-                  4        Rs	V P'                  4        R#   \*         d     L;i ; i  TP                  P-                  4        Rs	T P'                  4        i ; i)c                   ,   a  ] tR tRt o R tR tRtV tR# ),http_multi_server.<locals>.TestInstanceClassi  c                    W,          # r}   rO   r  s   &&&r'   r  0http_multi_server.<locals>.TestInstanceClass.div  r  r*   c                    VR 8X  d   R# R# r  rO   r  s   &&r'   r  8http_multi_server.<locals>.TestInstanceClass._methodHelp  r  r*   rO   N)rQ   rR   rS   rT   r  r  rU   r   r   s   @r'   r  r    s     		2 	2r*   r  c                      R # r  rO   rO   r*   r'   r  &http_multi_server.<locals>.my_function  s    r*   c                   &   a  ] tR tRt o R tRtV tR# ))http_multi_server.<locals>.MyXMLRPCServeri  c                b    V P                   P                  4       w  rVP                  R 4       W3# r  r  r  s   &  r'   r  5http_multi_server.<locals>.MyXMLRPCServer.get_request  r  r*   rO   Nr  r   s   @r'   r  r    r  r*   r  c                       ] tR tRt. tRtR# )+http_multi_server.<locals>.MyRequestHandleri  rO   N)rQ   rR   rS   rT   	rpc_pathsrU   rO   r*   r'   MyRequestHandlerr    s    	r*   r!  c                   *   a  ] tR tRt o RR ltRtV tR# )+http_multi_server.<locals>.BrokenDispatcheri  Nc                    \        R 4      h)zbroken dispatcher)RuntimeError)r$   r   dispatch_methodpaths   &&&&r'   _marshaled_dispatch?http_multi_server.<locals>.BrokenDispatcher._marshaled_dispatch  s    233r*   rO   NN)rQ   rR   rS   rT   r(  rU   r   r   s   @r'   BrokenDispatcherr#    s     	4 	4r*   r+  F)r  r  r  c                     V # r}   rO   )r  s   &r'   r  #http_multi_server.<locals>.<lambda>  s    qr*   testc                     W,           # r}   rO   r  s   &&r'   r  r-    s    ACr*   r  
/is/brokenNr  )
/foo/foo/bar/foo?k=v	/foo#frag/foo?k=v#fragr  //RPC2?k=v#frag)r   r  MultiPathXMLRPCServerr  r  r  r  r   r  r  r  r  add_dispatcherr#  r  r  r$  get_dispatcherr  r  r  r	  r
  )r  r  r  r  r  r  r!  r+  r  pathsr'  rG   s   &&&         r'   http_multi_serverr>    s   2 2<<  AA> 4 4 *,<&+uFDKK1"[[,,.
d
 dD\)

 D##D&--*N*N*PQA..0**, 0&9	 
 	E!H%77<E!H%77OL*:*<=	 Ao!1K  		   		s+    EH .H. H+(H. *H++H. ..Ic                      V P                   R8X  g   V P                  f   R# V P                  P                  R4      pV'       d   RVP                  4       9   d   R# R# R#   \         d    \	        T 4      p L;i ; i)r>   NTX-exceptionztemporarily unavailable)errcoder   r   rm  rF   lower)eexc_messs   & r'   is_unavailable_exceptionrF    si    99?aii/99==/
 -1AA Bx	  q6s   A! A! !A:9A:c                 *   a V '       g   R  # V3R lpV# )c                     V # r}   rO   )funcs   &r'   r  )make_request_and_skipIf.<locals>.<lambda>  s    Dr*   c                    < V3R  lpV# )c                    <  \         P                  ! \        4      P                  4        \        P                  ! S4      h  \         P                  \
        3 d   p\        T4      '       g   h  R p?LHR p?ii ; ir}   )	r   r   r  r  ProtocolErrorr   rF  unittestSkipTest)r$   rD  reasons   & r'   make_request_and_skipImake_request_and_skipIf.<locals>.decorator.<locals>.make_request_and_skip  sb    %%c*668 ##F++ ++W5 /22 3s   (A A8A33A8rO   )rI  rQ  rP  s   & r'   	decorator*make_request_and_skipIf.<locals>.decorator  s    	, %$r*   rO   )	conditionrP  rS  s   &f r'   make_request_and_skipIfrV    s       % r*   c                   D   a  ] tR tRt o Rt^t]! ]4      tR t	R t
RtV tR# )BaseServerTestCasei  Nc                   R \         P                  P                  n        \        P
                  ! 4       V n        V P                  V P                  V P                  3p\        P                  ! V P                  VR7      pVP                  4        V P                  VP                  4       V P                  P                  4        V P                  P                  4        R# )Tr  r   N)r   r  r  _send_traceback_headerr  Eventr  request_countr  r  
threadFuncr  r  r  waitclearr$   	serv_argsr  s   &  r'   setUpBaseServerTestCase.setUp  s    BF((???$XXt1143F3FG	!!yI$ 	r*   c                x    V P                   P                  4        R \        P                  P                  n        R# FN)r  r_  r   r  r  r[  rd   s   &r'   tearDownBaseServerTestCase.tearDown!  s%     CH((?r*   r  )rQ   rR   rS   rT   r  r]  r  r  r^  rc  rg  rU   r   r   s   @r'   rX  rX    s*     NMk*JH Hr*   rX  c                      a  ] tR tRt o R tR tR tR tR tR t	R t
]! ]P                  P                  ^8  R	4      R
 4       tR tR tR tR tR tR tR tR tR tRtV tR# )SimpleServerTestCasei(  c           
     F    \         P                  ! \        4      pV P                  VP	                  ^^4      R4       R#   \         P
                  \        3 dF   p\        T4      '       g*   T P                  T: R\        TRR4      : 24        Rp?R#  Rp?R# Rp?ii ; i)r  
r   r  N  )
r   r   r  r#   r  rM  r   rF  failgetattrr$   r  rD  s   &  r'   test_simple1!SimpleServerTestCase.test_simple1)  s|    	E%%c*AQUU1QZ.''1 	E+A..		aIr)BCDD /	Es   <A   B 4BB c           
     X   R pRp \         P                  ! \        4      pV P                  VP	                  W4      W,           4       R#   \         P
                  \        3 dF   p\        T4      '       g*   T P                  T: R\        TRR4      : 24        Rp?R#  Rp?R# Rp?ii ; i)u   Pŷtu   hơnrm  r   r  N)
r   r   r  r#   r  rM  r   rF  ro  rp  r$   start_string
end_stringr  rD  s   &    r'   test_nonascii"SimpleServerTestCase.test_nonascii3  s    C;
	E%%c*AQUU<<)68''1 	E+A..		aIr)BCDD /	Es   AA	 	B)$4B$$B)c           
     p   R pRp \         P                  ! \        RR7      pV P                  VP	                  W4      W,           4       R#   \         P
                  \        P                  3 dF   p\        T4      '       g*   T P                  T: R\        TRR4      : 24        Rp?R#  Rp?R# Rp?ii ; i)   €   ¤r   r   rm  r   r  Nr   r   r  r#   r  rM  r  errorrF  ro  rp  ru  s   &    r'   test_client_encoding)SimpleServerTestCase.test_client_encoding@  s    
	E%%cMBAQUU<<)68''6 	E+A..		aIr)BCDD /	Es   AA %B504B00B5c           
     \    \         P                  ! \        R R7      pV P                  VP	                  ^*4      ^*4       R#   \         P
                  \        P                  3 dF   p\        T4      '       g*   T P                  T: R\        TRR4      : 24        Rp?R#  Rp?R# Rp?ii ; i)r  r   rm  r   r  N)r   r   r  r#      têštrM  r  r~  rF  ro  rp  rq  s   &  r'   test_nonascii_methodname-SimpleServerTestCase.test_nonascii_methodnameN  s    	E%%cG<AQXXb\2.''6 	E+A..		aIr)BCDD /	Es   =A %B+&4B&&B+c                z   \         P                  ! \        P                  P	                  \
        \        4      4      ;_uu_ 4       pVP                  R R4       VP                  4       pRRR4       V P                  XP                  R4       V P                  VP                  R4       R#   + '       g   i     LJ; i)POSTz/this-is-not-validNi  z	Not Found)
contextlibclosingr   r   HTTPConnectionr  r  requestgetresponser#   statusrP  )r$   connr   s   &  r'   test_404SimpleServerTestCase.test_404X  s      : :4 FGG4LL!56'')H H 	#.+6 HGs   #B**B:	c           
        \        . RO4      p \        P                  ! \        4      pVP                  P                  4       pV P                  \        V4      V4       R#   \        P                  \        3 dF   p\        T4      '       g*   T P                  T: R\        TRR4      : 24        Rp?R#  Rp?R# Rp?ii ; i)r  rm  r   r  N)
r  r  r  r  r  zsystem.listMethodszsystem.methodHelpzsystem.methodSignaturezsystem.multicallr  )r  r   r   r  systemlistMethodsr#   rM  r   rF  ro  rp  )r$   expected_methodsr  methrD  s   &    r'   test_introspection1(SimpleServerTestCase.test_introspection1b  s      + ,	E%%c*A88'')DSY(89''1 	E+A..		aIr)BCDD /	Es   AA   C ;4B;;C c           
     \    \         P                  ! \        4      pVP                  P	                  R 4      pV P                  VR4       R#   \         P                  \        3 dF   p\        T4      '       g*   T P                  T: R\        TRR4      : 24        Rp?R#  Rp?R# Rp?ii ; i)r  r  rm  r   r  Nr   r   r  r  
methodHelpr#   rM  r   rF  ro  rp  )r$   r  divhelprD  s   &   r'   test_introspection2(SimpleServerTestCase.test_introspection2r  s    		E%%c*Ahh))%0GW&@A''1 	E+A..		aIr)BCDD /	E   AA B+&4B&&B+z)Docstrings are omitted with -O2 and abovec           
     \    \         P                  ! \        4      pVP                  P	                  R 4      pV P                  VR4       R#   \         P                  \        3 dF   p\        T4      '       g*   T P                  T: R\        TRR4      : 24        Rp?R#  Rp?R# Rp?ii ; i)r  zThis is my functionrm  r   r  Nr  )r$   r  
myfunctionrD  s   &   r'   test_introspection3(SimpleServerTestCase.test_introspection3~  s    		E%%c*A,,];JZ)>?''1 	E+A..		aIr)BCDD /	Er  c           
     \    \         P                  ! \        4      pVP                  P	                  R 4      pV P                  VR4       R#   \         P                  \        3 dF   p\        T4      '       g*   T P                  T: R\        TRR4      : 24        Rp?R#  Rp?R# Rp?ii ; i)r  zsignatures not supportedrm  r   r  N)r   r   r  r  methodSignaturer#   rM  r   rF  ro  rp  )r$   r  divsigrD  s   &   r'   test_introspection4(SimpleServerTestCase.test_introspection4  s    	E%%c*AXX--e4FV%?@''1 	E+A..		aIr)BCDD /	Er  c           
         \         P                  ! \        4      p\         P                  ! V4      pVP	                  ^^4       VP                  ^^4       VP                  ^^*4       V! 4       w  r4pV P                  V^4       V P                  VR4       V P                  V^4       R#   \         P                  \        3 dF   p\        T4      '       g*   T P                  T: R\        TRR4      : 24        Rp?R#  Rp?R# Rp?ii ; i)ra   rm  r   r  Nrn  )r   r   r  	MultiCallr  r  r  r#   rM  r   rF  ro  rp  )r$   r  	multicall
add_result
pow_result
div_resultrD  s   &      r'   test_multicall#SimpleServerTestCase.test_multicall  s    	E%%c*A!++A.IMM!AMM!AMM#b!1:.JJZ-Z.Z1''1 	E+A..		aIr)BCDD /	Es   B&B* *D
4DD
c           
         \         P                  ! \        4      p\         P                  ! V4      pVP	                  4        V! 4       pV P                  VP                  ^ ,          R,          ^4       V P                  VP                  ^ ,          R,          R4       R#   \         P                  \        3 dF   p\        T4      '       g*   T P                  T: R\        TRR4      : 24        Rp?R#  Rp?R# Rp?ii ; i)r   rd  re  z@<class 'Exception'>:method "this_is_not_exists" is not supportedrm  r   r  N)r   r   r  r  this_is_not_existsr#   resultsrM  r   rF  ro  rp  )r$   r  r  r8   rD  s   &    r'   test_non_existing_multicall0SimpleServerTestCase.test_non_existing_multicall  s    	E%%c*A!++A.I((*[F V^^A.{;Q?V^^A.}=#$ ''1 	E+A..		aIr)BCDD /	Es   BB C?:4C::C?c                    V P                  \        \        P                  P                  \
        R 4       V P                  \        P                  P	                  \
        R4      4       V P                  4        R# rj  )rb   rm  r   r  rn  rF   r   rr  rd   s   &r'   ro  *SimpleServerTestCase.test_dotted_attribute  sQ    . --@@#w	P 	>>sGLM 	r*   c                    \         P                  ! R \        \        3,          4      pVP                  P                  4       pV P                  VR4       R# )http://%s:%d/RPC2r  N)r   r   r  r  r  r  r#   )r$   r  r   s   &  r'   test_allow_dotted_names_true1SimpleServerTestCase.test_allow_dotted_names_true  s>    &&':dD\'IJ~~%%'t$r*   c                    \         P                  ! R \        \        3,          4      pV P	                  VP                  RR4      R4       R# )r  r      éu   aéN)r   r   r  r  r#   r  r$   r  s   & r'   test_unicode_host&SimpleServerTestCase.test_unicode_host  s7    &&':dD\'IJC0':r*   c           	        \         P                  ! \        P                  ! \        \
        34      4      ;_uu_ 4       pVP                  R \         R\
         R2P                  R4      4       RRR4       R#   + '       g   i     R# ; i)z@POST /RPC2 HTTP/1.0
Content-Length: 100

bye HTTP/1.1
Host: :z2
Accept-Encoding: identity
Content-Length: 0

r  N)r  r  r  create_connectionr  r  sendr   )r$   r  s   & r'   test_partial_post&SimpleServerTestCase.test_partial_post  sh     8 8$ FGG4II   $fAdV ,22
 39&/C HGGGs   0A77B	c                .   \         P                  ! \        4      ;_uu_ 4       pVP                  ^^4       V P	                  V! R4      P
                  R4       RRR4       V P                  X! R4      P
                  R4       R#   + '       g   i     L4; i)ra   	transportNr*  )r   r   r  r  assertNotEqual_connectionr#   r  s   & r'   test_context_manager)SimpleServerTestCase.test_context_manager  so    ""3''6JJq!{ 3 ? ? ,. ( 	,88%	'	 ('s   5BB	c                "    \         P                  ! \        4      ;_uu_ 4       pVP                  ^R4       RRR4       T P                  X! R4      P                  R4       R#   + '       g   i     L4; i  \         P                   d     LNi ; i)ra   r   Nr  r*  )r   r   r  r  r^  r#   r  r  s   & r'   !test_context_manager_method_error6SimpleServerTestCase.test_context_manager_method_error  sk    	&&s++v

1c" , 	,88%	'	 ,+ 		s-   "A6 A#A6 #A3	.A6 3A6 6BBrO   N)rQ   rR   rS   rT   rr  rx  r  r  r  r  r  rV  r   flagsoptimizer  r  r  r  ro  r  r  r  r  r  rU   r   r   s   @r'   rk  rk  (  s     EEEE7E 
E SYY//14@B
EB
EEE"E*%;C'' 'r*   rk  c                   :   a  ] tR tRt o ]RR l4       tR tRtV tR# )SimpleServerEncodingTestCasei  Nc                     \        WVR 4       R# )r   N)r  )r  r  r  r   s   &&&&r'   r^  'SimpleServerEncodingTestCase.threadFunc  s    CnmDr*   c           
     l   R pRp \         P                  ! \        4      pV P                  VP	                  W4      W,           4       R#   \         P
                  \        P                  3 dF   p\        T4      '       g*   T P                  T: R\        TRR4      : 24        Rp?R#  Rp?R# Rp?ii ; i)r{  r|  rm  r   r  Nr}  ru  s   &    r'   test_server_encoding1SimpleServerEncodingTestCase.test_server_encoding  s    
	E%%c*AQUU<<)68''6 	E+A..		aIr)BCDD /	Es   AA	 	%B3.4B..B3rO   r*  )	rQ   rR   rS   rT   r  r^  r  rU   r   r   s   @r'   r  r    s%     E EE Er*   r  c                     a  ] tR tRt o ]! ]4      t^tR tR t	]
P                  ! R4      R 4       t]
P                  ! R4      R 4       t]
P                  ! R4      R 4       t]
P                  ! R4      R 4       t]
P                  ! R4      R	 4       t]
P                  ! R4      R
 4       t]
P                  ! R4      R 4       t]
P                  ! R4      R 4       t]
P                  ! R4      R 4       tRtV tR# )MultiPathServerTestCasei  c                    \         P                  ! \        R ,           4      pV P                  VP	                  ^^4      R4       V P                  \         P                  VP                  ^^4       R# )r1  Nrn  )r   r   r  r#   r  rb   r^  r  r$   r  s   & r'   
test_path1"MultiPathServerTestCase.test_path1  sL    !!#f*-qT*)//155!Q7r*   c                    \         P                  ! \        R ,           4      pV P                  VP	                  ^^4      ^4       V P                  \         P                  VP                  ^^4       R# )r2  N)r   r   r  r#   r  rb   r^  r  r  s   & r'   
test_path2"MultiPathServerTestCase.test_path2  sL    !!#j.1qS))//155!Q7r*   walltimec                    \         P                  ! \        R ,           4      pV P                  \         P                  VP
                  ^^4       R# )r0  Nr   r   r  rb   r^  r  r  s   & r'   
test_path3"MultiPathServerTestCase.test_path3  s3    !!#l"23)//155!Q7r*   c                    \         P                  ! \        R ,           4      pV P                  \         P                  VP
                  ^^4       R# )z/invalidNr  r  s   & r'   test_invalid_path)MultiPathServerTestCase.test_invalid_path  s2    !!#j.1)//155!Q7r*   c                    \         P                  ! \        R ,           4      pV P                  VP	                  4       R 4       R# )r5  Nr   r   r  r#   r.  r  s   & r'   test_path_query_fragment0MultiPathServerTestCase.test_path_query_fragment  s-    !!#o"56?3r*   c                    \         P                  ! \        R ,           4      pV P                  VP	                  4       R 4       R# )r4  Nr  r  s   & r'   test_path_fragment*MultiPathServerTestCase.test_path_fragment  s,    !!#k/2;/r*   c                    \         P                  ! \        R ,           4      pV P                  VP	                  4       R 4       R# )r3  Nr  r  s   & r'   test_path_query'MultiPathServerTestCase.test_path_query$  s,    !!#j.1:.r*   c                z    \         P                  ! \        4      pV P                  VP	                  4       R 4       R# )r7  Nr  r  s   & r'   test_empty_path'MultiPathServerTestCase.test_empty_path)  s(    !!#&7+r*   c                    \         P                  ! \        R ,           4      pV P                  VP	                  4       R 4       R# )r6  Nr  r  s   & r'   test_root_path&MultiPathServerTestCase.test_root_path.  s,    !!#),3'r*   c                    \         P                  ! \        R ,           4      pV P                  VP	                  4       R 4       R# )r8  Nr  r  s   & r'   test_empty_path_query-MultiPathServerTestCase.test_empty_path_query3  s,    !!#,/6*r*   c                    \         P                  ! \        R ,           4      pV P                  VP	                  4       R 4       R# )r9  Nr  r  s   & r'   test_empty_path_fragment0MultiPathServerTestCase.test_empty_path_fragment8  s,    !!#-07+r*   rO   N)rQ   rR   rS   rT   r  r>  r^  r]  r  r  r   requires_resourcer  r  r  r  r  r  r  r  r  rU   r   r   s   @r'   r  r    s6    /0JM8
8
 z*8 +8 z*8 +8 z*4 +4 z*0 +0 z*/ +/ z*, +, z*( +( z*+ ++ z*, +,r*   r  c                   h   a  ] tR tRt o  ! R R]P
                  P                  4      t]tR t	Rt
V tR# )BaseKeepaliveServerTestCasei@  c                   `   a  ] tR tRt o ]P
                  P                  tRt. t	R t
R tRtV tR# )*BaseKeepaliveServerTestCase.RequestHandleriC  r   c                    V P                   P                  . 4       \        V P                   4      ^,
          V n        V P                  P                  V 4      # )r>   )
myRequestsrp   r   reqidxparentClasshandlerd   s   &r'   r  1BaseKeepaliveServerTestCase.RequestHandler.handleG  s@    OO""2&doo.q0DK##**400r*   c                    V P                   P                  V 4      pV P                  V P                  ,          P	                  V P
                  4       V# r}   )r  handle_one_requestr  r  rp   raw_requestline)r$   r8   s   & r'   r
  =BaseKeepaliveServerTestCase.RequestHandler.handle_one_requestK  s>    %%88>FOODKK(//0D0DEMr*   )r  N)rQ   rR   rS   rT   r   r  r  r  r   r  r  r
  rU   r   r   s   @r'   r   r  C  s.     mm>>%
	1	 	r*   r   c                N    . V P                   n        \        P                  V 4      # r}   )r   r  rX  rc  rd   s   &r'   rc  !BaseKeepaliveServerTestCase.setUpQ  s!    )+&!''--r*   rO   N)rQ   rR   rS   rT   r   r  r  r   r  rc  rU   r   r   s   @r'   r   r   @  s,     AA  $N. .r*   r   c                   &   a  ] tR tRt o R tRtV tR# )KeepaliveServerTestCase1iX  c                   \         P                  ! \        4      pV P                  VP	                  ^^4      R4       V P                  VP	                  ^^4      R4       V P                  VP	                  ^^4      R4       V! R4      ! 4        V P                  \        V P                  P                  4      ^4       V P                  \        V P                  P                  R,          4      ^4       R# )r  r
  Nrn  rA  	r   r   r  r#   r  r   r   r  assertGreaterEqualr  s   & r'   test_two!KeepaliveServerTestCase1.test_twoY  s    !!#&qT*qT*qT*	'
 	T00;;<a@ 	D$7$7$B$B2$F GKr*   rO   N)rQ   rR   rS   rT   r  rU   r   r   s   @r'   r  r  X  s     L Lr*   r  c                   0   a  ] tR tRt o ^tR tR tRtV tR# )KeepaliveServerTestCase2ik  c                <   \         P                  ! \        4      pV P                  VP	                  ^^4      R4       V P                  VP	                  ^^4      R4       V P                  VP	                  ^^4      R4       V! R4      ! 4        V P                  VP	                  ^^4      R4       V P                  VP	                  ^^4      R4       V P                  VP	                  ^^4      R4       V! R4      ! 4        V P                  \        V P                  P                  4      ^4       V P                  \        V P                  P                  R,          4      ^4       V P                  \        V P                  P                  R,          4      ^4       R# )r  r
  Nrn  rA  r  r  s   & r'   
test_close#KeepaliveServerTestCase2.test_closeo  s/   !!#&qT*qT*qT*	'
qT*qT*qT*	'
 	T00;;<a@D$7$7$B$B2$F GKD$7$7$B$B2$F GKr*   c                f   \         P                  ! \        4      pV P                  VP	                  ^^4      R4       V! R4      P                  4        V P                  VP	                  ^^4      R4       V! R4      ! 4        V P                  \        V P                  P                  4      ^4       R# )r  r  r
  Nrn  )	r   r   r  r#   r  r
  r   r   r  r  s   & r'   test_transport'KeepaliveServerTestCase2.test_transport  s    !!#&qT*	+qT*	'
T00;;<a@r*   rO   N)	rQ   rR   rS   rT   r]  r  r  rU   r   r   s   @r'   r  r  k  s     ML&A Ar*   r  zrequires gzipc                      a  ] tR tRt o  ! R R]P
                  P                  4      t]t ! R R]	P                  4      t
R tR tR tR	 tR
tV tR# )GzipServerTestCasei  c                   V   a  ] tR tRt o ]P
                  P                  tRtR t	Rt
V tR# )!GzipServerTestCase.RequestHandleri  r   c                    \        V P                  R ,          4      V P                  n        V P                  P                  V 4      # content-length)r   r   	__class__content_lengthr  r   rd   s   &r'   r   )GzipServerTestCase.RequestHandler.do_POST  s4    ,/=M0N,ODNN)##++D11r*   rO   N)rQ   rR   rS   rT   r   r  r  r  r   r   rU   r   r   s   @r'   r   r"    s$     mm>>%	2 	2r*   r   c                   0   a  ] tR tRt o RtR tR tRtV tR# )GzipServerTestCase.Transporti  Fc                    \        VP                  R ^ 4      4      V n        \        P                  P                  W4      # r$  )r   	getheaderresponse_lengthr   r   parse_response)r$   r   s   &&r'   r.  +GzipServerTestCase.Transport.parse_response  s4    !$X%7%78H!%L!MD &&55dEEr*   c                    V P                   '       d   VP                  R R4       \        P                  P	                  WV4      # )zContent-Encodinggzip)	fake_gzip	putheaderr   r   send_content)r$   
connectionbodys   &&&r'   r4  )GzipServerTestCase.Transport.send_content  s5    ~~~$$%7@&&33DdKKr*   )r-  N)	rQ   rR   rS   rT   r2  r.  r4  rU   r   r   s   @r'   r   r*    s     		F	L 	Lr*   r   c                0    \         P                  V 4       R # r}   )rX  rc  rd   s   &r'   rc  GzipServerTestCase.setUp  s      &r*   c                   V P                  4       pR Vn        \        P                  ! \        VR7      pV P                  VP                  ^^4      R4       V P                  P                  p^ Vn        V P                  VP                  ^^4      R4       V P                  P                  pV P                  W48  4       V! R4      ! 4        R # )Nr  r
  rn  )
r   encode_thresholdr   r   r  r#   r  r   r'  r   )r$   r\   r  r   r   s   &    r'   test_gzip_request$GzipServerTestCase.test_gzip_request  s    NN!!!#3qT*..qT*..	'
r*   c                l   V P                  4       pR Vn        RVn        \        P                  ! \
        VR7      pV P                  \        P                  \        P                  ! R4      4      pV;_uu_ 4        VP                  ^^4       R R R 4       V! R4      ! 4        R #   + '       g   i     L; i)NTr;  z\b400\br
  )r   r<  r2  r   r   r  rG  rM  recompiler  )r$   r\   r  cms   &   r'   test_bad_gzip_request(GzipServerTestCase.test_bad_gzip_request  s{    NN!!!#3##I$;$;$&JJz$:<REE!QK 	'
 Rs   9B##B3	c                   V P                  4       p\        P                  ! \        VR 7      pV P                  P
                  pRV P                  n        V P                  VP                  ^^4      R4       VP                  p^ V P                  n        V P                  VP                  ^^4      R4       V! R4      ! 4        VP                  pW0P                  n        V P                  WE8  4       R# )r;  Nr
  rn  )
r   r   r   r  r  r<  r#   r  r-  r   )r$   r\   r  oldr   r   s   &     r'   test_gzip_response%GzipServerTestCase.test_gzip_response  s    NN!!#3!!22/3,qT*/0,qT*	'
/2,r*   rO   N)rQ   rR   rS   rT   r   r  r  r   r  r   r   rc  r=  rC  rG  rU   r   r   s   @r'   r   r     sO     2AA 2 $NLI'' L'
	 r*   r   c                   &   a  ] tR tRt o R tRtV tR# )GzipUtilTestCasei  c                   RpRV,          p\         P                  ! V4      p\         P                  ! V4      pV P                  \	        V4      V4       RV^,           ,          p\         P                  ! V4      pV P                  \        R4      ;_uu_ 4        \         P                  ! V4       RRR4       \         P                  ! VRR7       R#   + '       g   i     L*; i)       z#max gzipped payload length exceededN)
max_decodei  @rA  )r   gzip_encodegzip_decoder#   r   rG  r   )r$   max_gzip_decoder   encodeddecodeds   &    r'   test_gzip_decode_limit'GzipUtilTestCase.test_gzip_decode_limit  s    *&''-''0W7!+,''-##J$IK K!!'*K 	g"5	K Ks   CC 	rO   N)rQ   rR   rS   rT   rT  rU   r   r   s   @r'   rJ  rJ    s     6 6r*   rJ  c                      a a ] tR tRt o ! R R]P
                  P                  4      t]t. ROt	V 3R lt
R tR tR tR tR	 tR
 tRtVtV ;t# )HeadersServerTestCasei  c                   6   a a ] tR tRt oRtV 3R ltRtVtV ;t# )$HeadersServerTestCase.RequestHandleri  Nc                V   < V P                   V P                  n        \        SV `  4       # r}   )r   r&  test_headerssuperr   r$   r&  s   &r'   r   ,HeadersServerTestCase.RequestHandler.do_POST  s     *.,,DNN'7?$$r*   rO   )	rQ   rR   rS   rT   r[  r   rU   r   __classcell__r&  r   s   @@r'   r   rY    s     	% 	%r*   r   c                B   < R V P                   n        \        SV `  4       # r}   )r   r[  r\  rc  r]  s   &r'   rc  HeadersServerTestCase.setUp  s    +/(w}r*   c                2   \        V P                  \        VP                  4       4      ,           4      pV P	                  \        VP                  4       4      V4       VP                  4        F&  w  rEV P                  VP                  V4      V4       K(  	  R # r}   )sortedstandard_headerslistkeysassertListEqualitemsr#   r   )r$   r   
additionalexpected_keyskeyrE   s   &&&   r'   assertContainsAdditionalHeaders5HeadersServerTestCase.assertContainsAdditionalHeaders  sl    t44tJOO<M7NNOVGLLN3]C$**,JCW[[-u5 -r*   c                    \         P                  ! \        R.R7      pV P                  VP	                  ^^4      R4       V P
                  P                  pV P                  VR R/4       R# )X-Testfoor   Nrp  rq  rn  r   r   r  r#   r  r   r[  rm  r$   r  r   s   &  r'   test_header!HeadersServerTestCase.test_header  sX    !!#0A/BCq!d+%%22,,Wx6GHr*   c                    \         P                  ! \        RR.R7      pV P                  VP	                  ^^4      R4       V P
                  P                  pV P                  VR RRR/4       R# )	rp  rq  X-Test-Secondbarrr  Nrs  )ry  rz  rn  rt  ru  s   &  r'   test_header_many&HeadersServerTestCase.test_header_many  sg    !!+-EFHq!d+%%22,,h>	@r*   c                    \         P                  ! \        . R 7      pV P                  VP	                  ^^4      R4       V P
                  P                  pV P                  V/ 4       R# )rr  Nrn  rt  ru  s   &  r'   test_header_empty'HeadersServerTestCase.test_header_empty  sO    !!#r2q!d+%%22,,Wb9r*   c                    \         P                  ! \        RR7      pV P                  VP	                  ^^4      R4       V P
                  P                  pV P                  VR R/4       R# )rp  rq  rr  N)rs  rn  rt  ru  s   &  r'   test_header_tuple'HeadersServerTestCase.test_header_tuple  sU    !!#/CDq!d+%%22,,Wx6GHr*   c                    \         P                  ! \        R R/P                  4       R7      pV P	                  VP                  ^^4      R4       V P                  P                  pV P                  VR R/4       R# )rp  rq  rr  Nrn  )	r   r   r  ri  r#   r  r   r[  rm  ru  s   &  r'   test_header_items'HeadersServerTestCase.test_header_items  sb    !!#%/@/F/F/HIq!d+%%22,,Wx6GHr*   rO   )HostzAccept-EncodingzContent-Typez
User-Agentr   )rQ   rR   rS   rT   r   r  r  r   r  re  rc  rm  rv  r{  r~  r  r  rU   r   r_  r`  s   @@r'   rW  rW    sW     %AA % $N6I@:II Ir*   rW  c                   2   a  ] tR tRt o R tR tR tRtV tR# )ServerProxyTestCasei#  c                R    \         P                  P                  V 4       R V n        R# )zhttp://fake.localhostN)rN  TestCaserc  r  rd   s   &r'   rc  ServerProxyTestCase.setUp$  s    % +r*   c                    \         P                  ! V P                  4      pV P                  V! R 4      ! 4       R4       R# )r
  N)r   r   r  r#   r  s   & r'   r  ServerProxyTestCase.test_close*  s,    !!$((+7t,r*   c                    \         P                  ! 4       p\         P                  ! V P                  VR 7      pV P	                  V! R4      V4       R# )r;  r  N)r   r   r   r  r#   )r$   r\   r  s   &  r'   r  "ServerProxyTestCase.test_transport.  s:    !!!$((a8;+r*   )r  N)	rQ   rR   rS   rT   rc  r  r  rU   r   r   s   @r'   r  r  #  s     +-, ,r*   r  c                   6   a a ] tR tRt oRV 3R lltRtVtV ;t# )FailingMessageClassi6  c                T   < VP                  4       pVR 8X  d   R# \        SV `	  W4      # )r%  zI am broken)rC  r\  r   )r$   rl  failobjr&  s   &&&r'   r   FailingMessageClass.get7  s)    iik"" w{3((r*   rO   r}   )rQ   rR   rS   rT   r   rU   r   r_  r`  s   @@r'   r  r  6  s     ) )r*   r  c                   >   a  ] tR tRt o R tR tR tR tR tRt	V t
R# )	FailingServerTestCasei>  c                L   \         P                  ! 4       V n        V P                  ^3p\         P                  ! \        VR7      pVP                  4        V P                  VP                  4       V P                  P                  4        V P                  P                  4        R# )r>   rZ  N)
r  r\  r  r  r  r  r  r  r_  r`  ra  s   &  r'   rc  FailingServerTestCase.setUp?  se    ??$XXqM	!!9E$ 	r*   c                    V P                   P                  4        R \        P                  P                  n        \        P                  P                  pV\        P                  P                  n
        R# rf  )r  r_  r   r  r  r[  r   r   HTTPMessager  MessageClass)r$   default_classs   & r'   rg  FailingServerTestCase.tearDownK  sB    BG((?//@M00=r*   c           
        \         P                  P                  P                  pV P	                  VR 4       R\         P                  P                  n         \
        P                  ! \        4      pV P	                  VP                  ^^4      R4       R#   \
        P                  \        3 dF   p\        T4      '       g*   T P                  T: R\        TRR4      : 24        Rp?R#  Rp?R# Rp?ii ; i)FTrm  r   r  Nrn  )r   r  r  r[  r#   r   r   r  r  rM  r   rF  ro  rp  )r$   flagvalr  rD  s   &   r'   
test_basic FailingServerTestCase.test_basicT  s    --22II%( CG((?	E%%c*AQUU1QZ.''1 	E+A..		aIr)BCDD /	Es   <B C504C00C5c                (   \         \        P                  P                  n         \
        P                  ! \        4      pVP                  ^^4       V P                  R4       R#   \
        P                  \        3 d   p\        T4      '       gw   \        TR4      '       d_   T P                  TP                  P!                  R4      RJ 4       T P                  TP                  P!                  R4      RJ 4        Rp?R#  Rp?R#  Rp?R# Rp?ii ; i)r  ProtocolError not raisedr   r@  NX-traceback)r  r   r  r  r  r   r   r  r  ro  rM  r   rF  hasattrr   r   r   rq  s   &  r'   test_fail_no_info'FailingServerTestCase.test_fail_no_infof  s    @S00=
	2%%c*AEE!AJ II01 ''1 	F+A..71i3H3H		m < DE		m < DEE 4I.	Fs   ,A$ $D?A;DDc                h   \         \        P                  P                  n        R \        P                  P
                  n         \        P                  ! \        4      pVP                  ^^4       V P                  R4       R#   \        P                  \        3 d   p\        T4      '       gx   \        TR4      '       d`   RpT P!                  TP"                  P%                  R4      T4       T P'                  TP"                  P%                  R4      RJ4        Rp?R#  Rp?R#  Rp?R# Rp?ii ; i)Tr  r   z5invalid literal for int() with base 10: 'I am broken'r@  r  N)r  r   r  r  r  r  r[  r   r   r  r  ro  rM  r   rF  r  r#   r   r   r   )r$   r  rD  expected_errs   &   r'   test_fail_with_info)FailingServerTestCase.test_fail_with_infov  s    @S00= CG((?	2%%c*AEE!AJ II01 ''1 	J+A..71i3H3HV  }!=|L		m <D HII	 4I.	Js   ,B D1A<D,,D1ri  N)rQ   rR   rS   rT   rc  rg  r  r  r  rU   r   r   s   @r'   r  r  >  s%     
NE$2 2 2r*   r  c              #      "   \         P                  p\        P                  ! \        P                  ! 4       V R 7      \         n         \         P                  x  V\         n        R#   T\         n        i ; i5i)r   N)r   stdoutioTextIOWrapperBytesIO)r   orig_stdouts   & r'   captured_stdoutr    sG     
 **K!!"**,BCJ!jj 
[
s   AA7A' A7'A44A7c                   8   a  ] tR tRt o R tR tR tR tRtV t	R# )CGIHandlerTestCasei  c                L    \         P                  P                  4       V n        R # r}   )r   r  CGIXMLRPCRequestHandlercgird   s   &r'   rc  CGIHandlerTestCase.setUp  s    ==88:r*   c                    R V n         R # r}   r  rd   s   &r'   rg  CGIHandlerTestCase.tearDown  s	    r*   c           	     D   \         P                  ! 4       ;_uu_ 4       pR VR&   \        V P                  P                  R7      ;_uu_ 4       pV P                  P                  4        RRR4       XP                  ^ 4       VP                  4       pVP                  4       ^,          pRP                  VP                  4       R,          4      pV P                  VR4       V P                  VR4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)GETREQUEST_METHODr   N :ra   r  N400zBad Request)r   EnvironmentVarGuardr  r  r   r  seekr   splitr  r#   )r$   envdata_outr  r  messages   &     r'   test_cgi_getCGIHandlerTestCase.test_cgi_get  s    **,,$)C ! !$((*;*;<<'') = MM!]]_F\\^A&Fhhv||~c23GVU+Wm4 -, =<	 -,,s$   .DC;	'B
D;DDD	c                   R p\         P                  ! 4       ;_uu_ 4       p\        V P                  P                  R7      ;_uu_ 4       p\
        P                  ! 4       ;_uu_ 4       pVP                  V4       VP                  ^ 4       \        \        V4      4      VR&   V P                  P                  4        RRR4       RRR4       RRR4       XP                  ^ 4       VP                  4       pV P                  \        P                  \        P                   VR,          4       WUP#                  R4      R pV P%                  \'        \(        P*                  ! RV4      P-                  ^4      4      \        V4      4       R#   + '       g   i     L; i  + '       g   i     L; i  + '       g   i     L; i)aw  <?xml version='1.0'?>
        <methodCall>
            <methodName>test_method</methodName>
            <params>
                <param>
                    <value><string>foo</string></value>
                </param>
                <param>
                    <value><string>bar</string></value>
                </param>
            </params>
        </methodCall>
        r   CONTENT_LENGTHN:,   NNz<?xmlzContent-Length: (\d+))r   r  r  r  r   r   captured_stdinr   r  rF   r   r  r   rb   r   r^  r"   findr#   r   r@  searchgroup)r$   r   r  r  data_inr  contents   &      r'   test_cgi_xmlrpc_response+CGIHandlerTestCase.test_cgi_xmlrpc_response  s-    **,,dhh&7&788H##%%MM$LLO$'D	NC !HH##%	 & 9 - 	a  	)//9??F3KH W-./		2F;AA!DEL	+ &% 98 -,s<   )F-	F	'AF;F	F-FF	F*%F--F=	r  N)
rQ   rR   rS   rT   rc  rg  r  r  rU   r   r   s   @r'   r  r    s     ;5$( (r*   r  c                   2   a  ] tR tRt o R tR tR tRtV tR# )UseBuiltinTypesTestCasei  c                D  a  . S n         R p\        P                  ! R^^^^^4      p\        P                  ! W3R4      pV 3R lp\        P
                  P                  RRRR7      pVP                  V4       VP                  V4       S P                  \        S P                   4      ^4       S P                   w  rgS P                  S P                   W.4       S P                  \        V4      \        P                  4       S P                  \        V4      \        4       R# )r   i  foobarc                  >   < SP                   P                  V 4       R # r}   )logextend)r   r$   s   *r'   r  >UseBuiltinTypesTestCase.test_use_builtin_types.<locals>.foobar  s    HHOOD!r*   TN)r   r   r-   )r  r0   r   r    r   r  r#  r$  r(  r#   r   r2   r3   r   )r$   expected_bytesexpected_date	marshaledr  handlermybytesmydates   f       r'   test_use_builtin_types.UseBuiltinTypesTestCase.test_use_builtin_types  s     , ))$2r2rBOO^$CXN		"--66dd 7 D!!&)##I.TXX*((N#BCd6lH$5$56d7mU+r*   c                |    \         P                  P                  R R7      pV P                  VP                  4       R# )Tr,   N)r   r  r  r   r-   )r$   r  s   & r'   *test_cgihandler_has_use_builtin_types_flagBUseBuiltinTypesTestCase.test_cgihandler_has_use_builtin_types_flag  s+    --77$7O112r*   c                    \         P                  P                  RRR7      pVP                  4        V P	                  VP
                  4       R# )r  Tr,   Nr  )r   r  r  r  r   r-   r  s   & r'   ,test_xmlrpcserver_has_use_builtin_types_flagDUseBuiltinTypesTestCase.test_xmlrpcserver_has_use_builtin_types_flag  s?    112B" 2 $001r*   )r  N)	rQ   rR   rS   rT   r  r  r  rU   r   r   s   @r'   r  r    s     ,(32 2r*   r  c                  |    \         P                  ! 4       p \        P                  ! \         P                  .V O5!   R # r}   )r   threading_setuprN  addModuleCleanupthreading_cleanup)thread_infos    r'   setUpModuler    s*    "224K.@@O;Or*   __main__i   )	r   ra   r     )      r   r>   rA  r*  r}   )zutf-8)Hr  r0   r   r   r{  rN  r   xmlrpc.clientr   r   xmlrpc.serverr   http.clientr   http.serverr  r  r@  r  r  r.  r   test.supportr   r   r   r   r	   r
   r1  r   requires_working_socketr   r   r1   r!   r  r   r  rT  rZ  rr  r  r  r  r  r  r>  rF  rV  rX  rk  r  r  r   r  r  skipIfr   rJ  rW  r  r  r  r  contextmanagerr  r  r  r  rQ   mainrO   r*   r'   <module>r     s5      
    !      	 	   " & ) 5 5   t ,
'
G
5

)
Y%%&9:
)
)$78
U
)

y))*=>
y));=
y)) ))$2r2rBD
 	$x,X&& x,v	T7X%6%6 T7n<X&& <NH%% N.b+x(( b+J5X&& 56   tc
>@DP" H** H6D'- D'NE#5 E(8,0 8,z."4 .0L: L&A: AD 
/@+ @ 0@F 
/6x(( 6 06&:I. :I|,(++ ,&)$++11 )K2H-- K2\ 	! 	!A** AH2h// 2BP
 zMMO U/  Ds   ,K* *	K76K7