python (3.11.7)

(root)/
lib/
python3.11/
unittest/
test/
testmock/
__pycache__/
testpatch.cpython-311.opt-2.pyc

eVrddlZddlZddlmZddlZddlmZddlmZm	Z	ddl
mZddlm
Z
mZmZmZmZmZmZmZmZmZmZdZejeZdezZdd
Zejaej Z!Gdde"Z#d
ezZ$e#fdZ%Gdde"Z&Gddej'Z(edkrej)dSdS)N)OrderedDict)support)	SomeClassis_instance)uncache)NonCallableMock
CallableMixinsentinel	MagicMockMockNonCallableMagicMockpatch_patchDEFAULTcall_get_targetbuiltinsz%s.PTModuleTcvGfddt}|sfd}fd}||_||_|S)NceZdZfdZdS)_get_proxy.<locals>.Proxyc$t|SN)getattrselfnameobjs  T/BuggyBox/python/3.11.7/bootstrap/lib/python3.11/unittest/test/testmock/testpatch.py__getattr__z%_get_proxy.<locals>.Proxy.__getattr__s3%%%N)__name__
__module____qualname__r)rsrProxyrs.	&	&	&	&	&	&	&r r$c*t||dSr)setattr)rrvaluers   r__setattr__z_get_proxy.<locals>.__setattr__ sCu%%%%%r c(t|dSr)delattrrs  r__delattr__z_get_proxy.<locals>.__delattr__"sCr )objectr(r+)rget_onlyr$r(r+s`    r
_get_proxyr.s&&&&&&&&&&(	&	&	&	&	&					''577Nr cleZdZdZdZdZdZedZe	dZ
GddeZd	S)
FoocdSrras  r__init__zFoo.__init__/r cdSrr2r3s  rfzFoo.f0r6r cdSrr2rs rgzFoo.g1r6r barcdSrr2r2r r
static_methodzFoo.static_method4sr cdSrr2)clss rclass_methodzFoo.class_method7s4r ceZdZdZdS)Foo.BarcdSrr2r:s rr4z	Foo.Bar.a;r6r Nr!r"r#r4r2r rBarrC:sr rFN)
r!r"r#r5r8r;foostaticmethodr>classmethodrAr,rFr2r rr0r0.s
C\[fr r0z%s.FoocdSrr2r4bs  rfunctionrM@r6r c,eZdZdZdZdZdZdZdS)	Containerci|_dSrvaluesr:s rr5zContainer.__init__Ds
r c|j|SrrQrrs  r__getitem__zContainer.__getitem__Gs{4  r c||j|<dSrrQ)rrr's   r__setitem__zContainer.__setitem__Js!Dr c|j|=dSrrQrTs  r__delitem__zContainer.__delitem__MsKr c*t|jSr)iterrRr:s r__iter__zContainer.__iter__PsDK   r N)r!r"r#r5rUrWrYr\r2r rrOrOCs_!!!"""!!!!!r rOceZdZdudZdZdZdZdZdZdZ	d	Z
d
ZdZdZ
d
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ d Z!d!Z"d"Z#d#Z$d$Z%d%Z&d&Z'd'Z(d(Z)d)Z*d*Z+d+Z,d,Z-d-Z.d.Z/d/Z0d0Z1d1Z2d2Z3d3Z4d4Z5d5Z6d6Z7d7Z8d8Z9d9Z:d:Z;d;Z<d<Z=d=Z>d>Z?d?Z@d@ZAdAZBdBZCdCZDdDZEdEZFdFZGdGZHdHZIdIZJdJZKdKZLdLZMdMZNdNZOdOZPdPZQdQZRdRZSdSZTdTZUdUZVdVZWdWZXdXZYdYZZe[dZd[d\Z\e[dZd]d^Z]d_Z^d`Z_daZ`dbZadcZbddZcdeZddfZedgZfdhZgdiZhdjZidkZjdlZkdmZldnZmdoZndpZodqZpdrZqdsZrdtS)v	PatchTestTct}|st}|t||t|||t|tdSr)r
rassertRaises	TypeError
assertTruerassertFalser	)rrmagic	MockClasss    rassertNotCallablezPatchTest.assertNotCallableWsj(		('I)S)))C33444S-8899999r cGddttjdtjfd}|jtjddS)NceZdZejZdS)4PatchTest.test_single_patchobject.<locals>.SomethingNr!r"r#r
Original	attributer2r r	Somethingrib )IIIr rmrlcTjtjddSN	unpatchedassertEqualrlr
Patchedrmrsrtestz/PatchTest.test_single_patchobject.<locals>.testes'Y0(2BKPPPPPr patch not restoredr,rr
rtrsrlrkrrvrms` @rtest_single_patchobjectz!PatchTest.test_single_patchobjectas	*	*	*	*	*	*	*	*
ih.>	?	?	Q	Q	Q	Q	Q
@	?	Q	
,h.?-	/	/	/	/	/r cd}|t|5tjddddddS#1swxYwYdS)Nz>'Something' must be the actual object to be patched, not a strrmdo_something)assertRaisesRegexrarr,)rmsgs  r&test_patchobject_with_string_as_targetz0PatchTest.test_patchobject_with_string_as_targetmsN

#
#Is
3
3	6	6Ln555	6	6	6	6	6	6	6	6	6	6	6	6	6	6	6	6	6	6sAAAcGddttjddfd}|jtjddS)NceZdZejZdS)7PatchTest.test_patchobject_with_none.<locals>.SomethingNrjr2r rrmrsrnr rmrlc>jddSrp)assertIsNonerlrusrrvz2PatchTest.test_patchobject_with_none.<locals>.testvs"i1;?????r rw)r,rrsrlr
rkrys` @rtest_patchobject_with_nonez$PatchTest.test_patchobject_with_noners	*	*	*	*	*	*	*	*
id	3	3	@	@	@	@	@
4	3	@	
,h.?-	/	/	/	/	/r cGddttjdtjtjdtjfd}|jtjdjtj	ddS)Nc*eZdZejZejZdS)6PatchTest.test_multiple_patchobject.<locals>.SomethingNr!r"r#r
rkrl	Original2next_attributer2r rrmr )I%/NNNr rmrlrcjtjdjtjddSrp)rsrlr
rtrPatched2rusrrvz1PatchTest.test_multiple_patchobject.<locals>.testsY
Y0(2B(
*
*
*Y5x7H(
*
*
*
*
*r rw)
r,rr
rtrrsrlrkrrrys` @rtest_multiple_patchobjectz#PatchTest.test_multiple_patchobjects	0	0	0	0	0	0	0	0
ih.>	?	?	i!183D	E	E	*	*	*	*	*
F	E
@	?	*	
,h.?-	/	/	/183E-	/	/	/	/	/r ct}tdtztjd}	tja||ttj|adS#|awxYw)N%s.somethingcdSrr2r2r rrvz8PatchTest.test_object_lookup_is_quite_lazy.<locals>.testsDr )	somethingrr!r

Something2replacement_valuersroriginalrvs   r test_object_lookup_is_quite_lazyz*PatchTest.test_object_lookup_is_quite_lazys~	~((*=	>	>		
?	>		! 2IDFFFY(BCCC IIII    s;A33A7ctdtztjfd}|t
jtjdtdtztjtdtztjfd}t
jtjdt
j	tjd|t
jtjdt
j	tjdt}tj|_tdtz|fd}||t|ddS)Nrc^tjtjddSrp)rsPTModulerr
rr:srrvz"PatchTest.test_patch.<locals>.tests2X/1D(
*
*
*
*
*r rwz%s.something_elsectjtjdtjtjddSrp)rsrrr
rsomething_else
SomethingElser:srrvz"PatchTest.test_patch.<locals>.testsY
X/1D(
*
*
*X4h6L(
*
*
*
*
*r %s.opencftddtjddS)Nfilenamerzopen not patched)rsopenr
Handler:srrvz"PatchTest.test_patch.<locals>.tests8T*c22HO/
1
1
1
1
1r )rr!r
rrsrrrmrrrrreturn_valuebuiltin_stringassertNotEqualr)rrvmocks`  r
test_patchzPatchTest.test_patchs	~((*=	>	>	*	*	*	*
?	>	*	
+X-?-	/	/	/
~((*=	>	>	"X-x/E	F	F	*	*	*	*
G	F
?	>	*	
+X-?-	/	/	/0(2H-	/	/	/	
+X-?-	/	/	/0(2H-	/	/	/vv$O	y>)4	0	0	1	1	1	1
1	0	1	
D$(<=====r ctdtztjfd}|t
jjddS)Nz%s.SomeClass.class_attributechtjjtjddSrp)rsrrclass_attributer
ClassAttributer:srrvz2PatchTest.test_patch_class_attribute.<locals>.tests<
X/?%4k
C
C
C
C
Cr rw)rr!r
rrrrrrrvs` rtest_patch_class_attributez$PatchTest.test_patch_class_attributes	-8&
(
(	C	C	C	C
(
(	C	
(,<.	0	0	0	0	0r cGddttjdfd}|tjdtjdfd}dx|tjtj\|tjtjdS)Nc*eZdZejZejZdS):PatchTest.test_patchobject_with_default_mock.<locals>.TestN)r!r"r#r
rkrr
something2r2r rTestrs )I!+JJJr rrcx|jd|tddS)N"Mock not passed into test function.patch with two arguments did not create a mock)rsrassertIsInstancer)rrrs rrvz:PatchTest.test_patchobject_with_default_mock.<locals>.testsUT4>A
C
C
C!!$	L
N
N
N
N
Nr rc|tjd|tjd|jd|jd|td|td|d|d||fS)Nz0Patched function didn't receive initial argumentz/Patched function didn't receive second argumentrz)Second Mock not passed into test functionrzunexpected value for mock1)	rsr
this1this2rrrrr)rrmock1mock2r
outerMock1
outerMock2rs    rrvz:PatchTest.test_patchobject_with_default_mock.<locals>.tests
UHNO
Q
Q
QUHNN
P
P
PUDOA
C
C
CUDNH
J
J
J!!%L
N
N
N!!%L
N
N
N

E3OPPP
E3OPPP%<r )r,rr
rr)rrvrrrs` @@@r"test_patchobject_with_default_mockz,PatchTest.test_patchobject_with_default_mocks	,	,	,	,	,6	,	,	,
dK	(	(	N	N	N	N	N
)	(	N	
	dK	(	(	dL	)	)	 	 	 	 	 	 	 
*	)
)	(	 &#'&
Z!%hnhn!E!E
J	
X^X^,,,,,r cntdtztfd}|dS)N%s.SomeClassspecct|ttjt
tddS)NctjSrr
not_wibbler2r r<lambda>z>PatchTest.test_patch_with_spec.<locals>.test.<locals>.<lambda>	i6Jr rsrrbrwibblerr`AttributeError
MockSomeClassrs rrvz,PatchTest.test_patch_with_spec.<locals>.testXY
666OOK	(8)DDEEEn.J.JKKKKKr )rr!rrs` rtest_patch_with_speczPatchTest.test_patch_with_specsO	~(y	9	9	9	L	L	L	L
:	9	L
	
r cttjtdtfd}|dS)Nrrctj|t	tjjttddS)Nc$tjjSrrrrr2r rrzDPatchTest.test_patchobject_with_spec.<locals>.test.<locals>.<lambda>i&?&Jr 	rsrrrbrrrr`r
MockAttributers rrvz2PatchTest.test_patchobject_with_spec.<locals>.testxY6
FFFOOK	(A(H'022
3
3
3nJJ
L
L
L
L
Lr rr,rrs` rtest_patchobject_with_specz$PatchTest.test_patchobject_with_spec
sP	i!2	C	C	C	L	L	L	L
D	C	L	
r cftdtzdgfd}|dS)Nrrrct|ttjt
tddS)NctjSrrr2r rrzFPatchTest.test_patch_with_spec_as_list.<locals>.test.<locals>.<lambda>rr rrs rrvz4PatchTest.test_patch_with_spec_as_list.<locals>.testrr rr!rs` rtest_patch_with_spec_as_listz&PatchTest.test_patch_with_spec_as_listsQ	~(z	:	:	:	L	L	L	L
;	:	L
	
r cltjtddgfd}|dS)Nrrrctj|t	tjjttddS)Nc$tjjSrrr2r rrzLPatchTest.test_patchobject_with_spec_as_list.<locals>.test.<locals>.<lambda>*rr rrs rrvz:PatchTest.test_patchobject_with_spec_as_list.<locals>.test$rr rrs` r"test_patchobject_with_spec_as_listz,PatchTest.test_patchobject_with_spec_as_list#sR	i!2(	D	D	D	L	L	L	L
E	D	L	
r ctdtztdtzdgfd}|dS)Nrrrrct|ttjt
tddS)NctjSrrr2r rrzMPatchTest.test_nested_patch_with_spec_as_list.<locals>.test.<locals>.<lambda>6rr r)rMockOpenrs  rrvz;PatchTest.test_nested_patch_with_spec_as_list.<locals>.test1sZ
Y
666OOK	(8)DDEEEn.J.JKKKKKr )rrr!rs` r#test_nested_patch_with_spec_as_listz-PatchTest.test_nested_patch_with_spec_as_list/si	y>)	*	*	~(z	:	:	:	L	L	L	L
;	:
+	*	L	
r cdtdtzdfd}|dS)NrTrctjtfddS)NcjSrrrsrrzIPatchTest.test_patch_with_spec_as_boolean.<locals>.test.<locals>.<lambda>A
m6Nr rsrrr`rrs`rrvz7PatchTest.test_patch_with_spec_as_boolean.<locals>.test;IY
666  n.N.N.N.NOOOOOr rrs` rtest_patch_with_spec_as_booleanz)PatchTest.test_patch_with_spec_as_boolean:sO	~(t	4	4	4	P	P	P	P
5	4	P	
r cjtjtddfd}|dS)NrTrctjtfddS)NcjSrrrsrrzPPatchTest.test_patch_object_with_spec_as_boolean.<locals>.test.<locals>.<lambda>Mrr rrs`rrvz>PatchTest.test_patch_object_with_spec_as_boolean.<locals>.testGrr )rr,rrs` r&test_patch_object_with_spec_as_booleanz0PatchTest.test_patch_object_with_spec_as_booleanFsN	h$	7	7	7	P	P	P	P
8	7	P	
r cdtdtzdfd}|dS)NrTrct|t|jtfddS)NcjSrr)instancesrrzVPatchTest.test_patch_class_acts_with_spec_is_inherited.<locals>.test.<locals>.<lambda>[s
h6Ir )rbrrrfrr`r)rrrs @rrvzDPatchTest.test_patch_class_acts_with_spec_is_inherited.<locals>.testSslOOK
yAABBB$}H""8,,,OOn.I.I.I.IJJJJJr rrs` r,test_patch_class_acts_with_spec_is_inheritedz6PatchTest.test_patch_class_acts_with_spec_is_inheritedRsO	~(t	4	4	4	K	K	K	K
5	4	K	
r ctdtztjdfd}|t
ddS)N
%s.froobleTcreatecRttjdSr)rsfroobler
Froobler:srrvzLPatchTest.test_patch_with_create_mocks_non_existent_attributes.<locals>.testas"Wh&677777r ctSrrr2r rrzPPatchTest.test_patch_with_create_mocks_non_existent_attributes.<locals>.<lambda>fWr )rrr
rr`	NameErrorrs` r4test_patch_with_create_mocks_non_existent_attributesz>PatchTest.test_patch_with_create_mocks_non_existent_attributes`sj	|n,h.>t	L	L	L	8	8	8	8
M	L	8	
)__55555r ctjtdtjdfd}|t
tddS)NrTrc\tjtjdSr)rsrrr
rr:srrvzRPatchTest.test_patchobject_with_create_mocks_non_existent_attributes.<locals>.testjs%Y.0@AAAAAr )rr,rr
rrchasattrrs` r:test_patchobject_with_create_mocks_non_existent_attributeszDPatchTest.test_patchobject_with_create_mocks_non_existent_attributesist	iH,<T	J	J	J	B	B	B	B
K	J	B	
I6677777r c|t5tdtztjd}|dddn#1swxYwY|tddS)NrcdSrr2r2r rrvz9PatchTest.test_patch_wont_create_by_default.<locals>.testtr ctSrrr2r rrz=PatchTest.test_patch_wont_create_by_default.<locals>.<lambda>xrr )r`rrrr
rrrs  r!test_patch_wont_create_by_defaultz+PatchTest.test_patch_wont_create_by_defaultrs


