python (3.12.0)

(root)/
lib/
python3.12/
test/
__pycache__/
test_exception_group.cpython-312.opt-1.pyc

͑e>ddlZddlZddlZddlmZGddejZGddejZGddejZ	Gd	d
ejZ
dZGdd
ejZGddejZ
Gdde
ZGdde
ZGddejZd#dZGddejZdZGdde
ZGdde
ZGddeZGd d!eZed"k(rej2yy)$N)C_RECURSION_LIMITceZdZdZdZdZy)TestExceptionGroupTypeHierarchyc|jttt|jttt|jttt
yN)
assertTrue
issubclassExceptionGroup	ExceptionBaseExceptionGroup
BaseExceptionselfs M/BuggyBox/python/3.12.0/bootstrap/lib/python3.12/test/test_exception_group.pytest_exception_group_typesz:TestExceptionGroupTypeHierarchy.test_exception_group_typess=
>9=>
>3EFG
#5}EFct|jtd5ttdddy#1swYyxYw)Nr)assertRaisesRegex	TypeErrorrOSErrorrs r"test_exception_is_not_generic_typezBTestExceptionGroupTypeHierarchy.test_exception_is_not_generic_types/

#
#I{
;	g			s.7ct}|jt|tj|jt
|tjyr)rassertIsInstancer
typesGenericAliasr)rEs  r$test_exception_group_is_generic_typezDTestExceptionGroupTypeHierarchy.test_exception_group_is_generic_types>nQ/1C1CD03U5G5GHrN)__name__
__module____qualname__rrrrrrrsG
Irrc$eZdZdZdZdZdZy)BadConstructorArgscd}|jt|5tdddd|jt|5ttdgddd|jt|5tdtdgtdgdddy#1swY~xYw#1swYVxYw#1swYyxYw)Nz8BaseExceptionGroup.__new__\(\) takes exactly 2 argumentsz	no errorszno msgegtoomanyrrr

ValueErrorrMSGs  r'test_bad_EG_construction__too_many_argsz:BadConstructorArgs.test_bad_EG_construction__too_many_argssI

#
#Is
3	(;'	(

#
#Is
3	3Jx012	3

#
#Is
3	K4*U"3!4y7H6IJ	K	K		(	(	3	3	K	Ks#B"B.7"B:"B+.B7:Ccd}|jt|5ttdt	dddd|jt|5tdtdgdddy#1swY?xYw#1swYyxYw)Nzargument 1 must be str, not z
bad syntax)rrr
r)SyntaxErrorr*s  r%test_bad_EG_construction__bad_messagez8BadConstructorArgs.test_bad_EG_construction__bad_message s~,

#
#Is
3	F:b>;|+DE	F

#
#Is
3	34*R.!12	3	3	F	F	3	3sA6B6A?Bcjd}|jt|5tdtdhddd|jt|5tdddddd}|jt|5tdgdddy#1swYbxYw#1swYCxYw#1swYyxYw)Nz1second argument \(exceptions\) must be a sequencezerrors not sequence*r%z;second argument \(exceptions\) must be a non-empty sequencer(r*s  r+test_bad_EG_construction__bad_excs_sequencez>BadConstructorArgs.test_bad_EG_construction__bad_excs_sequence'sB

#
#Is
3	D0:b>2BC	D

#
#Is
3	'4&	'M

#
#J
4	%4$	%	%
	D	D	'	'	%	%s#B
B;
B)BB&)B2cd}|jt|5tdtgddd|jt|5tddgdddy#1swY6xYw#1swYyxYw)NzAItem [0-9]+ of second argument \(exceptions\) is not an exceptionzexpect instance, not typez	bad errorznot an exception)rr)r
rr*s  r/test_bad_EG_construction__nested_non_exceptionszBBadConstructorArgs.test_bad_EG_construction__nested_non_exceptions2sw%

#
#J
4	D6	B	D

#
#J
4	>;);(<=	>	>	D	D	>	>sA 	A, A),A5N)rrr r,r0r3r5r!rrr#r#sK3	%>rr#cHeZdZdZdZdZdZdZdZdZ	dZ
d	Zd
Zy)InstanceCreationctdtdg}|jtt	d|ty)Nr%)r)rassertIstyper
rexcss  r$test_EG_wraps_Exceptions__creates_EGz5InstanceCreation.test_EG_wraps_Exceptions__creates_EG<s21
y|,

d+,	rctdtdg}|jtt	d|t
y)Nr9r:beg)r)rr;r<rr
r=s  r%test_BEG_wraps_Exceptions__creates_EGz6InstanceCreation.test_BEG_wraps_Exceptions__creates_EGBs31
y|,

