403Webshell
Server IP : 121.121.20.254  /  Your IP : 216.73.216.146
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:/Python315/Lib/test/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : C:/Python315/Lib/test/__pycache__/test_tempfile.cpython-315.opt-1.pyc
R
>lqj�9c��]PHs]PHs]PHs]PHs]PHs]PHs]PHs]PHs]PH s]PH$s	]PH(s
]PH,s]PH0s]PH4s
]PH8s]QH<Gs]PH<s]QHDGs]QHLGs]QHLGs]QHLGs\O.\O06gs\\Q2s\O8O;Q2%c]0sL]dsQQ	\O>2s Q
Q\O>2s!QQ
\!2s"QQ\!2s#QQ\!2s$QQ\!2s%QQ\!2s&\ONQ2s(Qs)QQ2s*QQ\*\!2s+QQ\!2s,QQ\!2s-Q Q!\!2s.Q"Q#\*\!2s/Q$Q%\!2s0Q&Q'\!2s1Q(Q)\!2s2\Of\OhIcQ*Q+\!2s5Q,Q-2s6Q.Q/\!2s7\8Q06Xc\Or2P!P!)1�)�mock)�support)�	os_helper)�
script_helper)�warnings_helper�spawnl�openbsdc�@`�\sQs](snQsQsQsQsQsQs	Us
P!)�TestLowLevelInternalsc��UO[[OP22UO[[OQ22UO[[OP22P!���)�assertIs�str�tempfile�_infer_return_type�bytes��selfs&�'C:\Python315\\Lib\test\test_tempfile.py�test_infer_return_type_singles�4TestLowLevelInternals.test_infer_return_type_singles)sM���
�
�c�8�6�6�r�:�;��
�
�e�X�8�8��=�>��
�
�c�8�6�6�t�<�=rc��UO[[OPP22UO[[OQQ22UO[29^tt^2[OPQ2PPP2UO[29^tt^2[OQP2PPP2P!)%fhKO9h)%fhP!9hr�rrrrr�assertRaises�	TypeErrorrs&r� test_infer_return_type_multiples�6TestLowLevelInternals.test_infer_return_type_multiples.s����
�
�c�8�6�6�r�2�>�?��
�
�e�X�8�8��c�B�C�
�
�
�y�
)�
)��'�'��C�0�*�
�
�
�y�
)�
)��'�'��R�0�*�
)�*�
)��
)�
)�
)�s$�5C�2C'�C$	�C$	�'C8	�0C8	c��UO[[OPP22UO[[OPP22UO[[OPP22UO[[OQP22UO[[OPQ22UO[29^tt^2[OPPQ2PPP2UO[29^tt^2[OQPP2PPP2P!)%fhKP9h)%fhP!9h)Nrrrs&r�)test_infer_return_type_multiples_and_none�?TestLowLevelInternals.test_infer_return_type_multiples_and_none6s����
�
�c�8�6�6�t�R�@�A��
�
�c�8�6�6�r�4�@�A��
�
�c�8�6�6�t�T�B�C��
�
�e�X�8�8��d�C�D��
�
�e�X�8�8��s�C�D�
�
�
�y�
)�
)��'�'��D�#�6�*�
�
�
�y�
)�
)��'�'��T�2�6�*�
)�*�
)��
)�
)�
)�s$�6E�4E*�E'	� E'	�*E;	�3E;	c��UO[[O[O
Q222P!)�/)rrrrr�FakePathrs&r�test_infer_return_type_pathlib�4TestLowLevelInternals.test_infer_return_type_pathlibAs&���
�
�c�8�6�6�y�7I�7I�#�7N�O�Prc	���[OoUO[[O
UQ222UO[[O
UQ222UO[[O
PUP222UO[[O
QUQ222UO[[O
PUQ222UO[[O
PUP222UO[29^tt^2[O
PUQ22PPP2UO[29^tt^2[O
QUP22PPP2P!)%fhKU9h)%fhP!9h)r#�/r)	rr$rrrrrrr)r�Paths& r�test_infer_return_type_pathlike�5TestLowLevelInternals.test_infer_return_type_pathlikeDs-���!�!���
�
�c�8�6�6�t�C�y�A�B��
�
�e�X�8�8��d��D�E��
�
�c�8�6�6�r�4��8�D�E��
�
�e�X�8�8��d�3�i�H�I��
�
�e�X�8�8��t�C�y�I�J��
�
�c�8�6�6�t�T�"�X�F�G�
�
�
�y�
)�
)��'�'��D��I�6�*�
�
�
�y�
)�
)��'�'��T�"�X�6�*�
)�*�
)��
)�
)�
)�s$�F>�G�>G	�G	�G"	�G"	�)�__name__�
__module__�__qualname__�__firstlineno__rrr r%r*�__static_attributes__�__classdictcell__��
__classdict__s@rr
r
(s$����>�
1�	7�Q�7�7rr
c�v`�\sQs]Tsn\O
Q2s\O
Q2sQsQs	Qs
UsP!)�BaseTestCasez^[a-z0-9_-]{8}$s^[a-z0-9_-]{8}$c��UO[O22[OQ[
Q[Q5P!)�ignore�mktemp)�category�message�module)�enterContextr�check_warnings�warnings�filterwarnings�RuntimeWarningr-rs&r�setUp�BaseTestCase.setUpYs1�����/�8�8�:�;�����>�(0��	Crc���[OOU2vqVUP[U2oU[U2[U2*
PoUdZSO	[U2[U2[If![U[O2%c[L[Q2Ud:SO	[U2[U2[Ic[L[Q2Ud:SO	[U2[U2[Ic[L[Q2V#U1Q	6Xc!UO	[U2[Q2UO[OOU2[OOU2QU8QU802UOVsQU8QU802UOV�QU8QU802U[U2[U2[U2*
o[U[2%c
UOLUOo	UOU	OU2QU8QU	O 802P!)
Nzunexpected return typezdefault return type must be strzfile z not in directory z does not begin with z does not end with zrandom characters z do not match �NNN)�os�path�split�lenr�typer�
isinstance�PathLiker�assertEqual�abspath�	str_check�b_check�
assertTrue�match�pattern)
r�name�dir�pre�suf�ndir�nbase�npre�nsuf�checks
&&&&&     r�	nameCheck�BaseTestCase.nameCheck^s������
�
�d�+�
���i�s�3�x� ���c�%�j��S��)�*�+���?��M�M��T�
���9��#�z�#�r�{�{�'C�'C���(�
��?��M�M�$�t�*�T�#�Y�#�-=�c�5�2�
4��?��M�M�$�t�*�T�#�Y�#�-=�c�5�2�
4��c�?�0�0��M�M�$�t�*�c�+L�M�	
���������.�������0D�:>��D�	F�����s�=B�C�H�	J�����s�;@�#�F�	H��c�#�h�s�5�z�#�c�(�2�3��",�U�C�"8�"8����d�l�l��������E�*� �%�-�-�1�	2rr,)r-r.r/r0�re�compilerOrPrBr]r1r2r3s@rr6r6Ts3�����
�
�-�.�I��j�j�,�-�G�C�
"2�"2rr6c�(`�\sQs]�snQsQsUsP!)�TestExportsc��[OoQ]Q]Q]Q]Q]Q]Q]Q]Q]Q	]Q
]Q]Q]Q
]-o,oSFD,oU]*Q6wfJVB7fJUOU2J.	UO[	U2]6HQU*2P!)�NamedTemporaryFile�
TemporaryFile�mkstemp�mkdtempr9�TMP_MAX�
gettempprefix�gettempprefixb�
gettempdir�gettempdirb�tempdir�template�SpooledTemporaryFile�TemporaryDirectory�_zunexpected keys: %s)r�__dict__�appendrQrI)r�dict�expected�unexp�keys&    r�test_exports�TestExports.test_exports�s���� � ��
!�1��a������q����a��q��1��A�����"�Q� �1�
��"���C��1�v��}��!4����S�!��	
����E�
�a��-��5�	7rr,)r-r.r/r0rxr1r2r3s@rrbrb�s����7�7rrbc�x``�\sQs]�snQsU1QksQsQsQs\	O2Q2sQsUs
U9s!)�TestRandomNameSequencez6Test the internal iterator object _RandomNameSequence.c�Z:�[O2Um[RU_2P!�N)r�_RandomNameSequence�r�superrB�r�	__class__s&�rrB�TestRandomNameSequence.setUp�s����-�-�/���
��
�rc�Z�[UO2oUOUPPP2P!�r
)�nextrr])r�ss& r�test_get_eight_char_str�.TestRandomNameSequence.test_get_eight_char_str�s!������L�����q�"�b�"�%rc��-oUOo[[2FD7o[U2oUO	UPPP2UOVA2]V$J9	P!r�)r�range�
TEST_FILESr�r]�assertNotIn)rrtr�ir�s&    r�	test_many� TestRandomNameSequence.test_many�sQ�����F�F���z�"�A��Q��A��N�N�1�b�"�b�)����Q�%��D�G�	#rc�`�]oUOoSFDoU]*
oU]6XfJP!	P!�r�r)rr�rr�s&   r�
supports_iter�$TestRandomNameSequence.supports_iter�s/��
���F�F���A�
��F�A��B�w��rc�P�[O2vqPo[O2oU%f|[OU2[OU[UO2OQ22[OU2[O]2[UO2o[OU[U22OQ2oU%c[OU]Q5[OU2[OU2UOVT2P!S%c[OS]Q5[OS2[OS2h9h)N�ascii)�exitcode)rF�pipe�fork�close�writer�r�encode�_exit�readrI�decoder�wait_process�assertNotEqual)r�read_fd�write_fd�pid�parent_value�child_values&     r�test_process_awareness�-TestRandomNameSequence.test_process_awareness�s���G�G�I�����	��'�'�)�C������!�����4����<�#6�#6�w�#?�@�����"������ ����<�L��'�'�'�3�|�+<�=�D�D�W�M�K���$�$�S�1�5��H�H�W���H�H�X�����K�6����$�$�S�1�5��H�H�W���H�H�X��s�E�B?E�F%� AF%r�)r-r.r/r0�__doc__rBr�r�r�r�
requires_forkr�r1r2�
__classcell__�r�r4s@@rr{r{�s>����@��&�
	��
����7��7�7rr{c�2`�\sQs]�snQsQsQsQsUsP!)�TestCandidateTempdirListz3Test the internal function _candidate_tempdir_list.c��[O2oUO[U2]6H2SFDoUO	U[
2J	P!r�)r�_candidate_tempdir_list�assertFalserI�assertIsInstancer)r�cand�cs&  r�test_nonempty_list�+TestCandidateTempdirList.test_nonempty_list�sB���/�/�1������T��a��(��A��!�!�!�S�)�rc�V�[O29^tt^2oQFDDo[OU2oU%cJ#[OOU2V$JF	[O2oQFD8o[OU2oU%f[gUOV42J:	[O2oUOV42PPP2P![[1c[OoK>h9h)%fhP!9h)�TMPDIR)r��TEMP�TMP)r�EnvironmentVarGuardrF�getenvrGrNrr��
ValueError�assertIn�getcwd�AttributeError�OSError�curdir)r�env�envname�dirnamer�s&    r�test_wanted_dirs�)TestCandidateTempdirList.test_wanted_dirs�s����
*�
*�
,�
,��2���)�)�G�,���w�#%�7�7�?�?�7�#;�C�L�3�
�3�3�5�D�2���)�)�G�,���j� 0��
�
�g�,�3�

$��)�)�+��
�M�M�'�(�%-�
,��#�G�,�
$��)�)��
$��-�
,�
,�sH�"D�AD�$D�C0�D�0D�D�D�D�D�D(	� D(	r,)	r-r.r/r0r�r�r�r1r2r3s@rr�r��s����=�*�)�)rr�c�,`�\sQsQsnQsQsQsUsP!)�TestGetDefaultTempdir�
zTest _get_default_tempdir().c
�V`�[O29^tt^2nU1Qko[O[QU29^tt^2[O2UO[OR2,2Qo[O[QU29^tt^2UO[29^tt^2[O2PPP2UO[OR2,2PPP2[O[QU29^tt^2UO[29^tt^2[O2PPP2UO[OR2,2PPP2PPP2PPP2P!)%fhK�9h)%fhK�9h)%fhKv9h)%fhK[9h)%fhKf9h)%fhP!9h)c�:�R,!r}r,)�our_temp_directorys�r�our_candidate_list�KTestGetDefaultTempdir.test_no_files_left_behind.<locals>.our_candidate_lists���*�+�+rr�c��[2gr})r�)�args�kwargss*,r�
raise_OSError�FTestGetDefaultTempdir.test_no_files_left_behind.<locals>.raise_OSErrors	��!�)�Or�openr�)
rrpr�	swap_attr�_get_default_tempdirrMrF�listdirr�FileNotFoundError)rr�r�r�s&  @r�test_no_files_left_behind�/TestGetDefaultTempdir.test_no_files_left_behind
sb���
�
(�
(�
*�
*�.@�
,��"�"�8�-F�#5�7�7��-�-�/�� � ����,>�!?��D�$��&�&�r�6�=�A�A��*�*�+<�=�=� �5�5�7�>��$�$�R�Z�Z�0B�%C�R�H�	B��&�&�r�7�M�B�B��*�*�+<�=�=� �5�5�7�>��$�$�R�Z�Z�0B�%C�R�H�	C�7�+�
*� >�=��B�A��>�=��C�B��7�7��+�
*�
*�s��+H�A#H	�.G
�F8�".G
�,H	�<G1
�G�0.G1
�H	�&H�8G�G�G
�G�G�H	�G.�'G.�)G1
�1H�:H�<H	�H
�
H
�H�H(	� H(	r,)r-r.r/r0r�r�r1r2r3s@rr�r�
s����&�I�Irr�c�2`�\sQsQsnQsQsQsQsUsP!)�TestGetCandidateNames�*z0Test the internal function _get_candidate_names.c�r�[O2oUOU[O2P!r})r�_get_candidate_namesr�r~)r�objs& r�test_retval�!TestGetCandidateNames.test_retval-s&���+�+�-�����c�8�#?�#?�@rc��[O2o[O2oUOVI2P!r})rr�rQ)r�a�bs&  r�test_same_thing�%TestGetCandidateNames.test_same_thing2s,���)�)�+���)�)�+�������rr,)	r-r.r/r0r�r�r�r1r2r3s@rr�r�*s����:�A�
 � rr�c#�( �[O2o[O[QU29^tt^2Pw�PPP2[O
U2P!)%fhK(9h[O
S2h9h3h)rm)rrgrr�r�rmtree�rUs r�_inside_empty_temp_dirr�:s^���
�
�
�
�C��
�
�
�x��C�
8�
8��9�	�����9�
8��	�����s9�B�$A7�A$�A7�B�$A4	�-A4	�/A7�7B�Bc�F`�[O[QU1Qk2!)r�c�:�[R2!r})�iter��namess�r�<lambda>�'_mock_candidate_names.<locals>.<lambda>Gs	���T�%�[r)rr�rr�sjr�_mock_candidate_namesr�Ds������X�3�0�2�2rc�4`�\sQsQsnQsQsQsQsUsP!)�TestBadTempdir�Jc
�(�[29^tt^2[OO[O
Q2o[OQ6XcVQ[O
QQ,o[O]6�cPL[Oo[OUP	UQ5L�[O[O
2O9qEU[O[O*[O *&*o[O"o[O$[O
U2[O&U2[O(U2UO+Q2UO/[,29^tt^2UO12PPP2[OQ6Xc/Q[O
QQ,o[OUP	WQ5L&[O$[O
W2UO3[O4[O
2,2PPP2P![,cK�h9h)%fhK�9h[OQ6Xc/Q[O
QQ,o[OSP	WQ5h[O$[O
W2h9h)%fhP!9h)	�probe�nt�icaclsz/denyz*S-1-1-0:(W))r\�stdoutz!can't set the directory read-onlyz/grant:rz*S-1-1-0:(M))r�rFrG�joinrrmrTr�verbose�
subprocess�DEVNULL�run�stat�st_mode�S_IWUSR�S_IWGRP�S_IWOTH�S_IREAD�chmod�mkdir�rmdir�skipTest�PermissionErrorr�	make_temprMr�)rr��cmdr��oldmode�modes&     r�test_read_only_directory�'TestBadTempdir.test_read_only_directoryKs���
#�
%�
%��G�G�L�L��!1�!1�7�;�E��w�w�$�� ��!1�!1�7�N�K��!(���1�!4��*�:L�:L�����s�$�v�>�!#����)9�)9�!:�!B�!B�B���$�,�,����5����D�E�E���|�|������)�)�4�0�
8�G��H�H�U�O��H�H�U�O��M�M�"E�F��&�&��7�7��N�N�$�8��7�7�d�?�$�X�%5�%5�z�>�R�C��N�N�3�d�6�B��H�H�X�-�-�w�7����R�Z�Z��(8�(8�9�2�>�E&�
%��"'�����8�7���7�7�d�?�$�X�%5�%5�z�>�R�C��N�N�3�d�6�B��H�H�X�-�-�w�7��C&�
%�
%�s��AL�(L�CL�I/�+AJ�/J	�J�L�BL�/	I=�9I=�:J�<I=�=J�J
�	J
�J�K=�)AK=�=L�L	�	L	c���[29^tt^2[OO[O
Q2o[O[QU29^tt^2UO[29^tt^2UO2PPP2PPP2PPP2P!)%fhK"9h)%fhK-9h)%fhP!9h)�nonexistentrm)r�rFrGr�rrmrr�rr�r�rrms& r�test_nonexisting_directory�)TestBadTempdir.test_nonexisting_directoryps���
#�
%�
%��g�g�l�l�8�#3�#3�]�C�G��"�"�8�Y��@�@��&�&�'8�9�9��N�N�$�:�A�&�
%�:�9��A�@��&�
%�
%�sN�AC�'C	�B0
�C	�C�0C�9C�;C	�C
�C
�C�C'	�C'	c��[29^tt^2[OO[O
Q2o[
UQ2O2[O[QU29^tt^2UO[[129^tt^2UO2PPP2PPP2PPP2P!)%fhK"9h)%fhK-9h)%fhP!9h)�file�wbrm)r�rFrGr�rrmr�r�rr�r�NotADirectoryErrorr�rrs& r�test_non_directory�!TestBadTempdir.test_non_directoryws���
#�
%�
%��g�g�l�l�8�#3�#3�V�<�G���$��%�%�'��"�"�8�Y��@�@��&�&�(:�<M�'N�O�O��N�N�$�P�A�&�
%�P�O��A�@��&�
%�
%�sN�A-C6�$C#	�%C
�6C#	�>C6�C �C �C#	�#C3
�,C3
�.C6�6D	�?D	r,)	r-r.r/r0rrrr1r2r3s@rr�r�Js����#?�J%�%�%rr�c�`�\sQsQsnQsQQ2sQQksQsQsQs	Q	s
\OQ
2s
\O\Q2\O$2Q22s\O\Q
2Q2sQsQsQsQsUsP!)�TestMkstempInner�z*Test the internal function _mkstemp_inner.c�`�\sQsQsn\O
s\Os\	Os\	Os
QsQsQsQsUsP!)�TestMkstempInner.mkstemped�c���U%cUOoLUOo[OVU2o[OVV5U2vUmUmP!r})�_bflags�_tflagsrr�_mkstemp_inner�fdrT)rrUrVrW�bin�flags�output_types&&&&&  r�__init__�#TestMkstempInner.mkstemped.__init__�sF���D�L�L�E� �L�L�E�"�5�5�c��D�K�#+�#:�#:�3�S�Q\�#]� �T�W�d�irc�J�[OUOU2P!r})rFr�r))rrs&&rr�� TestMkstempInner.mkstemped.write�s���H�H�T�W�W�c�"rc�t�UOUO2UOUO2P!r})�_closer)�_unlinkrTrs&r�__del__�"TestMkstempInner.mkstemped.__del__�s"���K�K���� ��L�L����#r)r)rT)r-r.r/r0r�_bin_openflagsr&�_text_openflagsr'rFr�r2�unlinkr3r-r�r4r1r2r3s@r�	mkstempedr#�sB�����)�)���*�*�������)�)��	^�	#�	$�	$rr9c�2�[OVU2oUe6U[Ic[O2oL[O2oUeU2oUeU2oUOVV42oUO
UOVU2U!r})rrrrkrlr9r]rT)rrUrVrWr*r,rs&&&&&  r�	do_create�TestMkstempInner.do_create�s~���1�1�#�C�@���;��c�!��)�)�+���*�*�,���;��-�C��;��-�C��~�~�c��1�����t�y�y�#�C�0��rc�R�UO2OQ2UOQQ5OQ2UOQQ5OQ2UOQQQ5OQ2UOQQQ5OQ2P!)�blatr��rVr��rW�rVrW�aa�.txt)r;r�rs&r�
test_basic�TestMkstempInner.test_basic�s��������w�'����3���%�%�g�.����3���%�%�g�.����3�C��(�.�.�w�7����4�V��,�2�2�7�;rc��[O2oUOUQQ5OQ2UOUQQ5OQ2UOUQQ5OQ2UOUQQQ5OQ2UOUQQQ5OQ2UO	[
29^tt^2UOPQQ5OQ2PPP2UO	[
29^tt^2UOUPQ5OQ2PPP2UO	[
29^tt^2UOUQPQ5OQ2PPP2P!)%fhK�9h)%fhKn9h)%fhP!9h)	r�rUrWr>�a�rUrV�b�rUrVrW�aa�.txt)rrlr;r�rr)r�dir_bs& r�test_basic_with_bytes_names�,TestMkstempInner.test_basic_with_bytes_names�sO���$�$�&�����5�c��*�0�0��9����5�d��+�1�1�'�:����5�d��+�1�1�'�:����5�d���5�;�;�G�D����5�e���9�?�?��H�
�
�
�y�
)�
)��N�N�r�s�N�+�1�1�'�:�*�
�
�
�y�
)�
)��N�N�u�"�N�-�3�3�G�<�*�
�
�
�y�
)�
)��N�N�u�#�2�N�6�<�<�W�E�*�
)�	*�
)��
)�
)��
)�
)�
)�s6� #F�(#F1�0$G�F.	�'F.	�1G	�:G	�G	�
G	c�t�[[[22oSFDoUOQQ5V$J	P!�rBr?)�listr�r�r;�r�extantr�s&  r�test_basic_many� TestMkstempInner.test_basic_many�s-���e�J�'�(���A����4��0�F�I�rc��[O2oUOUQ5OQ2UO[O
U2Q5OQ2[O2[OU2P![O2[OS2h9h�r�r>)
rrgr;r�rr$r�
gc_collectrFr�rrUs& r�test_choose_directory�&TestMkstempInner.test_choose_directory�s������ ��	��N�N�s�N�#�)�)�'�2��N�N�y�1�1�#�6�N�7�=�=�g�F���� ��H�H�S�M��
��� ��H�H�S�M�s�AB�-Cc��UO2o[O[OUO2O
2oQo[OQ6XcU]*	oU]I*oUOV#2P!)r!�win32)	r;r�S_IMODErFrTr�sys�platformrM)rrrru�users&    r�test_file_mode�TestMkstempInner.test_file_mode�se���~�~����|�|�B�G�G�D�I�I�.�6�6�7�����<�<�7�"��q�=�D��z�*�H�����(rzos.spawnl not availablec�`�[O%cQoLQoUO2oUO[O
UO2P
2QUO*o[o[OO[OO[OOU22Q2o[OQ6Xc"Q[O *oQU*oL[O o[O"[O$[O VeV2oUO'U]6QU'*2UO'U]6�QU*2P![c[O]*oCK5h9h)�v�qz%dztf_inherit_check.pyr_z"%s"z$child process caught fatal signal %dz child process reports failure %d)rr�r;rMrF�get_inheritabler)�__file__�	NameErrorra�argvrGr�r�rNrb�
executabler�P_WAITr�)rrgrr)�me�tester�	decorated�retvals&       r�test_noinherit�TestMkstempInner.test_noinherit�s-��
�?�?�?��A��A��~�~�������+�+�D�G�G�4�e�<�
�D�G�G�^��	��B������b�g�g�o�o�b�g�g�o�o�b�.A�B�3�5���<�<�7�"�����/�I��f�_�F����I����2�9�9�c�n�n�i��O������!��:�f�W�D�	F�����!��%G��%N�O��+�	����!��B�	�s�1F�	F-�F-�,F-ztext mode not availablec�2�UO]Q5oUOQ2UOQ2[OUO][O
2UO
[OUO]2Q2P!)r)r*sblatsextra
r>)r;r�rF�lseekr)�SEEK_SETrMr��r�fs& r�
test_textmode�TestMkstempInner.test_textmodesc��

�N�N�q�N�!��	�����	���
��
������q�"�+�+�&����������r�*�G�4rc��[O[O2[O2P[O[
2!r�)rr(rkrir6rrs&rr�TestMkstempInner.make_temps;���&�&�x�':�':�'<�'/�'=�'=�'?�')�'/�'>�'>�'*�	,�	,rc	��[29^tt^2[QQQ29^tt^2UO2vq[OU2UOUQ2UO2vq4[OU2UOUQ2PPP2PPP2P!)%fhK9h)%fhP!9h��aaa�bbb)r�r�rrFr��assertEndsWith)r�fd1�name1�fd2�name2s&    r�!test_collision_with_existing_file�2TestMkstempInner.test_collision_with_existing_files���$�
%�
%�
"�5�%��
7�
7��>�>�+�L�S��H�H�S�M�����u�-��>�>�+�L�S��H�H�S�M�����u�-�8�&�
%�
7�
7��&�
%�
%�s/�C�A5B1	�C�1C
�:C
�<C�C	�
C	c	��[29^tt^2[QQQ29^tt^2[O2oUO	UQ2UO2vq#[OU2UO	UQ2PPP2PPP2P!)%fhK9h)%fhP!9hr)r�r�rrgr�rrFr�)rrUr)rTs&   r�&test_collision_with_existing_directory�7TestMkstempInner.test_collision_with_existing_directory$s���$�
%�
%�
"�5�%��
7�
7��"�"�$�C�����U�+����)�J�R��H�H�R�L�����e�,�
8�&�
%�
7�
7��&�
%�
%�s/�B1�A"B	�B1�B.
�'B.
�)B1�1C	�:C	r,)NNN�)r-r.r/r0r�r9r;rDrOrVr\r�skip_unless_working_chmodrd�unittest�
skipUnless�
has_spawnlr�requires_subprocessrs�has_textmoderzrr�r�r1r2r3s@rr r �s�����4�$�$�(� <�F�"1���(�(�)�)�)�����%>�?�� � �"�#P�#�@�#P�J����'@�A�5�B�5�,�.�
-�
-rr c�2`�\sQsQsnQsQsQsQsUsP!)�TestGetTempPrefix�1zTest gettempprefix().c� �[O2oUOU[2UO	[U2]2[O2oUOU[2UO	[U2]2P!r�)rrir�r�
assertGreaterrIrjr)r�p�pbs&  r�test_sane_template�$TestGetTempPrefix.test_sane_template4sf���"�"�$�����a��%����3�q�6�1�%�
�
$�
$�
&�����b�%�(����3�r�7�A�&rc���[O2Q*o[OPQ5o[OOV!2o[OU[O[O*2o[OU2[OU2[OU2P![OS2h9h)z
xxxxxx.xxx��prefix)rrirgrFrGr�r��O_RDWR�O_CREATr�r8r)rr��dr)s&   r�test_usable_template�&TestGetTempPrefix.test_usable_template@s���
�"�"�$�|�3�����B�'��	������Q�"�A�����B�I�I��
�
�2�3�B��H�H�R�L��I�I�a�L��H�H�Q�K��B�H�H�Q�K�s�BC�C+r,)	r-r.r/r0r�r�r�r1r2r3s@rr�r�1s�����
'��rr�c�>`�\sQsQsnQsQsQsQsQsQs	Us
P!)�TestGetTempDir�QzTest gettempdir().c�z�[O2[O21FD�oSO[O
O
U29%fU[O6HQU*2UO[O
OU2QU*2J�	P!)z%r is not an absolute pathz%r is not a directory)	rrkrlrQrFrG�isabsr��isdir�rr�s& r�test_directory_exists�$TestGetTempDir.test_directory_existsTs|���%�%�'��)=�)=�)?�@�A��O�O�B�G�G�M�M�!�,�>�>��R�Y�Y��8�1�<�
>��O�O�B�G�G�M�M�!�,�3�a�7�
9�Arc��[O29^tt^2oUOQ2PPP2P!)%fhP!9h)r>)rrdr�)rrs& r�test_directory_writable�&TestGetTempDir.test_directory_writable]s0���
(�
(�
*�
*�d��J�J�w��+�
*�
*�
*�s�;�A	�A	c�>�[O2o[O2o[O2oUOVI2UO	[U2[U22UO
U[OU22P!r})	rrkrlrQr�rJrMrF�fsdecode)rr�r�r�s&   rr��TestGetTempDir.test_same_thingfsj�����!�����!��� � �"�����������D��G�T�!�W�-�����B�K�K��N�+rc��[OQ2o[OPto[m[O29^tt^2oVQ$UO[O2U2PPP2U[m[OU2P!)%fhK39hS[m[OS2h9h)z-Tempr�)rrgrmrr�rMrkr)r�case_sensitive_tempdir�_tempdirr�s&   r�test_case_sensitive�"TestGetTempDir.test_case_sensitiveps���"*�!1�!1�'�!:��%-�%5�%5�t�"��(�"�	4��.�.�0�0�C� 6�H�
�� � ��!4�!4�!6�8N�O�1�
 (�H���O�O�2�3�
1�0��
 (�H���O�O�2�3�s)�B:�*B'�<B:�'B7	�0B7	�2B:�:#Cr,)r-r.r/r0r�r�r�r�r�r1r2r3s@rr�r�Qs!�����9� �,�4�4rr�c�H`�\sQsQsnQsQ	QksQsQsQsQs	Qs
UsP!)
�TestMkstemp�zTest mkstemp().c	��[OVU2oUe6U[Ic[O2oL[O2oUeU2oUeU2o[O
VUQ5vqV[OOU2vqx[OOU2o	UOV�QU	8QU8Q02UOVaV#2[OU2[OU2P![OS2[OS2h9h)N�rUr��suffixzDirectory 'z' incorrectly returned as '�')rrrrkrlrfrFrGrHrNrMr]r�r8)
rrUrVrWr,r)rTrXrY�adirs
&&&&      rr;�TestMkstemp.do_create�s����1�1�#�C�@���;��c�!��)�)�+���*�*�,���;��-�C��;��-�C��%�%�#�#�F�
�����
�
�d�+�
���w�w���s�#������t�=A�4�H�	J�	��N�N�4�c�/��H�H�R�L��I�I�d�O��
�H�H�R�L��I�I�d�O�s�D�.Ec���UO2UOQQ5UOQQ5UOQQQ5UOQQQ5UOQQ5P!)	r�r?r�r@rArBrC�.r��r;rs&rrD�TestMkstemp.test_basic�sV���������3������3������3�C��(����4�V��,����3��rc���[O2oUOUQQ5UOUQQ5UOUQQ5UOUQQQ5UOUQQQ5UOQQ	5UO[29^tt^2UOQ
QQQ5PPP2UO[29^tt^2UOQQQQ5PPP2UO[29^tt^2UOQQQQ5PPP2P!)%fhK�9h)%fhK_9h)%fhP!9h)
rrGrHrIrJrKrLrM�.r�r�rBrC)rrlr;rrr�s& rrO�'TestMkstemp.test_basic_with_bytes_names�s	��
� � �"�����1�#��&����1�$��'����1�$��'����1�$�D��1����1�%�W��5����4�� �
�
�
�y�
)�
)��N�N�s��7�N�;�*�
�
�
�y�
)�
)��N�N�t��7�N�;�*�
�
�
�y�
)�
)��N�N�t��F�N�;�*�
)�	*�
)��
)�
)��
)�
)�
)�s6�'D:�!E
�E �:E
	�E
	�
E	�E	� E1	�)E1	c��[O2oUOUQ5UO[OU2Q5[
OU2P![
OS2h9h�r�)rrgr;rr$rFrr[s& rr\�!TestMkstemp.test_choose_directory�sS����� ��	��N�N�s�N�#��N�N�y�1�1�#�6�N�7��H�H�S�M��B�H�H�S�M�s�8A(�(Bc��[OoUO[O[[	P212[O
2vq#[OU2[OU2UOU[2[O2[mUO[O[2UO[O2[2UO[O2[2[O
2vq#[OU2[OU2UOU[2[O
QQ5vq#[OU2[OU2UOU[2[O
QQ5vq#[OU2[OU2UOU[2[O
[O2Q5vq#[OU2[OU2UOU[2U[mP!S[mh9h)NrC�r�z
test-temp-r�r�)rrmr�rrJrfrFr�r8rlrrk)r�orig_tempdirr)rGs&   r�.test_for_tempdir_is_bytes_issue40701_api_warts�:TestMkstemp.test_for_tempdir_is_bytes_issue40701_api_warts�s����'�'�����h�.�.��d�4�j�0A�B�	,��'�'�)�H�B��H�H�R�L��I�I�d�O��!�!�$��,�'�3�3�5�H���!�!�(�"2�"2�E�:��!�!�(�"5�"5�"7��=��!�!�(�"6�"6�"8�%�@��'�'�)�H�B��H�H�R�L��I�I�d�O��!�!�$��.��'�'�v�6�H�B��H�H�R�L��I�I�d�O��!�!�$��,��'�'�|�<�H�B��H�H�R�L��I�I�d�O��!�!�$��,��'�'�H�,?�,?�,A�B�H�B��H�H�R�L��I�I�d�O��!�!�$��,�+�H���|�H��s
�I*J9�9
Kr,rE)r-r.r/r0r�r;rDrOr\r�r1r2r3s@rr�r�s&������. �<�$�,�,rr�c��`�\sQsQsnQsQsQQksQsQsQs	Qs
\OQ	2s
\O\O"Q
6HQ2Q2sQ
sQsQsQsQsUsP!)�TestMkdtemp��zTest mkdtemp().c�.�[O2!r})rrgrs&rr�TestMkdtemp.make_temp�s�����!�!rc�b�[OVU2oUe6U[Ic[O2oL[O2oUeU2oUeU2o[O
VUQ5oUO
VQV#2U![OS2g9h)Nr�)	rrrrkrlrgr]rFr)rrUrVrWr,rTs&&&&  rr;�TestMkdtemp.do_create�s����1�1�#�C�@���;��c�!��)�)�+���*�*�,���;��-�C��;��-�C����C�C�@��	��N�N�4�c�/��K��	��H�H�T�N��s�B�B.c��[OUO22[OUOQQ52[OUOQQ52[OUOQQQ52[OUOQQQ52P!�r�r?r�r@rArBrC)rFrr;rs&rrD�TestMkdtemp.test_basic�su��
������!�"�
������C��(�)�
������C��(�)�
������C�S��1�2�
������D�f��5�6rc
��[O2o[OUO	UQ52[OUO	UQQ52[OUO	UQQ52[OUO	UQQQ52[OUO	UQQQ52UO[29^tt^2[OUO	UQQQ52PPP2UO[29^tt^2[OUO	UQQ	Q52PPP2UO[29^tt^2[OUO	PQQQ52PPP2P!)%fhK�9h)%fhKs9h)%fhP!9h)
r�rHrIrJrGrKrLrMrBrC)rrlrFrr;rrr�s& rrO�'TestMkdtemp.test_basic_with_bytes_names�s?��� � �"��
������A��&�'�
������A�4��0�1�
������A�4��0�1�
������A�4�T��:�;�
������A�5�g��>�?�
�
�
�y�
)�
)��H�H�T�^�^��t��^�A�B�*�
�
�
�y�
)�
)��H�H�T�^�^��u�&�^�A�B�*�
�
�
�y�
)�
)��H�H�T�^�^���7�^�C�D�*�
)�	*�
)��
)�
)��
)�
)�
)�s6�8)G�)G�)G-�G	�G	�G*	�#G*	�-G>	�6G>	c�`�[[[22oSFDoUOQQ5V$J	SFD1o[	U[
2%fJ[OU2J3	P!SFD1o[	S[
2%fJ[OS2J3	h9hrR)rSr�r�r;rKrrFrrTs&  rrV�TestMkdtemp.test_basic_manysy���e�J�'�(��	 ��� �N�N�t�N�4��	�����a��%�%��H�H�Q�K���V���a��%�%��H�H�Q�K��s�A3�3B-�B-c�V�[O2o[OUO	UQ52[OUO	[
OU2Q52[OU2P![OS2h9hr�)rrgrFrr;rr$r[s& rr\�!TestMkdtemp.test_choose_directoryse����� ��	��H�H�T�^�^��^�,�-��H�H�T�^�^�	�(:�(:�3�(?�^�@�A��H�H�S�M��B�H�H�S�M�s�A B�B(c�z�UO2o[O[OU2O2oUQ*oQo[
OQ6XcU]*	oU]I*oUOV#2[OU2P![OS2h9h)��r_)	r;rr`rFrrarbrMr)rrUrrurcs&    r�	test_mode�TestMkdtemp.test_mode"s����n�n���	��<�<������ 4� 4�5�D��E�M�D��H��|�|�w�&� �1�}���:�.�����T�,��H�H�S�M��B�H�H�S�M�s�AB"�'#B"�"B:r��Only on Windows.c���UO2o[OQU,QQ5O2o[O
U2UO2o[
2oP
oUO2O2FD�oPoUOU2%c!UOU2O2oL5U%c.UQ*O2%cUO2oU%fJ{UOUOQ2]*2J�	UOQO2U2P![O
S2h9h)z
icacls.exe�oem��encoding:Nr�N�:z
BUILTIN\Users)r;r�check_output�casefoldrFr�set�strip�
splitlines�
startswith�removeprefix�isspace�add�	partitionr�)rrU�out�users�
found_user�line�acls&      r�test_mode_win32�TestMkdtemp.test_mode_win324s���n�n���	��)�)�<��*=��N�W�W�Y�C��H�H�S�M��l�l�n������
��I�I�K�*�*�,�D��C����s�#�#��'�'��,�2�2�4���$�r�(�*�*�,�,��j�j�l���s��	�	�#�-�-��,�Q�/�0�-�	
���)�2�2�4�e�<��
�H�H�S�M�s�(E�E,c	��[29^tt^2[QQQ29^tt^2[OP
Q5oUO	2UOUOQ2[O2oUOUQ2PPP2PPP2P!)%fhK9h)%fhP!9h)r�r���delete)r�r�rrdr�r�rTrg)rrrUs&  rr��-TestMkdtemp.test_collision_with_existing_fileOs���$�
%�
%�
"�5�%��
7�
7��.�.�e�<�D��J�J�L�����	�	�5�1��"�"�$�C�����U�+�8�&�
%�
7�
7��&�
%�
%�s/�B:�A+B'	�B:�'B7
�0B7
�2B:�:C	�C	c	�d�[29^tt^2[QQQ29^tt^2[O2oUO	UQ2[O2oUO	UQ2PPP2PPP2P!)%fhK9h)%fhP!9hr)r�r�rrgr�)r�dir1�dir2s&  rr��2TestMkdtemp.test_collision_with_existing_directoryZsx��$�
%�
%�
"�5�%��
7�
7��#�#�%�D�����e�,��#�#�%�D�����e�,�	8�&�
%�
7�
7��&�
%�
%�s/�B�AB	�9B�B
�B
�B�B/	�'B/	c��[OoUO[O[[	P212[O
2o[OU2UOU[2[O2[mUO[O[2UO[O2[2UO[O2[2[O
2o[OU2UOU[2[O
QQ5o[OU2UOU[2[O
QQ5o[OU2UOU[2[O
[O2Q5o[OU2UOU[2U[mP!S[mh9h)Nz-dirr�z
test-mkdtemp-r�r�)rrmr�rrJrgrFrrlrrk)rr�rGs&  rr��:TestMkdtemp.test_for_tempdir_is_bytes_issue40701_api_wartsdsw���'�'�����h�.�.��d�4�j�0A�B�	,��#�#�%�D��H�H�T�N��!�!�$��,�'�3�3�5�H���!�!�(�"2�"2�E�:��!�!�(�"5�"5�"7��=��!�!�(�"6�"6�"8�%�@��#�#�%�D��H�H�T�N��!�!�$��.��#�#�6�2�D��H�H�T�N��!�!�$��,��#�#�?�;�D��H�H�T�N��!�!�$��,��#�#��(;�(;�(=�>�D��H�H�T�N��!�!�$��,�+�H���|�H��s
�G2I�
Ic��[OQQ5oUO[OOU22[OU2P![OW2h9h)r�r�)rrgrQrFrGr�r)rrGs& r�test_path_is_absolute�!TestMkdtemp.test_path_is_absolute~sG��	��#�#��,�D��O�O�B�G�G�M�M�$�/�0��H�H�T�N��B�H�H�T�N�s�AA � A8r,rE)r-r.r/r0r�rr;rDrOrVr\rr�r�r�r�rFrTr�r�r�r�rr1r2r3s@rr�r��s������"��(7�
E�	 ���(�(��)��"������D��*<�=�=�>�=�4	,�-�,�4�rr�c�n``�\sQsQsnQsU1QksU1QksQQ2sQQksQs	Q	s
Q
sUsU9s
!)�
TestMktemp�zTest mktemp().c�Z:�[O2Um[RU_2P!r})rrgrUr�rBr�s&�rrB�TestMktemp.setUp�s����#�#�%���
��
�rc�:�UO%c([OUO2PUm[RU_2P!r})rUrFrr��tearDownr�s&�rr�TestMktemp.tearDown�s.����8�8�8��H�H�T�X�X���D�H�
���rc�^`�\sQsQsn\O
s\Os	Qs
QsQsUs
P!)�TestMktemp.mktemped�c���[OVUQ5Um[O[O
UOUOQ22P!)r�r!)rr9rTrFr�r�r&)rrUrVrWs&&&&rr-�TestMktemp.mktemped.__init__�s7�� ���C�C�H�D�I�
�H�H�R�W�W�T�Y�Y����e�<�=rc�>�UOUO2P!r})r3rTrs&rr4�TestMktemp.mktemped.__del__�s���L�L����#r)rT)r-r.r/r0rFr8r3rr6r&r-r4r1r2r3s@r�mktempedr�s(�����)�)���)�)��	>�	$�	$rrc��UOUOV2oUOUOUOV2U!r})rrUr]rT)rrVrWrs&&& rr;�TestMktemp.do_create�s3���}�}�T�X�X�s�0�����t�y�y�$�(�(�C�5��rc��UO2UOQQ5UOQQ5UOQQQ5UOQQQ5P!r�r�rs&rrD�TestMktemp.test_basic��H���������3������3������3�C��(����4�V��,rc��[[[22oSFDoUOQQ5V$J	=[O
2P!rR)rSr�r�r;rrZrTs&  rr��TestMktemp.test_many�s<���e�J�'�(���A����4��0�F�I������rr�)r
r
)r-r.r/r0r�rBrrr;rDr�r1r2r�r�s@@rr
r
�s0�������$�$��-��rr
c�`�\sQsQsnQsQQksQsQsQsQs	Qs
Q	sQ
sQs
QsQ
sQsQsQsQsQsQsQsUsP!)�TestNamedTemporaryFile��zTest NamedTemporaryFile().c��Ue[O2o[OVUUQ5oUOUOVU2U!)N)rUr�r�r�)rrkrdr]rT)rrUrVrWr�rs&&&&& rr;� TestNamedTemporaryFile.do_create�sG���;��%�%�'�C��*�*�s�s�28�:��	
���t�y�y�#�C�0��rc��UO2UOQQ5UOQQ5UOQQQ5UOQQQ5P!r�r�rs&rrD�!TestNamedTemporaryFile.test_basic�rrc��UO2o[OU2oUOoUOo=UQ2=UQ2=[O
P	Q5%cUO
U22P!P!)�foosbar)�cpython)r;�weakref�refr�r�check_impl_detail�assertIsNone)rry�wrr��write2s&    r�test_method_lookup�)TestNamedTemporaryFile.test_method_lookup�sl��
�N�N���
�[�[��^����������
�
�f�
���v����$�$�T�2�2����b�d�#�3rc��`�,QNnU1Qko[U22FDvq#UOURU*2J 	UOW[R2]*
2P!)�spam
c�:�[OQQ5oUOQOR22UO	]2U!)�w+b�rr)rrdr�r��seek)ry�liness �r�	make_file�3TestNamedTemporaryFile.test_iter.<locals>.make_file�s7����+�+��7�A�
�G�G�C�H�H�U�O�$�
�F�F�1�I��Hr)r3seggs
sbeans
)�	enumeraterMrI)rr9r��lr8s&   @r�	test_iter� TestNamedTemporaryFile.test_iter�sP���3��	�
�i�k�*�D�A����Q��a��)�+�����C��J��N�+rc���[O2oUO[OOUO2QUO*2P!)z$NamedTemporaryFile %s does not exist)rrdrQrFrG�existsrTrxs& r�test_creates_named�)TestNamedTemporaryFile.test_creates_named�s<���'�'�)����������q�v�v�.�>����G�	Irc��[O2o[OUQ59^tt^2oUOQ2PPP2UO	[
OU2,2UO[
OOWO2QUO*2[
OU2P!)%fhK�9h[
OS2h9h)r�r>z(NamedTemporaryFile %s exists after close)rrgrdr�rMrFr�r�rGr@rTr�rrUrys&  r�test_del_on_close�(TestNamedTemporaryFile.test_del_on_close�s������ ��	��,�,��5�5������ �6����R�Z�Z��_�b�1����R�W�W�^�^�A�F�F�3�B�Q�V�V�K�
M�
�H�H�S�M�
6�5��
�H�H�S�M�s)�C,�C�	A8C,�C)	�"C)	�$C,�,Dc� �[O2oPo[OUP
Q5oUOoUO	Q2UO2UO
[OOUO2QUO*2Ud[OU2[OU2P!Sd[OS2[OS2h9h)N)rUr�r>z)NamedTemporaryFile %s missing after close)rrgrdrTr�r�rQrFrGr@r8r)rrU�tmprys&   r�test_dis_del_on_close�,TestNamedTemporaryFile.test_dis_del_on_close
s������ ����
	��+�+��E�B�A��&�&�C�
�G�G�G��
�G�G�I��O�O�B�G�G�N�N�1�6�6�2�C�a�f�f�L�
N����	�	�#���H�H�S�M�����	�	�#���H�H�S�M�s�BC�D
� -D
c��[O2oUOQ2UO2UO2UO2P!��abc
)rrdr�r�rxs& r�test_multiple_close�*TestNamedTemporaryFile.test_multiple_closes7���'�'�)��	�����	���	�	���	�	���	rc�`�[O29^tt^2nUO[OORO22PPP2UO[OORO22U1QkoUO[U2P!)%fhKf9h)Nc�Z:�R9^tt^2PPP2P!)%fhP!9hr}r,�rys�r�
use_closed�?TestNamedTemporaryFile.test_context_manager.<locals>.use_closed'��������������*	�*	)
rrdrQrFrGr@rTr�rr��rrSrys& @r�test_context_manager�+TestNamedTemporaryFile.test_context_manager"su���
�
(�
(�
*�
*�a��O�O�B�G�G�N�N�1�6�6�2�3�+������������/�0�	�	
���*�j�1�
+�
*�s�9B7�7C	�C	c
�Z�[O2o[OUP	P
Q59^tt^2oUOQ2UOoUO2UO
29^tt^2UO[OOUO2QUO8Q02PPP2PPP2UO
29^tt^2UO[OOWO2QUO8Q02PPP2[OU2P!)%fhK�9h)%fhK�9h)%fhKN9h[OS2h9h)T�rUr��delete_on_closer>�NamedTemporaryFile z= is incorrectly deleted on closure when delete_on_close=Falsez" exists after context manager exit)
rrgrdr�rTr��subTestrQrFrGr@r�r)rrUry�f_names&   r�:test_context_man_not_del_on_close_if_delete_on_close_false�QTestNamedTemporaryFile.test_context_man_not_del_on_close_if_delete_on_close_false,s$��
��� ��	��,�,��48�=B�D�D�GH����� ��������	��\�\�^�^��O�O�B�G�G�N�N�1�6�6�$:�1�!�&�&��<L�M�N�$�
D������� � ���������!7�#6�q�v�v�j�A>�"?�@� �
�H�H�S�M�$�^��
D�D�� ���
�H�H�S�M�sg�!F�AE,�?A	E	�E,� F�0A	E?�9F�E)
�"E)
�$E,�,E<	�5E<	�7F�?F	�F	�
F�F*c��[O2o[OUP	P
Q59^tt^2oUOQ2UO	2[
OUO2PPP2[
OU2P!)%fhK(9h[
OS2h9h�Tr[r>)	rrgrdr�r�rFr8rTrrDs&  r�&test_context_man_ok_to_delete_manually�=TestNamedTemporaryFile.test_context_man_ok_to_delete_manuallyHs������ ��		��,�,��48�=B�D�D�GH����� ����	��	�	�!�&�&�!�D�
�H�H�S�M�D�D��
�H�H�S�M�s)�!B.�AB�;B.�B+	�$B+	�&B.�.Cc�6�[O2oPo[OUP
P	Q59^tt^2oUOQ2UOoPPP2UO[OOWO2QUO8Q02[OU2[OU2P!)%fhK�9h[OS2[OS2h9h)r
r[r>r]z exists after close)rrgrdr�rTrQrFrGr@r8r)rrUr_rys&   r�(test_context_man_not_del_if_delete_false�?TestNamedTemporaryFile.test_context_man_not_del_if_delete_falseWs������ ����
	��,�,��U�=A�C�C�FG����� �����C�
�O�O�B�G�G�N�N�1�6�6�2�-�a�f�f�Z�7J�K�
M�
�I�I�f���H�H�S�M�C�C��
�I�I�f���H�H�S�M�s)�!C*�C�AC*�C'	� C'	�"C*�*.Dc��Qo[O2oUO[QQ59^tt^2UU2o[O
2PPP2UO
[OOW2QU8Q02[OU2P!)%fhK\9h[OS2h9h)c�t�[OUP	P
Q5oUOoUOQ2U!rc)rrdrTr��rUry�tmp_names&  r�my_func�=TestNamedTemporaryFile.test_del_by_finalizer.<locals>.my_funcjs6���+�+��D�<A�C�A��v�v�H�
�G�G�G���Orz6Implicitly cleaning up <_TemporaryFileWrapper file=.*>)�expected_warning�expected_regexr]z exists after finalizer )rrg�assertWarnsRegex�ResourceWarningrrZr�rFrGr@r)rrmrUrls&   r�test_del_by_finalizer�,TestNamedTemporaryFile.test_del_by_finalizergs���	���� ��	��&�&�!0�X�'���#�3�<���"�"�$��
���R�W�W�^�^�H�5�-�h�\�:2�3�
4�
�H�H�S�M����
�H�H�S�M�s(�B?�B,�<B?�,B<	�5B<	�7B?�?Cc�>�QQko[O2P!)c�&�U]6�cPgQ[-!)��return)r)�formats"r�__annotate__�cTestNamedTemporaryFile.test_correct_finalizer_work_if_already_deleted.<locals>.my_func.__annotate__�s��	�	�#�	rc��[OUP	P
Q5oUOoUOQ2UO	2[
OU2U!rc)rrdrTr�r�rFr8rks&  rrm�VTestNamedTemporaryFile.test_correct_finalizer_work_if_already_deleted.<locals>.my_func�sI���+�+��D�<A�C�A��v�v�H�
�G�G�G��
�G�G�I��I�I�h���Or)�gc�collect)rrms& r�.test_correct_finalizer_work_if_already_deleted�ETestNamedTemporaryFile.test_correct_finalizer_work_if_already_deleted�s��	�	�
�
�rc��[O2oUO[OU2UO[29^tt^2[OQUQ5PPP2UO[29^tt^2[O]UQ5PPP2UO[OU2,2P!)%fhKv9h)%fhKK9h�r.)rrU)rrg�
addCleanuprr�rr�rdrrMrFr�r[s& r�
test_bad_mode�$TestNamedTemporaryFile.test_bad_mode�s������ �����	�(�(�#�.�
�
�
�z�
*�
*��'�'�T�s�;�+�
�
�
�y�
)�
)��'�'�Q�C�8�*�������C��"�-�	+�
*��
)�
)��$�C�C.�C+	�$C+	�.C>	�7C>	c�b�[O2oUO[OU2UO[29^tt^2[OQQUQ5PPP2UO[OU2,2P!)%fhK89h��wzbad-encoding)r�rU)rrgr�rr�r�LookupErrorrdrMrFr�r[s& r�test_bad_encoding�(TestNamedTemporaryFile.test_bad_encoding�sm����� �����	�(�(�#�.�
�
�
�{�
+�
+��'�'��n�#�N�,�������C��"�-�,�
+���B�B.	�'B.	c���[O2oUO[OU2[
OQ29^tt^2o[
OQ[
O229^tt^2o[2Um	UO[29^tt^2[OUQ5PPP2PPP2PPP2W2OO2UO[O U2,2P!)%fhKg9h)%fhKr9h)%fhK}9h)ztempfile._TemporaryFileWrapperzio.openr�)rrgr�rr�r�patch�	mock_open�KeyboardInterrupt�side_effectrrdr��
assert_calledrMrFr�)rrU�mock_ntfr�s&   r�test_unexpected_error�,TestNamedTemporaryFile.test_unexpected_error�s������ �����	�(�(�#�.�
�Z�Z�8�
9�
9�X�
�Z�Z�	�4�>�>�#3�
4�
4�	�#4�#6�H� ��"�"�#4�5�5��+�+��4�6�5�:�
	����'�'�)�������C��"�-�6�5��5�
4��:�
9�sN�3E�-D?	�5D,
�
D?	�E�,D<�5D<�7D?	�?E
�E
�
E�E"	�E"	r,)Nr
r
T)r-r.r/r0r�r;rDr0r=rArErIrNrXr`rdrgrsr�r�r�r�r1r2r3s@rr!r!�sc����$��-�$� ,�I�
�� �2��8
�� �2
�.�.�	.�	.rr!c��`�\sQsQsnQsQQksQsQsQsQs	Qs
Q	sQ
sQs
QsQ
sQsQsQsQsQsQsQsQsQsQsQsQsQsQsQsQsUs P!)�TestSpooledTemporaryFilei�zTest SpooledTemporaryFile().c�j�Ue[O2o[OVV4Q5oU!)N)�max_sizerUr�r�)rrkro)rr�rUrVrWrs&&&&& rr;�"TestSpooledTemporaryFile.do_create�s-���;��%�%�'�C��,�,�h�PS�`���rc��UO2oUOUO2UO]dQQQ5oUOUO2P!)�dr�rC)r�rVrW)r;r��_rolledrxs& rrD�#TestSpooledTemporaryFile.test_basic�sF���N�N���������#��N�N�C�S�f�N�=��������#rc�d�UOUO2[O2P!r})r�r;�io�IOBasers&r�test_is_iobase�'TestSpooledTemporaryFile.test_is_iobase�s�����d�n�n�.��	�	�:rc��.Qlo[[[O22oV*
oUO	UQ2P!)�filenozMSpooledTemporaryFile missing attributes from IOBase/BufferedIOBase/TextIOBase>r�r7�tellr��flush�read1r��closed�detach�errorsr��isatty�__exit__�__iter__�__next__r��newlines�readable�readinto�readline�seekable�truncate�writable�	__enter__�	readinto1�	readlines�
writelines)r�rUrror�)r�iobase_attrs�spooledtempfile_attrs�
missing_attrss&   r�test_iobase_interface�.TestSpooledTemporaryFile.test_iobase_interface�s?��	
��!$�C��(E�(E�$F� G��$�<�
�����
/�	
rc�p�[O2o[O]
UQ5oUOUO2UOQ2UO
UO2UOoUO2UO[OU2,2[U[2%f7UO[OOU2QU*2[O U2P![O S2h9h)�
)r�rUz*SpooledTemporaryFile %s exists after closesblat blat blat blat blat )rrgror�r�r�rQrTr�rMrFr�rK�intrGr@r)rrUry�filenames&   rrE�*TestSpooledTemporaryFile.test_del_on_close�s������ ��	��-�-�r�s�C�A����Q�Y�Y�'�
�G�G�L�!��O�O�A�I�I�&��v�v�H�
�G�G�I����R�Z�Z��_�b�1��h��,�,�� � �������!9�@�8�K�M�
�H�H�S�M��B�H�H�S�M�s�B6D�6D�D5c��UO]
Q5oUOQ2UOUOP2UO	[
29^tt^2UO
2PPP2P!)%fhP!9h)r��r�r()r;r�rMrT�assertWarnsrrr4rxs& r�test_del_unrolled_file�/TestSpooledTemporaryFile.test_del_unrolled_file�s\��
�N�N�B�N�'��	������������&�
�
�
�o�
.�
.�
�I�I�K�/�
.�
.�
.�s�A9�9B
	�B
	c��UO]Q5oUOQ2UOoUO[O
O
U22UO[29^tt^2UO2PPP2UO[O
O
U2QU*2P!)%fhKH9h)rwr�r(z9Rolled SpooledTemporaryFile (name=%s) exists after delete)r;r�rTrQrFrGr@r�rrr4r�)rryrTs&  r�test_del_rolled_file�-TestSpooledTemporaryFile.test_del_rolled_file�s���
�N�N�A�N�&��	������v�v����������t�,�-�
�
�
�o�
.�
.�
�I�I�K�/�����G�G�N�N�4� �G�$�N�	
�/�
.�s�<C
�
C	�C	c��UO]Q5oUOUO2[]2FD&oUO	]]2UOQ2J(	UOUO2P!)�r��xxxxxxxxxxxxxxxxxxxx)r;r�r�r�r7r�)rryr�s&  r�test_rewrite_small�+TestSpooledTemporaryFile.test_rewrite_smalls_���N�N�B�N�'��������#��q��A�
�F�F�1�a�L�
�G�G�I���	
������#rc�j�UO]Q5oUOUO2UOQ2UOUO2UOQ2UOUO2UOQ2UO	UO2P!)r�r��xr��
xxxxxxxxxx)r;r�r�r�rQrxs& r�test_write_sequential�.TestSpooledTemporaryFile.test_write_sequential	s}��
�N�N�B�N�'��������#�	���	��������#�	���	��������#�	����
�����	�	�"rc���UO2oUOQ2UO]2oUOU]2UO	2oUOUQ2P!)r��xyz)r��y�z�r;r�r7rMr��rry�pos�bufs&   r�test_writelines�(TestSpooledTemporaryFile.test_writelinessS���N�N���	���'�(��f�f�Q�i������a� ��f�f�h������f�%rc��``�RO]Q5nUU1QkoROU22RO]2oROU]2RO	2oROUQ2P!)rwr�c3�: �Qw�	RORO2Qw�	RORO2P!3h)sxyr�)r�r�rQ)ryrs��r�it�=TestSpooledTemporaryFile.test_writelines_rollover.<locals>.it"s2�����K����Q�Y�Y�'��J��O�O�A�I�I�&�s�AAr�r�)rr�r�r�rysf   @r�test_writelines_rollover�1TestSpooledTemporaryFile.test_writelines_rollovers`����N�N�A�N�&��	'�	
���R�T���f�f�Q�i������a� ��f�f�h������f�%rc�4�UO]Q5oUOQ2UOUO2UO	,QN2UO]2oUO
U]2UO2oUO
UQ2P!)rwr�sabcsabcdef)�d�e�f)r;r�rQr�r�r7rMr�r�s&   r�test_writelines_fast_path�2TestSpooledTemporaryFile.test_writelines_fast_path.sr���N�N�A�N�&��	���������	�	�"�	���'�(��f�f�Q�i������a� ��f�f�h������i�(rc���UO]#Q5oUOQ2UOUO2UO	Q2UOUO2P!)�#r�r�)r�r�sxxxxx)r;r�r�r�r�rQrxs& r�test_writelines_sequential�3TestSpooledTemporaryFile.test_writelines_sequential:sN��
�N�N�B�N�'��	���5�6�������#�	����
�����	�	�"rc�8�UO]Q5oUOUO2UO]d]2oUO	U]d2UOUO2UOQ2UO
UO2P!)r�r�r�)r;r�r�r7rMr�rQ)rryr�s&  r�test_sparse�$TestSpooledTemporaryFile.test_sparseCsr��
�N�N�B�N�'��������#��f�f�S�!�n������c�"�������#�	����
�����	�	�"rc���UO]Q5oUOUO2UOUO	2]6�2UOUO2P!)r�r�)r;r�r�rQr�rxs& r�test_fileno�$TestSpooledTemporaryFile.test_filenoNsJ���N�N�B�N�'��������#�������
�Q��'�����	�	�"rc���[O2oUOQ2UOUO2UO2UO2UO2P!rL)rror�r�r�r�rxs& r�#test_multiple_close_before_rollover�<TestSpooledTemporaryFile.test_multiple_close_before_rolloverUsI���)�)�+��	�����������#�	���	�	���	�	���	rc���[O]Q5oUOQ2UOUO2UO2UO2UO2P!)r�r�rM)rror�rQr�r�rxs& r�"test_multiple_close_after_rollover�;TestSpooledTemporaryFile.test_multiple_close_after_rollover^sI���)�)�1�5��	���������	�	�"�	���	�	���	�	���	rc���UO]Q5oUOoUOoUOoUQ2UQ2U]]2UO	U]F2Q2P!)r�r�s#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaas#bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbsFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb)r;r�r�r7rM)rryr�r�r7s&    r�test_bound_methods�+TestSpooledTemporaryFile.test_bound_methodsgs]��
�N�N�B�N�'���v�v�������v�v��
�i��
�i���Q��
�����b��#4�5rc��[O]
Q5oUOQ2UOUO2UOUOQ2UOUO2UO[29^tt^2UOPPP2UO[29^tt^2UOPPP2UO[29^tt^2UOPPP2UOQ2UOUO2UOUOQ2UOUO2UO[29^tt^2UOPPP2UO[29^tt^2UOPPP2UO[29^tt^2UOPPP2P!)%fhCKp9h)%fhCKR9h)%fhCK49h)%fhK�9h)%fhK�9h)%fhP!9h)r�r�r�r5zwb+r�)rror�r�r�rMrr-rTrr�r�r�r�rQ�assertIsNotNonerxs& r�test_properties�(TestSpooledTemporaryFile.test_propertiesus����)�)�2�6��	���	��������#��������'����!�&�&�!�
�
�
�~�
.�
.�
�J�J�/�
�
�
�~�
.�
.�
�J�J�/�
�
�
�~�
.�
.�
�H�H�/�	
����
�����	�	�"��������'����Q�V�V�$�
�
�
�~�
.�
.�
�J�J�/�
�
�
�~�
.�
.�
�J�J�/�
�
�
�~�
.�
.�
�H�H�/�
.�/�
.�
.��
.�
.�
.��
.�
.�
.��/�
.��
.�
.��
.�
.�
.�sl�
H
�
H!�=
H5�
I	�
I�6
I/�
H	�H	�!H2	�*H2	�5I	�>I	�	I	�I	�I,	�%I,	�/J	�8J	c��[OQ]
QQ5oUOQ2UO]2UO	UO2Q2UOQ2UO]2UO	UO2Q2UO
UO2UO	UOQ2UOUO2UO	UO[O2UO	UOQ2UO	UOQ2UOQ2UO]2UO	UO2Q2UOQ	2UO]2UO	UO2Q
2UO!UO2UO	UOQ2UO#UO2UO	UO[O2UO	UOQ2UO	UOQ2P!)�w+�utf-8)rr�r�zabc
zdef
zabc
def
�strictzxyzzy
zabc
def
xyzzy
zfoobar
zabc
def
xyzzy
foobar
)rror�r7rMr�r�r�rr-rTr�rF�linesepr�r�rQrrxs& r�test_text_mode�'TestSpooledTemporaryFile.test_text_mode�s���
�)�)�t�b�3:�
<��	�����	���q�	��������7�+�	�����	���q�	��������<�0�������#��������&����!�&�&�!�������R�Z�Z�0�������W�-�������8�,�	���	��	���q�	��������#6�7�	�����	���q�	��������#B�C�����	�	�"��������&����Q�V�V�$�������R�Z�Z�0�������W�-�������8�,rc��[OQ]
PQQQ5oUOQ2UO]2UO	UO2Q2UO
UO2UO	UOQ2UOUO2UOUO2UO	UOQ2UO	UOQ2UOQ2UOQ2UO]2UO	UO2Q2UOUO2UO	UOQ2UOUO2UOUO2UO	UOQ2UO	UOQ2P!)rrr8)rr��newliner�r�uΛ
uΜΜΜΜΜΜΜΜΜΜ
u(ΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝuBΛ
ΜΜΜΜΜΜΜΜΜΜ
ΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝ)rror�r7rMr�r�r�rr-rTrr�r�r�rQrxs& r�test_text_newline_and_encoding�7TestSpooledTemporaryFile.test_text_newline_and_encoding�sm���)�)�t�b�24�w�19�
;��	
�����	���q�	��������<�0�������#��������&����!�&�&�!����Q�Z�Z�(�������W�-�������8�,�	���&�'�	���
��	���q�	��������I�	K�����	�	�"��������&����Q�V�V�$����Q�Z�Z�(�������W�-�������8�,rc�Z`�[O]Q59^tt^2nUORO2UORO2PPP2UORO2U1QkoUO
[U2P!)%fhKI9h)r�r�c�Z:�R9^tt^2PPP2P!)%fhP!9hr}r,rRs�rrS�QTestSpooledTemporaryFile.test_context_manager_before_rollover.<locals>.use_closed�rUrV)rror�r�r�rQrr�rWs& @r�$test_context_manager_before_rollover�=TestSpooledTemporaryFile.test_context_manager_before_rollover�sq���
�
*�
*�A�
6�
6�!����Q�Y�Y�'����Q�X�X�&�7�	
������!�	�	
���*�j�1�7�
6�s�7B�B*	�#B*	c��`�[O]Q59^tt^2nUORO2RO	Q2RO2UO
RO2UORO2PPP2UO
RO2U1QkoUO[U2P!)%fhKI9h)r�r�rMc�Z:�R9^tt^2PPP2P!)%fhP!9hr}r,rRs�rrS�QTestSpooledTemporaryFile.test_context_manager_during_rollover.<locals>.use_closed�rUrV)
rror�r�r�r�rQr�rr�rWs& @r�$test_context_manager_during_rollover�=TestSpooledTemporaryFile.test_context_manager_during_rollover�s����
�
*�
*�A�
6�
6�!����Q�Y�Y�'�
�G�G�H��
�G�G�I��O�O�A�I�I�&����Q�X�X�&�7�	
������!�	�	
���*�j�1�7�
6�s�A3C�C&	�C&	c�`�[O]Q5nROQ2RO2UO	RO
2R9^tt^2UO
RO2PPP2UO	RO2U1QkoUO[U2P!)%fhKI9h)r�r�rMc�Z:�R9^tt^2PPP2P!)%fhP!9hr}r,rRs�rrS�PTestSpooledTemporaryFile.test_context_manager_after_rollover.<locals>.use_closed�rUrV)
rror�r�rQr�r�r�rr�rWs& @r�#test_context_manager_after_rollover�<TestSpooledTemporaryFile.test_context_manager_after_rollover�s�����)�)�1�5��	�����	���	�����	�	�"�
�Q����Q�X�X�&��������!�	�	
���*�j�1�
�Q�s� B=�=C
	�C
	c�D�[O]
Q5oUOQ2UO]2UO	2UOUO2UOUOO2Q2[O]
Q5oUOQ2UO	]2UOUO2UOUOO2Q2[O]
Q5oUOQ2UO	]2UOUO2UO[OUO22O]2P!)r�r�sabcdefg
rsabcd)rror�r7r�r�r�rM�_file�getvaluerQrF�fstatr��st_sizerxs& r�!test_truncate_with_size_parameter�:TestSpooledTemporaryFile.test_truncate_with_size_parameter�s���)�)�2�6��	�����	���q�	�	�
�
��������#�������)�)�+�S�1��)�)�2�6��	�����	�
�
�1�
�������#�������)�)�+�W�5��)�)�2�6��	�����	�
�
�2������	�	�"�������!�(�(�*�-�5�5�r�:rc�z�UO[O[*[O
2P!r})r�rror�types�GenericAliasrs&r�test_class_getitem�+TestSpooledTemporaryFile.test_class_getitems&�����h�;�;�E�B��(�(�	*rr,)rNr
r
)!r-r.r/r0r�r;rDr�r�rEr�r�r�r�r�r�r�r�r�r�r�r�rrrrrrrr%r*r1r2r3s@rr�r��s�����&��$�;�
�*�"�

�$�
#�&�&� 	)�#�	#�#���6��0-�@-�4	2�2�2�;�**�*rr�c�P`�\sQsQsnQsQsQsQsQsQs	Qs
Q	sQ
sUs
P!)�TestTemporaryFilei	zTest TemporaryFile().c�2�[O2P!r})rrers&rrD�TestTemporaryFile.test_basics��
�"�"�$rc��[O2o[OUQ5oUOQ2[O
U2P!SO
2[O
S2g9hrY)rrgrer�rFrr�rDs&  r�test_has_no_name�"TestTemporaryFile.test_has_no_namesZ���"�"�$�C��&�&�3�/�A�
�G�G�G��
�����
��
����	�����
��s�A�)Bc��[O2oUOQ2UO2UO2UO2P!rL)rrer�r�rxs& rrN�%TestTemporaryFile.test_multiple_close!s7���&�&�(�A�
�G�G�H��
�G�G�I�
�G�G�I�
�G�G�Irc�f`�U1QkoUQQ2UQQ2UQQQQ5UQQPQ	5P!)
c�:�[OU-U@9^tt^2oUOU2UO]2RO	VO22PPP2P!)%fhP!9hr�)rrer�r7rMr�)�inputr�r��fileobjrs&*, �r�	roundtrip�;TestTemporaryFile.test_mode_and_encoding.<locals>.roundtrip,sU����+�+�T�<�V�<�<���M�M�%�(��L�L��O��$�$�U�L�L�N�;�=�<�<�<�s�AA.�.A?	�7A?	s1234r5zabdc
ruΛzutf-16r�zfoo
)rr,)rr9sf r�test_mode_and_encoding�(TestTemporaryFile.test_mode_and_encoding*s6���
<�
�g�u�%��h��%��h��x�8��i��r�2rc��[O2oUO[OU2UO[29^tt^2[OQUQ5PPP2UO[29^tt^2[O]UQ5PPP2UO[OU2,2P!)%fhKv9h)%fhKK9hr�)rrgr�rr�rr�rerrMrFr�r[s& rr��TestTemporaryFile.test_bad_mode7s����"�"�$�C��O�O�I�,�,�c�2��"�"�:�.�.��&�&�D�c�:�/��"�"�9�-�-��&�&�A�3�7�.����R�Z�Z��_�b�1�	/�.��-�-�r�c�b�[O2oUO[OU2UO[29^tt^2[OQQUQ5PPP2UO[OU2,2P!)%fhK89hr�)rrgr�rr�rr�rerMrFr�r[s& rr��#TestTemporaryFile.test_bad_encoding@sm���"�"�$�C��O�O�I�,�,�c�2��"�"�;�/�/��&�&�s�^��M�0����R�Z�Z��_�b�1�0�/�r�c�n�[O2oUO[OU2[
OQP
29^tt^2[
OQ29^tt^2o[
OQ29^tt^2o[
OQ29^tt^2o[2UmUO[29^tt^2[OUQ5PPP2PPP2PPP2PPP2PPP2WO2UO[OU2,2P!)%fhKh9h)%fhKs9h)%fhK~9h)%fhK�9h)%fhK�9h)ztempfile._O_TMPFILE_WORKSz	os.unlinkzos.openzos.closer�)rrgr�rr�rr�r�r�rrer�rMrFr�)rrU�mock_unlinkr��
mock_closes&    rr��'TestTemporaryFile.test_unexpected_errorGs���"�"�$�C��O�O�I�,�,�c�2����7��?�?����K�(�(�K����I�&�&�)����J�'�'�:�*;�*=��'��&�&�'8�9�9��*�*�s�3�:�(�'�)�@�
�$�$�&����R�Z�Z��_�b�1�:�9��(�'��'�&��)�(��@�?�s��F$�5F	�E>
�3-E+� E�8E+�E>
�F	�F$�E(�!E(�#E+�+E;�4E;�6E>
�>F�F�	F	�F!
�F!
�F$�$F4	�-F4	r,)r-r.r/r0r�rDr1rNr;r�r�r�r1r2r3s@rr-r-	s0����#�	%�
	� 	�	3�	2�	2�	2�	2rr-c�4`�\sQsQsnQsQsQsQsUsP!)�
NulledModulesiVc��STt,tFDp"OMJ	toUmUOTt,tFDp3O2MJ	toUmP!ttohttohr})rr�refs�copy�contents)r�modules�modr+s&*  rr-�NulledModules.__init__Ws@��-4�5�W�c�\�\�W�5��	�/3�y�y�9�y�����y�9��
��6��9s
�A�Ac�L�UOFDoSFDoPV$J		J	P!r})rH)rr�rws&  rr��NulledModules.__enter__[s!�����A�������rc��[UOUO2FD&vq#UO2UO	U2J(	P!r})�ziprHrJ�clear�update)r�exc_infor�r�s&*  rr��NulledModules.__exit__`s1����	�	�4�=�=�1�D�A�
�G�G�I�
�H�H�Q�K�2r)rJrH)	r-r.r/r0r-r�r�r1r2r3s@rrFrFVs����:��
�rrFc�H`�\sQsQsnQsQQksQQksQsQsQs	\
O\OQ6HQ	2Q
2s\
O\OQ6HQ	2Q2s\O"Q2s\O"Q
2s\
O\\Q2Q2\O"Q22s\O.Q2s\O.Q2sQsQsQsQsQsQsQs Qs!\
O\\Q2Q2Q2s"Qs#Qs$Us%P!) �TestTemporaryDirectoryifzTest TemporaryDirectory().c���Ue[O2o[OVUUQ5oUOUOVU2UOUOVEU2U!)N)rUr�r��ignore_cleanup_errors)rrkrpr]rT�
do_create2)	rrUrVrW�recurse�dirs�filesrYrHs	&&&&&&&& rr;� TestTemporaryDirectory.do_createis\���;��%�%�'�C��)�)���"7�9��	
���s�x�x��3�/�������'��7��
rc	���U%cj[U2FDYo[OOUQU*2o[OU2UOVb]*
V42J[	[U2FDVo[
[OOUQU*2Q29^tt^2oUOQ2PPP2JX	P!)%fhJm9h)zdir%dz
test%d.txtrsHello world!)r�rFrGr�r
rZr�r�)rrGr[r\r]r�rTrys&&&&&   rrZ�!TestTemporaryDirectory.do_create2ts�����4�[���w�w�|�|�D�'�A�+�6�����������a�i��=�!��u��A��b�g�g�l�l�4���)9�:�D�A�A�Q�����(�B�A��A�A�A�s�;C	�C,
�$C,
c��[O29^tt^2oPPP2UO[29^tt^2o[OWQ5PPP2UO	WO
O[O2P!)%fhK�9h)%fhKY9h)Nr�)rrprr�rM�	exception�errno�ENOENT)rr�cms&  r�test_mkdtemp_failure�+TestTemporaryDirectory.test_mkdtemp_failuresr���
(�
(�
*�
*�k��+�
�
�
�0�
1�
1�R��'�'�K�8�2�������+�+�U�\�\�:�	+�
*��
1�
1�s#�B�B/�B,	�%B,	�/B?	�8B?	c��[O2oUOUQ5oUO[O
O
UO2QUO*2UO2UO[O
O
UO2QUO*2[OU2P![OS2h9h)r�z$TemporaryDirectory %s does not exist�*TemporaryDirectory %s exists after cleanup)rrgr;rQrFrGr@rT�cleanupr�r)rrUr�s&  r�test_explicit_cleanup�,TestTemporaryDirectory.test_explicit_cleanup�s������ ��	����3��'�A��O�O�B�G�G�N�N�1�6�6�2�B�Q�V�V�K�
M�
�I�I�K����R�W�W�^�^�A�F�F�3�D�q�v�v�M�
O�
�H�H�S�M��B�H�H�S�M�s�B6C&�&C>c��[O29^tt^2oUOUP	Q5o[OUO
2oUO
UO2QU8Q02[UQ*Q29^tt^2oUOQ2UO2PPP2UO[[UOQ222[[ O"O%Q22Q	U802UOUO2[ O"O%Q2QU8Q
02UO2UO'UO2QU8Q02PPP2P!)%fhK�9h)%fhP!9h)z=Test that cleanup doesn't return an error when ignoring them.�rUrY�TemporaryDirectory � does not exist�
a_file.txt�w+t�
Hello world!
�*�win�1Unexpected number of files in TemporaryDirectory � existence state unexpectedz exists after cleanup)rrpr;�pathlibr)rTrQr@r�r�rjrMrIrS�globr�rarbr�r��r�working_dir�temp_dir�	temp_path�	open_files&    r�#test_explicit_cleanup_ignore_errors�:TestTemporaryDirectory.test_explicit_cleanup_ignore_errors�so��
�
(�
(�
*�
*�k��~�~��t�&�=�H����X�]�]�3�I��O�O�I�,�,�.�1�)��o�N�
P��i�,�.��6�6�)���� 0�1�� � �"�7�
���S��i�n�n�S�&9�!:�;� ����!8�!8��!?�@�3�3<�-�A�
B�
���� � �"����'�'��.�%�i�]�2M�N�
P�
�������� � �"�%�i�]�2G�H�
J�%+�
*�7�6��
+�
*�
*�s1�A4F0�"F	�5CF0�F-
�&F-
�(F0�0G	�9G	r�r�c���[O29^tt^2oUOUQ5o[[O
O
UOQ2Q29^tt^2UO[29^tt^2UO2PPP2PPP2PPP2P!)%fhK"9h)%fhK-9h)%fhP!9h)r�zexample.txtr)rrpr;r�rFrGr�rTrr
rj)rr{r|s&  r�#test_explicit_cleanup_correct_error�:TestTemporaryDirectory.test_explicit_cleanup_correct_error�s���
�
(�
(�
*�
*�k��~�~�+�~�6�H��b�g�g�l�l�8�=�=�-�@�$�G�G��&�&��7�7��$�$�&�8�H�+�
*�
8�7��H�G��+�
*�
*�sN�AC�.C
	�B7
�C
	�%C�7C�C�C
	�
C
�C
�C�C.	�&C.	c�&�[O29^tt^2oUOUQ5o[OOUOQ2o[OU2[OU29^tt^2UO[29^tt^2UO2PPP2PPP2PPP2P!)%fhK"9h)%fhK-9h)%fhP!9h)r��subdir)
rrpr;rFrGr�rTr
r�
change_cwdrr
rj)rr{r|r�s&   r� test_cleanup_with_used_directory�7TestTemporaryDirectory.test_cleanup_with_used_directory�s���
�
(�
(�
*�
*�k��~�~�+�~�6�H��W�W�\�\�(�-�-��:�F��H�H�V���%�%�f�-�-��&�&��7�7��$�$�&�8�.�	+�
*�8�7��.�-��	+�
*�
*�sN�A1C?�C,	�.C
�?C,	�C?�C)�"C)�$C,	�,C<
�5C<
�7C?�?D	�D	c��UO2oUO]Q5o[OUO[OOUOQ22UO
2UO[OOUO2QUO*2UO[OOUO2Q2UO[OUO2Q,Q2UO
2P!)r�r[�fooriz-Directory pointed to by a symlink was deletedz	test0.txtz>Contents of the directory pointed to by a symlink were deleted)r;rF�symlinkrTrGr�rjr�r@rQrMr�)r�d1�d2s&  r�(test_cleanup_with_symlink_to_a_directory�?TestTemporaryDirectory.test_cleanup_with_symlink_to_a_directory�s����^�^�
��
�^�^�A�^�
&��	�
�
�2�7�7�B�G�G�L�L����%�8�9�	�
�
�������������0�E����O�	Q���������r�w�w�/�G�	I�������B�G�G�,�{�m�(�	)�	�
�
�rc��``�RO]Q59^tt^2o[OOUQ2o[	UQ2O2[OOUQ2o[OU2[]2FCD�nR]*nRO[RQ2Q59^tt^2UU1QkoROQ29^tt^2UQ	P
Q
5PPP2ROQ29^tt^2UQ	P	Q
5PPP2ROQ29^tt^2[OUR2[OU2OoUUP
Q
5[OU2OoROVeQ
Ve1*2PPP2ROQ29^tt^2[OUR2[OU2OoUUP	Q
5[OU2OoROVeQ
Ve1*2PPP2PPP2CJ�	PPP2P!)%fhCK�9h)%fhCKv9h)%fhK�9h)%fhKb9h)%fhCJB9h)%fhP!9h)rr��file1rr�03or6c�,:�RO]Q5o[OOUOQ2o[O
VUQ5[OURP
Q5[OUR2[OUOR2UO2RO[OOUO22P![cK�h9h[cK�h9h�rr�r���target_is_directory)�follow_symlinks)r;rFrGr�rTr�r	�NotImplementedErrorr�rjr�r@)�targetr�r�r�rrs&&  ��r�test�DTestTemporaryDirectory.test_cleanup_with_symlink_modes.<locals>.test�s����!�^�^�A�^�6��"$�'�'�,�,�r�w�w�	�"B���
�
�6�4G�I�!��H�H�W�d�E�J�!��H�H�W�d�3�������$�/��
�
���(�(���������)@�A�� 3�!� �!�� 1�!� �!��0�C4�2D�4	D�>D�D�	D�D�D�nonexisting file�nonexistingr��nonexisting dir�
existing filez%03o != %03o�existing dir)r;rFrGr�r�r�r
r�r^ryr	rrrM)rr�r�rr��old_mode�new_modersf      @r�test_cleanup_with_symlink_modes�6TestTemporaryDirectory.test_cleanup_with_symlink_modes�s����^�^�A�^�
&�
&�"��G�G�L�L��W�-�E�����#�#�%��7�7�<�<��F�+�D��H�H�T�N��a������
���\�\�v�d�E�':�\�;�;�B�"���&8�9�9��]��F�:����&7�8�8��]��E�9����o�6�6������-�#%�7�7�5�>�#9�#9���U��>�#%�7�7�5�>�#9�#9���(�(��)7�8�:N�)N�P�7����n�5�5�����t�,�#%�7�7�4�=�#8�#8���T�t�<�#%�7�7�4�=�#8�#8���(�(��)7�8�:N�)N�P�6�?<�;�!�'�
&�2:�9�9��8�8�8��7�6��6�5��?<�;�;��'�
&�
&�s��B.K �!K
�-I=�8!K
�J�$!K
�A<J%�!K
�"A<J8�K
�&
K �=J�J�	K
�J"�J"�	K
�%J5�.J5�0K
�8K�K�K
�K�K�
K � K1	�)K1	�chflagszrequires os.chflagsc	�p``�[O[O*nROR2RO	]Q59^tt^2o[
OOUQ2o[UQ2O2[
OOUQ2o[
OU2UU1QkoROQ29^tt^2UQP
Q5PPP2ROQ	29^tt^2UQP	Q5PPP2ROQ
29^tt^2[
OUR2[
OU2OoUUP
Q5[
OU2OoROVe2PPP2ROQ29^tt^2[
OUR2[
OU2OoUUP	Q5[
OU2OoROVe2PPP2PPP2P!)%fhCKo9h)%fhCKW9h)%fhK�9h)%fhKU9h)%fhP!9h)rr�r�rrc�,:�RO]Q5o[OOUOQ2o[O
VUQ5[OURP
Q5[OUR2[OUOR2UO2RO[OOUO22P![cK�h9h[cK�h9hr�)r;rFrGr�rTr�r�r�r�rjr�r@)r�r�r�r�r+rs&&  ��rr��DTestTemporaryDirectory.test_cleanup_with_symlink_flags.<locals>.tests�����^�^�A�^�.���'�'�,�,�r�w�w�	�:���
�
�6�/B�D���J�J�w��u�E���J�J�w��.��
�
�2�7�7�E�*��
�
��� � ���������!8�9��+�����)����r�r�r�r�r�r�r�)r�UF_IMMUTABLE�UF_NOUNLINK�check_flagsr;rFrGr�r�r�r
r^r��st_flagsrM)rr�r�rr��	old_flags�	new_flagsr+sf      @r�test_cleanup_with_symlink_flags�6TestTemporaryDirectory.test_cleanup_with_symlink_flags
s�����!�!�D�$4�$4�4�������
�^�^�A�^�
&�
&�"��G�G�L�L��W�-�E�����#�#�%��7�7�<�<��F�+�D��H�H�T�N�
:�"���0�1�1��]��>�2����/�0�0��]��=�1����o�.�.��
�
�5�%�(��G�G�E�N�3�3�	��U��6��G�G�E�N�3�3�	�� � ��6�/����n�-�-��
�
�4��'��G�G�D�M�2�2�	��T�t�4��G�G�D�M�2�2�	�� � ��6�.�E'�
&�,2�1�1��0�0�0��/�.��.�-��E'�
&�
&�s��BJ$�%I	�0!J$�I*	�!J$�=A3I>	�0!J$�A3J	�J$�I'
�I'
�!	J$�*I;
�3I;
�5	J$�>J
�J
�	J$�J!
�J!
�J$�$J5	�-J5	c�@�[O2oUOUQ5oUOo=UO	[
OOU2QU*2[
OU2P![
OS2h9h)r��*TemporaryDirectory %s exists after __del__)	rrgr;rTr�rFrGr@r�rrUr�rTs&   r�test_del_on_collection�-TestTemporaryDirectory.test_del_on_collection:sr����� ��	����3��'�A��6�6�D�����R�W�W�^�^�D�1�D�t�K�
M�
�H�H�S�M��B�H�H�S�M�s�AB�Bc��[O29^tt^2oUOUP	Q5o[OUO
2oUO
UO2QU8Q02[UQ*Q29^tt^2oUOQ2=PPP2UO[[UOQ222[[O O#Q22Q	U802UOUO2[O O#Q2QU8Q
02PPP2P!)%fhK�9h)%fhP!9h)z@Test that ignoring errors works when TemporaryDirectory is gced.rnrorprqrrrsrtrurvrw)rrpr;rxr)rTrQr@r�r�rMrIrSryr�rarbr�rzs&    r�$test_del_on_collection_ignore_errors�;TestTemporaryDirectory.test_del_on_collection_ignore_errorsGs2���
(�
(�
*�
*�k��~�~��t�&�=�H����X�]�]�3�I��O�O�I�,�,�.�1�)��o�N�
P��i�,�.��6�6�)���� 0�1��7�
���S��i�n�n�S�&9�!:�;� ����!8�!8��!?�@�3�3<�-�A�
B�
���� � �"����'�'��.�%�i�]�2M�N�
P�+�
*�7�6��
+�
*�
*�s1�A4E,�E	�&B)E,�E)
�"E)
�$E,�,E=	�5E=	c	���UO29^tt^2oQ	FD�oQOVQ5o[OQU2vqEoUO	2O2oUO
[OOU2QU*2UO	QQ2oUOQU2UOQU2J�	PPP2P!)%fhP!9h)
�builtinsa�if True:
                    import builtins
                    import os
                    import shutil
                    import sys
                    import tempfile
                    import warnings

                    tmp = tempfile.TemporaryDirectory(dir={dir!r})
                    sys.stdout.buffer.write(tmp.name.encode())

                    tmp2 = os.path.join(tmp.name, 'test_dir')
                    os.mkdir(tmp2)
                    with open(os.path.join(tmp2, "test0.txt"), "w") as f:
                        f.write("Hello world!")

                    {mod}.tmp = tmp

                    warnings.filterwarnings("always", category=ResourceWarning)
                    )rUrL�-crir�backslashreplace�
Exception �'ResourceWarning: Implicitly cleaning up)r�rF�shutilrarr?�r;ryr�assert_python_okr�r�r�rFrGr@r�r�)rrUrL�code�rcr��errrls&       r�test_del_on_shutdown�+TestTemporaryDirectory.test_del_on_shutdown\s���
�^�^�
�
��R���&��3��0�'�( -�=�=�d�D�I�����:�:�<�-�-�/��� � �������!9�H�8�S�U��j�j��*<�=��� � ��s�3��
�
�G��M�7S��
�
�
�s�CC%�%C6	�.C6	c�
�[O29^tt^2oQOUQ5o[OQU2vq4o[
OUO2O22oUO[[UOQ222[[OO!Q22QU802UOUO#2[OO!Q2QU8Q02UOQ	Q
2oUO%QU2UO%QU2UO'Q
U2PPP2P!)%fhP!9h)z?Test ignoring errors works when a tempdir is gc'ed on shutdown.a�if True:
                import pathlib
                import sys
                import tempfile
                import warnings

                temp_dir = tempfile.TemporaryDirectory(
                    dir={working_dir!r}, ignore_cleanup_errors=True)
                sys.stdout.buffer.write(temp_dir.name.encode())

                temp_dir_2 = pathlib.Path(temp_dir.name) / "test_dir"
                temp_dir_2.mkdir()
                with open(temp_dir_2 / "test0.txt", "w") as test_file:
                    test_file.write("Hello world!")
                open_file = open(temp_dir_2 / "open_file.txt", "w")
                open_file.write("Hello world!")

                warnings.filterwarnings("always", category=ResourceWarning)
                )r{r�rtrurvrorwrr��	Exception�Errorr�)rrpryrr�rxr)r�r�rMrIrSryr�rarbr�r@r�r�)rr{r��__r�r�r}s&      r�"test_del_on_shutdown_ignore_errors�9TestTemporaryDirectory.test_del_on_shutdown_ignore_errors|s9��
�
(�
(�
*�
*�k��$�F�{�F�3�%
�&)�9�9�$��E�L�B�S����S�Z�Z�\�%7�%7�%9�:�I����S��i�n�n�S�&9�!:�;� ����!8�!8��!?�@�3�3<�-�A�
B�
���� � �"����'�'��.�%�i�]�2M�N�
P��*�*�W�&8�9�C����[�#�.����W�c�*��M�M�C�S�I�C+�
*�
*�
*�s�EE1�1F	�:F	c���UO29^tt^2oQOUQ5o[OQU2vq4oUO	2O2oUO
[OOU2QU*2UO	QQ2oUOQU2UOQU2PPP2P!)%fhP!9h)a�if True:
                import sys
                import tempfile
                import warnings

                def generator():
                    with tempfile.TemporaryDirectory(dir={dir!r}) as tmp:
                        yield tmp
                g = generator()
                sys.stdout.buffer.write(next(g).encode())

                warnings.filterwarnings("always", category=ResourceWarning)
                r�r�rirr�r�r�r�)rrUr�r�r�r�rls&      r�test_exit_on_shutdown�,TestTemporaryDirectory.test_exit_on_shutdown�s���
�^�^�
�
����F�s�F�O�
�)�9�9�$��E�L�B�S��z�z�|�)�)�+�H����R�W�W�^�^�H�5�D�x�O�
Q��*�*�W�&8�9�C����\�3�/��M�M�C�S�I�)�
�
�
�s�B7C�C,	�$C,	c	��UO29^tt^2oUOU]Q5oUOo[OQ[1P
Q59^tt^2[
OQ[Q5=[O2PPP2UO[OOU2QU*2PPP2P!)%fhKP9h)%fhP!9h)�)rUr[�
Implicitly)�quiet�always)r:r�)
r;rTrr>rrr?r@rrZr�rFrGr@r�s&   r�test_warnings_on_cleanup�/TestTemporaryDirectory.test_warnings_on_cleanup�s���
�^�^�
�
�����3���2�A��6�6�D�!�/�/��1@�1B�6;�=�=��'�'��?�K���"�"�$�=�
���R�W�W�^�^�D�1�D�t�K�
M��
�
=�=���
�
�s0�AC.� 3C	�>C.�C+
�$C+
�&C.�.C?	�7C?	c��UO2oUO2UO2UO2P!r})r;rjr�s& rrN�*TestTemporaryDirectory.test_multiple_close�s)���N�N���	�	�	��	�	�	��	�	�	�rc�b�UO2oU9^tt^2oUO[OO	U22UOV!O2PPP2UO[OO	W22P!)%fhK@9hr})r;rQrFrGr@rMrTr�)rr�rTs&  rrX�+TestTemporaryDirectory.test_context_manager�sj���N�N���
�Q�$��O�O�B�G�G�N�N�4�0�1����T�6�6�*��	
���������-�.��Q�s�A
B�B.	�'B.	c���[]2FCD*oU]*oUO[UQ2Q59^tt^2UO]]]Q5oS9^tt^2[O
UOP
Q5FDZvq4oSFD7o[O[OOV62U2J9	[OV12J\	UO2PPP2UO[OOUO22PPP2CJ-	P!)%fhKW9h)%fhCJV9h)�r�r6�r[r\r]��topdown)
r�r^ryr;rF�walkrTr	rGr�rjr�r@)rrr��rootr\r]rTs&      r�
test_modes�!TestTemporaryDirectory.test_modes�s����!�H�H�D��Q�J�D����6�$��#6��7�7��N�N�1�1�A�N�>���Q�-/�W�W�Q�V�V�U�-K�-K�)��E�$)�D��H�H�R�W�W�\�\�$�%=�t�D�%*�����,�.L��I�I�K�
�� � ���������!7�8�8�7���Q��8�7�7�s1�E	�BD?
�0AE	�?E�E�
E	�E$
�E$
c�|�[Oo[UQ2O2[O
V!2[O
U]2[OU2P![c#oSOQSQ
QS02Po=K@Po=hh9h[OS2h9h)r�z chflags() doesn't support flags z#bz: )	r�TESTFNr�r�rFr�r�rr8)rr+r��excs&&  rr��"TestTemporaryDirectory.check_flags�s����#�#��	'���3��%�%�'�
(��
�
�8�+��
�
�8�Q�'����X�&���
4��
�
� @�!&�r�
�"�S�E�3�4�4��
4��
���X�&�s:�B#�A3�B#�3	B �=B �>B�B#�B � B#�#B;c�z�[O[O*oUOU2UO	]]]Q5oS9^tt^2[
OUOP
Q5FDZvq4oSFD7o[
O[
OOV62U2J9	[
OV12J\	UO2PPP2UO[
OOUO22P!)%fhKJ9h)r�r�r�)rr�r�r�r;rFr�rTr�rGr�rjr�r@)rr+r�r�r\r]rTs&      r�
test_flags�!TestTemporaryDirectory.test_flags�s����!�!�D�$4�$4�4��������N�N�1�1�A�N�6��
�Q�%'�W�W�Q�V�V�U�%C�%C�!��E�!�D��J�J�r�w�w�|�|�D�7��?�"��
�
�4�'�&D�
�I�I�K�
�	
�����������/�0��Q�s�BD*�*D:	�3D:	c��[OP
Q59^tt^2oPPP2UO[OOW22[OU2P!)%fhKV9h)Fr�)rrprQrFrGr@r�r�)rr{s& r�test_delete_false�(TestTemporaryDirectory.test_delete_falsesK��
�
(�
(��
6�
6�+��7���������{�3�4��
�
�k�"�7�
6�s�A1�1B	�:B	r,)Nr
r
r�r�r�F)r�r�r�)&r-r.r/r0r�r;rZrfrkrr�r�rFrTr�r�r�skip_unless_symlinkr�r��hasattrr�r�cpython_onlyr�r�r�r�r�r�rNrXr�r�r�r�r1r2r3s@rrWrWfs~����$�	�	)�;��J�0������D��*<�=�'�>�'�������D��*<�=�	'�>�	'��"�"��#��(�"�"�.P�#�.P�`�����Y�/�1F�G��"�"�,7�#�H�,7�\
���
��
�
���P��P�(N�@#J�JJ�0M� �/�9�'� �����Y�/�1F�G�1�H�1�#�#rrW�__main__):rrcr�rFrxrar_r?�
contextlibrr(r*r~r�rr�rr�r�test.supportrrrr7r6r�r�r�rbr�r��TestCaser
r6rbr{r�r�r��contextmanagerr�r�r�r r�r�r�r�r
r!r�rdrer-rFrWr-�mainr,rr�<module>r�s�����	�	��
�	������	�
�����"�&�(��(�(�H�,C�,C�C��
�R��
"�
��<�<���9�%�%��J��J�(7�H�-�-�(7�X,2�8�$�$�,2�^7�,�7�<;7�\�;7�~")�|�")�TI�L�I�@
 �L�
 � ������2�3%�3%�ln-�~�|�n-�b���@+4�\�+4�\[,�,�[,�|h�.�,�h�V0��0�|b.�\�b.�LY*�|�Y*�v
���h�&<�&<�<�I2�L�I2�Z
�
� c#�\�c#�J
�z���M�M�O�r

Youez - 2016 - github.com/yon3zu
LinuXploit