~
.
.		
<.0(2B
C
CD
CDFFF																
	
)__55555s6AA!$A!c*|t5tjtdt
jd}|dddn#1swxYwY|ttddS)NordcdSrr2r2r rrvz?PatchTest.test_patchobject_wont_create_by_default.<locals>.test}rr )	r`rrr,rr
rrcrrs  r'test_patchobject_wont_create_by_defaultz1PatchTest.test_patchobject_wont_create_by_default{s


~
.
.		
\)UH,<
=
=>
=DFFF																
E2233333s9A  A$'A$cttdzd}ttdzd}||d||ddS)Nz.ordc.d|_tdS)Nec)rr)mock_ords rtest_ordz>PatchTest.test_patch_builtins_without_create.<locals>.test_ords$'H!s88Or z.openc|j}d|j_td}|}||S)Nabcdzdoesnotexists.txt)rreadrclose)	mock_openmfobjdatas    r	test_openz?PatchTest.test_patch_builtins_without_create.<locals>.test_opensA&A"(AF+,,D99;;DJJLLLKr rrrr!rs)rrr$s   r"test_patch_builtins_without_createz,PatchTest.test_patch_builtins_without_creates	x				
 		
x	 	 		
!	 		
S)))f-----r cGddttjdtdfd}|t
jdS)Nc$eZdZedZdS)5PatchTest.test_patch_with_static_methods.<locals>.FooctjSr)r
Staticr2r rwootz:PatchTest.test_patch_with_static_methods.<locals>.Foo.woots
&r N)r!r"r#rHr,r2r rr0r)s-