#E401	rcd}|jt|5tdtdt	dg}dddy#1swYyxYw)Nz/Cannot nest BaseExceptions in an ExceptionGroupr%r9r:)rrr
r)KeyboardInterrupt)rr+r%s   r-test_EG_wraps_BaseException__raises_TypeErrorz>InstanceCreation.test_EG_wraps_BaseException__raises_TypeErrorHsK
>

#
#Is
3	Mz!}6G6J&KLB	M	M	Ms!AActdtdtdg}|jt	|ty)NrAr9r:)rr)rDr;r<)rrAs  r)test_BEG_wraps_BaseException__creates_BEGz:InstanceCreation.test_BEG_wraps_BaseException__creates_BEGMs0 A8I!8L(MN

d3i!34rcGddt}|jt|dtdt	dg|y)NceZdZy)IInstanceCreation.test_EG_subclass_wraps_non_base_exceptions.<locals>.MyEGNrrr r!rrMyEGrJRrrLr%r.r2)r
r;r<r)rrrLs  r*test_EG_subclass_wraps_non_base_exceptionsz;InstanceCreation.test_EG_subclass_wraps_non_base_exceptionsQs;	>		


dZ^Yr];<=	rcGddt}d}|jt|5|dtdt	dgdddy#1swYyxYw)NceZdZy)MInstanceCreation.test_EG_subclass_does_not_wrap_base_exceptions.<locals>.MyEGNrKr!rrrLrRZrMrrL$Cannot nest BaseExceptions in 'MyEG'r%r.r2)r
rrr)rDrrLmsgs   r.test_EG_subclass_does_not_wrap_base_exceptionsz?InstanceCreation.test_EG_subclass_does_not_wrap_base_exceptionsYsW	>	5

#
#Is
3	@
2(9"(=>?	@	@	@sAAcGddtt}d}|jt|5|dtdt	dgdddy#1swYyxYw)NceZdZy)TInstanceCreation.test_BEG_and_E_subclass_does_not_wrap_base_exceptions.<locals>.MyEGNrKr!rrrLrYbrMrrLrSr%r.r2)rr)rrrDrTs   r5test_BEG_and_E_subclass_does_not_wrap_base_exceptionszFInstanceCreation.test_BEG_and_E_subclass_does_not_wrap_base_exceptionsasZ	%z	5

#
#Is
3	@
2(9"(=>?	@	@	@sAAcdGddtt}|dtdtgy)NceZdZy)[InstanceCreation.test_EG_and_specific_subclass_can_wrap_any_nonbase_exception.<locals>.MyEGNrKr!rrrLr]jrMrrLr%r.)r
r)rrNs  r<test_EG_and_specific_subclass_can_wrap_any_nonbase_exceptionzMInstanceCreation.test_EG_and_specific_subclass_can_wrap_any_nonbase_exceptionis'	>:		
TJrNIK01rcdGddtt}|dtdtgy)NceZdZy)\InstanceCreation.test_BEG_and_specific_subclass_can_wrap_any_nonbase_exception.<locals>.MyEGNrKr!rrrLraqrMrrLr%r.)rr)rrNs  r=test_BEG_and_specific_subclass_can_wrap_any_nonbase_exceptionzNInstanceCreation.test_BEG_and_specific_subclass_can_wrap_any_nonbase_exceptionps(	%z		
TJrNIK01rcGddt}|jt|dtdt	dg||jt|dtdtdg|y)NceZdZy)@InstanceCreation.test_BEG_subclass_wraps_anything.<locals>.MyBEGNrKr!rrMyBEGreyrMrrfr%r.r2)rr;r<r)rrD)rrfs  r test_BEG_subclass_wraps_anythingz1InstanceCreation.test_BEG_subclass_wraps_anythingxsk	&		


tjnim<=>		


