403Webshell
Server IP : 121.121.20.254  /  Your IP : 216.73.216.145
Web Server : Microsoft-IIS/10.0
System : Windows NT WEB-SERVER 10.0 build 20348 (Windows Server 2022) AMD64
User : IUSR ( 0)
PHP Version : 8.3.28
Disable Function : NONE
MySQL : ON  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  C:/Python313/Lib/test/test_unittest/testmock/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : C:/Python313/Lib/test/test_unittest/testmock/__pycache__/testpatch.cpython-313.opt-2.pyc
�

��i
���SSKrSSKrSSKJr SSKrSSKrSSKJr SSKJ	r	J
r
 SSKJr SSK
Jr SSKJrJrJrJrJrJrJrJrJrJrJr Sr\R8\rS	\-rSS
jr \RBq"\RFr$"SS\%5r&S
\-r'\&4Sjr("SS\%5r)"SS\RT5r+\S:Xa\RX"5 gg)�N)�OrderedDict)�support)�	SomeClass�is_instance)�
DirsOnSysPath)�uncache)�NonCallableMock�
CallableMixin�sentinel�	MagicMock�Mock�NonCallableMagicMock�patch�_patch�DEFAULT�call�_get_target�builtinsz%s.PTModulec�t^�"U4SjS[5nU(dU4SjnU4SjnX2lXBlU"5$)Nc�">�\rSrSrU4SjrSrg)�_get_proxy.<locals>.Proxy�c�>�[TU5$�N)�getattr��self�name�objs  ��:C:\Python313\\Lib\test\test_unittest\testmock\testpatch.py�__getattr__�%_get_proxy.<locals>.Proxy.__getattr__s����3��%�%��N)�__name__�
__module__�__qualname__�__firstlineno__r!�__static_attributes__)rs�r �Proxyrs
���	&�	&r#r*c�>�[TX5 gr)�setattr)rr�valuers   �r �__setattr__�_get_proxy.<locals>.__setattr__"s
����C��%r#c�>�[TU5 gr)�delattrrs  �r �__delattr__�_get_proxy.<locals>.__delattr__$s
����C��r#)�objectr.r2)r�get_onlyr*r.r2s`    r �
_get_proxyr6s1���&��&��	&�	�'��'���7�Nr#c�`�\rSrSrSrSrSrSr\S5r	\
S5r"SS	\5r
S
rg)�Foo�0c��grr$�r�as  r �__init__�Foo.__init__1s��4r#c��grr$r;s  r �f�Foo.f2s��Dr#c��grr$�rs r �g�Foo.g3s��r#�barc��grr$r$r#r �
static_method�Foo.static_method6s��r#c��grr$)�clss r �class_method�Foo.class_method9s��r#c��\rSrSrSrSrg)�Foo.Bar�<c��grr$rCs r r<�	Foo.Bar.a=s��Tr#r$N�r%r&r'r(r<r)r$r#r �BarrO<s��r#rTr$N)r%r&r'r(r=r@rD�foo�staticmethodrH�classmethodrLr4rTr)r$r#r r8r80s8�����
�C����������f�r#r8z%s.Fooc��grr$�r<�bs  r �functionr[Bs��r#c�2�\rSrSrSrSrSrSrSrSr	g)	�	Container�Ec��0Ulgr��valuesrCs r r=�Container.__init__Fs	����r#c� �URU$rr`�rrs  r �__getitem__�Container.__getitem__Is���{�{�4� � r#c� �X RU'grr`)rrr-s   r �__setitem__�Container.__setitem__Ls��!���D�r#c��URU	grr`rds  r �__delitem__�Container.__delitem__Os���K�K��r#c�,�[UR5$r)�iterrarCs r �__iter__�Container.__iter__Rs���D�K�K� � r#r`N)
r%r&r'r(r=rerhrkror)r$r#r r]r]Es���!�"��!r#r]c��\rSrSrS~SjrSrSrSrSrSr	Sr
S	rS
rSr
SrS
rSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSr Sr!S r"S!r#S"r$S#r%S$r&S%r'S&r(S'r)S(r*S)r+S*r,S+r-S,r.S-r/S.r0S/r1S0r2S1r3S2r4S3r5S4r6S5r7S6r8S7r9S8r:S9r;S:r<S;r=S<r>S=r?S>r@S?rAS@rBSArCSBrDSCrESDrFSErGSFrHSGrISHrJSIrKSJrLSKrMSLrNSMrOSNrPSOrQSPrRSQrSSRrTSSrUSTrVSUrWSVrXSWrYSXrZSYr[SZr\S[r]S\r^S]r_S^r`\a"S_S`5Sa5rb\a"S_Sb5Sc5rcSdrdSereSfrfSgrgShrhSiriSjrjSkrkSlrlSmrmSnrnSoroSprpSqrqSrrrSsrsStrtSuruSvrvSwrwSxrxSyrySzrzS{r{S|r|g})�	PatchTest�Wc���[nU(d[nUR[U5 UR	[X55 UR
[U[55 gr)rr	�assertRaises�	TypeError�
assertTruer�assertFalser
)rr�magic�	MockClasss    r �assertNotCallable�PatchTest.assertNotCallableYsE��(�	��'�I����)�S�)�����C�3�4�����S�-�8�9r#c��^^�"SS[5m[R"TS[R5UU4Sj5nU"5 TR	TR
[RS5 g)Nc�,�\rSrSr\R
rSrg)�4PatchTest.test_single_patchobject.<locals>.Something�dr$N�r%r&r'r(r�Original�	attributer)r$r#r �	Somethingrd�
�� �)�)�Ir#r�r�c�\>�TRTR[RS5 g�N�	unpatched��assertEqualr�r�Patched�r�rs��r �test�/PatchTest.test_single_patchobject.<locals>.testgs!������Y�0�0�(�2B�2B�K�Pr#�patch not restored�r4rrr�r�r�r��rr�r�s` @r �test_single_patchobject�!PatchTest.test_single_patchobjectcsa���	*��	*�
���i��h�.>�.>�	?�	Q�
@�	Q�	
������,�,�h�.?�.?�-�	/r#c��SnUR[U5 [R"SS5 SSS5 g!,(df   g=f)Nz>'Something' must be the actual object to be patched, not a strr��do_something)�assertRaisesRegexrvrr4)r�msgs  r �&test_patchobject_with_string_as_target�0PatchTest.test_patchobject_with_string_as_targetos1��N��
�
#�
#�I�s�
3��L�L��n�5�4�
3�
3�s	�:�
Ac��^^�"SS[5m[R"TSS5UU4Sj5nU"5 TRTR[R
S5 g)Nc�,�\rSrSr\R
rSrg)�7PatchTest.test_patchobject_with_none.<locals>.Something�ur$Nr�r$r#r r�r�ur�r#r�r�c�>>�TRTRS5 gr�)�assertIsNoner�r�s��r r��2PatchTest.test_patchobject_with_none.<locals>.testxs������i�1�1�;�?r#r�)r4rr�r�rr�r�s` @r �test_patchobject_with_none�$PatchTest.test_patchobject_with_nonetsZ���	*��	*�
���i��d�	3�	@�
4�	@�	
������,�,�h�.?�.?�-�	/r#c�^^�"SS[5m[R"TS[R5[R"TS[R5UU4Sj55nU"5 TRTR[RS5 TRTR[RS5 g)Nc�D�\rSrSr\R
r\RrSr	g)�6PatchTest.test_multiple_patchobject.<locals>.Something�r$N�
r%r&r'r(rr�r��	Original2�next_attributer)r$r#r r�r����� �)�)�I�%�/�/�Nr#r�r�r�c�>�TRTR[RS5 TRTR[R
S5 gr�)r�r�rr�r��Patched2r�s��r r��1PatchTest.test_multiple_patchobject.<locals>.test�sG���
���Y�0�0�(�2B�2B�(�
*����Y�5�5�x�7H�7H�(�
*r#r�)
r4rrr�r�r�r�r�r�r�r�s` @r �test_multiple_patchobject�#PatchTest.test_multiple_patchobject�s����	0��	0�
���i��h�.>�.>�	?�	���i�!1�8�3D�3D�	E�	*�
F�
@�	*�	
������,�,�h�.?�.?�-�	/�����1�1�8�3E�3E�-�	/r#c���[n[S[-[R5S5n[R
qU"5 UR
[[R
5 Uqg!Uqf=f)N�%s.somethingc��grr$r$r#r r��8PatchTest.test_object_lookup_is_quite_lazy.<locals>.test����r#)�	somethingrr%r�
Something2�replacement_valuer��r�originalr�s   r � test_object_lookup_is_quite_lazy�*PatchTest.test_object_lookup_is_quite_lazy�sa����	�~��(�(�*=�*=�	>�	�
?�	�	!� �2�2�I��F����Y��(B�(B�C� �I���I�s�;A-�-A1c�^�[S[-[R5U4Sj5nU"5 TR	[
R[RS5 [S[-[R5[S[-[R5U4Sj55nTR	[
R[RS5 TR	[
R[RS5 U"5 TR	[
R[RS5 TR	[
R[RS5 [5n[RUl[S[-U5U4Sj5nU"5 U"5 TR[US5 g)Nr�c�d>�TR[R[RS5 gr�)r��PTModuler�rr�rCs�r r��"PatchTest.test_patch.<locals>.test�s$������X�/�/��1D�1D�(�
*r#r�z%s.something_elsec��>�TR[R[RS5 TR[R
[RS5 gr�)r�r�r�rr��something_else�
SomethingElserCs�r r�r��sG���
���X�/�/��1D�1D�(�
*����X�4�4�h�6L�6L�(�
*r#�%s.openc�\>�TR[SS5[RS5 g)N�filename�rzopen not patched)r��openr�HandlerCs�r r�r��s#������T�*�c�2�H�O�O�/�
1r#)rr%rr�r�r�r�r�r�r�r
r��return_value�builtin_string�assertNotEqualr�)rr��mocks`  r �
test_patch�PatchTest.test_patch�sp���	�~��(�(�*=�*=�	>�	*�
?�	*�	
������+�+�X�-?�-?�-�	/�
�~��(�(�*=�*=�	>�	�"�X�-�x�/E�/E�	F�	*�
G�
?�	*�	
����+�+�X�-?�-?�-�	/�����0�0�(�2H�2H�-�	/�	
������+�+�X�-?�-?�-�	/�����0�0�(�2H�2H�-�	/��v��$�O�O���	�y�>�)�4�	0�	1�
1�	1�	
�������D�$�(<�=r#c�^�[S[-[R5U4Sj5nU"5 TR	[
RRS5 g)Nz%s.SomeClass.class_attributec�x>�TR[RR[R
S5 gr�)r�r�r�class_attributer�ClassAttributerCs�r r��2PatchTest.test_patch_class_attribute.<locals>.test�s-���
���X�/�/�?�?�%�4�4�k�
Cr#r�)rr%rr�r�r�rr��rr�s` r �test_patch_class_attribute�$PatchTest.test_patch_class_attribute�sS���	�-��8��&�&�
(�	C�
(�	C�	
�����(�,�,�<�<�.�	0r#c�^^^^�"SS[5m[R"TS5UU4Sj5nU"5 [R"TS5[R"TS5UUUU4Sj55nS=mmU"[R[R5ummU"[R[R5 g)Nc�D�\rSrSr\R
r\RrSr	g)�:PatchTest.test_patchobject_with_default_mock.<locals>.Test��r$N)
r%r&r'r(rr�r�r��
something2r)r$r#r �Testr��s�� �)�)�I�!�+�+�Jr#r�r�c�n>�TRUTRS5 TRU[S5 g)N�"Mock not passed into test function�.patch with two arguments did not create a mock)r�r��assertIsInstancer)r�r�rs ��r r��:PatchTest.test_patchobject_with_default_mock.<locals>.test�s3������T�4�>�>�A�
C��!�!�$�	�L�
Nr#r�c�>�TRU[RS5 TRU[RS5 TRUTRS5 TRUTR
S5 TR
U[S5 TR
U[S5 TRTUS5 TRTUS5 X#4$)Nz0Patched function didn't receive initial argumentz/Patched function didn't receive second argumentr�z)Second Mock not passed into test functionr�zunexpected value for mock1)	r�r�this1�this2r�r�r�rr�)r�r��mock1�mock2r��
outerMock1�
outerMock2rs    ����r r�r��s����
���U�H�N�N�O�
Q����U�H�N�N�N�
P����U�D�O�O�A�
C����U�D�N�N�H�
J��!�!�%��L�
N��!�!�%��L�
N�
���
�E�3O�P����
�E�3O�P��<�r#)r4rrr�r�)rr�r�r�r�s` @@@r �"test_patchobject_with_default_mock�,PatchTest.test_patchobject_with_default_mock�s����	,�6�	,�
���d�K�	(�	N�
)�	N�	
��	���d�K�	(�	���d�L�	)�	 �
*�
)�	 �&#'�&�
�Z�!%�h�n�n�h�n�n�!E��
�J�	
�X�^�^�X�^�^�,r#c�P^�[S[-[S9U4Sj5nU"5 g)N�%s.SomeClass��specc�>�TR[U5 TR[[R[
55 TR
[S5 g)Nc�"�[R$r�r�
not_wibbler$r#r �<lambda>�>PatchTest.test_patch_with_spec.<locals>.test.<locals>.<lambda>
�
��i�6J�6Jr#�r�rrwr�wibblerru�AttributeError��
MockSomeClassrs �r r��,PatchTest.test_patch_with_spec.<locals>.test�=������Y�
�6��O�O�K�	�(8�(8�)�D�E����n�.J�Kr#)rr%rr�s` r �test_patch_with_spec�PatchTest.test_patch_with_specs*���	�~��(�y�	9�	L�
:�	L�
	
�r#c�b^�[R"[S[S9U4Sj5nU"5 g)Nr�r�c��>�TR[RU5 TR[	[RR
[55 TR[S5 g)Nc�6�[RR$r�rr�r�r$r#r r��DPatchTest.test_patchobject_with_spec.<locals>.test.<locals>.<lambda>���i�&?�&?�&J�&Jr#�	r�rr�rwrr�rrur���
MockAttributers �r r��2PatchTest.test_patchobject_with_spec.<locals>.test�Q������Y�6�6�
�F��O�O�K�	�(A�(A�(H�(H�'0�2�
3����n�J�
Lr#�rr4rr�s` r �test_patchobject_with_spec�$PatchTest.test_patchobject_with_specs-���	���i�!2��	C�	L�
D�	L�	
�r#c�J^�[S[-S/S9U4Sj5nU"5 g)Nr�r�r�c�>�TR[U5 TR[[R[
55 TR
[S5 g)Nc�"�[R$rr�r$r#r r��FPatchTest.test_patch_with_spec_as_list.<locals>.test.<locals>.<lambda> r�r#r�r�s �r r��4PatchTest.test_patch_with_spec_as_list.<locals>.testr�r#�rr%r�s` r �test_patch_with_spec_as_list�&PatchTest.test_patch_with_spec_as_lists,���	�~��(��z�	:�	L�
;�	L�
	
�r#c�\^�[R"[SS/S9U4Sj5nU"5 g)Nr�r�r�c��>�TR[RU5 TR[	[RR
[55 TR[S5 g)Nc�6�[RR$rrr$r#r r��LPatchTest.test_patchobject_with_spec_as_list.<locals>.test.<locals>.<lambda>,rr#rrs �r r��:PatchTest.test_patchobject_with_spec_as_list.<locals>.test&r	r#r
r�s` r �"test_patchobject_with_spec_as_list�,PatchTest.test_patchobject_with_spec_as_list%s/���	���i�!2�(��	D�	L�
E�	L�	
�r#c�t^�[S[-5[S[-S/S9U4Sj55nU"5 g)Nr�r�r�r�c�>�TR[U5 TR[[R[
55 TR
[S5 g)Nc�"�[R$rr�r$r#r r��MPatchTest.test_nested_patch_with_spec_as_list.<locals>.test.<locals>.<lambda>8r�r#r�)r��MockOpenrs  �r r��;PatchTest.test_nested_patch_with_spec_as_list.<locals>.test3s?���
���Y�
�6��O�O�K�	�(8�(8�)�D�E����n�.J�Kr#)rr�r%r�s` r �#test_nested_patch_with_spec_as_list�-PatchTest.test_nested_patch_with_spec_as_list1s>���	�y�>�)�	*�	�~��(��z�	:�	L�
;�
+�	L�	
�r#c�H^�[S[-SS9U4Sj5nU"5 g)Nr�Tr�c�>^�TR[T5 TR TR[U4Sj5 g)Nc�>�TR$r�r��r�s�r r��IPatchTest.test_patch_with_spec_as_boolean.<locals>.test.<locals>.<lambda>C����m�6N�6Nr#�r�rr�rur�r�s`�r r��7PatchTest.test_patch_with_spec_as_boolean.<locals>.test=�-������Y�
�6�� � ����n�.N�Or#rr�s` r �test_patch_with_spec_as_boolean�)PatchTest.test_patch_with_spec_as_boolean<s*���	�~��(�t�	4�	P�
5�	P�	
�r#c�Z^�[R"[SSS9U4Sj5nU"5 g)NrTr�c�>^�TR[T5 TR TR[U4Sj5 g)Nc�>�TR$rr'r(s�r r��PPatchTest.test_patch_object_with_spec_as_boolean.<locals>.test.<locals>.<lambda>Or*r#r+r�s`�r r��>PatchTest.test_patch_object_with_spec_as_boolean.<locals>.testIr-r#)rr4r�r�s` r �&test_patch_object_with_spec_as_boolean�0PatchTest.test_patch_object_with_spec_as_booleanHs+���	���h��$�	7�	P�
8�	P�	
�r#c�H^�[S[-SS9U4Sj5nU"5 g)Nr�Tr�c��>^�TR[U[55 U"5mTRT5 TR TR[U4Sj5 g)Nc�>�TR$rr')�instances�r r��VPatchTest.test_patch_class_acts_with_spec_is_inherited.<locals>.test.<locals>.<lambda>]s���h�6I�6Ir#)rwrrr{r�rur�)r�r:rs @�r r��DPatchTest.test_patch_class_acts_with_spec_is_inherited.<locals>.testUsC����O�O�K�
�y�A�B�$��H��"�"�8�,��O�O����n�.I�Jr#rr�s` r �,test_patch_class_acts_with_spec_is_inherited�6PatchTest.test_patch_class_acts_with_spec_is_inheritedTs*���	�~��(�t�	4�	K�
5�	K�	
�r#c�^�[S[-[RSS9U4Sj5nU"5 TR	[
S5 g)N�
%s.froobleT��createc�N>�TR[[R5 gr)r��froobler�FrooblerCs�r r��LPatchTest.test_patch_with_create_mocks_non_existent_attributes.<locals>.testcs������W�h�&6�&6�7r#c��[$r�rDr$r#r r��PPatchTest.test_patch_with_create_mocks_non_existent_attributes.<locals>.<lambda>h���Wr#)rr�rrEru�	NameErrorr�s` r �4test_patch_with_create_mocks_non_existent_attributes�>PatchTest.test_patch_with_create_mocks_non_existent_attributesbsA���	�|�n�,�h�.>�.>�t�	L�	8�
M�	8�	
�����)�_�5r#c�^�[R"[S[RSS9U4Sj5nU"5 TR[
[S55 g)NrDTrAc�b>�TR[R[R5 gr)r�rrDrrErCs�r r��RPatchTest.test_patchobject_with_create_mocks_non_existent_attributes.<locals>.testls������Y�.�.��0@�0@�Ar#)rr4rrrErx�hasattrr�s` r �:test_patchobject_with_create_mocks_non_existent_attributes�DPatchTest.test_patchobject_with_create_mocks_non_existent_attributesksI���	���i��H�,<�,<�T�	J�	B�
K�	B�	
�������I�6�7r#c���UR[5 [S[-[R
5S5nU"5 SSS5 UR[S5 g!,(df   N&=f)Nr@c��grr$r$r#r r��9PatchTest.test_patch_wont_create_by_default.<locals>.testv���r#c��[$rrHr$r#r r��=PatchTest.test_patch_wont_create_by_default.<locals>.<lambda>zrJr#)rur�rr�rrErKr�s  r �!test_patch_wont_create_by_default�+PatchTest.test_patch_wont_create_by_defaulttsV��
�
�
�~�
.�
�<�.�0�(�2B�2B�
C��D���F�	/�
	
���)�_�5�/�
.�s�/A%�%
A3c��UR[5 [R"[S[
R5S5nU"5 SSS5 UR[[S55 g!,(df   N.=f)N�ordc��grr$r$r#r r��?PatchTest.test_patchobject_wont_create_by_default.<locals>.testrWr#)	rur�rr4rrrErxrQr�s  r �'test_patchobject_wont_create_by_default�1PatchTest.test_patchobject_wont_create_by_default}s[��
�
�
�~�
.�
�\�\�)�U�H�,<�,<�
=��>���F�/�	
�����E�2�3�	/�
.�s�8A6�6
Bc��[[S-5S5n[[S-5S5nURU"5S5 URU"5S5 g)Nz.ordc�&�SUl[S5$)N�e�c)r�r])�mock_ords r �test_ord�>PatchTest.test_patch_builtins_without_create.<locals>.test_ord�s��$'�H�!��s�8�Or#z.openc��URnSURl[S5nUR5nUR5 U$)N�abcdzdoesnotexists.txt)r��readr��close)�	mock_open�m�fobj�datas    r �	test_open�?PatchTest.test_patch_builtins_without_create.<locals>.test_open�s=���&�&�A�"(�A�F�F���+�,�D��9�9�;�D��J�J�L��Kr#rdrj�rr%r�)rrgrqs   r �"test_patch_builtins_without_create�,PatchTest.test_patch_builtins_without_create�sa��	�x���	�	�
 �	�
�x���	 �	�
!�	�	
�����S�)������f�-r#c��^^�"SS[5m[R"TS[S55UU4Sj5nU"5 TRTR	5[
R5 g)Nc�$�\rSrSr\S5rSrg)�5PatchTest.test_patch_with_static_methods.<locals>.Fooi�c�"�[R$r)r�Staticr$r#r �woot�:PatchTest.test_patch_with_static_methods.<locals>.Foo.woot�s�����&r#r$N)r%r&r'r(rVr{r)r$r#r r8rx�s��
�
'��
'r#r8r{c�"�[R$r)rr�r$r#r r��:PatchTest.test_patch_with_static_methods.<locals>.<lambda>�s
���8H�8Hr#c�b>�TRTR5[R5 gr)r�r{rr�)r8rs��r �	anonymous�;PatchTest.test_patch_with_static_methods.<locals>.anonymous�s������S�X�X�Z��)9�)9�:r#)r4rrVr�r{rrz)rr�r8s` @r �test_patch_with_static_methods�(PatchTest.test_patch_with_static_methods�sV���	'�&�	'�

���c�6�<�0H�#I�	J�	;�
K�	;����������X�_�_�5r#c�^�[Rn[R"[SS5U4Sj5nU"5 TR	[RU5 g)Nr8c�F>�TR[RS5 g�Nr8)r�rr8rCs�r r��-PatchTest.test_patch_local.<locals>.anonymous�s������X�\�\�5�1r#)rr8rr4r�)rrUr�s`  r �test_patch_local�PatchTest.test_patch_local�sD����l�l��	���h��u�	-�	2�
.�	2���������s�+r#c�^^�"SS[5nU"5m[RTl[R"TSS5UU4Sj5nU"5 TR	TR[R5 g)Nc��\rSrSrSrSrg)�'PatchTest.test_patch_slots.<locals>.Fooi�)r8r$N)r%r&r'r(�	__slots__r)r$r#r r8r��s�� �Ir#r8c�>>�TRTRS5 gr�)r�r8�rUrs��r r��-PatchTest.test_patch_slots.<locals>.anonymous�s������S�W�W�e�,r#)r4rr8rr�)rr8r�rUs`  @r �test_patch_slots�PatchTest.test_patch_slots�s_���	!�&�	!��e���,�,���	���c�5�%�	(�	-�
)�	-���������(�,�,�/r#c�H^^�"SS[5m"UU4SjS[5n[R"TS[R5"U5nU"5nUR	5 UR5 TR
TR[RS5 g)Nc�,�\rSrSr\R
rSrg)�=PatchTest.test_patchobject_class_decorator.<locals>.Somethingi�r$Nr�r$r#r r�r��r�r#r�c�2>�\rSrSrUU4SjrUU4SjrSrg)�7PatchTest.test_patchobject_class_decorator.<locals>.Fooi�c�\>�TRTR[RS5 gr�r���
other_selfr�rs ��r �test_method�CPatchTest.test_patchobject_class_decorator.<locals>.Foo.test_method�s$���� � ��!4�!4�h�6F�6F�!,�.r#c�\>�TRTR[RS5 g�Nznon-test method patched)r�r�rr�r�s ��r �not_test_method�GPatchTest.test_patchobject_class_decorator.<locals>.Foo.not_test_method�s$���� � ��!4�!4�h�6G�6G�!:�<r#r$N)r%r&r'r(r�r�r)r�s��r r8r��s���
.�
<�
<r#r8r�r�)	r4rrr�r�r�r�r�r�)rr8r@r�s`  @r � test_patchobject_class_decorator�*PatchTest.test_patchobject_class_decorator�s|���	*��	*�	<�	<�&�	<��l�l�9�k�8�3C�3C�D�S�I���E��	�
�
��	��������,�,�h�.?�.?�-�	/r#c�z^�"SS[5n"U4SjS[5n[S[-5"U5nU"5nUR5 UR	5 TRUR[RS5 TR[R[RS5 g)Nc�,�\rSrSr\R
rSrg)�7PatchTest.test_patch_class_decorator.<locals>.Somethingi�r$Nr�r$r#r r�r��r�r#r�c�2>�\rSrSrSrU4SjrU4SjrSrg)�1PatchTest.test_patch_class_decorator.<locals>.Fooi��whateverc�H>�TR[RUS5 gr�)r�r�r�)r��mock_somethingrs  �r r��=PatchTest.test_patch_class_decorator.<locals>.Foo.test_method�s���� � ��!3�!3�^�!,�.r#c�d>�TR[R[RS5 gr�)r�r�r�rr�)r�rs �r r��APatchTest.test_patch_class_decorator.<locals>.Foo.not_test_method�s$���� � ��!3�!3�X�5G�5G�!:�<r#r$N)r%r&r'r(�test_class_attrr�r�r)rCs�r r8r��s���(�O�
.�
<�
<r#r8r�r�)r4rr%r�r�r�r�rr�r�r�r�)rr�r8r@s`   r �test_patch_class_decorator�$PatchTest.test_patch_class_decorator�s����	*��	*�		<�&�		<��N�X�-�.�s�3���E��	�
�
��	��������,�,�h�.?�.?�-�	/�����+�+�X�-?�-?�-�	/r#c�<^^�"SS[5m[R"TS[R5[R"TS[R5UU4Sj55nU"5 TR	TR
[RS5 g)Nc�D�\rSrSr\R
r\RrSr	g)�3PatchTest.test_patchobject_twice.<locals>.Somethingi�r$Nr�r$r#r r�r��r�r#r�r�c�\>�TRTR[RS5 gr�r�r�s��r r��.PatchTest.test_patchobject_twice.<locals>.test�s#���
���Y�0�0�(�2B�2B�K�Pr#r�r�r�s` @r �test_patchobject_twice� PatchTest.test_patchobject_twice�s}���	0��	0�
���i��h�.>�.>�	?�	���i��h�.>�.>�	?�	Q�
@�
@�	Q�	
������,�,�h�.?�.?�-�	/r#c�^^�[5SS.mTR5n[R"T5U4Sj5nU"5 TR	TU5 [R"TSS05UU4Sj5nU"5 TR	TU5 [R"TS/5UU4Sj5nU"5 TR	TU5 g)	Nr���initial�otherc� >�STS'TS	STS'g�N�r<r��something elser�r$�rUs�r r��'PatchTest.test_patch_dict.<locals>.test�����C��H��I��+�C��Lr#r<rZc�f>�TR[T5S5 TRTSS5 g�Nr�r<rZ�r��lenr�s��r r�r��+������S��X�q�)����S��X�s�+r#rYc�f>�TR[T5S5 TRTSS5 gr�r�r�s��r r�r�r�r#�r4�copyr�dictr��rr�r�rUs`  @r �test_patch_dict�PatchTest.test_patch_dicts���� �(�[�9���8�8�:��	���C��	,�
�	,�
	
������h�'�	���C�#�s��	$�	,�
%�	,�	
������h�'�	���C�*��	&�	,�
'�	,�	
������h�'r#c�^^�[5m[5TS'STS'TRR5n[R
"T5U4Sj5nU"5 TR
TRU5 [R
"TSS05UU4Sj5nU"5 TR
TRU5 g)Nr�r�r�c� >�STS'TS	STS'gr�r$r�s�r r��=PatchTest.test_patch_dict_with_container_object.<locals>.test(r�r#r<rZc�z>�TR[TR5S5 TRTSS5 gr�)r�r�rar�s��r r�r�2s/������S����_�a�0����S��X�s�+r#�r]r4rar�rr�r�r�s`  @r �%test_patch_dict_with_container_object�/PatchTest.test_patch_dict_with_container_object!s�����k�����I��#��G���:�:�?�?�$��	���C��	,�
�	,�
	
��������X�.�	���C�#�s��	$�	,�
%�	,�	
��������X�.r#c�^^�[5SS.mTR5n[R"TSS9UU4Sj5nU"5 TR	TU5 [R"TSS0SS9UU4Sj5nU"5 TR	TU5 [R"TS	/SS9UU4S
j5nU"5 TR	TU5 g)Nr�r�T��clearc�>>�TRT05 STS'STS'g�Nr�r<r�r��r�r�s��r r��2PatchTest.test_patch_dict_with_clear.<locals>.test@s%������S�"�%��C��H�+�C��Lr#r<rZc�.>�TRTSS05 g�Nr<rZr�r�s��r r�r�J�������S�3��*�-r#rYc�.>�TRTSS05 gr�r�r�s��r r�r�Rr�r#r�r�s`  @r �test_patch_dict_with_clear�$PatchTest.test_patch_dict_with_clear<s���� �(�[�9���8�8�:��	���C�t�	$�	,�
%�	,�
	
������h�'�	���C�#�s��4�	0�	.�
1�	.�	
������h�'�	���C�*��T�	2�	.�
3�	.�	
������h�'r#c�^^�[5m[5TS'STS'TRR5n[R
"TSS9UU4Sj5nU"5 TR
TRU5 [R
"TSS0SS9UU4S	j5nU"5 TR
TRU5 g)
Nr�r�r�Tr�c�R>�TRTR05 STS'STS'gr��r�rar�s��r r��GPatchTest.test_patch_dict_with_container_object_and_clear.<locals>.testbs)������S�Z�Z��,��C��H�+�C��Lr#r<rZc�B>�TRTRSS05 gr�r�r�s��r r�r�ls������S�Z�Z�#�s��4r#r�r�s`  @r �/test_patch_dict_with_container_object_and_clear�9PatchTest.test_patch_dict_with_container_object_and_clear[s�����k�����I��#��G���:�:�?�?�$��	���C�t�	$�	,�
%�	,�
	
��������X�.�	���C�#�s��4�	0�	5�
1�	5�	
��������X�.r#c��SS0n[R"USS9nURUSS05 SSS5 URUSS05 g!,(df   N#=f)Nr<rZre)r<)rr�r�)rrU�patcheds   r �"test_patch_dict_as_context_manager�,PatchTest.test_patch_dict_as_context_managerusQ���C�j��
�Z�Z��s�
#�w����W�s�C�j�1�$�����s�C�j�)�$�
#�s�A�
Ac�:�0n[S[-[55[S[-[5SS9[R"[[55[R"U5S5555nURURS5 g)Nr�T��autospecc��grr$r$r#r �	some_name�0PatchTest.test_name_preserved.<locals>.some_names��r#r�)rr%r4rr�r�)rrUr�s   r �test_name_preserved�PatchTest.test_name_preserved|sy����	�~��(�&�(�	3�	�~��(�&�(�T�	B�	���i���	*�	���C���
�
+�
C�
4�	�����+�+�[�9r#c���0n[R"USS05S5nUR[5 U"5 SSS5 UR	U05 g!,(df   N!=f)Nr<rZc��[S5e)N�Konrad�rKr$r#r r��1PatchTest.test_patch_with_exception.<locals>.test�s
���H�%�%r#)rr�rurKr�)rrUr�s   r �test_patch_with_exception�#PatchTest.test_patch_with_exception�s]����	���C�#�s��	$�	&�
%�	&��
�
�y�
)��F�*�	
����b�!�*�
)�s�A�
A(c�X^�[R"SSS05U4Sj5nU"5 g)Nz
os.environ�
konrad_delongz
some valuec�F>�TRS[R5 g)Nr�)�assertIn�os�environrCs�r r��3PatchTest.test_patch_dict_with_string.<locals>.test�s����M�M�/�2�:�:�6r#)rr�r�s` r �test_patch_dict_with_string�%PatchTest.test_patch_dict_with_string�s-���	���L�?�L�"A�	B�	7�
C�	7�	
�r#c�*^�[RR5n[R"SSS05U4Sj5nSS0[lU"5 TR[RSS05 U[lg!U[lf=f)Nz*test.test_unittest.testmock.support.targetrF�BARc�L>�TR[RSSS.5 g)N�BAZr�rUrF)r�r�targetrCs�r r��<PatchTest.test_patch_dict_decorator_resolution.<locals>.test�s������W�^�^�U�5�-I�Jr#rUr	)rrr�rr�r�r�s`  r �$test_patch_dict_decorator_resolution�.PatchTest.test_patch_dict_decorator_resolution�sx����>�>�&�&�(��	���@�5�%�.�	Q�	K�
R�	K�	&�#�U�^�G�N��F����W�^�^�e�U�^�<�%�G�N��X�G�N�s�6B�
Bc��[S[-[SS9S5nUR[U5 [R
"[S[SS9S5nUR[U5 [S[-SS9S5nUR[U5 [R
"[SSS9S	5nUR[U5 g)
Nr�T�r��spec_setc��SUlg�NrU��z�rzs r r��+PatchTest.test_patch_spec_set.<locals>.test��	���I�Kr#rc��SUlgrrrs r r�r�rr#�rc��SUlgrrrs r r�r�rr#c��SUlgrrrs r r�r�rr#)rr%rrur�r4rr�s  r �test_patch_spec_set�PatchTest.test_patch_spec_set�s���	�~��(�y�4�	H�	 �
I�	 �	
���.�$�/�	���g�{��T�	J�	 �
K�	 �	
���.�$�/�	�~��(�4�	8�	 �
9�	 �	
���.�$�/�	���g�{�T�	:�	 �
;�	 �	
���.�$�/r#c�^�[S[-SS9S5nUR[U5 g)Nr�Trc� �U"5nSUlgrr)rzr:s  r r��-PatchTest.test_spec_set_inherit.<locals>.test�s�� �{�H��H�Jr#)rr%rur�r�s  r �test_spec_set_inherit�PatchTest.test_spec_set_inherit�s2��	�~��(�4�	8�	�
9�	�	
���.�$�/r#c�F�[n[S[-5nUR[U5 UR	5nURX15 UR[U5 UR
5 UR[U5 g!UR
5 f=f)Nr�)r�rr%�assertIs�start�assertIsNot�stop)rr��patcherr�s    r �test_patch_start_stop�PatchTest.test_patch_start_stop�st�������1�2���
�
�i��*��}�}���	����T�,��M�M�)�T�*��L�L�N��
�
�i��*��
�L�L�N�s�'B�B c�d�[[SS5nURUR55 g�NrFr�)r�foo_namer�r(�rr)s  r �test_stop_without_start�!PatchTest.test_stop_without_start�s$����%��+�����'�,�,�.�)r#c��[[SS5nUR5 UR5 UR	UR55 gr-)rr.r&r(r�r/s  r �test_stop_idempotent�PatchTest.test_stop_idempotent�s6����%��+���
�
���������'�,�,�.�)r#c�~�[[SS5nU UR5 SSS5 g!,(df   g=fr-)rr.r(r/s  r �test_exit_idempotent�PatchTest.test_exit_idempotent�s&����%��+��
��L�L�N��W�W�s�.�
<c���[[SS5nUR5 UR[UR5 UR5 g!UR5 f=fr-)rr.r&ru�RuntimeErrorr(r/s  r �test_second_start_failure�#PatchTest.test_second_start_failure�sE����%��+���
�
��	����l�G�M�M�:��L�L�N��G�L�L�N�s� A�A&c��[[SS5nU UR[UR5 SSS5 g!,(df   g=fr-)rr.rur9r&r/s  r �test_second_enter_failure�#PatchTest.test_second_enter_failure�s1����%��+��
����l�G�M�M�:��W�W�s	�!>�
Ac��[[SS5nUR5 UR5 UR5 UR5 gr-)rr.r&r(r/s  r �test_second_start_after_stop�&PatchTest.test_second_start_after_stops4����%��+���
�
�������
�
�����r#c�~�[5nURn[R"USS5nU UR	UR
S5 UR
URU5 UR	URU5 SUlX#lXlUR	UR
S5 UR
URU5 UR	URU5 SSS5 UR	URU5 UR	URS5 g!,(df   NG=f)NrF�xFT)	r
rFrr4r��is_localr%r�
temp_original)r�mock_object�mock_barr)s    r �test_property_setters�PatchTest.test_property_setters	s����f���?�?���,�,�{�E�3�7��
����W�-�-�u�5��M�M�'�.�.�+�6����W�2�2�H�=�#�G��%�N�$/�!����W�-�-�t�4��M�M�'�.�.�(�3����W�2�2�K�@��	
������{�3�������#�.��W�s�B<D.�.
D<c�\�[n[R"[SS5nUR	[U5 UR5nUR
US5 UR	[U5 UR5 UR	[U5 g!UR5 f=f)Nr�rU)r�rr4r�r%r&r�r()rr�r)�replaceds    r �test_patchobject_start_stop�%PatchTest.test_patchobject_start_stopsy�����,�,�x��e�<���
�
�i��*��=�=�?��	����X�u�-��M�M�)�X�.��L�L�N��
�
�i��*��
�L�L�N�s�
(B�B+c�2�SS0nUR5n[R"US/SS9nURX5 UR	5 URUSS05 UR5 URX5 g!UR5 f=f)NrUrF��spam�eggsTr�rPrQ)r�rr�r�r&r(�r�dr�r)s    r �test_patch_dict_start_stop�$PatchTest.test_patch_dict_start_stop)s���
�E�N���6�6�8���*�*�Q�!1� 2�$�?������%��
�
��	����Q��� 0�1��L�L�N�����%��
�L�L�N�s�B�Bc��SS0nUR5n[R"US/SS9nURUR	55 URX5 g)NrUrFrOTr�)r�rr�rxr(r�rRs    r �"test_patch_dict_stop_without_start�,PatchTest.test_patch_dict_stop_without_start7sN��
�E�N���6�6�8���*�*�Q�!1� 2�$�?���������(�����%r#c��^^�UmSS0mTR5n"UU4SjS[5n[R"TSS0SS9"U5nUR	TU5 U"5nUR
"5 UR	TU5 UR"5 UR	TU5 U"5nUR
"5 UR	TU5 UR"5 UR	TU5 g)	NrPrQc�2>�\rSrSrUU4SjrUU4SjrSrg)�7PatchTest.test_patch_dict_class_decorator.<locals>.TestiDc�.>�TRTSS05 g�NrUrFr��rrS�thiss ��r �
test_first�BPatchTest.test_patch_dict_class_decorator.<locals>.Test.test_firstE����� � ��U�E�N�3r#c�.>�TRTSS05 gr]r�r^s ��r �test_second�CPatchTest.test_patch_dict_class_decorator.<locals>.Test.test_secondGrbr#r$N)r%r&r'r(r`rdr))rSr_s��r r�r[Ds���
4�
4�
4r#r�rUrFTr�)r�r4rr�r�r`rd)rr�r�r�rSr_s    @@r �test_patch_dict_class_decorator�)PatchTest.test_patch_dict_class_decorator?s������
�V����6�6�8��	4�	4�6�	4��z�z�!�e�U�^�4�8��>������H�%��v����������H�%���������H�%��v����������H�%���������H�%r#c�l^^�"SS[5n"SS5nXU"5U4H�n[U5m[R"TSS5UU4Sj5nU"5 TRTRS5 TRURS5 TRSTR5 M� g)Nc��\rSrSrSrSrg)�0PatchTest.test_get_only_proxy.<locals>.Somethingi_rUr$N�r%r&r'r(rUr)r$r#r r�rj_����Cr#r�c��\rSrSrSrSrg)�4PatchTest.test_get_only_proxy.<locals>.SomethingElseiarUr$Nrkr$r#r r�rnarlr#r�rUrFc�>>�TRTRS5 g�NrF�r�rU��proxyrs��r r��+PatchTest.test_get_only_proxy.<locals>.testg����� � ����E�2r#�r4r6rr�rU�assertNotIn�__dict__�rr�r��thingr�rss`    @r �test_get_only_proxy�PatchTest.test_get_only_proxy^s����	��	�	�	��y�{�M�I�E��u�%�E�
�\�\�%���
.�
3�/�
3��F����U�Y�Y��.����U�Y�Y��.����U�E�N�N�3�Jr#c�j^^�"SS[5n"SS5nXU"5U4H�n[USS9m[R"TSS5UU4S	j5nU"5 TRTRS5 TRURS5 TRSTR5 M� g)
Nc��\rSrSrSrSrg)�6PatchTest.test_get_set_delete_proxy.<locals>.SomethingiqrUr$Nrkr$r#r r�rqrlr#r�c��\rSrSrSrSrg)�:PatchTest.test_get_set_delete_proxy.<locals>.SomethingElseisrUr$Nrkr$r#r r�r�srlr#r�F)r5rUrFc�>>�TRTRS5 grprqrrs��r r��1PatchTest.test_get_set_delete_proxy.<locals>.testyrur#rvrys`    @r �test_get_set_delete_proxy�#PatchTest.test_get_set_delete_proxyps����	��	�	�	��y�{�M�I�E��y�5�9�E�
�\�\�%���
.�
3�/�
3��F����U�Y�Y��.����U�Y�Y��.����U�E�N�N�3�Jr#c�H�[S[5S.n[[40UD6nUR	5nUR5 UR
[U5 URURR5S5 URUR[5 g)N�!��side_effectzfoo.bar.return_valuerU)�KeyErrorrrr.r&r(rur�rUrFr��r�kwargsr)r�s    r �test_patch_keyword_args�!PatchTest.test_patch_keyword_args�sv��!)�2�"��&����+�F�+���}�}����������(�D�)�����������,����d�h�h�	�2r#c�`�[S[5S.n[R"[S40UD6nUR5nUR
5 UR[U5 URURR5S5 URUR[5 g)Nr�r�r@)r�rrr4r8r&r(rur�rUrFr�r�s    r �test_patch_object_keyword_args�(PatchTest.test_patch_object_keyword_args�s|��!)�2�"��&���,�,�s�C�2�6�2���}�}����������(�D�)�����������,����d�h�h�	�2r#c	��SS0nUR5n[R"USSSS9nUR5 UR	U[SSSS95 UR5 UR	X5 g!UR5 f=f)NrUrFr���)rUrF�baz)r�rr�r&r�r()rr�r�r)s    r �test_patch_dict_keyword_args�&PatchTest.test_patch_dict_keyword_args�su���5�>���}�}����*�*�X�1�!��;���
�
��	����X�t��q�a�'@�A��L�L�N�����(��
�L�L�N�s�A:�:Bc�n^^^�"SS[5nU4SjmU4SjmUUU4Sjn[[SS9"U5nU"5nTR[U5 U"5 [
R[n[R"USSS9"U5nU"5nTR[U5 U"5 g)	Nc�@�\rSrSrSrSrSrSr"SS\5r	Sr
g	)
�$PatchTest.test_autospec.<locals>.Booi�c��grr$r;s  r r=�-PatchTest.test_autospec.<locals>.Boo.__init__�s��4r#c��grr$r;s  r r@�&PatchTest.test_autospec.<locals>.Boo.f�s��Dr#c��grr$rCs r rD�&PatchTest.test_autospec.<locals>.Boo.g�s��r#rFc��\rSrSrSrSrg)�(PatchTest.test_autospec.<locals>.Boo.Bari�c��grr$rCs r r<�*PatchTest.test_autospec.<locals>.Boo.Bar.a�s��Tr#r$NrSr$r#r rTr��s��!r#rTr$N)r%r&r'r(r=r@rDrUr4rTr)r$r#r �Boor��s��'� ���C�
"�f�
"r#r�c�d>�U"S5 URS5 TR[U5 g�N�)�assert_called_withrurv�r�rs �r �_test�&PatchTest.test_autospec.<locals>._test�s(�����G��#�#�A�&����i��.r#c��>�URS5 URRS5 TR[UR5 UR	5 URR5 TR[URS5 TR[
[US5 URR5 URRR5 TR[
[URS5 UR5 URR5 URR5 URRR5 TR[URRS5 UR5R5 UR5RR5 TR[UR5RS5 TR[
[URS5 TR[
[UR5S5 g)Nr��hrFrZ)r@r�rurvrDr�rrU�lowerrTr<r�s �r �_test2�'PatchTest.test_autospec.<locals>._test2�sx����F�F�1�I��F�F�%�%�a�(����i����0��F�F�H��F�F�%�%�'����i�����3����n�g�t�S�A��H�H�N�N���H�H�N�N�-�-�/����n�g�t�x�x��G��H�H�J��H�H�'�'�)��H�H�J�J�L��H�H�J�J�)�)�+����i������Q�7��H�H�J�L�L�N��H�H�J�L�L�+�+�-����i�������q�9����n�g�t�x�x��E����n�g�t�x�x�z�3�Gr#c�p>�T"U5 T"U5 T"U"S55 TRU[5 U$r�)r%r8)r�r�r�rs ���r r[�)PatchTest.test_autospec.<locals>.function�s/����$�K��4�L��4��7�O��M�M�$��$��Kr#Tr�r8)r4rr.r'r8�sys�modulesr%)rr�r[r�r��moduler�r�s`     @@r �
test_autospec�PatchTest.test_autospec�s����	"�&�	"�	/�
	H�:	��X��-�h�7���v������d�#������X�&���|�|�F�E�D�9�(�C���v������d�#��r#c�H^�[S[-SS9U4Sj5nU"5 g)N�%s.functionTr�c�N>�[R5 TR[[R5 TR[[R
5 [S5 TR[[R5 [R
S5 [R	5 [R5 [SS5 [R
SS5 TR[[5 TR[[[S5 g)Nr��r�rU)
r[�assert_not_calledru�AssertionError�
assert_called�assert_called_oncer�rvr�rr�s �r r��.PatchTest.test_autospec_function.<locals>.test�s�����&�&�(����n�h�.D�.D�E����n�h�.I�.I�J��Q�K����n�h�.H�.H�I��'�'��*��"�"�$��'�'�)��Q��N��'�'��1�-����i��2����n�g�x��Gr#rr�s` r �test_autospec_function� PatchTest.test_autospec_function�s*���	�}�x�'�$�	7�
	H�
8�
	H�	
�r#c�f�[S[-SSS9S5nU"5nURUS5 g)Nr�Tr�)r�r�c��[SS5$)Nr�r�)r[)�
mock_functions r r��.PatchTest.test_autospec_keywords.<locals>.tests���A�q�>�!r#rs)rr��results   r �test_autospec_keywords� PatchTest.test_autospec_keywordss>��	�}�x�'�$��
�	"�
�	"���������#r#c��[S[-SS9n[R5 UR	5 SSS5 g!,(df   g=f)Nz%s.Foo.static_methodTr�)rr%r8rH�assert_called_once_with�r�methods  r �test_autospec_staticmethod�$PatchTest.test_autospec_staticmethod
s9��
�)�H�4�t�
D�������*�*�,�E�
D�
D���%A�
Ac��[S[-SS9n[R5 UR	5 SSS5 g!,(df   g=f)Nz%s.Foo.class_methodTr�)rr%r8rLr�r�s  r �test_autospec_classmethod�#PatchTest.test_autospec_classmethods9��
�(�8�3�d�
C�v������*�*�,�D�
C�
C�r�c
�4�"SS5nURSSSS9 [R"USSS	9nU"SSSS9 UR[U5 UR[US5 UR[USSSS
S9 SSS5 g!,(df   g=f)Nc�(�\rSrSr\SSj5rSrg)�;PatchTest.test_autospec_staticmethod_signature.<locals>.Fooic��grr$)r<rZres   r rH�IPatchTest.test_autospec_staticmethod_signature.<locals>.Foo.static_methods��.2r#r$N��
)r%r&r'r(rVrHr)r$r#r r8r�s��
�2��2r#r8r�r�r��rerHTr�r�)rHrr4rurv�rr8r�s   r �$test_autospec_staticmethod_signature�.PatchTest.test_autospec_staticmethod_signatures���	3�	3�	���!�Q�!��$�
�\�\�#���
>�&��1�a�1�����i��0����i���3����i���A�q�A��>�	?�
>�
>���AB	�	
Bc
�4�"SS5nURSSSS9 [R"USSS	9nU"SSSS9 UR[U5 UR[US5 UR[USSSS
S9 SSS5 g!,(df   g=f)Nc�(�\rSrSr\SSj5rSrg)�:PatchTest.test_autospec_classmethod_signature.<locals>.Fooi*c��grr$)rKr<rZres    r rL�GPatchTest.test_autospec_classmethod_signature.<locals>.Foo.class_method+s��26r#r$Nr�)r%r&r'r(rWrLr)r$r#r r8r�*s��
�6��6r#r8r�r�r�r�rLTr�r�)rLrr4rurvr�s   r �#test_autospec_classmethod_signature�-PatchTest.test_autospec_classmethod_signature(s���	7�	7�	����A���#�
�\�\�#�~��
=���1�a�1�����i��0����i���3����i���A�q�A��>�	>�
=�
=�r�c��[S[-SSS9nUR[UR5 [
R[n[R"USSSS9nUR[UR5 g)Nr�r�T)�newr�r[)rr%rurvr&r�r�r4)rr)r�s   r �test_autospec_with_new� PatchTest.test_autospec_with_new7s_���
��0�a�$�G�����)�W�]�]�3����X�&���,�,�v�z�q�4�H�����)�W�]�]�3r#c��"SS[5n[[US9nUR5nUR	X15 UR	UR
[5 UR5 g!UR5 f=f)Nc��\rSrSr/rSrg)�0PatchTest.test_autospec_with_object.<locals>.BariAr$N)r%r&r'r(�extrar)r$r#r rTr�As���Er#rTr�)r8rr.r&r�r��listr()rrTr)r�s    r �test_autospec_with_object�#PatchTest.test_autospec_with_object@sa��	�#�	���3�/���}�}���	��!�!�$�,��!�!�$�*�*�d�3��L�L�N��G�L�L�N�s�1A1�1Bc���[n[[SS9nUR5nUR	X15 UR	U"S5U5 UR5 g!UR5 f=f)NTr�r�)r8rr.r&r�r()r�FooClassr)r�s    r �test_autospec_inherits� PatchTest.test_autospec_inheritsMsX������4�0���}�}���	��!�!�$�1��!�!�$�q�'�8�4��L�L�N��G�L�L�N�s�)A � A2c��[[SS9nUR5nURS[	U55 URS[	UR
55 URS[	U"S555 URS[	U"S5R
55 UR
5 g!UR
5 f=f)NTr�z name='Foo'z
 name='Foo.f'z
 name='Foo()'z name='Foo().f')rr.r&r�reprr@r()rr)r�s   r �test_autospec_name�PatchTest.test_autospec_nameXs�����4�0���}�}���	��M�M�-��d��4��M�M�/�4����<�8��M�M�/�4��T�
�+;�<��M�M�+�T�$�t�*�,�,�-?�@��L�L�N��G�L�L�N�s�BB=�=Cc��[R"[S[55S5nU"5 [
R"SSS5nURWU5nURSU5 g! [R"5nNV=f)Nr@c��[er)r�r$r#r r��'PatchTest.test_tracebacks.<locals>.testfs�� � r#rzraise AssertionError)	rr4r8r��exc_info�unittest�TextTestResult�_exc_info_to_stringr)rr��errr��	tracebacks     r �test_tracebacks�PatchTest.test_tracebacksesv��	���c�3���	)�	!�
*�	!�	!��F��(�(��t�Q�7���.�.�s�D�9�	��
�
�,�i�8��	!��,�,�.�C�s�A0�0B	c��[[[S9nUR5nUR	5 UR5nUR	5 URX#5 X#4HnUR
U5 M g)N��new_callable)rr.rr&r(r'r{�rr)�m1�m2r�s     r �test_new_callable_patch�!PatchTest.test_new_callable_patchss_����/C�D��
�]�]�_������
�]�]�_���������� ��F�D��"�"�4�(�r#c��[R"[S[S9nUR	5nUR5 UR	5nUR5 UR
X#5 X#4HnURU5 M g)Nr@r)rr4r8rr&r(r'r{r	s     r �test_new_callable_patch_object�(PatchTest.test_new_callable_patch_object�se���,�,�s�C�6J�K��
�]�]�_������
�]�]�_���������� ��F�D��"�"�4�(�r#c�4^�"U4SjS[5m[[TSSS9nUR5nUR	[U5T5 UR
TR[SSS95 UR5 g!UR5 f=f)Nc�&>�\rSrSrSrU4SjrSrg)�:PatchTest.test_new_callable_keyword_arguments.<locals>.Bari�Nc�>�UTlgr�r��rr�rTs  �r r=�CPatchTest.test_new_callable_keyword_arguments.<locals>.Bar.__init__��
���#��
r#r$�r%r&r'r(r�r=r)�rTs�r rTr������F�
$�
$r#rTr�r�)r�arg1�arg2)rr)
r4rr.r&r%�typer�r�r�r()rr)rnrTs   @r �#test_new_callable_keyword_arguments�-PatchTest.test_new_callable_keyword_arguments�sq���	$�&�	$�
��s���C���M�M�O��	��M�M�$�q�'�3�'����S�Z�Z��1�1�)=�>��L�L�N��G�L�L�N�s�?B�Bc��^�"U4SjS[5m[[TTS9nUR5 UR	TR
[
TS95 UR5 [[TTS9nUR5 UR	TR
[
TS95 UR5 g!UR5 f=f!UR5 f=f)Nc�&>�\rSrSrSrU4SjrSrg)�-PatchTest.test_new_callable_spec.<locals>.Bari�Nc�>�UTlgrrrs  �r r=�6PatchTest.test_new_callable_spec.<locals>.Bar.__init__�rr#r$rrs�r rTr#�rr#rT�rr�r�)rrr)r4rr.r&r�r�r�r()rr)rTs  @r �test_new_callable_spec� PatchTest.test_new_callable_spec�s����	$�&�	$�
��s��=���
�
��	����S�Z�Z��3��8��L�L�N���s�S�A���
�
��	����S�Z�Z��s�);�<��L�L�N��
�L�L�N��
�L�L�N�s�#B;�#C�;C
�C"c��S[-n[U[S9nUR[UR
5 [U[SS9nUR5nUR
USS9 UR5 g!UR5 f=f)Nz	%s.weeeeerT)rrBF)ry)r.rr	rur�r&r{r()r�non_existent_attr�prns    r �test_new_callable_create�"PatchTest.test_new_callable_create�sv��'�(�2���#�/�B�����.�!�'�'�2��#�/��
��
�G�G�I��	��"�"�1�E�"�2�
�F�F�H��A�F�F�H�s�A9�9Bc	���UR[[[[	5[
S9 UR[[R[S[	5[
S9 g)N)r�rr@)ru�
ValueErrorrr.r4rr8rCs r �'test_new_callable_incompatible_with_new�1PatchTest.test_new_callable_incompatible_with_new�sK�������x�V�X�I�	�	
�	
�������c�3�F�H�"�	�	
r#c	��UR[[[[SS9 UR[[R
[S[SS9 g)NT)rr�r@)rur/rr.rr4r8rCs r �,test_new_callable_incompatible_with_autospec�6PatchTest.test_new_callable_incompatible_with_autospec�sH�������x�i��	�	
�	
�������c�3�Y��	�	
r#c�\�"SS[5n[[[[U4nUHknSHbnUS0n[	[
4SU0UD6nUR
5nURnUR[[US5 UR5 Md Mm g!UR5 f=f)Nc��\rSrSrSrg)�>PatchTest.test_new_callable_inherit_for_mocks.<locals>.MockSubi�r$N�r%r&r'r(r)r$r#r �MockSubr7����r#r9rTrrC)r
r	rrrr.r&r�rur�rr()	rr9�MockClasses�Klass�argr�r+rnr:s	         r �#test_new_callable_inherit_for_mocks�-PatchTest.test_new_callable_inherit_for_mocks�s���	�d�	�
�1�9�d�G�
��!�E�)���t����(�A��A�&�A���G�G�I��� �~�~�H��%�%�n�g�x��M��F�F�H�*�!���F�F�H�s�(B�B+c�X�"SS[5n[[USS9nUR5nUR	[X155 UR
[[US5 UR5 URUR[5 g!UR5 f=f)Nc��\rSrSrSrSrg)�>PatchTest.test_new_callable_inherit_non_mock.<locals>.NotAMocki�c��Xlgrr�)rr�s  r r=�GPatchTest.test_new_callable_inherit_non_mock.<locals>.NotAMock.__init__�s�� �	r#r�N)r%r&r'r(r=r)r$r#r �NotAMockrB�s��
!r#rETr&r�)
r4rr.r&rwrrur�rr(r�r�r8)rrEr+rns    r �"test_new_callable_inherit_non_mock�,PatchTest.test_new_callable_inherit_non_mock�s}��	!�v�	!�
�(���=��
�G�G�I��	��O�O�K��4�5����n�g�q�.�I�
�F�F�H��������%��
�F�F�H�s�6B�B)c��^^�Um[m"UU4SjS[5n[[[S9"U5nU"5R5 U"5R
5 UR[T5 g)Nc�0>�\rSrSrUU4SjrSrSrSrg)�>PatchTest.test_new_callable_class_decorating.<locals>.SomeTesti�c�>�TR"[T5 TR"[U5 TR"[[5 gr)r'r8r%r�r)r�mock_foor�r�s  ��r r��DPatchTest.test_new_callable_class_decorating.<locals>.SomeTest._test�s1���� � ��h�/��
�
�c�8�,��%�%�c�9�5r#c�&�URU5 gr�r��rrLs  r �test_two�GPatchTest.test_new_callable_class_decorating.<locals>.SomeTest.test_two����
�
�8�$r#c�&�URU5 grrOrPs  r �test_one�GPatchTest.test_new_callable_class_decorating.<locals>.SomeTest.test_onerSr#r$N�r%r&r'r(r�rQrUr))r�r�s��r �SomeTestrJ�s���
6�

%�
%r#rXr)r8r4rr.rrUrQr%)rrXr�r�s  @@r �"test_new_callable_class_decorating�,PatchTest.test_new_callable_class_decorating�s[�������
	%�
	%�v�
	%���	�:�8�D���
�����
�����
�
�c�8�$r#c��^^�[m[Rn[Rn[R"[
SSS9n[R"[SSS9nX44H�nUR
5 TR[T5 TR[RS5 TR[RS5 UR5 TR[T5 TR[RU5 TR[RU5 M� [R"[
SSS9UU4Sj5nU"5 g!UR5 f=f)Nr�r�)r@rDr�r�c�>�TR[T5 TR[RS5 TR[RS5 g)Nr�r�)r%r8r�r@rD)�original_foors��r r��+PatchTest.test_patch_multiple.<locals>.test"s9����M�M�#�|�,����S�U�U�A�&����S�U�U�A�&r#)
r8r@rDr�multipler.r&r%r�r()r�
original_f�
original_g�patcher1�patcher2r)r�r]s`      @r �test_patch_multiple�PatchTest.test_patch_multiples������U�U�
��U�U�
��>�>�(�a�1�5���>�>�#��a�0���)�G��M�M�O�
��
�
�c�<�0�� � �����*�� � �����*������M�M�#�|�,����S�U�U�J�/����S�U�U�J�/�*�
����A��	+�	'�
,�	'�
	
�������s
�4AE � E2c��UR[[R[5 UR[[R[
5 gr)rur/rr_r.r8rCs r �test_patch_multiple_no_kwargs�'PatchTest.test_patch_multiple_no_kwargs+s.�����*�e�n�n�h�?����*�e�n�n�c�:r#c�<^^�[m[Rn[Rn[R"[
[S[S9UU4Sj5nU"5 TR[RU5 TR[RU5 g)Nr��r@rDrUc�n>�TR[T5 TR[RU5 TR[RS5 TR[R
U5 TR
[U[55 TR
[U[55 g�Nr��	r%r8r@r�rDrUrwrr)r@rUr]rs  ��r r��8PatchTest.test_patch_multiple_create_mocks.<locals>.test5so����M�M�#�|�,��M�M�#�%�%��#����S�U�U�A�&��M�M�#�'�'�3�'��O�O�K��9�5�6��O�O�K��Y�7�8r#�r8r@rDrr_r.rr�)rr`rar�r]s`   @r � test_patch_multiple_create_mocks�*PatchTest.test_patch_multiple_create_mocks0sj������U�U�
��U�U�
�	����G�q�g�	>�	9�
?�	9�	
��������
�+�������
�+r#c�^�[Rn[Rn[R"[SS5nSUl[R"[S[5nSUlU/UlUU4Sj5nU"5 TR[RU5 TR[RU5 g)Nr@r�rDc�>�TR[RU5 TR[RS5 grl)r%r8rDr�r@)rDrs �r r��HPatchTest.test_patch_multiple_create_mocks_different_order.<locals>.testNs)����M�M�#�%�%��#����S�U�U�A�&r#)	r8r@rDrr4�attribute_namer�additional_patchersr�)rr`rar)r�r�s`     r �0test_patch_multiple_create_mocks_different_order�:PatchTest.test_patch_multiple_create_mocks_different_orderCs�����U�U�
��U�U�
��,�,�s�C��+��!$������S�#�w�/��"���',�g��#�	�	'�
�	'�	
��������
�+�������
�+r#c�0^^^�[m[Rn[Rn[R"[
[S9[R"[
[S9[[
S-5U4Sj555n[R"[
[S9[[
S-5[R"[
[S9U4Sj555n[[
S-5[R"[
[S9[R"[
[S9U4Sj555nUU4SjmU"5 U"5 U"5 TR[RU5 TR[RU5 g)N)r@r�z.gc�>�T"U40UD6 grr$�rDr�r�s  �r �test1�?PatchTest.test_patch_multiple_stacked_decorators.<locals>.test1]����
�!��v�r#c�>�T"U40UD6 grr$r{s  �r �test2�?PatchTest.test_patch_multiple_stacked_decorators.<locals>.test2cr~r#c�>�T"U40UD6 grr$r{s  �r �test3�?PatchTest.test_patch_multiple_stacked_decorators.<locals>.test3ir~r#c�>�URS5nURS5nTRU5 TR[T5 TR[RU5 TR[R
U5 TR[RU5 TR[U[55 TR[U[55 TR[U[55 g)Nr@rU)
�poprxr%r8r@rDrUrwrr)rDr�r@rUr]rs    ��r r��?PatchTest.test_patch_multiple_stacked_decorators.<locals>._testos�����
�
�3��A��*�*�U�#�C����V�$��M�M�#�|�,��M�M�#�%�%��#��M�M�#�%�%��#��M�M�#�'�'�3�'��O�O�K��9�5�6��O�O�K��9�5�6��O�O�K��Y�7�8r#ro)rr`rar|r�r�r�r]s`     @@r �&test_patch_multiple_stacked_decorators�0PatchTest.test_patch_multiple_stacked_decoratorsXs������U�U�
��U�U�
�	����G�	,�	����g�	.�	�x�$��	�	�
 �
/�
-�	�
����G�	,�	�x�$��	�	����g�	.�	�
/�
 �
-�	�
�x�$��	�	����G�	,�	����g�	.�	�
/�
-�
 �	�	9�	��
��
��������
�+�������
�+r#c�
�[n[Rn[Rn[R"[
[S[S9nUR5nUSnUSnUR[U5[SS/55 UR[U5 UR[RU5 UR[RU5 UR[U[55 UR[U[55 UR5 UR[RU5 UR[RU5 g!UR5 f=f)Nr�rjr@rU)r8r@rDrr_r.rr&r��setr%rUrwrrr()rr]r`rar)r�r@rUs        r �(test_patch_multiple_create_mocks_patcher�2PatchTest.test_patch_multiple_create_mocks_patcher�s�����U�U�
��U�U�
��.�.��W��w�G�������	��s��A���-�C����S��[�#�s�E�l�*;�<��M�M�#�|�,��M�M�#�%�%��#��M�M�#�'�'�3�'��O�O�K��9�5�6��O�O�K��Y�7�8��L�L�N�������
�+�������
�+��
�L�L�N�s
�CE0�0Fc�^^�Um[m[Rn[Rn"UU4SjS[5n[R
"[[S[S9"U5nU"5nUR5 UR5 UR[RU5 UR[RU5 g)Nc�0>�\rSrSrUU4SjrSrSrSrg)�@PatchTest.test_patch_multiple_decorating_class.<locals>.SomeTesti�c�z>�TR"[T5 TR"[RU5 TR"[RS5 TR"[R
U5 TR"[U[55 TR"[U[55 grlrm)rr@rUr]r�s   ��r r��FPatchTest.test_patch_multiple_decorating_class.<locals>.SomeTest._test�so����
�
�c�<�0��
�
�c�e�e�Q�'�� � �����*��
�
�c�g�g�s�+�����A�y� 9�:�����C�� ;�<r#c�&�URX5 grrO�rr@rUs   r rQ�IPatchTest.test_patch_multiple_decorating_class.<locals>.SomeTest.test_two�����
�
�1�"r#c�&�URX5 grrOr�s   r rU�IPatchTest.test_patch_multiple_decorating_class.<locals>.SomeTest.test_one�r�r#r$NrW)r]r�s��r rXr��s���
=�
#�
#r#rXr�rj)r8r@rDr4rr_r.rrUrQr�)rr`rarXrzr]r�s     @@r �$test_patch_multiple_decorating_class�.PatchTest.test_patch_multiple_decorating_class�s���������U�U�
��U�U�
�
	#�
	#�v�
	#��>�>���1�'�
�
����
��
����
����������
�+�������
�+r#c��[R"[SS9nUR[UR
5 [R"[SSS9nUR5 UR
[RS5 UR5 UR[[S55 g!UR5 f=f)N�blam)r�T)r�rB)rr_r8rur�r&r�r�r(rxrQr/s  r �test_patch_multiple_create�$PatchTest.test_patch_multiple_create�s����.�.��6�2�����.�'�-�-�8��.�.��6�$�?���
�
��	����S�X�X�v�.��L�L�N������f�-�.��
�L�L�N�s�% B5�5Cc�l�[R"[[SS/S9nUR	5nUR[RUS5 [RRS5 [RRS5 [RRRS5 [RRRS5 UR[[[RSS5 UR5 g!UR5 f=f)Nr<rZ)rUrrUr�r�re)rr_r8rr&r�rUr<rZr�rur�r,r()rr)r�s   r �test_patch_multiple_spec_set�&PatchTest.test_patch_multiple_spec_set�s����.�.��'�S�#�J�G�������	����S�W�W�f�U�m�4��G�G�I�I�a�L��G�G�I�I�a�L��G�G�I�I�(�(��+��G�G�I�I�(�(��+����n�g�s�w�w��T�J��L�L�N��G�L�L�N�s�CD!�!D3c�<�"SS[5n[R"[[[US9nUR5nUR
[RUS5 UR
[RUS5 UR[RU5 UR[RU5 UR[R[R5 UR5 g!UR5 f=f)Nc��\rSrSrSrg)�9PatchTest.test_patch_multiple_new_callable.<locals>.Thingi�r$Nr8r$r#r �Thingr��r:r#r�)r@rDrr@rD)r4rr_r8rr&r%r@rDr�r'r()rr�r)r�s    r � test_patch_multiple_new_callable�*PatchTest.test_patch_multiple_new_callable�s���	�F�	��.�.��7�g�E�
�������	��M�M�#�%�%����-��M�M�#�%�%����-��!�!�#�%�%��/��!�!�#�%�%��/����S�U�U�C�E�E�*��L�L�N��G�L�L�N�s
�B4D	�	Dc�F�[Rn[Rn[R"[SS5[R"[SS5[R"[SS5S555n[R"[SS5[R"[SS5[R"[SS5S555n[R"[SS5[R"[SS5[R"[SS5S555nX4U4HYnUR[U5 UR[RU5 UR[RU5 M[ g)NrDr��missingr@c��grr$r$r#r �thing1�3PatchTest.test_nested_patch_failure.<locals>.thing1����r#c��grr$r$r#r �thing2�3PatchTest.test_nested_patch_failure.<locals>.thing2�r�r#c��grr$r$r#r �thing3�3PatchTest.test_nested_patch_failure.<locals>.thing3�r�r#)r8r@rDrr4rur�r�)rr`rar�r�r��funcs       r �test_nested_patch_failure�#PatchTest.test_nested_patch_failure�s0���U�U�
��U�U�
�	���c�3��	"�	���c�9�a�	(�	���c�3��	"��
#�
)�
#�	�	���c�9�a�	(�	���c�3��	"�	���c�3��	"��
#�
#�
)�	�	���c�3��	"�	���c�3��	"�	���c�9�a�	(��
)�
#�
#�	��F�*�D����n�d�3����S�U�U�J�/����S�U�U�J�/�+r#c��[Rn[Rn[RnSn[R
"[SS5[R
"[SUS9[R
"[SS5S555n[R
"[SUS9[R
"[SS5[R
"[SS5S555n[R
"[SS5[R
"[SS5[R
"[SUS9S	555nXVU4HynUR
[U5 UR[RU5 UR[RU5 UR[RU5 M{ g)
Nc��[S5e�N�crasherr�r$r#r r��4PatchTest.test_new_callable_failure.<locals>.crasher�
���I�&�&r#rDr�rUrr@c��grr$r$r#r r��3PatchTest.test_new_callable_failure.<locals>.thing1r�r#c��grr$r$r#r r��3PatchTest.test_new_callable_failure.<locals>.thing2r�r#c��grr$r$r#r r��3PatchTest.test_new_callable_failure.<locals>.thing3r�r#)	r8r@rDrUrr4rurKr�)	rr`rar]r�r�r�r�r�s	         r �test_new_callable_failure�#PatchTest.test_new_callable_failuresT���U�U�
��U�U�
��w�w��	'�
���c�3��	"�	���c�5�w�	7�	���c�3��	"��
#�
8�
#�	�	���c�5�w�	7�	���c�3��	"�	���c�3��	"��
#�
#�
8�	�	���c�3��	"�	���c�3��	"�	���c�5�w�	7��
8�
#�
#�	��F�*�D����i��.����S�U�U�J�/����S�U�U�J�/����S�W�W�l�3�	+r#c��[Rn[Rn[R"[SS5nSUl[R"[SS5nSUl[R"[SS5nSUlXE/XT/4HgnXclUS5nUR[U5 UR[RU5 UR[RU5 Mi g)Nr@r�rDr�c��grr$r$r#r r��3PatchTest.test_patch_multiple_failure.<locals>.func4rWr#)
r8r@rDrr4rurvrur�r�)rr`rar)�good�bad�additionalsr�s        r �test_patch_multiple_failure�%PatchTest.test_patch_multiple_failure$s����U�U�
��U�U�
��,�,�s�C��+��!$����|�|�C��a�(��!����l�l�3�	�1�-��&��� �;���3�K�*5�'�
�������n�d�3����S�U�U�J�/����S�U�U�J�/�4r#c�Z�[Rn[Rn[RnSn[R
"[SS5nSUl[R
"[SS5nSUl[R
"[SUS9nSUlXg/Xv/4H�nX�lUS5n	UR[U	5 UR[RU5 UR[RU5 UR[RU5 M� g)Nc��[S5er�r�r$r#r r��CPatchTest.test_patch_multiple_new_callable_failure.<locals>.crasherAr�r#r@r�rDrUrc��grr$r$r#r r��@PatchTest.test_patch_multiple_new_callable_failure.<locals>.funcPrWr#)r8r@rDrUrr4rurvrurKr�)
rr`rar]r�r)r�r�r�r�s
          r �(test_patch_multiple_new_callable_failure�2PatchTest.test_patch_multiple_new_callable_failure<s����U�U�
��U�U�
��w�w��	'��,�,�s�C��+��!$����|�|�C��a�(��!����l�l�3��G�<��"��� �;���3�K�*5�'�
�������i��.����S�U�U�J�/����S�U�U�J�/����S�W�W�l�3�4r#c��^^�[S[4SS05nU"5m[R"TSS9UU4Sj5nU"5 TR	TR
S5 g)Nr8�fish�tasty�nearly gone)r�c�>>�TRTRS5 g)Nr�)r�r�r�s��r r��=PatchTest.test_patch_multiple_string_subclasses.<locals>.test\s������S�X�X�}�5r#)r�strrr_r�r�)rr8r�rUs`  @r �%test_patch_multiple_string_subclasses�/PatchTest.test_patch_multiple_string_subclassesYsW����5�3�&�6�7�"3�4���e��	����-�	0�	6�
1�	6�	
��������7�+r#zunittest.mock.patch.TEST_PREFIXrUc�l�"SS[5n[R"USS5"U5nU"5nURUR5S5 URUR	5S5 URUR5S5 URUR
5S5 g)Nc�0�\rSrSrSrSrSrSrSrSr	g)	�-PatchTest.test_patch_test_prefix.<locals>.Fooifr�c��UR$r�rzrCs r �foo_one�5PatchTest.test_patch_test_prefix.<locals>.Foo.foo_onei����z�z�!r#c��UR$rr�rCs r �foo_two�5PatchTest.test_patch_test_prefix.<locals>.Foo.foo_twokr�r#c��UR$rr�rCs r rU�6PatchTest.test_patch_test_prefix.<locals>.Foo.test_onemr�r#c��UR$rr�rCs r rQ�6PatchTest.test_patch_test_prefix.<locals>.Foo.test_twoor�r#r$N)
r%r&r'r(rzr�r�rUrQr)r$r#r r8r�fs���E�
"�
"�
"�
"r#r8rz�changedr�)r4rr�r�r�rUrQ)rr8rUs   r �test_patch_test_prefix� PatchTest.test_patch_test_prefixds���
	"�&�
	"��l�l�3���3�C�8���e���������	�2��������	�2���������4���������4r#rFc�^�"U4SjS[5nSS0m[R"TSS9"U5nU"5nURUR	5SS05 URUR5SS05 URUR
5SS05 URUR5SS05 g)Nc�F>�\rSrSrU4SjrU4SjrU4SjrU4SjrSrg)�2PatchTest.test_patch_dict_test_prefix.<locals>.Fooi}c�>�[T5$r�r��r�the_dicts �r �bar_one�:PatchTest.test_patch_dict_test_prefix.<locals>.Foo.bar_one~�
����H�~�%r#c�>�[T5$rr�r�s �r �bar_two�:PatchTest.test_patch_dict_test_prefix.<locals>.Foo.bar_two�r�r#c�>�[T5$rr�r�s �r rU�;PatchTest.test_patch_dict_test_prefix.<locals>.Foo.test_one�r�r#c�>�[T5$rr�r�s �r rQ�;PatchTest.test_patch_dict_test_prefix.<locals>.Foo.test_two�r�r#r$N)	r%r&r'r(r�r�rUrQr))r�s�r r8r�}s���
&�
&�
&�
&�
&r#r8�keyr�r�)r)r4rr�r�r�r�rUrQ)rr8rUr�s   @r �test_patch_dict_test_prefix�%PatchTest.test_patch_dict_test_prefix{s����	&�&�	&��:�&���j�j��y�1�#�6��
�U����������	�(:�;���������	�(:�;��������%��)<�=��������%��)<�=r#c��SH�n[S[-40US0D6nUR5nURS[	U55 URS[	UR
55 URS[	U"555 URS[	U"5R
55 UR
5 M� g!UR
5 f=f)N�r�r�rr�Tz name='SomeClass'z! name='SomeClass.class_attribute'z name='SomeClass()'z# name='SomeClass().class_attribute')rr%r&rr�r�r()rr=r+rns    r �test_patch_with_spec_mock_repr�(PatchTest.test_patch_with_spec_mock_repr�s���3�C��n�x�/�?�C��;�?�A����	�A�
��
�
�1�4��7�;��
�
�A�"�1�#4�#4�5�7��
�
�3�T�!�#�Y�?��
�
�C�"�1�3�#6�#6�7�9�����4������s�B
C�Cc� �[SSS9nURS[URR	555 URS[UR5R	555 SSS5 g!,(df   g=f)N�#test.test_unittest.testmock.supportTr�z" name='support.SomeClass.wibble()'z$ name='support.SomeClass().wibble()')rrr�rr�)rrns  r �test_patch_nested_autospec_repr�)PatchTest.test_patch_nested_autospec_repr�sf��
�8�4�
H�A��M�M�>��q�{�{�1�1�3�4�
6��M�M�@��q�{�{�}�3�3�5�6�
8�I�
H�
H�s�A+A?�?
B
c��SGH�n[S[-40US0D6nUR5nUR5 [R"5/nURURU5 URURU5 URURR[	5/5 U"5nUR[	55 URURU5 UR5 UR[	5R55 URURU5 URUR[R"5/5 URURR[	5/5 URUR[R"5/5 UR5 GM� g!UR5 f=f)Nrr�T)
rr%r&r�rr��
mock_calls�method_calls�appendr()rr=r+rn�kallsr�s      r �test_mock_calls_with_patch�$PatchTest.test_mock_calls_with_patch�sZ��3�C��n�x�/�?�C��;�?�A����	�A�
����
�������� � ����u�5�� � �����7�� � ����!4�!4�t�v�h�?�������T�V�$�� � ����u�5��
�
�����T�V�]�]�_�-�� � ����u�5�� � ��!2�!2�T�[�[�]�O�D�� � ����!9�!9�D�F�8�D�� � ��!4�!4�t�{�{�}�o�F�����/4��.����s�F+G.�.Hc��[S5nUR[UR5 [	S5 [5nU[RS'SUl[S5nSUlUR5 UR5 SSS5 URWRS5 g!,(df   N+=f)N�
squizz.squozz�squizz�r�)rru�ImportErrorr&rr
r�r��squozzr(r�)r�p1rs   r �test_patch_imports_lazily�#PatchTest.test_patch_imports_lazily�s���
�?�
#�����+�r�x�x�0�
�X�
��V�F�$*�C�K�K��!��F�M���'�B��F�M��H�H�J��G�G�I��	
�������*��
�s�AB3�3
Cc��^^�"SS5m"U4SjS[5mU4SjnU"S5S5n[S5 [5nU[RS'UR[U5 SSS5 URTRS	[5 URTRS
S5 URTRSS
5 g!,(df   Np=f)Nc��\rSrSrSrSrg)�;PatchTest.test_patch_propagates_exc_on_exit.<locals>.holderi��NNNr$N)r%r&r'r(r�r)r$r#r �holderr�s��'�Hr#rc�*>�\rSrSrSU4Sjjr\rSrg)�APatchTest.test_patch_propagates_exc_on_exit.<locals>.custom_patchi�Nc�F>�[R"XX#5 XU4Tlgr)r�__exit__r�)r�etype�val�tbrs    �r r#�JPatchTest.test_patch_propagates_exc_on_exit.<locals>.custom_patch.__exit__�s�������S�5�"'�b�.��r#r$r)r%r&r'r(r#r(r))rs�r �custom_patchr!�s���
1��Dr#r(c�D>�[U5upT"X[SSSSS05	$)NF)rr)r�getterr�r(s   �r �with_custom_patch�FPatchTest.test_patch_propagates_exc_on_exit.<locals>.with_custom_patch�s/��� +�F� 3��F���7�D�%���d�B��
r#rc��[er)r9�r�s r r��9PatchTest.test_patch_propagates_exc_on_exit.<locals>.test�s���r#rrr�zexception value not propagatedr�z"exception traceback not propagated)
rrr
r�r�rur9r%r��assertIsNotNone)rr+r�rr(rs    @@r �!test_patch_propagates_exc_on_exit�+PatchTest.test_patch_propagates_exc_on_exit�s����	(�	(�	�6�	�	�
�?�	+�	�
,�	��X�
��V�F�$*�C�K�K��!����l�D�1�	�	
�
�
�f�o�o�a�(�,�7����V�_�_�Q�/�<�	>����V�_�_�Q�/�@�	B��
�s�4C�
C*c�^�[RR[RR[R
5SS5nSnU4Sjn[
SS5 [U5 U"S5 U"S5 SSS5 SSS5 [
SS5 [U5 U"S	5 U"S
5 SSS5 SSS5 [
SS5 [U5 U"S5 U"S5 U"S5 U"S5 U"S5 U"S5 SSS5 SSS5 [
SS5 [U5 U"S5 U"S5 U"S	5 U"S
5 U"S5 U"S5 SSS5 SSS5 g!,(df   GN=f!,(df   GN
=f!,(df   N�=f!,(df   N�=f!,(df   N�=f!,(df   N�=f!,(df   N=f!,(df   g=f)
N�test_importrpc�Z�[U5nUR5 UR5 gr�rr&r(�rr+s  r �check�>PatchTest.test_name_resolution_import_rebinding.<locals>.check�����d��A�
�G�G�I�
�F�F�Hr#c�\>�[U5nTR[UR5 gr�rrur�r&�rr+rs  �r �check_error�DPatchTest.test_name_resolution_import_rebinding.<locals>.check_error�� ����d��A����n�a�g�g�6r#�package3zpackage3.submodulezpackage3.submodule.A.attrzpackage3.submodule.B.attrzpackage3.submodule:A.attrzpackage3.submodule:B.attrzpackage3:submodule.B.attrzpackage3:submodule.A.attr�r�path�join�dirnamer��__file__rr�rrCr8r>s`   r �%test_name_resolution_import_rebinding�/PatchTest.test_name_resolution_import_rebinding�s����
�w�w�|�|�B�G�G�O�O�D�M�M�:�M�6�R��	�	7��Z�!5�
6�
�d�8K��-�.��3�4�9L�
6��Z�!5�
6�
�d�8K��-�.��3�4�9L�
6��Z�!5�
6�
�d�8K��-�.��3�4��-�.��3�4��-�.��3�4�
9L�
6��Z�!5�
6�
�d�8K��-�.��3�4��-�.��3�4��-�.��3�4�
9L�
6�
6�9L�8K��
6�
6��9L�8K��
6�
6��9L�8K��
6�
6��9L�8K��
6�
6���#F�/E<�F�F1�(F �9F1�G�!1G�G�.G5�:1G$�+G5�<
F	�F�
F� 
F.	�*F1�1
F?�
G	�G�
G!�$
G2	�.G5�5
Hc�^�[RR[RR[R
5SS5nSnU4Sjn[
SS5 [U5 U"S5 U"S5 SSS5 SSS5 [
SS5 [U5 U"S	5 U"S
5 SSS5 SSS5 [
SS5 [U5 U"S5 U"S5 U"S5 U"S5 U"S5 U"S5 SSS5 SSS5 [
SS5 [U5 U"S5 U"S5 U"S	5 U"S
5 U"S5 U"S5 SSS5 SSS5 g!,(df   GN=f!,(df   GN
=f!,(df   N�=f!,(df   N�=f!,(df   N�=f!,(df   N�=f!,(df   N=f!,(df   g=f)
Nr4rpc�Z�[U5nUR5 UR5 grr6r7s  r r8�?PatchTest.test_name_resolution_import_rebinding2.<locals>.checkr:r#c�\>�[U5nTR[UR5 grr<r=s  �r r>�EPatchTest.test_name_resolution_import_rebinding2.<locals>.check_errorr@r#�package4zpackage4.submodulezpackage4.submodule.A.attrzpackage4.submodule.B.attrzpackage4.submodule:A.attrzpackage4.submodule:B.attrzpackage4:submodule.B.attrzpackage4:submodule.A.attrrBrGs`   r �&test_name_resolution_import_rebinding2�0PatchTest.test_name_resolution_import_rebinding2s����w�w�|�|�B�G�G�O�O�D�M�M�:�M�6�R��	�	7��Z�!5�
6�
�d�8K��-�.��3�4�9L�
6��Z�!5�
6�
�d�8K��-�.��3�4�9L�
6��Z�!5�
6�
�d�8K��-�.��3�4��-�.��3�4��-�.��3�4�
9L�
6��Z�!5�
6�
�d�8K��-�.��3�4��-�.��3�4��-�.��3�4�
9L�
6�
6�9L�8K��
6�
6��9L�8K��
6�
6��9L�8K��
6�
6��9L�8K��
6�
6�rJc��SH�n[S[-4SS0US0D6nUR[UR5 UR[
S5 [[4SS0US0D6nUR	5 UR5 M� g)N�r�rr�z%s.doesnotexistrBTc��[$r)�doesnotexistr$r#r r��1PatchTest.test_create_and_specs.<locals>.<lambda>;s��r#)rr%rurvr&rK�MODNAMEr()r�kwargr+s   r �test_create_and_specs�PatchTest.test_create_and_specs6s���5�E��'�(�2�'�4�'���
�'�A����i����1����i�)=�>��g�<�d�<�u�d�m�<�A�
�G�G�I�
�F�F�H�6r#c��[nSHMn[[4SS0US0D6nUR[UR
5 UR
[U5 MO SHMn[[4SS0US0D6nUR[UR
5 UR
[U5 MO SHMn[[4SS0US0D6nUR[UR
5 UR
[U5 MO g)Nrr�r�r�r�r)rr�r�)r�rrXrurvr&r%)rr�rYr+s    r �test_multiple_specs�PatchTest.test_multiple_specsCs�����)�E��g�8��8�e�Q�Z�8�A����i����1��M�M�(�H�-�*�
*�E��g�8��8�e�Q�Z�8�A����i����1��M�M�(�H�-�*�
.�E��g�4�A�4�%���4�A����i����1��M�M�(�H�-�.r#c��[[SSSS9nUR5nUR SUlUR	5 g!UR	5 f=f)NFrTr�)rrXr&�does_not_existr()rr+r�s   r � test_specs_false_instead_of_none�*PatchTest.test_specs_false_instead_of_noneUsF���'����F���w�w�y��	����"#�D��
�F�F�H��A�F�F�H�s�A�Ac���SHRn[[40US0D6nUR5nUR[[
US5 UR
5 MT g!UR
5 f=f)Nrr�doesnotexit)rrXr&rur�rr(�rrYr+rns    r �test_falsey_spec�PatchTest.test_falsey_spec`sY��5�E��g�,�%���,�A����	�A�
��!�!�.�'�1�m�L�����
6������s�A�A,c��SHqn[[4SS0US0D6nUR5nUR[[
USS5 UR[[US5 UR5 Ms g!UR5 f=f)Nr]rTrVr�)rrXr&rur�r,rr(rfs    r �test_spec_set_true�PatchTest.test_spec_set_truejsw��)�E��g�>��>���
�>�A����	�A�
��!�!�.�'�1�"0�+�?��!�!�.�'�1�n�M�����*������s�9A9�9Bc���Sn[[US9nUR5nUR[	U55 UR5 g!UR5 f=f)N)�__call__r�)rrXr&rw�callabler(�rr�r+rns    r �test_callable_spec_as_list�$PatchTest.test_callable_spec_as_listvsF�����'��%��
�G�G�I��	��O�O�H�Q�K�(�
�F�F�H��A�F�F�H���A
�
Ac���Sn[[US9nUR5nUR[	U55 UR5 g!UR5 f=f)Nr
r�)rrXr&rxrnr(ros    r �test_not_callable_spec_as_list�(PatchTest.test_not_callable_spec_as_list�sH�����'��%��
�G�G�I��	����X�a�[�)�
�F�F�H��A�F�F�H�rrc�\^^^�[Rm[Rm[Rn[	S[
5R
5 [	S[5R
5 [	S5UUU4Sj5nU"5 TR[RU5 g)N�	os.unlink�os.chdirzos.pathc��>�[R"5 TR[RU5 TR[R
T5 TR[RT5 gr)r�stopallr%rrC�unlink�chdir)�	mock_pathr|rr{s ���r r��-PatchTest.test_patch_stopall.<locals>.patched�sB����M�M�O��M�M�"�'�'�9�-��M�M�"�)�)�V�,��M�M�"�(�(�E�*r#)	rr{r|rCrr�r&r�r%)rrCr�r|r{s`  @@r �test_patch_stopall�PatchTest.test_patch_stopall�st������������w�w��
�k�9�%�+�+�-�
�j�.�)�/�/�1�	�y�	�	+�
�	+�	�	��
�
�b�g�g�t�$r#c��^^�/m"SS[5mUU4SjnSVs/sHo!"U5R5PM  n[R"5 UR	T/SQ5 gs snf)Nc� �\rSrSrS=r=rrSrg)�*PatchTest.test_stopall_lifo.<locals>.thingi�Nr$)r%r&r'r(�one�two�threer)r$r#r rzr��s�� $�$�C�$�#�r#rzc�X>^^�"UUU4SjS[5mT"U4SjTSSSSSS05	$)Nc�0>^�\rSrSrUUUU4SjrSrU=r$)�?PatchTest.test_stopall_lifo.<locals>.get_patch.<locals>.mypatchi�c�B>�TRT5 [TU]5$r)r�superr()r�	__class__r��mypatch�stoppeds ����r r(�DPatchTest.test_stopall_lifo.<locals>.get_patch.<locals>.mypatch.stop�s����N�N�9�-� ��$�4�6�6r#r$)r%r&r'r(r(r)�
__classcell__)r�r�r�r�s@���r r�r��s
���7�7r#r�c�>�T$rr$r�s�r r��@PatchTest.test_stopall_lifo.<locals>.get_patch.<locals>.<lambda>�s���5r#F)r)r�r�r�rzs`@��r �	get_patch�.PatchTest.test_stopall_lifo.<locals>.get_patch�s6���
7�
7�&�
7��=�)�T�4� �$��d�B�8�
8r#)r�r�r�)r�r�r�)r4r&rrzr�)rr�r%r�rzs   @@r �test_stopall_lifo�PatchTest.test_stopall_lifo�s]�����	%�F�	%�	8�,C�C�+B�C��3��	�	�	�+B�C�
�
�
������"9�:��	Ds�A*c�`^�0nSS0nSSS.mUR5nUR5nTR5n[R"USSS.5R5 [R"USS	05R5 [R"T5U4S
j5nU"5 UR	X5 UR	X$5 URTU5 [R"5 URX5 URX$5 URTU5 g)Nr�r<�A�B�r�r��I�IIr�rZc�>�TS	gr�r$)�dic3s�r r��2PatchTest.test_patch_dict_stopall.<locals>.patched�s
����Q�r#)r�rr�r&r�r�rz)r�dic1�dic2�origdic1�origdic2�origdic3r�r�s       @r �test_patch_dict_stopall�!PatchTest.test_patch_dict_stopall�s�������3�x���3����9�9�;���9�9�;���9�9�;��
�
�
�4�S�T�*�+�1�1�3�
�
�
�4�!�S��"�(�(�*�	���D�	�	�
�	�	�	����D�+����D�+�����x�(�
�
�
������(�����(�����x�(r#c�Z�[Rn[Rn0nSSS.nUR5nUR5n[	S[
5R
5 [	S[5R
5 [R"USSS.5R
5 [R"U5R
5 US	UR[RU5 UR[RU5 URX55 URXF5 [R"5 UR[RU5 UR[RU5 URX55 URXF5 g)	Nr�r�r�rwrxr�r�r�)rr{r|r�rr�r&r�r�r'r�rzr%r�)r�original_unlink�original_chdirr�r�r�r�s       r �!test_patch_and_patch_dict_stopall�+PatchTest.test_patch_and_patch_dict_stopall�s$���)�)���������3����9�9�;���9�9�;��
�k�9�%�+�+�-�
�j�.�)�/�/�1�
�
�
�4�S�T�*�+�1�1�3�
�
�
�4���� ���G�������O�4�������>�2����D�+����D�+�
�
�
���
�
�b�i�i��1��
�
�b�h�h��/�����(�����(r#c��SSjn[R"USS5 URU"5S5 SSS5 URU"5S5 URn[R"USS5 URURS5 SSS5 URURU5 [R"USS	5 URURS	5 SSS5 URUR[
5 [R"US
[
S/55 URUR[
S/55 SSS5 URUR[
55 SS.S
jn[R"US[
S/55 URU"5S5 SSS5 URU"5S5 g!,(df   GN�=f!,(df   GNp=f!,(df   GN)=f!,(df   N�=f!,(df   Nm=f)Nrc��U$rr$�rCs r rU�)PatchTest.test_special_attrs.<locals>.foo�s���Hr#�__defaults__)r�r��__doc__�FUNr&�
testpatch2�__annotations__)�sr�r�c��U$rr$)rCr<s  r rUr��s���Hr#�__kwdefaults__)rCr�)r)rr4r�r�r&r%r�r�)rrU�orig_docs   r �test_special_attrs�PatchTest.test_special_attrs�s���	��\�\�#�~�u�
5����S�U�A�&�6�������"��;�;��
�\�\�#�y�%�
0����S�[�[�%�0�1�������h�/�
�\�\�#�|�\�
:����S�^�^�\�:�;��������2�
�\�\�#�0�$�
�|�2D�
E����S�0�0�$�
�|�2D�E�F�����,�,�d�f�5��	�
�\�\�#�/��z�l�1C�
D����S�U�A�&�E�������"�+6�
5��
1�
0��;�
:��F�
E��E�
D�s;�G-�9G?�H�9'H#�5H4�-
G<�?
H�
H �#
H1�4
Ic��[5n[5US'SUS'UR5n[[	S[S555n[UR
55U-n[R"U[U55 UR[UR
55U5 SSS5 URX5 [R"X5 UR[UR
55U5 SSS5 URX5 g!,(df   Ny=f!,(df   N1=f)Nr<�pythonrZ�cdefghijklmnopqrstuvwxyz�)
rr4r�r��zip�range�itemsrr�r�)rrUr��
update_values�patched_valuess     r �test_patch_orderdict�PatchTest.test_patch_orderdict�s����m���8��C����C���8�8�:���S�!;�U�2�Y�G�H�
��c�i�i�k�*�]�:��
�Z�Z��[��7�
8����T�#�)�)�+�.��?�9�	
����'�
�Z�Z��
+����T�#�)�)�+�.��?�,�	
����'�9�
8��
,�
+�s�*D$� *D5�$
D2�5
Ec�$�SSKn[R"S5 [RS	[RS	[RS	[RS	[S5S5nU"5 SSS5 g!,(df   g=f)	Nrzsys.modulesrztest.test_unittest.testmockztest.test_unittestr��%test.test_unittest.testmock.support.Xc��grr$r.s r r��9PatchTest.test_dotted_but_module_not_loaded.<locals>.tests��r#)�#test.test_unittest.testmock.supportrr�r�r�r�s  r �!test_dotted_but_module_not_loaded�+PatchTest.test_dotted_but_module_not_loaded
sq��	3�
�Z�Z�
�
&����A�B����9�:����0�1����F�#��:�
;�
�<�
��F�'�
&�
&�s�AB�
Bc��"SS5nSSU"54HDnURUS9 UR[5 [U5 SSS5 SSS5 MF g!,(df   N=f!,(df   Mi=f)Nc��\rSrSrSrg)�*PatchTest.test_invalid_target.<locals>.Fooi!r$Nr8r$r#r r8r�!r:r#r8��)r)�subTestrurvr)rr8rs   r �test_invalid_target�PatchTest.test_invalid_target s`��	�	��2�s�u�o�F����V��,��&�&�y�1��&�M�2�-�,�&�1�1��-�,�s"�A/�A�	A/�
A,�(A/�/
A>	c��[S[5SS9S5nUR[5 U"5 SSS5 g!,(df   g=f)Nr�r�)r�rCc��grr$r$r#r r��@PatchTest.test_cant_set_kwargs_when_passing_a_mock.<locals>.test+s��r#)rr4rurvr�s  r �(test_cant_set_kwargs_when_passing_a_mock�2PatchTest.test_cant_set_kwargs_when_passing_a_mock*s<��	�6�F�H��	J��
K��
�
�
�y�
)��F�*�
)�
)�s�A�
Ac�B�[S[5S9S5nU"5 g)Nz%test.test_unittest.testmock.support.grc��grr$)�_s r r��/PatchTest.test_patch_proxy_object.<locals>.test1r�r#)rrr�s  r �test_patch_proxy_object�!PatchTest.test_patch_proxy_object0s&��	�6�Y�[�	Q�	�
R�	�	
�r#r$N�T)}r%r&r'r(r{r�r�r�r�r�r�r�r�r�rrrr"r.r5r=rLrRrZr`rtr�r�r�r�r�r�r�r�r�r�r�r�r�rr
rr"r*r0r3r6r:r=r@rHrLrTrWrfr{r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrr'r,r0r3r>rFrYrdrgrprwr�r�r�r�r�r�r�r�r�r�r�rr�rrr	rrr1rHrQrZr^rbrgrjrprtrr�r�r�r�r�r�r�r�r�r)r$r#r rrrrWs���:�
/�6�

/�/�(!�(>�V	0�'-�T�	��	��	�	��6�8�6�4�.�(6�,�0�/�,/�4
/� (�B/�6(�>/�4*�	:�
"��&�"0�20�
+�*�*���;��/�&
+�&�&�&�>4�$4�$
3�
3�)�@�F�($�-�-�?�?�4�
��
�9�
)�
)���*�
�
��&
&� %�*�>;�
,�&,�*(,�V,�2,�B/�
� �$0�24�<0�04�:,��,�e�4�5�5�5�,�,�e�4�>�5�>�*�8��6
+�B�D 5�D5�>
�.�$��	���%�";�")�4)�2#�6(�&�&"��r#rr�__main__r�)-rr��collectionsrr�r��test.test_unittest.testmockrr�rr�test.support.import_helperr�test.test_importlib.utilr�
unittest.mockr	r
rrr
rrrrrrr�r�r%r�rXr6r�r�r�r�r4r8r.r[r]�TestCaserr�mainr$r#r �<module>r�s���

�
�#���/�F�4�,��������;�;�x� ��
�(�
"����
�
�	��(�(��
�&�
��h�����!��!�$^��!�!�^�B?�z���M�M�O�r#

Youez - 2016 - github.com/yon3zu
LinuXploit