'
'\
'
'
'r r0r,ctjSr)r
rtr2r rrz:PatchTest.test_patch_with_static_methods.<locals>.<lambda>s	8Hr cltjdSr)rsr,r
rt)r0rsr	anonymousz;PatchTest.test_patch_with_static_methods.<locals>.anonymouss*SXXZZ)9:::::r )r,rrHrsr,r
r+)rr/r0s` @rtest_patch_with_static_methodsz(PatchTest.test_patch_with_static_methodss	'	'	'	'	'&	'	'	'

c6<0H0H#I#I	J	J	;	;	;	;	;
K	J	;	X_55555r ctj}tjtddfd}|tj|dS)Nr0cHtjddSNr0)rsr
r0r:srr/z-PatchTest.test_patch_local.<locals>.anonymouss!X\511111r )r
r0rr,rs)rrGr/s`  rtest_patch_localzPatchTest.test_patch_localsel	hu	-	-	2	2	2	2
.	-	2	s+++++r cGddt}|tj_tjddfd}|jtjdS)NceZdZdZdS)'PatchTest.test_patch_slots.<locals>.Foo)r0N)r!r"r#	__slots__r2r rr0r7s IIIr r0c>jddSr3)rsr0rGrsrr/z-PatchTest.test_patch_slots.<locals>.anonymouss!SWe,,,,,r )r,r
r0rrs)rr0r/rGs`  @rtest_patch_slotszPatchTest.test_patch_slotss	!	!	!	!	!&	!	!	!cee,	c5%	(	(	-	-	-	-	-
)	(	-	(,/////r c^GddtGfddt}tjdtj|}|}||jtjddS)NceZdZejZdS)=PatchTest.test_patchobject_class_decorator.<locals>.SomethingNrjr2r rrmr>rnr rmc(eZdZfdZfdZdS)7PatchTest.test_patchobject_class_decorator.<locals>.FoocTjtjddSrprr
other_selfrmrs rtest_methodzCPatchTest.test_patchobject_class_decorator.<locals>.Foo.test_methods2  !4h6F!,.....r cTjtjddSNznon-test method patched)rsrlr
rkrBs rnot_test_methodzGPatchTest.test_patchobject_class_decorator.<locals>.Foo.not_test_methods2  !4h6G!:<<<<<r N)r!r"r#rDrGrusrr0r@sQ
.
.
.
.
.
.
<
<
<
<
<
<
<
<r r0rlrw)	r,rr
rtrDrGrsrlrk)rr0r8rms`  @r test_patchobject_class_decoratorz*PatchTest.test_patchobject_class_decorators	*	*	*	*	*	*	*	*	<	<	<	<	<	<	<	<&	<	<	<Eel9k83CDDSIICEE	

	,h.?-	/	/	/	/	/r cGddt}Gfddt}tdtz|}|}|||jtjdtj
tjddS)NceZdZejZdS)7PatchTest.test_patch_class_decorator.<locals>.SomethingNrjr2r rrmrKrnr rmc(eZdZdZfdZfdZdS)1PatchTest.test_patch_class_decorator.<locals>.FoowhatevercJtj|ddSrp)rsrr)rCmock_somethingrs  rrDz=PatchTest.test_patch_class_decorator.<locals>.Foo.test_methods/  !3^!,.....r c^tjtjddSrF)rsrrr
rm)rCrs rrGzAPatchTest.test_patch_class_decorator.<locals>.Foo.not_test_methods2  !3X5G!:<<<<<r N)r!r"r#test_class_attrrDrGr:srr0rMsL(O
.
.
.
.
.
<
<
<
<
<
<
<r r0rrw)r,rr!rDrGrsrlr
rkrrrm)rrmr0r8s`   rtest_patch_class_decoratorz$PatchTest.test_patch_class_decorators	*	*	*	*	*	*	*	*		<		<		<		<		<		<		<&		<		<		</eNX-..s33CEE	

	,h.?-	/	/	/+X-?-	/	/	/	/	/r c4Gddttjdtjtjdtjfd}|jtjddS)Nc*eZdZejZejZdS)3PatchTest.test_patchobject_twice.<locals>.SomethingNrr2r rrmrVrr rmrlcTjtjddSrprrrusrrvz.PatchTest.test_patchobject_twice.<locals>.tests)
Y0(2BKPPPPPr rwrxrys` @rtest_patchobject_twicez PatchTest.test_patchobject_twices	0	0	0	0	0	0	0	0
ih.>	?	?	ih.>	?	?	Q	Q	Q	Q	Q
@	?
@	?	Q	
,h.?-	/	/	/	/	/r ctdd}tjfd}||tjddifd}||tjdgfd}||dS)	Nrinitialotherc"dd<d=dd<dSNr4r[something elser\r2rGsrrvz'PatchTest.test_patch_dict.<locals>.test CHI+CLLLr r4rLctddddSNr_r4rLrslenr:srrvz'PatchTest.test_patch_dict.<locals>.test?SXXq)))SXs+++++r rKctddddSrdrer:srrvz'PatchTest.test_patch_dict.<locals>.testrgr r,copyrdictrsrrrvrGs`  @rtest_patch_dictzPatchTest.test_patch_dicts, (([9988::	C	,	,	,	,
	,
	
h'''	C#s	$	$	,	,	,	,	,
%	$	,	
h'''	C*	&	&	,	,	,	,	,
'	&	,	
h'''''r cttd<dd<j}t	jfd}|j|t	jddifd}|j|dS)Nr[rr\c"dd<d=dd<dSr^r2rasrrvz=PatchTest.test_patch_dict_with_container_object.<locals>.test&rbr r4rLctjddddSrd)rsrfrRr:srrvz=PatchTest.test_patch_dict_with_container_object.<locals>.test0sAS__a000SXs+++++r rOr,rRrjrrkrsrls`  @r%test_patch_dict_with_container_objectz/PatchTest.test_patch_dict_with_container_objectskkI#G:??$$	C	,	,	,	,
	,
	
X...	C#s	$	$	,	,	,	,	,
%	$	,	
X.....r ctdd}tjdfd}||tjddidfd}||tjd	gdfd
}||dS)NrrZTclearcHidd<dd<dSNr_r4r`r\rsr:srrvz2PatchTest.test_patch_dict_with_clear.<locals>.test>s/S"%%%CH+CLLLr r4rLc8ddidSNr4rLrxr:srrvz2PatchTest.test_patch_dict_with_clear.<locals>.testH#S3*-----r rKc8ddidSrzrxr:srrvz2PatchTest.test_patch_dict_with_clear.<locals>.testPr{r rirls`  @rtest_patch_dict_with_clearz$PatchTest.test_patch_dict_with_clear:sC (([9988::	Ct	$	$	$	,	,	,	,	,
%	$	,
	
h'''	C#s4	0	0	0	.	.	.	.	.
1	0	.	
h'''	C*T	2	2	2	.	.	.	.	.
3	2	.	
h'''''r cttd<dd<j}t	jdfd}|j|t	jddidfd	}|j|dS)
Nr[rr\TrtcRjidd<dd<dSrwrsrRr:srrvzGPatchTest.test_patch_dict_with_container_object_and_clear.<locals>.test`s1SZ,,,CH+CLLLr r4rLcBjddidSrzrr:srrvzGPatchTest.test_patch_dict_with_container_object_and_clear.<locals>.testjs%SZ#s44444r rqrls`  @r/test_patch_dict_with_container_object_and_clearz9PatchTest.test_patch_dict_with_container_object_and_clearYskkI#G:??$$	Ct	$	$	$	,	,	,	,	,
%	$	,
	
X...	C#s4	0	0	0	5	5	5	5	5
1	0	5	
X.....r cddi}tj|d5}||ddidddn#1swxYwY||ddidS)Nr4rLr)r4)rrkrs)rrGpatcheds   r"test_patch_dict_as_context_managerz,PatchTest.test_patch_dict_as_context_managerssCj
Zs
#
#
#	2wWsCj111	2	2	2	2	2	2	2	2	2	2	2	2	2	2	2sCj)))))sAAAc~i}tdtzttdtztdtjtttj|d}||jddS)NrTautospeccdSrr2r2r r	some_namez0PatchTest.test_name_preserved.<locals>.some_name}s	r r)rr!r,rrkrs)rrGrs   rtest_name_preservedzPatchTest.test_name_preservedzs	~(&((	3	3	~(&((T	B	B	B	i	*	*	C

+	*
C	B
4	3	+[99999r ci}tj|ddid}|t5|dddn#1swxYwY||idS)Nr4rLc td)NKonradrr2r rrvz1PatchTest.test_patch_with_exception.<locals>.testsH%%%r )rrkr`rrs)rrGrvs   rtest_patch_with_exceptionz#PatchTest.test_patch_with_exceptions	C#s	$	$	&	&
%	$	&