tjn.?.CDEF	rN)
rrr r?rBrErGrOrVrZr^rbrgr!rrr7r7;s7M
5@@22	rr7ceZdZdZdZdZy)StrAndReprTestsc	`tdtdtdg}|jt	|d|jt|dtd|td|tdg}|jt	|d|jt|dy)	Nflatr9r:flat (2 sub-exceptions)z5ExceptionGroup('flat', [ValueError(1), TypeError(2)])nestednested (4 sub-exceptions)zExceptionGroup('nested', [ExceptionGroup('flat', [ValueError(1), TypeError(2)]), ValueError(1), ExceptionGroup('flat', [ValueError(1), TypeError(2)]), TypeError(2)]))rr)rassertEqualstrreprrr%s  rtest_ExceptionGroupz#StrAndReprTests.test_ExceptionGroups
Z]IaL13	
R";<bC	E r:a="il;=	
R"=>b
E	FrcLtdtdtdg}|jt	|d|jt|dtd|td|g}|jt	|d|jt|dy)	Nrkr9r:rlzABaseExceptionGroup('flat', [ValueError(1), KeyboardInterrupt(2)])rmznested (3 sub-exceptions)zBaseExceptionGroup('nested', [BaseExceptionGroup('flat', [ValueError(1), KeyboardInterrupt(2)]), ValueError(1), BaseExceptionGroup('flat', [ValueError(1), KeyboardInterrupt(2)])]))rr)rDrorprqrrs  rtest_BaseExceptionGroupz'StrAndReprTests.test_BaseExceptionGroups
Z]$5a$89;	
R";<b
9	:
 r:a="-/	
R"=>b
?	@rc	rGddt}|dtdtdg}|jt	|d|jt|d|d|td|tdg}|jt	|d	|jt|d
y)NceZdZy)3StrAndReprTests.test_custom_exception.<locals>.MyEGNrKr!rrrLrxrMrrLrkr9r:rlz+MyEG('flat', [ValueError(1), TypeError(2)])rmrnzMyEG('nested', [MyEG('flat', [ValueError(1), TypeError(2)]), ValueError(1), MyEG('flat', [ValueError(1), TypeError(2)]), TypeError(2)]))r
r)rrorprq)rrLr%s   rtest_custom_exceptionz%StrAndReprTests.test_custom_exceptions	>	Z]IaL13	
R";<b#PQ
r:a="il;=	
R"=>b'	)rN)rrr rsruryr!rrririsF(@,)rric:g}		td#t$r}td|d}~wwxYw#t$r}|j|Yd}~nd}~wwxYw		td#t$r}t	t
d}~wwxYw#t$r}|j|Yd}~nd}~wwxYw		t
d#t$r}tdd}~wwxYw#t$r}|j|Yd}~nd}~wwxYw	td|#t$r}|cYd}~Sd}~wwxYw)Nz#context and cause for ValueError(1)r9zcontext for TypeErrorzcontext for ValueError(2)r:	simple eg)MemoryErrorr)appendrrintImportErrorr
)r>es  rcreate_simple_egrs
D	'CDD	'Q-Q&	'A	!122	!C. 	!A	 9::	 Q-	 A[$//s	*%*-	AAAA!!	A>*A99A>>B	B%
B  B%*B55	C>C		CC	C5C00C59D	DDDDceZdZdZdZy)ExceptionGroupFieldsc*t}|j|jd|j|jdd|j	|j
dt|j	|j
djt|j	|j
djt|j	|j
dt|j|j
dj|j	|j
djt|j	|j
dt|j|j
dj|j	|j
djttjj}|dz|dz|dz|dzgg}|j|j j"|d|j|j j$t'd	D]X}|j
|j }|j|j$|j|j"|d|Zy)
Nr{rr9r:)rromessageargsr
exceptionsr)	__cause__r|__context__rassertIsNonerr__code__co_firstlineno
__traceback__	tb_linenotb_nextrange)rr%line0
tb_linenositbs      r!test_basics_ExceptionGroup_fieldsz6ExceptionGroupFields.test_basics_ExceptionGroup_fieldss

	
[1[1	
bmmA.
;bmmA.88+FbmmA.::KHbmmA.	:"--*445bmmA.::GDbmmA.
;"--*445bmmA.::KH!))88bjqy%"*ebj9;
))33Z]C"**223q	=Aq!//Bbjj)R\\:a=+;<	=rctdtdtdg}|jt	|j
t|j|jt5d|_ddd|j
|jt5tdg|_dddy#1swYExYw#1swYyxYw)Nr%r9r:znew msgxyz)
r
rrror<rtuplerassertRaisesAttributeErrorrrs  rtest_fields_are_readonlyz-ExceptionGroupFields.test_fields_are_readonlys
D9Q<"<
=bmm,e4





~
.	#"BJ	#	




~
.	-$U^,BM	-	-		#	#	-	-s+B7C7CCN)rrr rrr!rrrrs=:-rrceZdZdZy)ExceptionGroupTestBasec2||jt||t|tr|j	|t
jj|jt|jt|t|j|D]\}}|j|d|y|j	|t|jt|t||j|j|jy)a Assert that the exception matches the template

            A template describes the shape of exc. If exc is a
            leaf exception (i.e., not an exception group) then
            template is an exception instance that has the
            expected type and args value of exc. If exc is an
            exception group, then template is a list of the
            templates of its nested exceptions.
        N)r;r<
isinstancerrcollectionsabcSequencerolenrzipassertMatchesTemplater
r)rexcexc_typetemplaterts      rrz,ExceptionGroupTestBase.assertMatchesTemplatesMM$s)X.c-.!!(KOO,D,DES0#h-@CNNH5
71**1dA6
7
!!(M:T#YX7SXXx}}5rN)rrr rr!rrrrs6rrc<eZdZdZdZdZdZdZdZdZ	dZ
y	)
ExceptionGroupSubgroupTestsctt|_tdtttdg|_yNr9r:rr%r)rr~eg_templaters rsetUpz!ExceptionGroupSubgroupTests.setUp+'"$&qM9S>:a=Ircddtdttgtdfg}|D]t}|jt5|jj	|ddd|jt5|jj|dddvy#1swYExYw#1swYxYw)Nzbad argzinstance not typer2)rrrr%subgroupsplit)rbad_argsargs   r(test_basics_subgroup_split__bad_arg_typezDExceptionGroupSubgroupTests.test_basics_subgroup_split__bad_arg_type/s/0i(bM#	#C""9-
&  %
&""9-
#

c"
#
#	#
&
&
#
#sB3B&B#	&B/	cD|j}|j||jt|j||jt|j||jt
|j||jtyr)r%r;rr
rrr
rrs  r)test_basics_subgroup_by_type__passthroughzEExceptionGroupSubgroupTests.test_basics_subgroup_by_type__passthrough:sh
WW

b"++m45

b"++i01

b"++&89:

b"++n56rc`|j|jjtyr)rr%rrrs r&test_basics_subgroup_by_type__no_matchzBExceptionGroupSubgroupTests.test_basics_subgroup_by_type__no_matchAs$''**734rc|j}ttdtdgftttgfttf|jfg}|D]n\}}|j|5|j
|}|j|j|j|j|t|dddpy#1swY{xYw)Nr9r:)match)r%r)rr~rsubTestrrorrr
)rr%	testcases
match_typersubegs      r#test_basics_subgroup_by_type__matchz?ExceptionGroupSubgroupTests.test_basics_subgroup_by_type__matchDs
WW*Q-A78
3())
$d&6&67	9	%.	L JJ/
LJ/  