y
)
)		DFFF																
b!!!!!sAAAc`tjdddifd}|dS)Nz
os.environ
konrad_delongz
some valuecHdtjdS)Nr)assertInosenvironr:srrvz3PatchTest.test_patch_dict_with_string.<locals>.testsMM/2:66666r )rrkrs` rtest_patch_dict_with_stringz%PatchTest.test_patch_dict_with_stringsJ	L?L"A	B	B	7	7	7	7
C	B	7	
r c8tj}tjdddifd}	ddit_|tjddi|t_dS#|t_wxYw)Nz%unittest.test.testmock.support.targetr<BARcNtjddddS)NBAZrrGr<)rsrtargetr:srrvz<PatchTest.test_patch_dict_decorator_resolution.<locals>.tests)W^U5-I-IJJJJJr rGr)rrrjrrkrsrs`  r$test_patch_dict_decorator_resolutionz.PatchTest.test_patch_dict_decorator_resolutions>&&((	;eU^	L	L	K	K	K	K
M	L	K	&#U^GNDFFFW^eU^<<<%GNNNXGN%%%%s:BBctdtztdd}|t|tjtdtdd}|t|tdtzdd}|t|tjtddd	}|t|dS)
NrTrspec_setcd|_dSNrGzres rrvz+PatchTest.test_patch_spec_set.<locals>.test
IKKKr rcd|_dSrrrs rrvz+PatchTest.test_patch_spec_set.<locals>.testrr rcd|_dSrrrs rrvz+PatchTest.test_patch_spec_set.<locals>.testrr cd|_dSrrrs rrvz+PatchTest.test_patch_spec_set.<locals>.testrr )rr!rr`rr,rrs  rtest_patch_spec_setzPatchTest.test_patch_spec_sets	~(y4	H	H	H	 	 
I	H	 	
.$///	g{T	J	J	J	 	 
K	J	 	
.$///	~(4	8	8	8	 	 
9	8	 	
.$///	g{T	:	:	:	 	 
;	:	 	
.$/////r ctdtzdd}|t|dS)NrTrc(|}d|_dSrr)rers  rrvz-PatchTest.test_spec_set_inherit.<locals>.tests y{{HHJJJr )rr!r`rrs  rtest_spec_set_inheritzPatchTest.test_spec_set_inheritsL	~(4	8	8	8		
9	8		
.$/////r ct}tdtz}|t||}	||||t||n#|wxYw|t|dS)Nr)rrr!assertIsstartassertIsNotstop)rrpatcherrs    rtest_patch_start_stopzPatchTest.test_patch_start_stops122

i***}}	T8,,,MM)T***LLNNNNGLLNNNN

i*****s1BB+cttdd}||dSNr<r_)rfoo_namerrrrs  rtest_stop_without_startz!PatchTest.test_stop_without_starts5%++',,..)))))r cttdd}||||dSr)rrrrrrs  rtest_stop_idempotentzPatchTest.test_stop_idempotentsO%++

',,..)))))r ct}tjtdd}|t||}	||d|t||n#|wxYw|t|dS)NrrG)rrr,rrrrsr)rrrreplaceds    rtest_patchobject_start_stopz%PatchTest.test_patchobject_start_stops,xe<<

i***==??	Xu---MM)X...LLNNNNGLLNNNN

i*****s1BB/ctddi}|}tj|dgd}||||	||ddi|n#|wxYw|||dS)NrGr<spameggsTrtrr)rjrrkrsrrrdrrs    rtest_patch_dict_start_stopz$PatchTest.test_patch_dict_start_stops
EN6688*Q!1 2$???H%%%

	Q 0111LLNNNNGLLNNNNH%%%%%sB		Bcddi}|}tj|dgd}|||||dS)NrGr<rTrt)rjrrkrcrrsrs    r"test_patch_dict_stop_without_startz,PatchTest.test_patch_dict_stop_without_startsj
EN6688*Q!1 2$???(((H%%%%%r cR|ddi}Gfddt}tjddid|}|||}|||||||}||||||dS)	Nrrc(eZdZfdZfdZdS)7PatchTest.test_patch_dict_class_decorator.<locals>.Testc8ddidSNrGr<rxrrthiss r
test_firstzBPatchTest.test_patch_dict_class_decorator.<locals>.Test.test_first#  UEN33333r c8ddidSrrxrs rtest_secondzCPatchTest.test_patch_dict_class_decorator.<locals>.Test.test_secondrr N)r!r"r#rr)rrsrrrsQ
4
4
4
4
4
4
4
4
4
4
4
4
4
4r rrGr<Trt)rjr,rrkrsrr)rrrrvrrs    @@rtest_patch_dict_class_decoratorz)PatchTest.test_patch_dict_class_decorator
sM
V6688	4	4	4	4	4	4	4	46	4	4	49uz!eU^4888>>H%%%tvvH%%%H%%%tvvH%%%H%%%%%r cGddt}Gdd}||||fD]}t|tjddfd}|jd|jddjdS)NceZdZdZdS)0PatchTest.test_get_only_proxy.<locals>.SomethingrGNr!r"r#rGr2r rrmr-CCCr rmceZdZdZdS)4PatchTest.test_get_only_proxy.<locals>.SomethingElserGNrr2r rrr/rr rrGr<c>jddSNr<rsrGproxyrsrrvz+PatchTest.test_get_only_proxy.<locals>.test5!  E22222r r,r.rrsrGassertNotIn__dict__rrmrthingrvrs`    @rtest_get_only_proxyzPatchTest.test_get_only_proxy,s																
yy{{MI		4		4Eu%%E
\%
.
.
3
3
3
3
3/
.
3DFFFUY...UY...UEN3333		4		4r cGddt}Gdd}||||fD]}t|dtjddfd	}|jd|jddjdS)
NceZdZdZdS)6PatchTest.test_get_set_delete_proxy.<locals>.SomethingrGNrr2r rrmr?rr rmceZdZdZdS):PatchTest.test_get_set_delete_proxy.<locals>.SomethingElserGNrr2r rrrArr rF)r-rGr<c>jddSrrrsrrvz1PatchTest.test_get_set_delete_proxy.<locals>.testGrr rrs`    @rtest_get_set_delete_proxyz#PatchTest.test_get_set_delete_proxy>s																
yy{{MI		4		4Ey5999E
\%
.
.
3
3
3
3
3/
.
3DFFFUY...UY...UEN3333		4		4r cxtdtd}ttfi|}|}||t|||j	d|
|jtdS)N!side_effectzfoo.bar.return_valuerG)KeyErrorrrrrrr`rsrGr<rrkwargsrrs    rtest_patch_keyword_argsz!PatchTest.test_patch_keyword_argsPs!)2"&&++F++}}(D))),,,dh	22222r ctdtd}tjtdfi|}|}||t|||j	
d||j	tdS)Nrrr8)rrrr,r0rrr`rsrGr<rrs    rtest_patch_object_keyword_argsz(PatchTest.test_patch_object_keyword_args]s!)2"&&,sC22622}}(D))),,,dh	22222r cdddi}|}tj|ddd}|	||tddd|n#|wxYw|||dS)NrGr<r_)rGr<baz)rjrrkrrsr)rrrjrs    rtest_patch_dict_keyword_argsz&PatchTest.test_patch_dict_keyword_argsjs5>}}*X1!;;;

	Xtqa'@'@'@AAALLNNNNGLLNNNN4(((((s&BBcGddt}fdfdfd}ttd|}|}t||t
jt}tj|dd|}|}t||dS)	Nc@eZdZdZdZdZdZGddeZdS)$PatchTest.test_autospec.<locals>.BoocdSrr2r3s  rr5z-PatchTest.test_autospec.<locals>.Boo.__init__{r6r cdSrr2r3s  rr8z&PatchTest.test_autospec.<locals>.Boo.f|r6r cdSrr2r:s rr;z&PatchTest.test_autospec.<locals>.Boo.g}r6r r<ceZdZdZdS)(PatchTest.test_autospec.<locals>.Boo.BarcdSrr2r:s rr4z*PatchTest.test_autospec.<locals>.Boo.Bar.ar6r NrEr2r rrFrs!!!!!r rFN)	r!r"r#r5r8r;rGr,rFr2r rBoorzs^'''   C
"
"
"
"
"f
"
"
"
"
"r rc~|d|dt|dSN)assert_called_withr`rarrs r_testz&PatchTest.test_autospec.<locals>._tests@DGGG##A&&&i.....r c|d|jdt|j||jt|jdt
t|d|j|jjt
t|jd|	|j	|j	
|j	j
t|j	j
d|	
|	j
t|	j
dt
t|j	dt
t|	ddS)Nrhr<rL)r8rr`rar;rrrGlowerrFr4r
s r_test2z'PatchTest.test_autospec.<locals>._test2sFF1IIIF%%a(((i000FFHHHF%%'''i333ngtSAAAHNNHN--///ngtxGGGHHJJJH'')))HJJLLLHJ))+++iQ777HHJJLLNNNHHJJL++---iq999ngtxEEEngtxxzz3GGGGGr c|||d|t|Sr
)rr0)rrrrs rrMz)PatchTest.test_autospec.<locals>.functionsKE$KKKF4LLLF4477OOOMM$$$$Kr Trr0)r,rrrr0sysmodulesr!)rrrMrvrmodulerrs`     @@r
test_autospeczPatchTest.test_autospecys/	"	"	"	"	"&	"	"	"	/	/	/	/	/
	H	H	H	H	H:							.uX---h77tvvd###X&9u|FED999(CCtvvd###r cdtdtzdfd}|dS)N%s.functionTrctttjttjtdttjtdtttddtddtttttddS)Nrr_rG)
rMassert_not_calledr`AssertionError
assert_calledassert_called_oncerrarrr
s rrvz.PatchTest.test_autospec_function.<locals>.tests&&(((nh.DEEEnh.IJJJQKKKnh.HIII''***""$$$'')))QNNN''1---i222ngxGGGGGr rrs` rtest_autospec_functionz PatchTest.test_autospec_functionsO	}x'$	7	7	7
	H
	H
	H
	H
8	7
	H	