;**5.(K
L
L	L
L
Ls
0AC

C	cp|j|j|jjdy)NcyNTr!rs r<lambda>z\ExceptionGroupSubgroupTests.test_basics_subgroup_by_predicate__passthrough.<locals>.<lambda>Sr)r;r%rrs r.test_basics_subgroup_by_predicate__passthroughzJExceptionGroupSubgroupTests.test_basics_subgroup_by_predicate__passthroughRs#

dggtww//?@rcZ|j|jjdy)NcyNFr!rs rrzYExceptionGroupSubgroupTests.test_basics_subgroup_by_predicate__no_match.<locals>.<lambda>Vrr)rr%rrs r+test_basics_subgroup_by_predicate__no_matchzGExceptionGroupSubgroupTests.test_basics_subgroup_by_predicate__no_matchUs$''**?;<rcf|j}ttdtdgftttgfttf|jfg}|D]V\}|jfd}|j
|j|j|j|t|Xy)Nr9r:ct|Srrrrs rrzVExceptionGroupSubgroupTests.test_basics_subgroup_by_predicate__match.<locals>.<lambda>as*Q
*Cr)
r%r)rr~rrrorrr
)rr%rrrrs     @r(test_basics_subgroup_by_predicate__matchzDExceptionGroupSubgroupTests.test_basics_subgroup_by_predicate__matchXs
WW*Q-A78
3())
$d&6&67	9	%.	H JKK CDEU]]BJJ7&&unhG	HrN)rrr rrrrrrrrr!rrrr*s.J	#75LA=Hrrc6eZdZdZdZdZdZdZdZdZ	y)	ExceptionGroupSplitTestsctt|_tdtttdg|_yrrrs rrzExceptionGroupSplitTests.setUpgrrcttttfD]R}|jj|\}}|j
|t|j|j|Tyr)	r
rrr
r%rrrr)rrrrests    r&test_basics_split_by_type__passthroughz?ExceptionGroupSplitTests.test_basics_split_by_type__passthroughks\$n6	$A''--*KE4&&~t'7'7
9d#	$rc|jjt\}}|j||j	|t
|jyr)r%rrrrr
rrrrs   r#test_basics_split_by_type__no_matchz<ExceptionGroupSplitTests.test_basics_split_by_type__no_matchssAggmmG,t% "".$"2"2	4rcl|j}t}t}||d|dg|tgf||tg|d|dgf||f|jdft
|f|d|dg|tgfg}|D]\}}}|j
|\}}	|j|j|j|j|t||>|j|	j|j|j|	t||j|	yr)r%r)rr~rrrrorrr
r)
rr%VETErrmatch_template
rest_templaterrs
          r test_basics_split_by_type__matchz9ExceptionGroupSplitTests.test_basics_split_by_type__matchys%
WW

"Q%A"S'+
"S'RUBqEN+"Xt''.r]RUBqENRWI6
	:C
	(5J
((:.KE4U]]BJJ7&&~~
7(  rzz:**.-9!!$'
	(rc|jjd\}}|j|t|j|j|y)Ncyrr!rs rrzVExceptionGroupSplitTests.test_basics_split_by_predicate__passthrough.<locals>.<lambda>rr)r%rrr
rrrs   r+test_basics_split_by_predicate__passthroughzDExceptionGroupSplitTests.test_basics_split_by_predicate__passthroughs>ggmmN3t""5.$:J:JK$rc|jjd\}}|j||j|t|j
y)Ncyrr!rs rrzSExceptionGroupSplitTests.test_basics_split_by_predicate__no_match.<locals>.<lambda>rr)r%rrrr
rrs   r(test_basics_split_by_predicate__no_matchzAExceptionGroupSplitTests.test_basics_split_by_predicate__no_matchs>ggmmO4t% ""49I9IJrc	|j}t}t}||d|dg|tgf||tg|d|dgf||f|jdfg}|D]\	}}|j	fd\}}|j
|j|j|j|t||^|j
|j|j|j|t|y)Nr9r:ct|Srrrs rrzPExceptionGroupSplitTests.test_basics_split_by_predicate__match.<locals>.<lambda>sZ:-Fr)
r%r)rr~rrrorrr
)
rr%rrrrrrrrs
         @r%test_basics_split_by_predicate__matchz>ExceptionGroupSplitTests.test_basics_split_by_predicate__matchs
WW

"Q%A"S'+
"S'RUBqEN+"Xt''.	
	:C	95J
((#FGKE4U]]BJJ7&&~~
7(  rzz:**.-9	9rN)
rrr rrrrrrrr!rrrrfs'J$4(0 
K
9rrceZdZdZdZdZy)DeepRecursionInSplitAndSubgroupcdtd}ttdzD]}td|g}|S)Nr9r%)rrrr
)rrrs   rmake_deep_egz,DeepRecursionInSplitAndSubgroup.make_deep_egs8aL(1,-	*AtaS)A	*rc|j}|jt5|jtdddy#1swYyxYwr)rrRecursionErrorrrrrs  rtest_deep_splitz/DeepRecursionInSplitAndSubgroup.test_deep_splits?


~
.	
GGI			AAc|j}|jt5|jtdddy#1swYyxYwr)rrrrrrs  rtest_deep_subgroupz2DeepRecursionInSplitAndSubgroup.test_deep_subgroups?


~
.	"
JJy!	"	"	"rN)rrr rrrr!rrrrs
"rrc#K|g}|j|jt|tr&|jD]}t||Ed{n||f|j
y7wr)r}rrrrleaf_generatorpop)rtbsrs   rrrsi
{JJs  !#)*	.A%a---	.3hGGI

.sAA1A/A1ceZdZdZy)LeafGeneratorTestc
t}|jt|Dcgc]\}}|	c}}|jt|D]-\}}|j||j|jg/ycc}}wr)rassertSequenceEqualrrr)rr%r_rs     rtest_leaf_generatorz%LeafGeneratorTest.test_leaf_generatorsw

  )"-.41aQ.MM	%R(	:FAs$$b&&8
:	:
/sA?
N)rrr rr!rrrrs
	:rrcg}		tt#t$r}td|gd}~wwxYw#t$r}|j|Yd}~nd}~wwxYw		t	d#t$r}td|d}~wwxYw#t
$r}|j|Yd}~nd}~wwxYw	td|#t$r}|cYd}~Sd}~wwxYw)Nrmz
out of memoryr9root)rbytesr
r}r|r))r>rr%s   rcreate_nested_egrs
D	0E""	0 A3//	0A	'o..	'Q-Q&	'AVT**	sr	/
*/2	AAAA&&	B/A;;BB	B'B""B'+B77	CCCCc$eZdZdZdZdZdZy)NestedExceptionGroupBasicsTestcxt}|j|tttgtdgy)Nr9)rrr
rrr)rrs  r"test_nested_group_matches_templatezANestedExceptionGroupBasicsTest.test_nested_group_matches_templates2

""
A/	1rc&t}|j|jdjt|j|jdj
t|j|jdjty)Nr9r)rrrrr|rrrrs  rtest_nested_group_chainingz9NestedExceptionGroupBasicsTest.test_nested_group_chainingsg

bmmA.::KHbmmA.88+FbmmA.::IFrct}tjj}|j|dzf|jdj|dzf|jdj|dzf|jdjdj|dzffD]<\}}|j|j||j|j>y)Nrrr9r)	rrrrrrorrr)rr%rrexpecteds     r&test_nested_exception_group_tracebackszENestedExceptionGroupBasicsTest.test_nested_exception_group_tracebacks	s

 ))88