r ctdtzddd}|}||ddS)NrTr_)rrc"tddS)Nrr)rM)
mock_functions rrvz.PatchTest.test_autospec_keywords.<locals>.testsAq>>!r r%)rrvresults   rtest_autospec_keywordsz PatchTest.test_autospec_keywordssb	}x'$


	"	"

	"#####r ctdtzd5}t|ddddS#1swxYwYdS)Nz%s.Foo.static_methodTr)rr!r0r>assert_called_once_withrmethods  rtest_autospec_staticmethodz$PatchTest.test_autospec_staticmethods
)H4t
D
D
D	-**,,,	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-.AAActdtzd5}t|ddddS#1swxYwYdS)Nz%s.Foo.class_methodTr)rr!r0rAr'r(s  rtest_autospec_classmethodz#PatchTest.test_autospec_classmethods
(83d
C
C
C	-v**,,,	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-r+c	zGdd}|dddtj|dd	5}|ddd|t||t|d|t|dddd
ddddS#1swxYwYdS)Nc&eZdZeddZdS);PatchTest.test_autospec_staticmethod_signature.<locals>.Foo
cdSrr2)r4rLrs   rr>zIPatchTest.test_autospec_staticmethod_signature.<locals>.Foo.static_methods.2dr Nr1)r!r"r#rHr>r2r rr0r0s&
222\222r r0rrr_rr>Trr)r>rr,r`rarr0r)s   r$test_autospec_staticmethod_signaturez.PatchTest.test_autospec_staticmethod_signatures%	3	3	3	3	3	3	3	3	!Q!$$$
\#
>
>
>	?&F1a1i000i333iAqA>>>		?	?	?	?	?	?	?	?	?	?	?	?	?	?	?	?	?	?A&B00B47B4c	zGdd}|dddtj|dd	5}|ddd|t||t|d|t|dddd
ddddS#1swxYwYdS)Nc&eZdZeddZdS):PatchTest.test_autospec_classmethod_signature.<locals>.Foor1cdSrr2)r@r4rLrs    rrAzGPatchTest.test_autospec_classmethod_signature.<locals>.Foo.class_methods26$r Nr3)r!r"r#rIrAr2r rr0r:s&
666[666r r0rrr_r4rATrr)rArr,r`rar5s   r#test_autospec_classmethod_signaturez-PatchTest.test_autospec_classmethod_signatures%	7	7	7	7	7	7	7	7	A###
\#~
=
=
=	?F1a1i000i333iAqA>>>		?	?	?	?	?	?	?	?	?	?	?	?	?	?	?	?	?	?r7ctdtzdd}|t|jt
jt}tj|ddd}|t|jdS)Nrr_T)newrrM)rr!r`rarrrr,)rrrs   rtest_autospec_with_newz PatchTest.test_autospec_with_newsu
0a$GGG)W]333X&,vzq4HHH)W]33333r cHGddt}tt|}|}	|||||jt|dS#|wxYw)NceZdZgZdS)0PatchTest.test_autospec_with_object.<locals>.BarN)r!r"r#extrar2r rrFrBsEEEr rFr)r0rrrrrClistr)rrFrrs    rtest_autospec_with_objectz#PatchTest.test_autospec_with_objects					#			3///}}	!!$,,,!!$*d333LLNNNNNGLLNNNNs6BB!c.t}ttd}|}	|||||d||dS#|wxYw)NTrr_)r0rrrrr)rFooClassrrs    rtest_autospec_inheritsz PatchTest.test_autospec_inheritss4000}}	!!$111!!$$q''8444LLNNNNNGLLNNNNs5A>>Bcttd}|}	|dt	||dt	|j|dt	|d|dt	|dj|dS#|wxYw)NTrz name='Foo'z
 name='Foo.f'z
 name='Foo()'z name='Foo().f')rrrrreprr8r)rrrs   rtest_autospec_namezPatchTest.test_autospec_name&s4000}}	MM-d444MM/4<<888MM/4T

+;+;<<<MM+T$$t**,-?-?@@@LLNNNNNGLLNNNNsB(C**Dc6tjtdtd}	|n#tj}YnxYwtjddd}|||}|d|dS)Nr8ctr)rr2r rrvz'PatchTest.test_tracebacks.<locals>.test4s  r rzraise AssertionError)	rr,r0rexc_infounittestTextTestResult_exc_info_to_stringr)rrverrr$	tracebacks     rtest_tracebackszPatchTest.test_tracebacks3s	c3	)	)	!	!
*	)	!	!DFFFF	!,..CCC(tQ77..sD99	

,i88888s	
=Ac@ttt}|}||}||||||fD]}||dS)Nnew_callable)rrr
rrrrfrrm1m2rs     rtest_new_callable_patchz!PatchTest.test_new_callable_patchAs/CDDD
]]__
]]__R   F	'	'D""2&&&&	'	'r cLtjtdt}|}||}||||||fD]}||dS)Nr8rV)rr,r0r
rrrrfrXs     rtest_new_callable_patch_objectz(PatchTest.test_new_callable_patch_objectNs,sC6JKKK
]]__
]]__R   F	'	'D""2&&&&	'	'r cGfddtttdd}|}	|t||jtdd|	dS#|	wxYw)NceZdZdZfdZdS):PatchTest.test_new_callable_keyword_arguments.<locals>.BarNc|_dSrrrrrFs  rr5zCPatchTest.test_new_callable_keyword_arguments.<locals>.Bar.__init__^#


r r!r"r#rr5rFsrrFr`\3F
$
$
$
$
$
$
$r rFrr)rWarg1arg2)rhri)
r,rrrrtypersrrkr)rrr!rFs   @r#test_new_callable_keyword_argumentsz-PatchTest.test_new_callable_keyword_arguments[s	$	$	$	$	$	$	$&	$	$	$
sCCCMMOO	MM$q''3'''SZ11)=)=)=>>>LLNNNNNGLLNNNNs
A
B''B=c<Gfddttt}|	|jt
|n#|wxYwtt}|	|jt
|dS#|wxYw)NceZdZdZfdZdS)-PatchTest.test_new_callable_spec.<locals>.BarNc|_dSrrbrcs  rr5z6PatchTest.test_new_callable_spec.<locals>.Bar.__init__mrdr rerfsrrFrnkrgr rFrWrr)rWrr)r,rrrrsrrkr)rrrFs  @rtest_new_callable_specz PatchTest.test_new_callable_specjs	$	$	$	$	$	$	$&	$	$	$
s===

	SZ3888LLNNNNGLLNNNNsSAAA

	SZs);););<<<LLNNNNNGLLNNNNs)BB)DDcfdtz}t|t}|t|jt|td}|}	||d|dS#|wxYw)Nz	%s.weeeeerVT)rWrF)rd)rrrr`rrrfr)rnon_existent_attrpr!s    rtest_new_callable_createz"PatchTest.test_new_callable_creates'(2#/BBB.!'222#/



GGII	""1E"222
FFHHHHHAFFHHHHs-BB0c|tttt	t
|ttjtdt	t
dS)N)r>rWr8)r`
ValueErrorrrr,rr0r:s r'test_new_callable_incompatible_with_newz1PatchTest.test_new_callable_incompatible_with_newskxVXXI		
	
	
	
c3FHH"		
	
	
	
	
r c|ttttd|ttjtdtddS)NT)rWrr8)r`rwrrrr,r0r:s r,test_new_callable_incompatible_with_autospecz6PatchTest.test_new_callable_incompatible_with_autospecsdxi		
	
	
	
c3Y		
	
	
	
	
r c|Gddt}tttt|f}|D]}dD]}|di}t	t
fd|i|}|}	|j}|tt|d|m#|wxYwdS)NceZdZdS)>PatchTest.test_new_callable_inherit_for_mocks.<locals>.MockSubNr!r"r#r2r rMockSubr}Dr rrTrWx)rrr
rrrrrr`rrr)	rrMockClassesKlassargrrtr!rs	         r#test_new_callable_inherit_for_mocksz-PatchTest.test_new_callable_inherit_for_mockss					d			
19dG
!				E)

t(AAA&AAGGII ~H%%ngxMMMFFHHHHAFFHHHH
				s$)B""B8cGddt}tt|d}|}	|t|||tt|d|	n#|	wxYw|
|jtdS)NceZdZdZdS)>PatchTest.test_new_callable_inherit_non_mock.<locals>.NotAMockc||_dSrr)rrs  rr5zGPatchTest.test_new_callable_inherit_non_mock.<locals>.NotAMock.__init__s
 			r N)r!r"r#r5r2r rNotAMockrs#
!
!
!
!
!r rTrpr)
r,rrrrbrr`rrrrsrr0)rrrtr!s    r"test_new_callable_inherit_non_mockz,PatchTest.test_new_callable_inherit_non_mocks	!	!	!	!	!v	!	!	!
(===
GGII	OOK844555ngq.III
FFHHHHAFFHHHH%%%%%s
ABB0c6|tGfddt}ttt|}|||tdS)Nc(eZdZfdZdZdZdS)>PatchTest.test_new_callable_class_decorating.<locals>.SomeTestctt|ttdSr)rr0rrr)rmock_foorrvs  rrzDPatchTest.test_new_callable_class_decorating.<locals>.SomeTest._testsI  h///

c8,,,%%c955555r c0||dSrrrrs  rtest_twozGPatchTest.test_new_callable_class_decorating.<locals>.SomeTest.test_two

8$$$$$r c0||dSrrrs  rtest_onezGPatchTest.test_new_callable_class_decorating.<locals>.SomeTest.test_onerr Nr!r"r#rrr)rrvsrSomeTestrsQ
6
6
6
6
6
6

%
%
%
%
%
%
%
%r rrV)r0r,rrrrrr)rrrrvs  @@r"test_new_callable_class_decoratingz,PatchTest.test_new_callable_class_decoratings
	%
	%
	%
	%
	%
	%
	%
	%v
	%
	%
	%;5	:::8DD





c8$$$$$r cttj}tj}tjt
dd}tjtdd}||fD]}|	ttjdtjd|	n#|	wxYwttj|tj|tjt
ddfd}|dS)Nrr)r8r;r_rcttjdtjddS)Nr_r)rr0rsr8r;)original_foorsrrvz+PatchTest.test_patch_multiple.<locals>.testsMMM#|,,,SUA&&&SUA&&&&&r )
r0r8r;rmultiplerrrrsr)r
original_f
original_gpatcher1patcher2rrvrs`      @rtest_patch_multiplezPatchTest.test_patch_multiplesbU
U
>(a1555>#a000)	0	0GMMOOO


c<000  ***  ***MM#|,,,SUJ///SUJ////
A	+	+	+	'	'	'	'	'
,	+	'
	
s
5AC%%C;c|ttjt|ttjt
dSr)r`rwrrrr0r:s rtest_patch_multiple_no_kwargsz'PatchTest.test_patch_multiple_no_kwargss<*enh???*enc:::::r cBttj}tj}tjt
tdtfd}|tj|tj|dS)Nr_r8r;rGcttj|tjdtj|t|tt|tdSNr_	rr0r8rsr;rGrbrr)r8rGrrs  rrvz8PatchTest.test_patch_multiple_create_mocks.<locals>.testsMM#|,,,MM#%###SUA&&&MM#'3'''OOK955666OOKY7788888r r0r8r;rrrrrs)rrrrvrs`   @r test_patch_multiple_create_mocksz*PatchTest.test_patch_multiple_create_mockssU
U
	Gqg	>	>	>	9	9	9	9	9
?	>	9	

+++
+++++r ctj}tj}tjtdd}d|_tjtdt}d|_|g|_|fd}|tj|tj|dS)Nr8r_r;ctj|tjddSr)rr0r;rsr8)r;rs rrvzHPatchTest.test_patch_multiple_create_mocks_different_order.<locals>.tests7MM#%###SUA&&&&&r )	r0r8r;rr,attribute_nameradditional_patchersrs)rrrrr\rvs`     r0test_patch_multiple_create_mocks_different_orderz:PatchTest.test_patch_multiple_create_mocks_different_ordersU
U
,sC++!$S#w//"',g#		'	'	'	'
	'	