urz*
]]1

+
+UQY7
]]1

+
+URZ8
]]1

(
(
+
9
9519E	
	*NR
R\\84bjj)	*rc	xt}|jttt	|dtj
j}|dz|dz|dzg|dz|dzgg}tt	|D]5\}\}}|j|Dcgc]}|jc}||7ycc}w)Nr:rrrr)
rrorlistrrr	enumeraterr)rr%rexpected_tbsrrrrs        rtest_iteration_full_tracebacksz=NestedExceptionGroupBasicsTest.test_iteration_full_tracebackss

	
T."456: ))88"*eai;"*ebj13'~b'9:	!MQC$$(+,",Q
!	!,sB7
N)rrr rrrrr!rrr
r
s1G*
!rr
ceZdZdZy)ExceptionGroupSplitTestBasec*|j|t|j|\}}|j|}||j|tt	|D]\}}|j|||j||j|tt	|D]\}}|j||||j|td}|j
||||||}	||}
|jt||t||t||z||D] }|j|xr||	v|xr||
v"|||fD]}||j|j|j|j|j|j|j|j|j|j|j|j|jt|ddt|ddd}d}
|||fD];}||D].}|j
|
||||
|||0=||fS)z5 Split an EG and do some sanity checks on the result NcR|gSt|Dcgc]\}}|	c}}Scc}}wrr)rrrs   rleaveszAExceptionGroupSplitTestBase.split_exception_group.<locals>.leaves<s(2Ls8K*L11*LL*Ls#	__notes__c:t|D]
\}}||us|cSyrr)leafr%rrs    rtbs_for_leafzGExceptionGroupSplitTestBase.split_exception_group.<locals>.tbs_for_leafYs&(,
39J
rcF|Dcgc]}|s|jc}Scc}wr)r)rrs  rrzEExceptionGroupSplitTestBase.split_exception_group.<locals>.tb_linenos^s+.5R"BLL555s)rrrrrassertIsNotNonerrorassertNotEqualrr;rrrgetattr)rr%rrrsgrrrmatch_leavesrest_leavespartr"rs              rsplit_exception_groupz1ExceptionGroupSplitTestBase.split_exception_group(sb"45hhuot
[[
!!%);<%e,
0!%%a/
0
  $!!"&89%b)
0!%%a/
0!!$(:;	M	
  r
;e}Tlr
Ou
VD\!22	4	+A+!|+)k)
+	+D"%	6D  T\\:

bllDNN;

bnnd.>.>?

b..0B0BC  BT2D+t46
	6	
	6D"%	7DD\
7((|Ar23|At457
7	7d{rN)rrr r+r!rrrr&s@rrc*eZdZdZdZdZdZdZy)NestedExceptionGroupSplitTestc.	
Gddt	dd
	
fd}	|tdt	t
tdgtdt	t
td	gtd	gtdg}tdtdgtdtd	gtd	gtdg}t	t
gt	t
ggg}|j
t||j|t\}}|j||j
|t||j|t\}}|j
|t||j||j|ttf\}}|j
|t||j||j|t\}}|j
|t||j
|t||j|ttf\}}|j
|t||j
|t||jt\}}|j|||j||j	\}}|j
|t|d
g|j
|t|dgy#t$r*}|jdt||}Yd}~d}~wwxYw)NceZdZy)JNestedExceptionGroupSplitTest.test_split_by_type.<locals>.MyExceptionGroupNrKr!rrMyExceptionGroupr0nrMrr1ct|r)r))vs rraiseVEzANestedExceptionGroupSplitTest.test_split_by_type.<locals>.raiseVEqsQ-rct|r)r)rs rraiseTEzANestedExceptionGroupSplitTest.test_split_by_type.<locals>.raiseTEtsA,rc@fdfdfd}|dy)Ncg}|ftf|dzffD]\}}	||td|#t$r}|j|Yd}~<d}~wwxYw)Nr9msg1)r~rr}r
)rr>frrr6r4s     rlevel1zVNestedExceptionGroupSplitTest.test_split_by_type.<locals>.nested_group.<locals>.level1xsl '|gs^gqs^L'FAs'#'
%VT22%'A's3	AAAcg}|f|dzf|dzffD]\}}	||d|#t$r}|j|Yd}~9d}~wwxYw)Nr9r:msg2)rr})rr>r:rrr1r;r4s     rlevel2zVNestedExceptionGroupSplitTest.test_split_by_type.<locals>.nested_group.<locals>.level2sp &{VQqSMGQqS>J'FAs'#'
'vt44%'A's/	AAAcg}|dzf|dzffD]\}}	||td|#t$r}|j|Yd}~<d}~wwxYw)Nr9r:msg3)rr}r
)rr>r:rrr>r4s     rlevel3zVNestedExceptionGroupSplitTest.test_split_by_type.<locals>.nested_group.<locals>.level3sj &!}w!n='FAs'#'
%VT22%'A's/	AAAr!)rAr;r>r1r6r4s @@rnested_groupzFNestedExceptionGroupSplitTest.test_split_by_type.<locals>.nested_groupws
3
5
3
1Irz
the note: rrr9)
r
add_noteidr)rr~rr+r/rr
rr;)rrCrr%rvalueErrors_templatetypeErrors_templaterrr1r6r4s         @@@rtest_split_by_typez0NestedExceptionGroupSplitTest.test_split_by_typems	~		 		<	NA	#
1
>A	#
1
>1



qM
A
1
.A
1
.1



qM
 "+3 09S>2BCD""2~{C00[At% ""4E00]Ct""5.+F$00j)5LMt""5.+F$00Z@t""5.:NO""49LM00i5MNt""5.:MN""49MNhh~.t

eR $hh/0t""5.;q>:JK""4+a.9IJo	
JJBqE7+,B	sK!!	L*LLc	`d}	td|td|tdg#t$r}|}Yd}~nd}~wwxYw|j|t\}}|j||j
|ttdtdg|j|ttf\}}|j
|ttdtdg|j||j|t\}}|j
|ttdg|j
|ttdg|j|t\}}|j
|ttdg|j
|ttdgy)Nc8	|#t$r}|cYd}~Sd}~wwxYwr)r
)exrs  rrzHNestedExceptionGroupSplitTest.test_split_BaseExceptionGroup.<locals>.excs!
 

s	rAr9r:)rr)rDr+rrrr
)rrrrArrs      rtest_split_BaseExceptionGroupz;NestedExceptionGroupSplitTest.test_split_BaseExceptionGroups		$JqM*C0A!0D,EFH
H!	C	00i@t% ""$z!}6G6J&K	M00*/02t""%
1
7H7K'L	N$00jAt"">JqM?	4""$'8';&<	>006GHt""%(9!(<'=	?"".:a=/	3s,1	AAActdtdtdg}|jd|jdt	|j
}|j
t\}}|j|j
||j|j
||j|j
||j|j
|j
|j|j
|j
|j|j
|j
|jd|jd|jd|j|j
|dgz|j|j
|dgz|j|j
|dgzy)Nr%r9r:note1note2rr)	r
r)rrFrrrroassertIsNot)rr%
orig_notesrrs     rtest_split_copies_notesz5NestedExceptionGroupSplitTest.test_split_copies_notessL
D:a=)A,"?
@
G
G",,'
hhy)tz2*54u7t~~6$..9
D
w

fzTF':;*y*@Avh)>?rctdtdtdg}d|_|j	t\}}|jt
|d|jt
|dy)Nr%r9r:{r)r
r)rrrassertFalsehasattr)rr%rrs    r+test_split_does_not_copy_non_sequence_noteszINestedExceptionGroupSplitTest.test_split_does_not_copy_non_sequence_notess`D:a=)A,"?
@hhy)t45{34rc`Gddt}|dtdtdg}d}|jt|5|j	tddd|jt|5|jtdddy#1swY>xYw#1swYyxYw)NceZdZdZy)KNestedExceptionGroupSplitTest.test_drive_invalid_return_value.<locals>.MyEgcy)Nr2r!r=s  rderivezRNestedExceptionGroupSplitTest.test_drive_invalid_return_value.<locals>.MyEg.derivesrN)rrr r^r!rrMyEgr\s
rr_r%r9r:z4derive must return an instance of BaseExceptionGroup)r
rr)rrr)rr_r%rUs    rtest_drive_invalid_return_valuez=NestedExceptionGroupSplitTest.test_drive_invalid_return_values	>	$1z!}5
6D

#
#Is
3	 HHY	 

#
#Is
3	#KK	"	#	#	 	 	#	#sB9B$B!$B-N)rrr rJrNrTrYr`r!rrr-r-ks aKF&3P@(5
#rr-ceZdZdZdZdZy)%NestedExceptionGroupSubclassSplitTestc*Gddt}			td#t$r}|d|gd}~wwxYw#|$r-}	td#t$r}|d||gd}~wwxYwd}~wwxYw#|$r}|}Yd}~nd}~wwxYw|j||tdtdgg|j	|t
\}}|j
||j|ttdtdgg|j	|ttf\}}|j|ttdtdgg|j
||j	|t\}}|j|ttdg|j|ttdgg|j	|t\}}|j|ttdgg|j|ttdgy)NceZdZy)nNestedExceptionGroupSubclassSplitTest.test_split_ExceptionGroup_subclass_no_derive_no_new_override.<locals>.EGNrKr!rrEGre%rMrrfr:rmr9r%)r
rr)rr+rr)	rrftermverr%rrs	         r<test_split_ExceptionGroup_subclass_no_derive_no_new_overridezbNestedExceptionGroupSubclassSplitTest.test_split_ExceptionGroup_subclass_no_derive_no_new_override$s				
1-#A,& -Xt,,-
11$Q-'!1TB<001
1
	B		