+++
+++++r cttj}tj}tjt
ttjt
ttt
dzfd}tjt
ttt
dztjt
tfd}tt
dztjt
ttjt
tfd}fd|||tj|tj|dS)N)r8raz.gc|fi|dSrr2r;rrs  rtest1z?PatchTest.test_patch_multiple_stacked_decorators.<locals>.test1+#
E!vr c|fi|dSrr2rs  rtest2z?PatchTest.test_patch_multiple_stacked_decorators.<locals>.test21rr c|fi|dSrr2rs  rtest3z?PatchTest.test_patch_multiple_stacked_decorators.<locals>.test37rr cl|d}|d}|ttj|tj|tj|t|tt|tt|tdS)Nr8rG)
poprcrr0r8r;rGrbrr)r;rr8rGrrs    rrz?PatchTest.test_patch_multiple_stacked_decorators.<locals>._test=s

3A**U##CV$$$MM#|,,,MM#%###MM#%###MM#'3'''OOK955666OOK955666OOKY7788888r r)rrrrrrrrs`     @@r&test_patch_multiple_stacked_decoratorsz0PatchTest.test_patch_multiple_stacked_decorators&sU
U
	G	,	,	,	g	.	.	.	x$						
 	
/	.
-	,	
G	,	,	,	x$			g	.	.	.				
/	.
 	
-	,	
x$			G	,	,	,	g	.	.	.				
/	.
-	,
 			9	9	9	9	9	9	


+++
+++++r crt}tj}tj}tjt
tdt}|}	|d}|d}|t|tddg|
t||
tj||
tj||t|t|t|t|n#|wxYw|tj||tj|dS)Nr_rr8rG)r0r8r;rrrrrrssetrrGrbrrr)rrrrrr$r8rGs        r(test_patch_multiple_create_mocks_patcherz2PatchTest.test_patch_multiple_create_mocks_patcherQsHU
U
.WwGGG	sA-CS[[#sEl*;*;<<<MM#|,,,MM#%###MM#'3'''OOK955666OOKY77888LLNNNNGLLNNNN
+++
+++++s
C-EE4c|ttj}tj}Gfddt}t	jttdt|}|}||	|
tj||
tj|dS)Nc(eZdZfdZdZdZdS)@PatchTest.test_patch_multiple_decorating_class.<locals>.SomeTestcttj|tjdtj|t|tt|tdSrr)rr8rGrrvs   rrzFPatchTest.test_patch_multiple_decorating_class.<locals>.SomeTest._testrs

c<000