""2rJqMIaL>+JK00W=t% "".:a=9Q<."A	C00j)5LMt"">JqMIaL>#B	D$00Z@t""5.:a=/J""49Q<.9IJ00Y?t""5.IaL>:JK""4*Q-IsT	6
169A+A

	A#AA##A&&A++A..A?3A::A?cGddt}	|dtdtdgd#|$r}|}Yd}~nd}~wwxYw|j||tdtdg|j	|t
\}}|j
||j|ttdtdg|j	|ttf\}}|j|ttdtdg|j
||j	|t\}}|j|ttdg|j|ttdg|j	|t\}}|j|ttdg|j|ttdgy)NceZdZfdZxZS)oNestedExceptionGroupSubclassSplitTest.test_split_BaseExceptionGroup_subclass_no_derive_new_override.<locals>.EGc&t||||Sr)super__new__)clsrr>unused	__class__s    rrozwNestedExceptionGroupSubclassSplitTest.test_split_BaseExceptionGroup_subclass_no_derive_new_override.<locals>.EG.__new__Ps
wsGT::r)rrr ro
__classcell__)rrs@rrfrlOs

;
;rrfr%r9r:rq)rr)rDrr+rrr
)rrfrr%rrs      r=test_split_BaseExceptionGroup_subclass_no_derive_new_overridezcNestedExceptionGroupSubclassSplitTest.test_split_BaseExceptionGroup_subclass_no_derive_new_overrideNs	;#	;	TJqM+<Q+?@(KK	B		
""Z]$5a$89	;00W=t% ""$z!}6G6J&K	M00./1t""%
1
7H7K'L	N$00Z@t""5.:a=/J""$'8';&<	>005FGt""%(9!(<'=	?""4*Q-Is/A;AcGfddt			td#t$r}d|gdd}~wwxYw#$r.}	td#t$r}d||gdd}~wwxYwd}~wwxYw#$r}|}Yd}~nd}~wwxYw|j|tdtdgg|j	|t
\}}|j
||j|tdtdgg|j|jd|j|jdjd|j	|ttf\}}|j|tdtdgg|j|jd|j|jdjd|j
||j	|t\}}|j|tdg|j|jd|j|tdgg|j|jd|j|jd	jd|j	|t\}}|j|tdgg|j|jd|j|jd	jd|j|tdg|j|jdy)
Nc*eZdZfdZfdZxZS)mNestedExceptionGroupSubclassSplitTest.test_split_ExceptionGroup_subclass_derive_and_new_overrides.<locals>.EGc8t||||}||_|Sr)rnrocode)rprr>ryobjrrs     rrozuNestedExceptionGroupSubclassSplitTest.test_split_ExceptionGroup_subclass_derive_and_new_overrides.<locals>.EG.__new__zs!goc7D9
rc@|j||jSr)rry)rr>rfs  rr^ztNestedExceptionGroupSubclassSplitTest.test_split_ExceptionGroup_subclass_derive_and_new_overrides.<locals>.EG.derives$,,dii88r)rrr ror^rs)rrrfs@rrfrwys


9
9rrfr:rmer9r%r2r)
r
rr)rr+rrroryr)	rrgrmrhrr%rrrfs	        @r;test_split_ExceptionGroup_subclass_derive_and_new_overrideszaNestedExceptionGroupSubclassSplitTest.test_split_ExceptionGroup_subclass_derive_and_new_overridesxs	9	9		
52#A,& 2XtS112
55$Q-'!5TB<445
5
	B		
""2rJqMIaL>+JK00W=t% ""4jmil^-LMB'+00#600j)5LMt""5"z!}y|n.MNR())!,1137$00Z@t""5"z!}o>R(""4y|n-=>B'+00#600Y?t""5"	!~.>?R())!,1137""4jm_=B'sU!	:5:=A0A	A(A##A((A++A00A33B8A??BN)rrr rirtr}r!rrrbrb"s(JT(JT6(rrb__main__r)collections.abcrrunittesttest.supportrTestCaserr#r7rirrrrrrrrrr
rr-rbrmainr!rr<module>rs1*
Ih&7&7
I ">**">JFx((FR>)h''>)B@)-8,,)-X6X..629H"89HxH95H9V"h&7&7"$:)):"0(!%;(!VB"8BJt#$?t#nL(,GL(^zHMMOr