ceQ'''  ***

cgs+++Ay 9 9:::C ; ;<<<<<r c2|||dSrrrr8rGs   rrzIPatchTest.test_patch_multiple_decorating_class.<locals>.SomeTest.test_twoz

1c"""""r c2|||dSrrrs   rrzIPatchTest.test_patch_multiple_decorating_class.<locals>.SomeTest.test_one|rr Nr)rrvsrrrpsQ
=
=
=
=
=
=
#
#
#
#
#
#
#
#r rr_r)r0r8r;r,rrrrrrrs)rrrrrrrvs     @@r$test_patch_multiple_decorating_classz.PatchTest.test_patch_multiple_decorating_classjsU
U

	#
	#
	#
	#
	#
	#
	#
	#v
	#
	#
	#
5>1'








+++
+++++r ctjtd}|t|jtjtdd}|	|tjd|n#|wxYw|	ttddS)Nblam)rT)rr)rrr0r`rrrsrrrcrrs  rtest_patch_multiple_createz$PatchTest.test_patch_multiple_creates.6222.'-888.6$???

	SXv...LLNNNNGLLNNNNf--.....s- B""B8ctjttddg}|}	|tj|dtjdtjdtjj	dtjj	d|
tttjdd|
dS#|
wxYw)Nr4rL)rGrrGrrr)rrr0rrrsrGr4rLrr`rr&r)rrr$s   rtest_patch_multiple_spec_setz&PatchTest.test_patch_multiple_spec_sets.'S#JGGG	SWfUm444GIIaLLLGIIaLLLGI((+++GI((+++ngswTJJJLLNNNNNGLLNNNNsCD((D>cjGddt}tjttt|}|}	|tj|d|tj|d|	tj||	tj||
tjtj|dS#|wxYw)NceZdZdS)9PatchTest.test_patch_multiple_new_callable.<locals>.ThingNr~r2r rThingrrr r)r8r;rWr8r;)r,rrr0rrrr8r;rrr)rrrr$s    r test_patch_multiple_new_callablez*PatchTest.test_patch_multiple_new_callables					F			.7gE


	MM#%---MM#%---!!#%///!!#%///SUCE***LLNNNNNGLLNNNNs
B6DD2c`tj}tj}tjtddtjtddtjtddd}tjtddtjtddtjtddd}tjtddtjtddtjtddd}|||fD]]}|t||tj||tj|^dS)Nr;rmissingr8cdSrr2r2r rthing1z3PatchTest.test_nested_patch_failure.<locals>.thing1	dr cdSrr2r2r rthing2z3PatchTest.test_nested_patch_failure.<locals>.thing2rr cdSrr2r2r rthing3z3PatchTest.test_nested_patch_failure.<locals>.thing3rr )r0r8r;rr,r`rrs)rrrrrrfuncs       rtest_nested_patch_failurez#PatchTest.test_nested_patch_failures{U
U
	c3	"	"	c9a	(	(	c3	"	"
#	"
)	(
#	"		c9a	(	(	c3	"	"	c3	"	"
#	"
#	"
)	(		c3	"	"	c3	"	"	c9a	(	(
)	(
#	"
#	"	FF*	0	0Dnd333SUJ///SUJ////	0	0r ctj}tj}tj}d}t	jtddt	jtd|t	jtddd}t	jtd|t	jtddt	jtddd}t	jtddt	jtddt	jtd|d	}|||fD]}}|t||tj||tj||tj|~dS)
Nc tdNcrasherrr2r rrz4PatchTest.test_new_callable_failure.<locals>.crasherI&&&r r;rrGrVr8cdSrr2r2r rrz3PatchTest.test_new_callable_failure.<locals>.thing1rr cdSrr2r2r rrz3PatchTest.test_new_callable_failure.<locals>.thing2rr cdSrr2r2r rrz3PatchTest.test_new_callable_failure.<locals>.thing3rr )	r0r8r;rGrr,r`rrs)	rrrrrrrrrs	         rtest_new_callable_failurez#PatchTest.test_new_callable_failuresU
U
w	'	'	'
c3	"	"	c5w	7	7	7	c3	"	"
#	"
8	7
#	"		c5w	7	7	7	c3	"	"	c3	"	"
#	"
#	"
8	7		c3	"	"	c3	"	"	c5w	7	7	7
8	7
#	"
#	"	FF*	4	4Di...SUJ///SUJ///SWl3333		4	4r ctj}tj}tjtdd}d|_tjtdd}d|_tjtdd}d|_||g||gfD]o}||_|d}|t||	tj||	tj|pdS)Nr8rr;rcdSrr2r2r rrz3PatchTest.test_patch_multiple_failure.<locals>.funcrr )
r0r8r;rr,rrr`rrs)rrrrgoodbadadditionalsrs        rtest_patch_multiple_failurez%PatchTest.test_patch_multiple_failuresU
U
,sC++!$|Ca((!l3	1--& #;d3	0	0K*5G'
Wnd333SUJ///SUJ////	0	0r cRtj}tj}tj}d}t	jtdd}d|_t	jtdd}d|_t	jtd|}d|_||g||gfD]}||_|d}	|t|	|
tj||
tj||
tj|dS)Nc tdrrr2r rrzCPatchTest.test_patch_multiple_new_callable_failure.<locals>.crasherrr r8rr;rGrVcdSrr2r2r rrz@PatchTest.test_patch_multiple_new_callable_failure.<locals>.funcrr )r0r8r;rGrr,rrr`rrs)
rrrrrrrrrrs
          r(test_patch_multiple_new_callable_failurez2PatchTest.test_patch_multiple_new_callable_failure
sU
U
w	'	'	',sC++!$|Ca((!l3G<<<" #;d3		4		4K*5G'
Wi...SUJ///SUJ///SWl3333		4		4r ctdtfddi}|tjdfd}|jddS)Nr0fishtastynearly gone)rc>jddS)Nr)rsrr:srrvz=PatchTest.test_patch_multiple_string_subclasses.<locals>.test*s!SX}55555r )rjstrrrrsr)rr0rvrGs`  @r%test_patch_multiple_string_subclassesz/PatchTest.test_patch_multiple_string_subclasses's53&67"344cee	-	0	0	0	6	6	6	6	6
1	0	6	
7+++++r zunittest.mock.patch.TEST_PREFIXrGcGddt}tj|dd|}|}||d||d||d||ddS)Nc*eZdZdZdZdZdZdZdS)-PatchTest.test_patch_test_prefix.<locals>.Foorc|jSrrr:s rfoo_onez5PatchTest.test_patch_test_prefix.<locals>.Foo.foo_one7
z!r c|jSrrr:s rfoo_twoz5PatchTest.test_patch_test_prefix.<locals>.Foo.foo_two9rr c|jSrrr:s rrz6PatchTest.test_patch_test_prefix.<locals>.Foo.test_one;rr c|jSrrr:s rrz6PatchTest.test_patch_test_prefix.<locals>.Foo.test_two=rr N)r!r"r#rrrrrr2r rr0r4sUE
"
"
"
"
"
"
"
"
"
"
"
"
"
"r r0rchangedr)r,rrsrrrr)rr0rGs   rtest_patch_test_prefixz PatchTest.test_patch_test_prefix2s
	"
	"
	"
	"
	"&
	"
	"
	"4el333C88cee	222	22244444444r r<cGfddt}dditjd|}|}||ddi||ddi||ddi||ddidS)Nc8eZdZfdZfdZfdZfdZdS)2PatchTest.test_patch_dict_test_prefix.<locals>.Fooc"tSrrkrthe_dicts rbar_onez:PatchTest.test_patch_dict_test_prefix.<locals>.Foo.bar_oneLH~~%r c"tSrr
rs rbar_twoz:PatchTest.test_patch_dict_test_prefix.<locals>.Foo.bar_twoNrr c"tSrr
rs rrz;PatchTest.test_patch_dict_test_prefix.<locals>.Foo.test_onePrr c"tSrr
rs rrz;PatchTest.test_patch_dict_test_prefix.<locals>.Foo.test_twoRrr N)r!r"r#r
rrr)rsrr0rKsy
&
&
&
&
&
&
&
&
&
&
&
&
&
&
&
&
&
&
&
&
&
&r r0keyrr)r)r,rrkrsr
rrr)rr0rGrs   @rtest_patch_dict_test_prefixz%PatchTest.test_patch_dict_test_prefixIs	&	&	&	&	&	&	&&	&	&	&:&1ejy111#66
SUU	(:;;;	(:;;;%)<===%)<=====r cdD]}tdtzfi|di}|}	|dt	||dt	|j|dt	||dt	|j|#|wxYwdS)NrrrrTz name='SomeClass'z! name='SomeClass.class_attribute'z name='SomeClass()'z# name='SomeClass().class_attribute')rr!rrrJrr)rrrtr!s    rtest_patch_with_spec_mock_reprz(PatchTest.test_patch_with_spec_mock_repr_s3		Cnx/??C;??A		A


1477;;;

A"1#455777

3T!!##YY???

C"1133#677999		sB&C--Dc\tdd5}|dt|j|dt|ddddS#1swxYwYdS)Nunittest.test.testmock.supportTrz" name='support.SomeClass.wibble()'z$ name='support.SomeClass().wibble()')rrrJrr)rr!s  rtest_patch_nested_autospec_reprz)PatchTest.test_patch_nested_autospec_reprns
3d
C
C
C	8qMM>q{113344
6
6
6MM@q{{}}335566
8
8
8	8	8	8	8	8	8	8	8	8	8	8	8	8	8	8	8	8	8sBB!!B%(B%c:dD]}tdtzfi|di}|}	|t	jg}||j|||j|||jjt	g|}|t	||j|||t	||j|||jt	jg||jjt	g||jt	jg|	#|	wxYwdS)NrrT)
rr!rrrrs
mock_callsmethod_callsappendr)rrrtr!kallsr$s      rtest_mock_calls_with_patchz$PatchTest.test_mock_calls_with_patchws3		Cnx/??C;??A		A



  u555  777  !4tvvh???TVV$$$  u555

TVV]]__---  u555  !2T[]]ODDD  !9DFF8DDD  !4t{}}oFFF/		sF:HHctd}|t|jt	d5t}|tjd<d|_td}d|_||	dddn#1swxYwY|
|jddS)N
squizz.squozzsquizzr_)rr`ImportErrorrrrrrsquozzrrs)rp1r#s   rtest_patch_imports_lazilyz#PatchTest.test_patch_imports_lazilys
?
#
#+rx000
X

		VVF$*CK!FM''BFMHHJJJGGIII																
*****sA#B..B25B2cGddGfddtfd}|dd}td5t}|tjd<|t|dddn#1swxYwY|jd	t|	jd
d|	jdd
dS)NceZdZdZdS);PatchTest.test_patch_propagates_exc_on_exit.<locals>.holderNNNN)r!r"r#rNr2r rholderr+s'HHHr r-c eZdZdfd	ZeZdS)APatchTest.test_patch_propagates_exc_on_exit.<locals>.custom_patchNcJtj|||||||f_dSr)r__exit__rN)retypevaltbr-s    rr1zJPatchTest.test_patch_propagates_exc_on_exit.<locals>.custom_patch.__exit__s*eS"555"'b.r r,)r!r"r#r1r)r-srcustom_patchr/s4
1
1
1
1
1
1DDDr r5cXt|\}}||tdddddi		S)NF)rr)rgetterrlr5s   rwith_custom_patchzFPatchTest.test_patch_propagates_exc_on_exit.<locals>.with_custom_patchs= +F 3 3FI<	7D%dB
r r"ctr)RuntimeErrorrs rrvz9PatchTest.test_patch_propagates_exc_on_exit.<locals>.testsr r#rrzexception value not propagatedrz"exception traceback not propagated)
rrrrrr`r:rrNassertIsNotNone)rr8rvr#r5r-s    @@r!test_patch_propagates_exc_on_exitz+PatchTest.test_patch_propagates_exc_on_exits	(	(	(	(	(	(	(	(							6								
	?	+	+		
,	+	X

	2	2VVF$*CK!lD111		2	2	2	2	2	2	2	2	2	2	2	2	2	2	2	


foa(,777V_Q/<	>	>	>V_Q/@	B	B	B	B	Bs
9BBBc6dD]}tdtzfddi|di}|t|j|t
dttfddi|di}||dS)Nrrrz%s.doesnotexistrTctSr)doesnotexistr2r rrz1PatchTest.test_create_and_specs.<locals>.<lambda>sr )rr!r`rarrMODNAMEr)rkwargrts   rtest_create_and_specszPatchTest.test_create_and_specss5				E'(2''4'
''Ai111i)=)=>>>g<<d<udm<<A
GGIII
FFHHHH				r ct}dD]S}ttfddi|di}|t|j|t|TdD]S}ttfddi|di}|t|j|t|TdD]S}ttfddi|di}|t|j|t|TdS)Nrrrrrr)rrr)rrrBr`rarr)rrrCrts    rtest_multiple_specszPatchTest.test_multiple_specss%)	.	.Eg888eQZ88Ai111MM(H----)	.	.Eg888eQZ88Ai111MM(H-----	.	.Eg44A4%44Ai111MM(H----	.	.r cttddd}|}	|jd|_|dS#|wxYw)NFr?r_)rrBrdoes_not_existr)rrtrs   r test_specs_false_instead_of_nonez*PatchTest.test_specs_false_instead_of_nones^'FFFwwyy	"#D
FFHHHHHAFFHHHHsAA(cdD]z}ttfi|di}|}	|tt
|d|b#|wxYwdS)Nrrdoesnotexit)rrBrr`rrrrrCrtr!s    rtest_falsey_speczPatchTest.test_falsey_specs5		Eg,,%,,A		A
!!.'1mLLL
		s"A%%A;cJdD]}ttfddi|di}|}	|tt
|dd|tt|d|#|wxYwdS)NrFrTrAr)rrBrr`rr&rrrMs    rtest_spec_set_truezPatchTest.test_spec_set_trues)		Eg>>>
>>A		A
!!.'1"0+???!!.'1nMMM		sAB

B cd}tt|}|}	|t	||dS#|wxYw)N)__call__r)rrBrrbcallablerrrrtr!s    rtest_callable_spec_as_listz$PatchTest.test_callable_spec_as_listsf'%%%
GGII	OOHQKK(((
FFHHHHHAFFHHHH"A&&A<cd}tt|}|}	|t	||dS#|wxYw)Nrr)rrBrrcrSrrTs    rtest_not_callable_spec_as_listz(PatchTest.test_not_callable_spec_as_list
sh'%%%
GGII	Xa[[)))
FFHHHHHAFFHHHHrVc|tjtjtj}t	dt
t	dtt	dfd}|tj|dS)N	os.unlinkos.chdirzos.pathctjtj|tjtjdSr)rstopallrrpathunlinkchdir)	mock_pathr`rr_s rrz-PatchTest.test_patch_stopall.<locals>.patchedsVMOOOMM"'9---MM")V,,,MM"(E*****r )	rr_r`r^rrrrr)rr^rr`r_s`  @@rtest_patch_stopallzPatchTest.test_patch_stopallsw
k9%%++---
j.))//111	y			+	+	+	+	+	+
		+				

bgt$$$$$r cgGddtfdfddDtj|gddS)NceZdZdxZxZZdS)*PatchTest.test_stopall_lifo.<locals>.thingN)r!r"r#onetwothreer2r rrre*s $$C$#r rcbGfddtfdddddddi		S)Nc&eZdZfdZxZS)?PatchTest.test_stopall_lifo.<locals>.get_patch.<locals>.mypatchcrt|Sr)rsuperr)r	__class__rlmypatchstoppeds rrzDPatchTest.test_stopall_lifo.<locals>.get_patch.<locals>.mypatch.stop/s1NN9--- $//44666r )r!r"r#r
__classcell__)rnrlrorps@rrork.sH777777777777r rocSrr2rsrrz@PatchTest.test_stopall_lifo.<locals>.get_patch.<locals>.<lambda>2s5r F)r)rlrorprs`@r	get_patchz.PatchTest.test_stopall_lifo.<locals>.get_patch-sr
7
7
7
7
7
7
7
7
7&
7
7
77====)T4 $dB88
8r cJg|]}| Sr2)r).0r3rss  r
<listcomp>z/PatchTest.test_stopall_lifo.<locals>.<listcomp>4s-CCCC3				CCCr )rfrgrh)rhrgrf)r,rr]rs)rrsrprs @@@rtest_stopall_lifozPatchTest.test_stopall_lifo(s	%	%	%	%	%F	%	%	%	8	8	8	8	8	8	DCCC+BCCCC

"9"9"9:::::r ci}ddi}ddd|}|}}tj|dddtj|dd	itjfd
}|||||||||tj||||||||dS)Nrr4ABrrIIIrrLcd=dSr
r2)dic3srrz2PatchTest.test_patch_dict_stopall.<locals>.patchedCsQr )rjrrkrrrsr])rdic1dic2origdic1origdic2origdic3rrs       @rtest_patch_dict_stopallz!PatchTest.test_patch_dict_stopall9s]3x399;;99;;99;;
4ST**++11333
4!S""((***	D						
						D(+++D(+++x(((

x(((x(((x(((((r ctj}tj}i}ddd}|}|}t	dt
t	dtt	j|dddt	j||d=|	tj||	tj||
|||
||t	j|tj||tj||
|||
||dS)	Nryrzr{rZr[r|r}r)rr_r`rjrrrrrkrrr]rrs)roriginal_unlinkoriginal_chdirrrrrs       r!test_patch_and_patch_dict_stopallz+PatchTest.test_patch_and_patch_dict_stopallSs)399;;99;;
k9%%++---
j.))//111
4ST**++11333
4   GO444>222D(+++D(+++



bi111

bh///x(((x(((((r cdd}tj|dd5||ddddn#1swxYwY||d|j}tj|dd5||jddddn#1swxYwY||j|tj|dd	5||jd	dddn#1swxYwY||jd
tj|dtdg5||jtdgdddn#1swxYwY||jtdd
d}tj|dtdg5||ddddn#1swxYwY||ddS)Nrc	|Srr2rs rrGz)PatchTest.test_special_attrs.<locals>.fooms
Hr __defaults__)rr__doc__FUNr"
testpatch2z unittest.test.testmock.testpatch__annotations__)srrc|Srr2)rr4s  rrGz)PatchTest.test_special_attrs.<locals>.foosHr __kwdefaults__)rr)r)rr,rsrr"rkr)rrGorig_docs   rtest_special_attrszPatchTest.test_special_attrsls				\#~u
5
5	'	'SSUUA&&&	'	'	'	'	'	'	'	'	'	'	'	'	'	'	'""";
\#y%
0
0	1	1S[%000	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1h///
\#|\
:
:	;	;S^\:::	;	;	;	;	;	;	;	;	;	;	;	;	;	;	;)KLLL
\#0$
|2D2D
E
E	F	FS0$
|2D2DEEE	F	F	F	F	F	F	F	F	F	F	F	F	F	F	F,dff555					
\#/zl1C1C
D
D	'	'SSUUA&&&	'	'	'	'	'	'	'	'	'	'	'	'	'	'	'"""""sYAA

A
B44B8;B80DDD"*FFF4HH#&H#ct}t|d<d|d<|}tt	dtd}t||z}tj|t|5|	t||dddn#1swxYwY|	||tj||5|	t||dddn#1swxYwY|	||dS)Nr4pythonrLcdefghijklmnopqrstuvwxyz)
rr,rjrDziprangeitemsrrkrs)rrGr
update_valuespatched_valuess     rtest_patch_orderdictzPatchTest.test_patch_orderdictsmm88CC88::S!;U2YYGGHH
ciikk**]:
Z[77
8
8	@	@T#))++..???	@	@	@	@	@	@	@	@	@	@	@	@	@	@	@	
h'''
Z]
+
+	@	@T#))++..???	@	@	@	@	@	@	@	@	@	@	@	@	@	@	@	
h'''''s$)6C++C/2C/!6E##E'*E'cddl}tjd5tjd=tjd=tjd=tjd=tdd}|ddddS#1swxYwYdS)	Nrzsys.modulesrzunittest.test.testmockz
unittest.testrO unittest.test.testmock.support.XcdSrr2r;s rrvz9PatchTest.test_dotted_but_module_not_loaded.<locals>.testsr )unittest.test.testmock.supportrrkrr)rrOrvs   r!test_dotted_but_module_not_loadedz+PatchTest.test_dotted_but_module_not_loadeds	.---
Z

&
&
	
	<=45O,J'5
6
6

7
6
DFFF
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	sAA==BBcGdd}dd|fD]q}||5|t5t|dddn#1swxYwYdddn#1swxYwYrdS)NceZdZdS)*PatchTest.test_invalid_target.<locals>.FooNr~r2r rr0rrr r0)r)subTestr`rar)rr0rs   rtest_invalid_targetzPatchTest.test_invalid_targets/								2ssuuo	"	"FV,,
"
"&&y11""&MMM"""""""""""""""
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"	"	"s5BA*B*A..B1A.2BB	B	ctdtdd}|t5|ddddS#1swxYwYdS)Nrr)r>rcdSrr2r2r rrvz@PatchTest.test_cant_set_kwargs_when_passing_a_mock.<locals>.testsDr )rr,r`rars  r(test_cant_set_kwargs_when_passing_a_mockz2PatchTest.test_cant_set_kwargs_when_passing_a_mocks	1vxx1	E	E	E
F	E


y
)
)		DFFF																		sAA!ANT)sr!r"r#rfrzrrrrrrrrrrrrrrrrrrrr&r0r4r;rHrSrXrmrrr}rrrrrrrrrrrrrrrrrrrrrr r%r*r-r6r<r?rErHrKrTr[r]rkrqrurxrzrrrrrrrrrrrrrrrrrrrrrrrr r(r=rDrGrJrNrPrUrXrbrwrrrrrrrr2r rr^r^Us::::
/
/
/666

/
/
////(!!!(>(>(>V	0	0	0'-'-'-T												666888666444...(666,,,000///,///4
/
/
/ (((B///6(((>///4***	:	:	:
"
"
"&&&"0002000
+
+
+******
+
+
+&&&&&&&&&>444$444$
3
3
3
3
3
3)))@@@F($$$------??????444





999
'
'
'
'
'
'*





&
&
&
& %%%*>;;;
,,,&,,,*(,(,(,V,,,2,,,B///


 $0002444<0000444:,,,U,e4455545,U,e44>>54>*8886
+
+
+BBBD


...$			%%%";;;")))4)))2###6(((&&"""r r^__main__r)*rrcollectionsrrOunittest.test.testmockrrrrtest.test_importlib.utilr
unittest.mockrr	r
rrr
rrrrrrrr!rrBr.rmrrrr,r0rrMrOTestCaser^mainr2r r<module>rs

			



######******AAAAAAAA,,,,,,;x 
(
"
	(




&


h!!!!!!!!$fffff!fffR;zHMOOOOOr