403Webshell
Server IP : 121.121.20.254  /  Your IP : 216.73.216.202
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_pathlib/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

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

��i���$�SSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSK	r	SSK
r
SSKrSSKJr SSK
Jr SSKJr SSKJrJr SSKJr SSKJr SSKJrJrJr SS	KJr SS
KJrJrJr SSKrSSK r Sr"\#"\S5(a\RH"5S:Hr""S
S\RJ5r&"SS\&5r'"SS\&5r("SS\&5r)"SS\RT\&5r+\RX"\RZS:HS5"SS\+\'55r.\RX"\RZS:gS5"SS\+\(55r/"SS\+5r0"S S!\Rb5r2\3S":Xa\Rh"5 gg!\!a S=rr GNf=f)#�N)�mock)�pathname2url)�
import_helper)�
is_emscripten�is_wasi)�infinite_recursion)�	os_helper)�TESTFN�FS_NONASCII�FakePath)�test_pathlib_abc)�needs_posix�
needs_windows�needs_symlinksF�geteuidc��\rSrSr\R
r\RR\
5r/SQ/SQS.rSr
SrSrSrS	r\S
5rSrSrS
rSrSrSrSrSrSrSrSrSrS6Sjr Sr!Sr"Sr#Sr$Sr%Sr&Sr'S r(S!r)S"r*S#r+\,S$5r-\,S%5r.\,S&5r/\,S'5r0\,S(5r1S)//S*Q/S+QS,/S-S./S/.r2\S05r3\S15r4\S25r5\S35r6\S45r7S5r8g)7�PurePathTest�&)
)�a�b)�a/r)r�b/)rr)�a/b/)za//b)za//b//)�rr)rrr)rrr))r�/b/c�d)�/arr)�/rrzc/d)rrzb/c/d)r�/b/c/d)�a/brc��UR[RLa5[RS:Xa[R
O[RnOURnURS5nUR[U5U5 g�N�ntr)	�cls�pathlib�PurePath�os�name�PureWindowsPath�
PurePosixPath�assertIs�type��self�expected�ps   �3C:\Python313\\Lib\test\test_pathlib\test_pathlib.py�test_concrete_class� PurePathTest.test_concrete_class<sY���8�8�w�'�'�'�24�'�'�T�/�w�.�.�w�G\�G\�H��x�x�H��H�H�S�M���
�
�d�1�g�x�(�c��UR[RLa[nO4UR[RLa[
nO[RnURS5nURURU5 g�Nr)
r$r%r*�	posixpathr)�ntpathr'�pathr+�parserr-s   r1�test_concrete_parser�!PurePathTest.test_concrete_parserDsX���8�8�w�,�,�,� �H�
�X�X��0�0�
0��H��w�w�H��H�H�S�M���
�
�a�h�h��)r4c���URS5nUR[La[R"S5nO[R
"S5nUR
X5 gr6)r$r:r7r%r)r*�assertNotEqual�r.r0�qs   r1�test_different_parsers_unequal�+PurePathTest.test_different_parsers_unequalNsI���H�H�S�M���8�8�y� ��'�'��,�A��%�%�c�*�A����A�!r4c�>�URS5nUR[La[R"S5nO[R
"S5nUR
[5 X: SSS5 UR
[5 X:* SSS5 UR
[5 X:� SSS5 UR
[5 X:� SSS5 g!,(df   Nu=f!,(df   Nd=f!,(df   NS=f!,(df   g=fr6)r$r:r7r%r)r*�assertRaises�	TypeErrorr?s   r1� test_different_parsers_unordered�-PurePathTest.test_different_parsers_unorderedVs����H�H�S�M���8�8�y� ��'�'��,�A��%�%�c�*�A�
�
�
�y�
)�
�E�*�
�
�
�y�
)�
�F�*�
�
�
�y�
)�
�E�*�
�
�
�y�
)�
�F�*�
)�
*�
)��
)�
)��
)�
)��
)�
)�s0�'C�	C,�+C=�
D�
C)�,
C:�=
D�
Dc	���URnU"[S55 URU"U"S55U"S55 URU"U"S5S5U"S55 URU"U"S5U"S55U"S55 URU"U"S5U"S5U"S55U"[S555 URU"U"S55U"S55 g)N�a/b/crrr �c�./a:b)r$r�assertEqual�r.�Ps  r1�test_constructor_nested�$PurePathTest.test_constructor_nestedes����H�H��	�(�7�
������1�S�6��A�c�F�+�����1�S�6�3���5��2�����1�S�6�1�S�6�*�A�e�H�5�����1�S�6�1�S�6�1�S�6�2�A�h�w�6G�4H�I�����1�W�:���'�
�3r4c�@�[R"S5n[R"SS5nURX5 URURU5URS55 URURU5URS55 g)Nzb/c:\drzc:\dzb/c:/d)r%r*rLr$)r.�p1�p2s   r1�'test_constructor_nested_foreign_flavour�4PurePathTest.test_constructor_nested_foreign_flavournsv���
"�
"�9�
-��
�
"�
"�4��
1������ �������"��t�x�x��'9�:�������"��t�x�x��'9�:r4c�\�URRnURRUR	SU55nURXB5 URR=n(a=URRUR	SU55nURXB5 gg�Nr)r:�sepr$�_parse_path�replacerL�altsep)r.�raw_pathr/rX�actualr[s      r1�_check_parse_path�PurePathTest._check_parse_pathws����k�k�o�o�����%�%�h�&6�&6�s�C�&@�A������*��[�[�'�'�'�6�'��X�X�)�)�(�*:�*:�3��*G�H�F����V�.�(r4c��URnURRnU"SSS/5 U"SSSS/5 U"SSSS/5 U"SSSSS/5 U"SSSSS/5 U"SSS/SQ5 U"S	SS/SQ5 U"SSS/SQ5 U"S
SS/5 U"SSSS/5 U"SSSSS/5 U"S
SSS/5 U"SSUSS/5 g)Nrrrr rrza/b/c/d)rrrJrza/b//c/d�.z././bza/./bza/./.�/a/b)r^r:rX)r.�checkrXs   r1�test_parse_path_common�#PurePathTest.test_parse_path_commons����&�&���k�k�o�o��
�b�"�b�"�%�
�c�"�b�3�%�(�
�d�"�b�3�%�(�
�e�"�b�3��*�-�
�f�"�b�3��*�-�
�i�"�b�"6�7�
�j�"�b�"6�7�
�i�"�b�"6�7�
�c�"�b�"�%�
�g�"�b�3�%�(�
�g�"�b�3��*�-�
�g�"�b�3�%�(�
�f�"�c�C��:�.r4c��URS5nUR[U5S5 URSS5 g)Nrra)r)r$rL�str�
_check_str�r.r0s  r1�test_empty_path�PurePathTest.test_empty_path�s1���H�H�R�L������Q���%�����U�#r4c���URnU"S5nU"S5nURURSURS5 URURSURS5 g)Nz/usr/bin/fooz/usr/local/bin���)r$r+�parts�r.rNr0r@s    r1�test_parts_interning�!PurePathTest.test_parts_interning�s\���H�H��
�n���
�����
�
�a�g�g�a�j�!�'�'�!�*�-��
�
�a�g�g�a�j�!�'�'�!�*�-r4c��URnU"S5RU"S55nURX!"S55 g�Nr rJrI)r$�joinpathrL�r.rNr0s   r1�test_join_nested�PurePathTest.test_join_nested�s7���H�H��
�e�H���a��f�%������A�g�J�'r4c�l�URnU"S5U"S5-nURX!"S55 gru)r$rLrws   r1�test_div_nested�PurePathTest.test_div_nested�s1���H�H��
�e�H�q��v�������A�g�J�'r4c	�2�URnSH�nURUS9 U"U5n[S[RS-5H�n[R
"X45n[R"U5nURURUR5 URXc5 UR[U5[U55 UR[U5[U55 M� SSS5 M� g!,(df   GM=f)N)rrr rIrrb�/a/b/cza/b/c/��pathstrrrm)r$�subTest�range�pickle�HIGHEST_PROTOCOL�dumps�loadsr+�	__class__rL�hashrg)r.rNr�r0�proto�dumped�pps       r1�test_pickling_common�!PurePathTest.test_pickling_common�s����H�H��S�G����g��.��g�J��"�1�f�&=�&=��&A�B�E�#�\�\�!�3�F����f�-�B��M�M�"�,�,����<��$�$�R�+��$�$�T�"�X�t�A�w�7��$�$�S��W�c�!�f�5�
C�/�.�T�.�.�s�CD�
D	c���SH�nURUS9 URU5nURRn[	U5nURUR
US-5U5 URURS5U5 U[U5S-SnUR[U5UR55 SSS5 M� g!,(df   M�=f)N�rr rIrrbr~r�(�)rm���)r�r$r��__name__�repr�
assertTrue�
startswith�endswith�lenrL�eval�as_posix)r.r�r0�clsname�r�inners      r1�test_repr_common�PurePathTest.test_repr_common�s���C�G����g��.��H�H�W�%���+�+�.�.����G��������W�s�]� ;�Q�?�����
�
�3���3��#�g�,��*�R�0��� � ��e��a�j�j�l�;�/�.�D�.�.�s�B2C�
C#	c��URnU"S5nURUR5S5 UR[R"U5S5 g)Nr )r )r$rh�
__fspath__r'�fspathrws   r1�test_fspath_common�PurePathTest.test_fspath_common�s>���H�H��
�e�H����������1�����	�	�!��h�/r4c�t�URnSnUR[U5 U"S5 SSS5 UR[U5 U"SS5 SSS5 UR[U5 U"SS5 SSS5 g!,(df   N_=f!,(df   NH=f!,(df   g=f)Nz^argument should be a str or an os\.PathLike object where __fspath__ returns a str, not 'bytes'�arr�b)r$�assertRaisesRegexrE)r.rN�messages   r1�test_bytes_exc_message�#PurePathTest.test_bytes_exc_message�s����H�H��B��
�
#�
#�I�w�
7�
�d�G�8�
�
#�
#�I�w�
7�
�d�C�L�8�
�
#�
#�I�w�
7�
�c�4�L�8�
7�	8�
7��
7�
7��
7�
7�s#�	B�
B�4
B)�
B�
B&�)
B7c��[R"UR5nURnUR	[U"S55SU-S-5 g)Nr r�r�)r'�fsencoderXr$rL�bytes)r.rXrNs   r1�test_as_bytes_common�!PurePathTest.test_as_bytes_common�s>���k�k�$�(�(�#���H�H������q��x��$��*�t�*;�<r4c�P�URnURU"S5U"S55 URU"S5U"SS55 URU"S5U"S55 URU"S5U"S55 URU"S5U"55 URU"S5U"S55 URU"5U"S55 URU"5S5 URU"505 URU"5[5 g)Nr rrrbrr)r$rLr>�intrMs  r1�test_eq_common�PurePathTest.test_eq_common�s����H�H������5��1�U�8�,�����5��1�S�#�;�/����A�e�H�a��f�-����A�e�H�a��i�0����A�e�H�a�c�*����A�f�I�q��v�.����A�C��3��(����A�C��$����A�C��$����A�C��%r4Nc	�^�UcTRnUR5GH'up#URSTR5nURTRS5nXE:wa;UUVs/sHn[	U4SjU55PM sn-nURU45 TR
U5nUH�nTR"U6nTRX�SRU55 TR[U5[U55 TR[U5U5 TRUR5U5 M� GM* gs snf)Nrc3�Z># �UH oRSTR5v� M" g7f)rN)rZrX)�.0�partr.s  �r1�	<genexpr>�1PurePathTest.test_equivalences.<locals>.<genexpr>�s!����D�!�$�,�,�s�D�H�H�5�5�!�s�(+zfailed with args {})�equivalences�itemsrZrX�tuple�appendr$rL�formatr�rgr�)	r.r��k�tuples�canon�posix�t�pcanonr0s	`        r1�test_equivalences�PurePathTest.test_equivalences�s������,�,�L�%�+�+�-�I�A��I�I�c�4�8�8�,�E��I�I�d�h�h��,�E��~��#�#�#���D�!�D�D�#�#����
�
�u�i�(��X�X�e�_�F����H�H�a�L��� � ��,A�,H�,H��,K�L�� � ��a��$�v�,�7�� � ��Q���/�� � �����u�5��.��#s�)Ec��^�U4SjnTRnU"S5nU"S5nU"S5nU"S5nU"X45 U"X55 U"X65 U"XE5 U"XV5 TRnU"S5nU"S5nU"S5nU"S	5nU"X45 U"X55 U"X65 U"XE5 U"XV5 TR[5 U"50: SSS5 g!,(df   g=f)
Nc�J>�TRX5 TRX5 g�N)�
assertLess�
assertGreater�rrr.s  �r1r��5PurePathTest.test_ordering_common.<locals>.assertLess�s����O�O�A�!����q�$r4rr �abcrrrbz/abcz/b)r$rDrE)r.r�rNrrrJrs`      r1�test_ordering_common�!PurePathTest.test_ordering_common�s����	%�
�H�H��
�c�F��
�e�H��
�e�H��
�c�F���1���1���1���1���1���H�H��
�d�G��
�f�I��
�f�I��
�d�G���1���1���1���1���1��
�
�
�y�
)�
�C�"�H�*�
)�
)�s�C�
C'c�.�URnUR[5 U"S5R5 SSS5 UR[5 U"5R5 SSS5 g!,(df   NB=f!,(df   g=fr6)r$rD�
ValueError�as_urirMs  r1�test_as_uri_common�PurePathTest.test_as_uri_commons\���H�H��
�
�
�z�
*�
�c�F�M�M�O�+�
�
�
�z�
*�
�C�J�J�L�+�
*�+�
*��
*�
*�s�A5�B�5
B�
Bc�z�SH�nURUS9 URU5n[U5n[U[R
5nUR
URUR5 URXB5 UR[U5U5 SSS5 M� g!,(df   M�=f)Nr�r)	r�r$r�r�r%�__dict__r+r�rL)r.r�r0r�r@s     r1�test_repr_roundtrips�!PurePathTest.test_repr_roundtripss���C�G����g��.��H�H�W�%����G����G�,�,�-���
�
�a�k�k�1�;�;�7�� � ��&�� � ��a��!�,�/�.�D�.�.�s�B	B+�+
B:	c���URnURU"S5RS5 URU"S5RS5 URU"S5RS5 g)Nrraz/a/b/.r)r$rLr(rMs  r1�test_name_empty�PurePathTest.test_name_empty(sU���H�H������2����R�(�����3����b�)�����8��)�)�3�/r4c��URnURU"S5RS5 URU"S5RS5 g)Nrra)r$rL�stemrMs  r1�test_stem_empty�PurePathTest.test_stem_empty.s;���H�H������2����R�(�����3����b�)r4c��URnUR[U"S5RS5 UR[U"S5RS5 UR[U"S5RS5 UR[U"S5RS5 UR[U"S5RS5 g)Nrzd.xmlrarr )r$rDr��	with_namerMs  r1�test_with_name_empty�!PurePathTest.test_with_name_empty3s����H�H�����*�a��e�o�o�w�?����*�a��f�&6�&6��@����*�a��f�&6�&6��@����*�a��h�&8�&8�"�=����*�a��h�&8�&8�#�>r4c��URnUR[U"S5RS5 UR[U"S5RS5 UR[U"S5RS5 UR[U"S5RS5 UR[U"S5RS5 g)Nrrrarr )r$rDr��	with_stemrMs  r1�test_with_stem_empty�!PurePathTest.test_with_stem_empty;s����H�H�����*�a��e�o�o�s�;����*�a��f�&6�&6��<����*�a��f�&6�&6��<����*�a��h�&8�&8�"�=����*�a��h�&8�&8�#�>r4c���URnU"S5nUR[5 URSS5 URSSSS9 SSS5 g!,(df   g=f)Nr rrT)�walk_up)r$�assertWarns�DeprecationWarning�relative_torws   r1�test_relative_to_several_args�*PurePathTest.test_relative_to_several_argsCsO���H�H��
�e�H��
�
�
�0�
1�
�M�M�#�s�#�
�M�M�#�s�D�M�1�2�
1�
1�s�$A�
A%c��URnU"S5nUR[5 URSS5 SSS5 g!,(df   g=f)Nr rr)r$r�r��is_relative_torws   r1� test_is_relative_to_several_args�-PurePathTest.test_is_relative_to_several_argsJs?���H�H��
�e�H��
�
�
�0�
1�
���S�#�&�2�
1�
1�s�A�
Ac��URnU"S5nUR[5 UR5 SSS5 g!,(df   g=f)Nr )r$r�r��is_reservedrws   r1�test_is_reserved_deprecated�(PurePathTest.test_is_reserved_deprecatedPs8���H�H��
�e�H��
�
�
�0�
1�
�M�M�O�2�
1�
1�s�A�
Ac��URnUR[U"S5RS5 UR[U"S5RS5 g)Nrrra)r$rDr��matchrMs  r1�test_match_empty�PurePathTest.test_match_emptyVs?���H�H�����*�a��f�l�l�B�7����*�a��f�l�l�C�8r4c��URnU"SSSSS/5 U"SSSSS/5 U"SSSSS/5 U"S	SSS	/5 U"S
SSS
/5 U"SSSS/5 g)N�//a/br�//rrz///a/brz////a/b�c:a�c:\az\a�r^�r.rcs  r1�test_parse_path_posix�"PurePathTest.test_parse_path_posix[su���&�&��	�g��T�C��:�.�
�h��S�3��*�-�
�i��S�3��*�-�
�e��R�%��*�
�g��R�'��,�
�e��R�%��*r4c���URnURU"S5U"S55 URU"S5U"S55 URU"S5U"S55 g)Nr �A/brz///a�//a)r$r>rLrMs  r1�
test_eq_posix�PurePathTest.test_eq_posixhsS���H�H�����A�e�H�a��h�/�����4��!�F�)�,����A�d�G�Q�u�X�.r4c��URnURU"S5R5S5 URU"S5R5S5 URU"S5R5S5 g)Nrzfile:///z/a/b.cz
file:///a/b.cz/a/b%#czfile:///a/b%25%23c)r$rLr�rMs  r1�test_as_uri_posix�PurePathTest.test_as_uri_posixos`���H�H������3�����*�5�����8��+�+�-��?�����9��,�,�.�0D�Er4c	��SSKJn URn[R"S5 URU"S5R5SU"[R"S55-5 g![
a UR
S5 Naf=f)Nr��quote_from_bytes�éz1\xe9 cannot be encoded to the filesystem encodingu/a/bézfile:///a/b)	�urllib.parserr$r'r��UnicodeEncodeError�skipTestrLr�)r.rrNs   r1�test_as_uri_non_ascii�"PurePathTest.test_as_uri_non_asciivsw��1��H�H��	P��K�K���	
����:��-�-�/�&�)9�"�+�+�f�:M�)N�N�	P��"�	P��M�M�N�O�	P�s�A.�.B�Bc��URnU"SSS5nU"[R"S55nURX#5 g)N�c:rr�c:\a\b)r$r%r)rL)r.rNr0r�s    r1�test_parse_windows_path�$PurePathTest.test_parse_windows_path�s<���H�H��
�d�C����
�w�&�&�z�2�
3������r4)rK))rr)rr)rarr))�c:/r)rrr)rr)z/zrr)z//x/yrr)r�)r�rJ)�//a/b/rJ)rKr�c:/ar�//a/b/cc�:�URUR5 gr�)r��windows_equivalences�r.s r1�test_equivalences_windows�&PurePathTest.test_equivalences_windows�s�����t�8�8�9r4c�l�URnU"SSS/5 U"SSS/5 U"SSS/5 U"SSSS/5 U"SSSS/5 U"S	SSS/5 U"S
SS/5 U"SS
S/5 U"SSS/5 U"SSS/5 U"SSS/5 U"SSSS/5 U"SSS/SQ5 U"SSSS/5 U"SSS/5 U"SSS/5 U"SSSS/5 U"S S!S/5 U"S"S#S/5 U"S$S%S/5 U"S&S'S/5 U"S(S)S/5 U"S*S+S/5 U"S,S-S/5 U"S.S-S/5 U"S/S-SS/5 U"S0S1S/5 U"S2S3S/5 U"S4S5S/5 U"S6S7S/5 U"S8S9S/5 U"S:SSS;/5 U"S<SSS</5 U"S=S>SS;/5 U"S?S>SS;/5 U"S@SASSSB/5 U"SCSASSSB/5 g)DNrrr�\rrrrrr�z\\rz\\az//a/z\\a\r�z\\a\brrrJzZ://b//c/d/zZ:)rrJrz//b/c//dz\\b\crz//./c:z\\.\c:z//?/c:/z\\?\c:z//?/c:/az//?z\\?z//?/z\\?\z//?/UNCz\\?\UNCz//?/UNC/z\\?\UNC\z	//?/UNC/bz	\\?\UNC\bz
//?/UNC/b/z
\\?\UNC\b\z//?/UNC/b/cz\\?\UNC\b\cz//?/UNC/b/c/z
//?/UNC/b/c/dz//./BootPartition/z\\.\BootPartitionz//?/BootPartition/z\\?\BootPartitionz//./PhysicalDrive0z\\.\PhysicalDrive0z
//?/Volume{}/z\\?\Volume{}z//./nulz\\.\nulz./c:szc:szcc:szC:c:szC:zC:/c:szD:a/c:bzD:zc:bzD:/a/c:brrs  r1�test_parse_path_windows�$PurePathTest.test_parse_path_windows�s<���&�&��
�d�T�2�r�2�
�e�T�4��4�
�c�R��r�2�
�e�T�2��u�5�
�f�T�4�#��7�
�d�R���u�5�
�d�V�R��4�
�e�W�b�"�5�
�f�Y��B�7�
�g�Z��r�:�
�h�Z��r�:�
�i�Z���u�=�
�m�T�4��A�
�j�Z���u�=�
�h�[�"�b�9�
�i�[�$��;�
�j�[�$���>�
�e�W�b�"�5�
�f�Y��B�7�
�i�\�2�r�:�
�j�^�R��<�
�k�_�b�"�=�
�l�%6��B�?�
�m�%7��r�B�
�n�%7��r�B�
�o�%7���u�E�
�"�%;�T�2�F�
�"�%;�T�2�F�
�"�%<�b�"�E�
�o�%6��b�A�
�i�\�2�r�:�
�g�R��e�W�5�
�f�R��f�X�6�
�g�T�2��w�7�
�h�T�4�%��9�
�i�T�2��U�|�<�
�j�T�4�#�u��>r4c�<�URnURU"S5U"S55 URU"S5U"SSS55 URU"S5U"S55 URU"S5U"S55 URU"S5U"S55 URU"S5U"S	55 URU"S
5U"S55 URU"S5U"S
55 URU"S5U"S55 g)N�c:a/brrrzd:a/b�c:/a/brbza/Br�C:a/B�c:A/b�//Some/SHARE/a/Bz//somE/share/A/buİui̇)r$rLr>rMs  r1�test_eq_windows�PurePathTest.test_eq_windows�s����H�H������7��Q�w�Z�0�����7��Q�t�S�#�%6�7����A�g�J��'�
�3����A�g�J��(��4����A�f�I�q��{�3�����5��1�U�8�,�����7��Q�w�Z�0�����-�.��2D�0E�F�����8��a�	�l�3r4c��URnUR[5 U"S5R5 SSS5 UR[5 U"S5R5 SSS5 UR	U"S5R5S5 UR	U"S5R5S5 UR	U"S5R5S5 UR	U"S	5R5S
5 UR	U"S5R5S5 S
SKJn U"[R"[55nUR	U"S[-5R5SU-5 UR	U"S[-5R5SU-5 g!,(df   GN�=f!,(df   GNf=f)Nrbr*rzfile:///c:/zc:/a/b.czfile:///c:/a/b.cz	c:/a/b%#czfile:///c:/a/b%25%23cz
//some/share/zfile://some/share/z//some/share/a/b.czfile://some/share/a/b.crrr+zfile:///c:/a/bz//some/share/a/b%#czfile://some/share/a/b%25%23c)
r$rDr�r�rLrrr'r�r)r.rNr�QUOTED_FS_NONASCIIs    r1�test_as_uri_windows� PurePathTest.test_as_uri_windows�sm���H�H��
�
�
�z�
*�
�f�I����+�
�
�
�z�
*�
�g�J����+�����5����*�M�:�����:��-�-�/�1C�D�����;��.�.�0�2I�J�����?�+�2�2�4�6J�K�����/�0�7�7�9�2�	4�	2�-�b�k�k�+�.F�G������8�k�1�2�9�9�;�)�,>�>�	@�����0�;�>�?�F�F�H�7�:L�L�	N�+�
*��
*�
*�s�F:�G�:
G	�
Gc�"^�U4SjnTRnU"S5nU"S5nU"X45 TRX4:5 TRX4:�5 U"S5nU"S5nU"X45 TRX4:5 TRX4:�5 g)Nc�J>�TRX5 TRX5 gr�)�assertLessEqual�assertGreaterEqualr�s  �r1�assertOrderedEqual�>PurePathTest.test_ordering_windows.<locals>.assertOrderedEqual�s���� � ��&��#�#�A�)r4r-r,z//some/Share/A/br.)r$�assertFalse)r.r9rNr0r@s`    r1�test_ordering_windows�"PurePathTest.test_ordering_windows�s����	*�
�H�H��
�g�J��
�g�J���1� �������������
� �!��
� �!���1� ������������r4�r�)9r��
__module__�__qualname__�__firstlineno__r%r&r$r'r9�realpathr
�baser�r2r;rArFrOrrTr^rdrjrrrxr{r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrr	rrrr!r#r'r/r3r<�__static_attributes__r>r4r1rr&s���
�
�
�C��7�7���F�#�D�
���L�)�*�"�
�4��;��;�/�/�"$�.�(�
(�
6�
<�0�	�=�
&�6�(�8�	-�0�*�
?�?�2�'��9�
�
+��
+��/��/��F��F��P��P�� �� ���>���.��O�����:��:��.?��.?�`�4��4��N��N�(� �� r4rc�,�\rSrSr\R
rSrg)�PurePosixPathTestir>N)r�r?r@rAr%r*r$rDr>r4r1rFrFs
��
�
�
�Cr4rFc�,�\rSrSr\R
rSrg)�PureWindowsPathTestir>N)r�r?r@rAr%r)r$rDr>r4r1rHrHs
��
�
!�
!�Cr4rHc�B�\rSrSr"SS\R
5rSrSrg)�PurePathSubclassTestic��\rSrSrSrg)�PurePathSubclassTest.clsi	r>N�r�r?r@rArDr>r4r1r$rL	���r4r$Nr>)	r�r?r@rAr%r&r$r�rDr>r4r1rJrJs��
�g���
� �r4rJc�^�\rSrSr\R
r\R"5rU4Sjr	Sr
SrSrSr
SrSrS	rS
rSr\R("\SLS
S9S5r\R("\S5S5rSrSrSr\R8S5r\\R8S55rSr \RB"\S5S5r"\RB"\S5\RB"\#S5S55r$Sr%\RB"\&S5S5r'\RB"\&S5\RB"\#S5S55r(S r)S!r*S"r+\RXS#5r-\R("\."\/S$5S%5S&5r0S'r1S(r2S)r3S*r4S+r5S,r6S-r7S.r8\R("\9S/5S05r:\;S15r<S2r=S3r>S4r?\@S55rA\R("\."\/S65S75S85rBS9rC\RB"\."\/S:5S;5\R("\DR�S<:HS=5S>55rF\RB"\."\GS?5S@5\R("\9SA5\R("\SB5SC555rHSDrISErJSFrKU4SGjrLSHrMSIrNSJrOSKrPSLrQSMrRSNrS\@SO5rTSPrUSQrV\SR5rW\R("\9=(d \SS5\ST55rX\SU5rY\R("\9=(d \SS5\SV55rZ\RB"\."\SW5SX5\R("\DR�S<:HSY5\SZ555r[\R("\DR�S[:gS\5\S]55r\\S^5r]\S_5r^\;S`5r_\;Sa5r`\;Sb5ra\;Sc5rb\;Sd5rc\;Se5rdSfreU=rf$)g�PathTestic�>�[TU]5 [R"URRURS5S5 g)N�dirEr)�super�setUpr'�chmodr:�joinrC)r.r�s �r1rT�PathTest.setUps/���
��
��
������!�!�$�)�)�V�4�a�8r4c��[R"URRURS5S5 [
R"UR5 g)NrR�)r'rUr:rVrCr	�rmtreer"s r1�tearDown�PathTest.tearDowns7��
������!�!�$�)�)�V�4�e�<�������#r4c��[R"[R"S[R
"5S95nUR
[RU5 U$)Nz-dirD)�suffix�dir)r	�	_longpath�tempfile�mkdtempr'�getcwd�
addCleanuprZ)r.rs  r1�tempdir�PathTest.tempdir!sE������ 0� 0��57�Y�Y�[�!B�
C�����	�(�(�!�,��r4c��[UR5Vs1sHoSS:wdM
UiM nnURS5 [[RR
5Vs1sHoSS:wdM
UiM nnUR
X#5 UHknUS:XaM[URU5n[[RR
U5nUR
URUR5 Mm gs snfs snf)Nr�_r�r:)	r_r$�remover%�_abc�PathBaserL�getattr�__doc__)r.r(�	our_names�
path_names�	attr_name�our_attr�	path_attrs       r1�test_matches_pathbase_api�"PathTest.test_matches_pathbase_api's���&)�$�(�(�m�F�m�d�A�w�#�~�T�m�	�F�����'�'*�7�<�<�+@�+@�'A�T�'A�t�!�W�PS�^�d�'A�
�T�����/�"�I��H�$���t�x�x��3�H����� 5� 5�y�A�I����X�-�-�y�/@�/@�A�#��	G��Ts�D�D�&D�6Dc��UR[RLa5[RS:Xa[R
O[RnOURnURS5nUR[U5U5 gr")	r$r%�Pathr'r(�WindowsPath�	PosixPathr+r,r-s   r1r2�PathTest.test_concrete_class5sW���8�8�w�|�|�#�.0�g�g��o�w�*�*�7�CT�CT�H��x�x�H��H�H�S�M���
�
�d�1�g�x�(r4c���URR[RLaUR	S5 gUR[RUR5 g)Nzpath parser is supported)r$r:r'r9rrDr%�UnsupportedOperationr"s r1�test_unsupported_parser� PathTest.test_unsupported_parser=s=���8�8�?�?�b�g�g�%��M�M�4�5����g�:�:�D�H�H�Er4c�<�UR[R"55nURX5 UR	[U5[U55 UR
[U5[U55 URUR55 gr�)
r$r'rcrL�assertEqualNormCasergr+r,r��is_absoluter?s   r1�	_test_cwd�PathTest._test_cwdCsd���H�H�R�Y�Y�[�!�������� � ��Q���Q��0��
�
�d�1�g�t�A�w�'�����
�
��(r4c�Z�URR5nURU5 gr�)r$�cwdr�ris  r1�test_cwd�PathTest.test_cwdJs���H�H�L�L�N�����q�r4c
��URn[R"S5nURUlUR[
U"5R55UR5 UR[
U"S5R55UR5 UR[
U"S5R55[RRURS55 UR[
U"SSS5R55[RRURSSS55 UR[
U"SS5R55[RRURSS55 UR[
U"S5R55[RRURS55 UR[
U"S	5R55[RRURS	55 UR[
U"S
5R55[RRURS
55 UR[
U"SS
5R55[RRURSS
55 UR[
U"S
S5R55[RRURS
S55 SSS5 g!,(df   g=f)N�	os.getcwdrarrrJ�linkB�fileB�
brokenLink�brokenLinkLoopz..)r$r�patchrC�return_valuerLrg�absoluter'r9rV)r.rNrcs   r1�test_absolute_common�PathTest.test_absolute_commonNsE���H�H��
�Z�Z��
$��"&�)�)�F��
���S������0�$�)�)�<����S��3����!2�3�T�Y�Y�?����S��3����!2�3�R�W�W�\�\�$�)�)�S�5Q�R����S��3��S�!1�!:�!:�!<�=�r�w�w�|�|�D�I�I�WZ�\_�ad�?e�f�
���S��7�G�!4�!=�!=�!?�@�"�'�'�,�,�t�y�y�Za�cj�Bk�l����S��<��!9�!9�!;�<�b�g�g�l�l�4�9�9�Vb�>c�d����S��#3�!4�!=�!=�!?�@�"�'�'�,�,�t�y�y�Zj�Bk�l�
���S��4��!1�!1�!3�4�b�g�g�l�l�4�9�9�d�6S�T����S��3���!6�!6�!8�9�2�7�7�<�<��	�	�SV�X\�;]�^����S��4���!6�!6�!8�9�2�7�7�<�<��	�	�SW�Y\�;]�^�#%�
$�
$�s�MM1�1
M?c�P�UR[RRS55nUR	X5 UR[
U5[
U55 UR[U5[U55 URUR55 g)N�~)r$r'r9�
expanduserrLrrgr+r,r�r�r?s   r1�
_test_home�PathTest._test_homedsm���H�H�R�W�W�'�'��,�-�������� � ��Q���Q��0��
�
�d�1�g�t�A�w�'�����
�
��(r4Nz(Test requires pwd module to get homedir.)�reasonc�,�[R"5nURURR	55 UR5 [RRURS5US'URURR	55 [RRURS5US'URURR	55 SSS5 g!,(df   g=f)N�userprofile�USERPROFILE�home�HOME)
r	�EnvironmentVarGuardr�r$r��clearr'r9rVrC)r.�envs  r1�	test_home�PathTest.test_homeks����
*�
*�
,���O�O�D�H�H�M�M�O�,��I�I�K�!#�����d�i�i��!G�C�
���O�O�D�H�H�M�M�O�,��'�'�,�,�t�y�y�&�9�C��K��O�O�D�H�H�M�M�O�,�-�
,�
,�s�C&D�
DzWASI has no user accounts.c���URnU"S5nURUR5U"[RRS555 U"S5nURUR5U5 U"S5nURUR5U5 U"S5nURUR5U5 U"U"S5R5R5S-nURUR5U5 U"S5nURUR5U"[RRS5S55 g)Nr��foo�/~�../~rz~/a:brK)r$rLr�r'r9r��anchorrws   r1�test_expanduser_common�PathTest.test_expanduser_commonzs���H�H��
�c�F����������2�7�7�+=�+=�c�+B�)C�D�
�e�H����������+�
�d�G����������+�
�f�I����������+�
�a��e�n�n��%�%�&��,����������+�
�g�J����������2�7�7�+=�+=�c�+B�G�)L�Mr4c�b�"SSUR5nU"URSS9nURSUR5R5 URSUR5R5 [(d9URSURS5R5R5 URSUS-RUS-5R5 URSUS-RUS-5R5 UR(a-URSUS-R5R5 UR5HnURSUR5 M! URS	5HnURSUR5 M! URS	5HnURSUR5 M! UR!5H"upEnURSUR5 M$ g)
Nc�.^�\rSrSrU4SjrSrSrU=r$)�&PathTest.test_with_segments.<locals>.Pi�c�,>�[TU]"U6 Xlgr�)rS�__init__�
session_id)r.r��pathsegmentsr�s   �r1r��/PathTest.test_with_segments.<locals>.P.__init__�s����� �,�/�",�r4c�8�[U5"USUR06$)Nr�)r,r�)r.r�s  r1�
with_segments�4PathTest.test_with_segments.<locals>.P.with_segments�s���D�z�<�L�D�O�O�L�Lr4�r�)r�r?r@rAr�r�rD�
__classcell__�r�s@r1rNr��s���
-�
M�
Mr4rN�*r�r��fileAr��linkA�*)r$rCrLr�r��resolverr�r��renamerZ�can_symlink�readlink�iterdir�glob�rglob�walk)r.rNr0r9�dirpath�dirnames�	filenamess       r1�test_with_segments�PathTest.test_with_segments�s���	M����	M�
�d�i�i�B�'������Q�Z�Z�\�4�4�5�����Q�Y�Y�[�3�3�4��w����R�����!5�!@�!@�!B�!M�!M�N�����a�'�k�1�1�!�g�+�>�I�I�J�����a�'�k�2�2�1�w�;�?�J�J�K�������R�!�g�+�!7�!7�!9�!D�!D�E��I�I�K�D����R����1� ��F�F�3�K�D����R����1� ��G�G�C�L�D����R����1�!�,-�F�F�H�(�G�y����R��!3�!3�4�-5r4c�0�URUR5nUS-RSSS9nURU[R
5 UR
UR5R5S5 SSS5 g!,(df   g=f)Nr��rbr)�	buffering�this is file A)	r$rC�open�assertIsInstance�io�	RawIOBaserL�read�strip)r.r0�fs   r1�test_open_unbuffered�PathTest.test_open_unbuffered�sk���H�H�T�Y�Y����'�k�
�
���
�
2�a��!�!�!�R�\�\�2����Q�V�V�X�^�^�-�/@�A�3�
2�
2�s�AB�
Bc�j�URSS5n[R"5n[R"UR5 URUR
5URURU55 [R"U5 g![R"U5 f=f)N�non�exist)r$r'rc�chdirrCrLr�)r.r0�old_cwds   r1�)test_resolve_nonexist_relative_issue38671�2PathTest.test_resolve_nonexist_relative_issue38671�sp���H�H�U�G�$���)�)�+��
�������	����Q�Y�Y�[�$�(�(�4�9�9�a�*@�A��H�H�W���B�H�H�W��s�	:B�B2c�t�URUR5S-nUR5RnUS-nUR	U5 URUR5RU5 US-nUR	U5 URUR5RU5 g)Nr��m����)r$rC�stat�st_moderUrL)r.r0�mode�new_modes    r1�
test_chmod�PathTest.test_chmod�s����H�H�T�Y�Y��'�)���v�v�x�����&�=��	������������)�)�8�4��%�<��	������������)�)�8�4r4c��URUR5S-nUR5nUR5RnUS-nURUSS9 UR
UR5RU5 US-nURUSS9 UR
UR5RU5 g)Nr�r�T��follow_symlinksr�)r$rCr�r�r�rUrL)r.r0r@r�r�s     r1�test_chmod_follow_symlinks_true�(PathTest.test_chmod_follow_symlinks_true�s���
�H�H�T�Y�Y��'�)��
�I�I�K���v�v�x�����&�=��	����$��/��������)�)�8�4��%�<��	����$��/��������)�)�8�4r4c��[R"U5R$![a UR	SU-5 gf=f)Nz4user %d doesn't have an entry in the system database)�pwd�getpwuid�pw_name�KeyErrorr)r.�uids  r1�_get_pw_name_or_skip_test�"PathTest._get_pw_name_or_skip_test�sC��	N��<�<��$�,�,�,���	N��M�M�F��L�
N�	N���"�A�Az&the pwd module is needed for this testc���URUR5S-nUR5RnUR	U5nURX1R
55 g�Nr�)r$rCr��st_uidr�rL�owner)r.r0�expected_uid�
expected_names    r1�
test_owner�PathTest.test_owner��L���H�H�T�Y�Y��'�)���v�v�x�����6�6�|�D�
�������	�2r4ztest needs root privilegec�<�[R"5Vs/sHoRPM nn[U5S:aUR	S5 URUR5S-nURUR5S-nUSSupV[R"X5S5 [R"XFSSS9 URSS9RnURU5nURXv5 URX�RSS95 gs snf)Nrnztest needs more than one userr�r�r�Fr�)r��getpwall�pw_uidr�rr$rCr'�chownr�r�r�rLr�)	r.�u�	all_users�target�link�uid_1�uid_2r�r�s	         r1�test_owner_no_follow_symlinks�&PathTest.test_owner_no_follow_symlinks�s���(+�|�|�~�6�~�!�X�X�~�	�6��y�>�A���M�M�9�:����$�)�)�$�w�.���x�x��	�	�"�W�,�� ��!�}���
�����#�
����b�%�8��y�y��y�7�>�>���6�6�|�D�
�����-�����
�
�5�
�(I�J��7s�Dc��[R"U5R$![a UR	SU-5 gf=f)Nz5group %d doesn't have an entry in the system database)�grp�getgrgid�gr_namer�r)r.�gids  r1�_get_gr_name_or_skip_test�"PathTest._get_gr_name_or_skip_test�sC��	O��<�<��$�,�,�,���	O��M�M�G�#�M�
O�	O�r�z&the grp module is needed for this testc���URUR5S-nUR5RnUR	U5nURX1R
55 gr�)r$rCr��st_gidr
rL�group)r.r0�expected_gidr�s    r1�
test_group�PathTest.test_group�r�r4c�@�[R"5Vs/sHoRPM nn[U5S:aUR	S5 URUR5S-nURUR5S-nUSSupV[R"USU5 [R"USUSS9 URSS9RnURU5nURXv5 URX�RSS95 gs snf)Nrnztest needs more than one groupr�r�r�Fr�)r	�getgrall�gr_gidr�rr$rCr'r�r�rr
rLr)	r.�g�
all_groupsrr�gid_1�gid_2rr�s	         r1�test_group_no_follow_symlinks�&PathTest.test_group_no_follow_symlinkss���),����7��1�h�h��
�7��z�?�Q���M�M�:�;����$�)�)�$�w�.���x�x��	�	�"�W�,��!�"�1�~���
�����U�#�
����r�5�%�8��y�y��y�7�>�>���6�6�|�D�
�����-�����
�
�5�
�(I�J��8s�Dc���URUR5S-nUR5 URUR5 URUR5 gr�)r$rC�unlink�assertFileNotFoundr�ris  r1�test_unlink�PathTest.test_unlinksF���H�H�T�Y�Y��'�)��	���
�������'�������)r4c��URUR5S-nURUR5 URSS9 g)N�fileAAAT)�
missing_ok)r$rCr rris  r1�test_unlink_missing_ok�PathTest.test_unlink_missing_oks9���H�H�T�Y�Y��)�+��������)�	���D��!r4c��URUR5S-nUR5HnUR5 M UR	5 URUR5 URUR5 g)N�dirA)r$rCr�r�rmdirr r�r?s   r1�
test_rmdir�PathTest.test_rmdir$s_���H�H�T�Y�Y��&�(������A�
�H�H�J��	���	�������'�������)r4c��URUR5nUS-nUR5RnUS-S-nUR	U5 URUR5RU5 UR
[RRX$55 UR
UR55 US-S-nURR[S5nUR	U5 UR[R"U5RU5 UR
UR55 g�Nr�r)�fileAAr$)r$rCr��st_size�hardlink_torLr�r'r9�samefile�existsr:rVr
)r.rNr�sizer�link2�target2s       r1�test_hardlink_to�PathTest.test_hardlink_to,s����H�H�T�Y�Y����W����{�{�}�$�$���6�z�H�$������ ��������,�,�d�3�������(�(��6�7�����
�
��(��F�
�Y�&���+�+�"�"�6�7�3��
���'�"��������)�1�1�4�8��������'r4rzos.link() is presentc���URUR5nUS-nUS-S-nUR[R5 URU5 SSS5 g!,(df   g=f�Nr�r)r/)r$rCrDr%r{r1rqs    r1�test_hardlink_to_unsupported�%PathTest.test_hardlink_to_unsupported>sW���H�H�T�Y�Y���
��K��
��J��!��
�
�
�w�;�;�
<�
�M�M�!��=�
<�
<���A#�#
A1c��URUR5nUS-nUR5RnUS-S-nUR	U5nURXT5 URUR5RU5 UR
UR5 URR[S5nUR	U5nURXpRU55 UR[R"U5RU5 UR
UR5 gr.)r$rCr�r0r�rLr r:rVr
r')r.rNr0r4r@�	renamed_pr��	renamed_qs        r1�test_rename�PathTest.test_renameGs����H�H�T�Y�Y���
��K���v�v�x����
��J��!���H�H�Q�K�	�����&��������)�)�4�0�������'��K�K���V�Y�/���H�H�Q�K�	�����H�H�Q�K�0���������+�+�T�2�������'r4c��URUR5nUS-nUR5RnUS-S-nUR	U5nURXT5 URUR5RU5 UR
UR5 URR[SS5nUR	U5nURXpRU55 UR[R"U5RU5 UR
UR5 g)Nr�r)r/�dirBr�)r$rCr�r0rZrLr r:rVr
r')r.rNr0r4r@�
replaced_pr��
replaced_qs        r1�test_replace�PathTest.test_replaceXs����H�H�T�Y�Y���
��K���v�v�x����
��J��!���Y�Y�q�\�
�����'��������)�)�4�0�������'��K�K���V�V�W�5���Y�Y�q�\�
�����X�X�a�[�1���������+�+�T�2�������'r4c��URUR5nUS-nURUR55 UR	5 URUR55 UR
5nURnURn[R"[U5US-
US-
45 UR	5 UR
5nURURU5 URURU5 US-nURUR55 UR	SSS9 URUR55 UR[URSS9 g)N�newfileA�
�newfileBi�F)r��exist_ok�rM)r$rCr;r3�touchr�r��st_mtime�st_mtime_nsr'�utimergr8rD�OSError)r.rNr0�st�	old_mtime�old_mtime_nss      r1�test_touch_common�PathTest.test_touch_commonis���H�H�T�Y�Y���
�
�N���������$�	���	�������
�#�
�V�V�X���K�K�	��~�~��	����Q��)�b�.�)�b�.�9�:�	���	�
�V�V�X���������=�������Y�7�
�
�N���������$�	���U�U��+�������
�#����'�1�7�7�U��;r4c��URUR5nUS-nUR5 URS5nUR	UR5R
5S5 SSS5 g!,(df   g=f)Nr�r�r�)r$rCrOr�rLr�r�)r.rNr0r�s    r1�test_touch_nochange�PathTest.test_touch_nochange�s[���H�H�T�Y�Y���
��K��	���	�
�V�V�D�\�Q����Q�V�V�X�^�^�-�/@�A��\�\�s�/A:�:
Bc��URUR5nUS-nURUR55 UR	5 URUR55 URUR
55 UR[5nUR	5 SSS5 URWRR[R5 g!,(df   NC=f)N�newdirA)
r$rCr;r3�mkdirr��is_dirrDrSrL�	exception�errno�EEXIST)r.rNr0�cms    r1�
test_mkdir�PathTest.test_mkdir�s����H�H�T�Y�Y���
�	�M���������$�	���	�������
�#�������
�#�
�
�
�w�
'�2�
�G�G�I�(�������+�+�U�\�\�:�(�
'�s�#C1�1
C?c�P�URURSS5nURUR55 UR	[
5nUR
5 SSS5 URWRR[R5 UR
SS9 URUR55 URUR55 UR	[
5nUR
SS9 SSS5 URURR[R5 [R"UR5R 5nURURSS5nUR
SSS9 URUR55 URUR55 ["R$S:waAUR[R"UR5R 5S	U-5 UR[R"UR&R5R 5U5 g!,(df   GN(=f!,(df   GN�=f)
N�newdirB�newdirCT��parents�newdirD�newdirEimr#im)r$rCr;r3rDrSr^rLr`ra�ENOENTr�r_rbr��S_IMODEr�r'r(�parent)r.r0rcr�s    r1�test_mkdir_parents�PathTest.test_mkdir_parents�s����H�H�T�Y�Y�	�9�5���������$�
�
�
�w�
'�2�
�G�G�I�(�������+�+�U�\�\�:�	������������
�#�������
�#�
�
�
�w�
'�2�
�G�G�D�G�!�(�������+�+�U�\�\�:��|�|�A�F�F�H�,�,�-���H�H�T�Y�Y�	�9�5��	����t��$�������
�#�������
�#�
�7�7�d�?����T�\�\�!�&�&�(�*:�*:�;�V�d�]�K�������a�h�h�m�m�o�&=�&=�>��E�'(�
'��(�
'�s�J�J�
J�
J%c��URURS5nUR5RnUR	UR55 UR	UR
55 UR[5nUR5 SSS5 URWRR[R5 URSS9 UR	UR55 URUR5RU5 g!,(df   N�=f)NrDTrN)r$rCr��st_ctimer�r3r_rD�FileExistsErrorr^rLr`rarb)r.r0�st_ctime_firstrcs    r1�test_mkdir_exist_ok�PathTest.test_mkdir_exist_ok�s����H�H�T�Y�Y��'������*�*��������
�#�������
�#�
�
�
��
/�2�
�G�G�I�0�������+�+�U�\�\�:�	������������
�#��������*�*�N�;�0�
/�s�
D0�0
D>c��URURS5nURUR55 UR	[
5nUR
5 SSS5 URWRR[R5 US-nUR
SS9 UR5RnURUR55 UR	[
5nUR
SS9 SSS5 URURR[R5 UR
SSS9 URUR55 URUR5RU5 g!,(df   GNK=f!,(df   N�=f)N�dirCrhTri�rjrM)
r$rCr�r3rDrtr^rLr`rarbr�rs)r.r0rcrus    r1�test_mkdir_exist_ok_with_parent�(PathTest.test_mkdir_exist_ok_with_parent�s/���H�H�T�Y�Y��'��������
�#�
�
�
��
/�2�
�G�G�I�0�������+�+�U�\�\�:�
�	�M��	����������*�*��������
�#�
�
�
��
/�2�
�G�G�D�G�!�0�������+�+�U�\�\�:�	����t��,�������
�#��������*�*�N�;�0�
/��0�
/�s�F&�F8�&
F5�8
Gz)FS root cannot be modified on Emscripten.c��URS5R5RSS9 URS5R5RSSS9 g)NrTrNrz)r$r�r^r"s r1�test_mkdir_exist_ok_root�!PathTest.test_mkdir_exist_ok_root�sJ��	
����
����%�%�t�%�4�����
����%�%�d�T�%�Br4c��SH.nURUS-5nUR5(aM. O URS5 UR[5 WS-S-RSS9 SSS5 g!,(df   g=f)N�ZYXWVUTSRQPONMLKJIHGFEDCBAz:\z&cannot find a drive that doesn't exist�childr9Tri)r$r_rrDrSr^)r.rr0s   r1�test_mkdir_with_unknown_drive�&PathTest.test_mkdir_with_unknown_drive�so��-�A�����U��#�A��8�8�:�:��.�

�M�M�B�C�
�
�
�w�
'�
��[�6�
!�(�(��(�6�(�
'�
'�s�A:�:
Bc�F�URURSS5nURUR55 UR	[
5nUR
SS9 SSS5 URWRR[R5 UR	[
5nUR
SSS9 SSS5 URURR[R5 g!,(df   N�=f!,(df   NT=f)NrDr�Trirz�r$rCr�r3rDrtr^rLr`rarb�r.r0rcs   r1�test_mkdir_with_child_file�#PathTest.test_mkdir_with_child_file�s����H�H�T�Y�Y���0��������
�#��
�
��
/�2�
�G�G�D�G�!�0�������+�+�U�\�\�:�
�
�
��
/�2�
�G�G�D�4�G�0�0�������+�+�U�\�\�:�0�
/��0�
/�s�D�3D�
D�
D c�D�URURS5nURUR55 UR	[
5nUR
5 SSS5 URWRR[R5 UR	[
5nUR
SS9 SSS5 URURR[R5 g!,(df   N�=f!,(df   NT=f)Nr�TrNr�r�s   r1�test_mkdir_no_parents_file�#PathTest.test_mkdir_no_parents_file�s����H�H�T�Y�Y��(��������
�#��
�
��
/�2�
�G�G�I�0�������+�+�U�\�\�:�
�
�
��
/�2�
�G�G�T�G�"�0�������+�+�U�\�\�:�0�
/��0�
/�s�D�3D�
D�
Dc	�^^^�[S5GHnURURSU-5nURUR	55 [
RmSUUU4Sjjn[S5Vs/sHn[USU--5PM snm[5mUS-S-n[R"SU5 UR
S	S
S9 SSS5 UR[U5T5 URUR	55 GM gs snf!,(df   NS=f![a UR[U5T5 Nbf=f)
N� zdirCPC%dc�>�[U5nTR5(aT"X5 TRU5 T"X5 gr�)rg�pop�add)r9r��concurrently_created�pattern�
real_mkdirs  ���r1�my_mkdir�@PathTest.test_mkdir_concurrent_parent_creation.<locals>.my_mkdir�s7����4�y���;�;�=�=��t�*�(�,�,�T�2��4�&r4�rm�dir1�dir2zos.mkdirTFrz)rY)r�r$rCr;r3r'r^�bool�setrr��assertNotInrgrt�assertInr�)	r.�pattern_numr0r��n�p12r�r�r�s	      @@@r1�%test_mkdir_concurrent_parent_creation�.PathTest.test_mkdir_concurrent_parent_creation�s��� ��9�K�������J��$<�=�A����Q�X�X�Z�(����J�

'�

'�>C�1�X�F�X��t�K�1��6�2�3�X�F�G�#&�5� ��f�*�v�%�C�
A��Z�Z�
�H�5��I�I�d�U�I�;�6�
� � ��S��+?�@��O�O�A�H�H�J�'�7%��"G�6�5��"�
>��
�
�c�#�h�(<�=�
>�s0�8D�)D/�D�D/�
D,	�(D/�/%E�Ec���URUR5nUS-nUS-S-nURU5 URUR	5UR	55 URUR
5UR	55 US-S-nUR[U55 URUR	5UR	55 URUR
5UR	55 URUR55 US-nUS-S-nURUSS9 URUR	5UR	55 URUR
5UR	55 URUR55 UR[UR555 g)	Nr�r)�linkAA�linkAAArD�linkAAAAT)�target_is_directory)
r$rC�
symlink_torLr�r>�lstatrgr;r_r��listr�)r.rNrrs    r1�test_symlink_to�PathTest.test_symlink_tosa���H�H�T�Y�Y����W����6�z�H�$��������������f�k�k�m�4����D�J�J�L�&�+�+�-�8��6�z�I�%������F��$��������f�k�k�m�4����D�J�J�L�&�+�+�-�8��������'��V����6�z�J�&������D��9��������f�k�k�m�4����D�J�J�L�&�+�+�-�8�������
�&�����T�\�\�^�,�-r4�symlinkzos.symlink() is presentc���URUR5nUS-nUS-S-nUR[R5 URU5 SSS5 g!,(df   g=fr:)r$rCrDr%r{r�rqs    r1�test_symlink_to_unsupported�$PathTest.test_symlink_to_unsupported(sV���H�H�T�Y�Y���
��K��
��J��!��
�
�
�w�;�;�
<�
�L�L��O�=�
<�
<�r=c��URUR5n[RR	UR
S5 UR
UR5UR
RR5 UR
RRU5 SSS5 g!,(df   g=f)N�
isjunction)r$rCrr��objectr:rL�is_junctionr�r��assert_called_once_withrMs  r1�test_is_junction�PathTest.test_is_junction1sv���H�H�T�Y�Y���
�Z�Z�
�
�q�x�x��
6����Q�]�]�_�a�h�h�.A�.A�.N�.N�O�
�H�H���7�7��:�7�
6�
6�s
�A$B3�3
C�mkfifozos.mkfifo() required�vxworksz%fifo requires special path on VxWorksc�t�URURS5n[R"[	U55 URUR55 URUR55 URUR55 URURURS5R5S5 URURURS5R5S5 g![
anUR
SU-5 SnAN�SnAff=f)N�myfifozos.mkfifo(): %su	myfifo�Fzmyfifo)
r$rCr'r�rg�PermissionErrorrr��is_fifor;�	is_socket�is_filer+)r.rN�es   r1�test_is_fifo_true�PathTest.test_is_fifo_true8s���
�H�H�T�Y�Y��)��	1��I�I�c�!�f��	
����	�	��$��������'��������%��
�
�d�h�h�t�y�y�.�9�A�A�C�U�K��
�
�d�h�h�t�y�y�,�7�?�?�A�5�I��
�	1��M�M�+�a�/�0�0��	1�s�D�
D7�D2�2D7�AF_UNIXzUnix sockets requiredz/Unix sockets are not implemented on Emscripten.zCannot create socket on WASI.c�b�URURS5n[R"[R[R5nURUR5 UR[U55 URUR55 URUR!55 URUR#55 UR%URURS5R5S5 UR%URURS5R5S5 g![aLn[U[5(dS[U5;aURS[U5-5 SnAGN#SnAff=f)N�mysockzAF_UNIX path too longzcannot bind Unix socket: u	mysock�Fzmysock)r$rC�socketr��SOCK_STREAMrd�close�bindrgrS�
isinstancer�rr�r�r;r�r�r+)r.rN�sockr�s    r1�test_is_socket_true�PathTest.test_is_socket_trueGs$��
�H�H�T�Y�Y��)���}�}�V�^�^�V�-?�-?�@������
�
�#�	D��I�I�c�!�f��
	
������
�&��������%��������%��
�
�d�h�h�t�y�y�.�9�C�C�E�u�M��
�
�d�h�h�t�y�y�,�7�A�A�C�U�K���	D��1�o�.�.�+�s�1�v�5��
�
�9�C��F�B�C���	D�s�,E�
F.�"AF)�)F.c�H�UR[R5nUR5(dUR	S5 URUR
55 URUR55 URUR55 URUR[RS35R
5S5 URUR[RS35R
5S5 g)Nznull device required��F�)r$r'�devnullr3rr��is_char_devicer;�is_block_devicer�r+rMs  r1�test_is_char_device_true�!PathTest.test_is_char_device_true^s����H�H�R�Z�Z� ���x�x�z�z��M�M�0�1�����(�(�*�+�����*�*�,�-��������%��
�
�d�h�h�"�*�*��V�4�5�D�D�F��N��
�
�d�h�h�"�*�*��T�2�3�B�B�D�e�Lr4c���[RS:XaURS5nOURS5nURUR	55 URUS-R	55 g)Nr#�c:\rr�)r'r(r$r��is_mountr;)r.�Rs  r1�test_is_mount_root�PathTest.test_is_mount_rootisU��
�7�7�d�?����� �A�����
�A�����
�
��%����!�h�,�0�0�2�3r4c��UR[5 URSS9 SSS5 g!,(df   g=f)N�bar)r�)r�r�r$r"s r1�test_passing_kwargs_deprecated�'PathTest.test_passing_kwargs_deprecatedqs+��
�
�
�0�
1��H�H��H��2�
1�
1�s�/�
=c��>�[TU]5 URS-nUS-nURS-n[R"U5 URS5 UR(aQ[R"X#5 URSRS5 URSR5 [(d[R"US5 [R"U5 [R"U[R5 [R "U5 [R""U5 g![$a! URSRS5 gf=f)N�SUB21�tmp3�broken_link3zI am tmp5, blame test_pathlib.rnrrm)rS�	setUpWalk�	sub2_pathr'�makedirs�
write_textr�r��	sub2_treer��sortrrU�listdirr��S_IRWXUrr*r�)r.�
sub21_path�	tmp5_path�broken_link3_pathr�s    �r1r��PathTest.setUpWalkus	���
�����N�N�W�,�
���'�	� �N�N�^�;��
���J�����=�>�����J�J�y�4��N�N�1��$�$�^�4��N�N�1��"�"�$��}��H�H�Z��#�	!��J�J�z�"�
�H�H�Z����.��I�I�i� ��H�H�Z� ���	.��N�N�1��$�$�W�-�	.�s�E�(E2�1E2c�:�UR5 /nURRURS9n[	U5up4nURU/5 SnX6-nX6-R
S5nURU5 UV	V
s/sHun	 o�PM
 nn	n
URU5 URX{5 URX�5 UHnX�:wdM
URX<-U5 M  URU5 gs sn
n	f!URU5 f=f)N)�on_error�SUB1z.new)r��	walk_pathr�r��nextrL�with_suffixr�r�r�r�)
r.�errors�walk_it�root�dirs�filesr��path1�path1newr�rh�rootsr�s
             r1�test_walk_bad_dir�PathTest.test_walk_bad_dir�s����������.�.�%�%�v�}�}�%�=�� ��M���E������$�������K�,�,�V�4��
���X��		#�&-�.�g�7�1�a��Q�g�E�.��O�O�F�#����U�*����X�-����<��M�M�$�+�u�5��
�O�O�E�"��/��
�O�O�E�"�s$�D�D�>D�D�D�Dc�|�SnURURS5nUR"U/S/U-Q76nURSS9 [S5Vs/sHoBR	SS9PM nn[US	-5HAnX6(aS/O//4nUHnUR[
U5U5 M  URnMC [S5Vs/sHoBR	SS9PM nnUn[US	-5H9nX6U:aS/O//4nUHnUR[
U5U5 M  US-nM; gs snfs snf)
N��deeprTri�dF��top_downrm)r$rCr^r�r�rLr�ro)	r.�depthrCr9rh�iters�ir/�its	         r1�test_walk_many_open_files�"PathTest.test_walk_many_open_files�s0�����x�x��	�	�6�*���x�x��-���e��-���
�
�4�
� �49�#�J�?�J�q���E��*�J��?��u�q�y�!�A��q�s�e�b�"�5�H���� � ��b��8�4���;�;�D�	"�49��:�>�:�a���D��)�:��>����u�q�y�!�A��5�y�s�e�b�"�=�H���� � ��b��8�4���#�:�D�	"��@��?s�D4�D9c�:�SnUS-nURURS5nUR"S/U-6nURSS9 [	U5 [UR
55 [UR
SS95 SSS5 g!,(df   g=f)	N�(rKrrTriFr)r$rCrvr^rr�r��r.�recursion_limit�directory_depthrCr9s     r1�test_walk_above_recursion_limit�(PathTest.test_walk_above_recursion_limit�s}����)�B�.���x�x��	�	�6�*���}�}��u��6�8���
�
�4�
� �
��
0�����������E��*�+�1�
0�
0�s�2B�
Bc���URS5nUR[S5 [UR	S55 SSS5 UR[S5 [UR	S55 SSS5 UR[S5 [UR	S55 SSS5 g!,(df   N�=f!,(df   NY=f!,(df   g=f)NrzUnacceptable patternraz./)r$r�r�r�r�ris  r1�test_glob_empty_pattern� PathTest.test_glob_empty_pattern�s����H�H�R�L��
�
#�
#�J�0F�
G��������H�
�
#�
#�J�0F�
G��������H�
�
#�
#�J�0F�
G��������H�
G�	H�
G��
G�
G��
G�
G�s#�B>�!C�C �>
C�
C� 
C.c�^�SnURnU"UR5S-=p4UR5 [U5HnUS-nUR5 M SR	S/U-5n[S5Vs/sHotRU5PM nnUHn	UR
[U	5U5 M  [S5Vs/sHotRS5PM nnUn[U5H,n
US-nUHn	UR
[U	5U5 M  M. gs snfs snf)Nrrrrr�r)	r$rCr^r�rVr�rLr�r�)r.rrNr0rCrhr��jrr	rs           r1�test_glob_many_open_files�"PathTest.test_glob_many_open_files�s�����H�H���T�Y�Y�<�&�(�(��	���	��u��A�
��H�A�
�G�G�I���(�(�C�5�5�=�)��-2�3�Z�8�Z����7�#�Z��8��B����T�"�X�q�)��*/��*�5�*�Q���C��*��5����u��A��C��A���� � ��b��1�-����9��6s�>D%�D*c��SnUS-nURURS5nUR"S/U-6nURSS9 [	U5 [UR
S55 SSS5 g!,(df   g=f)N�2rKrrTriz**/)r$rCrvr^rr�r�rs     r1�test_glob_above_recursion_limit�(PathTest.test_glob_above_recursion_limit�sm����)�B�.���x�x��	�	�6�*���}�}��u��6�8���
�
�4�
� �
��
0�����5�!�"�1�
0�
0�s�A5�5
Bc
��URnU"UR5nSnUS-US-1nURU[UR	U"U5555 URU[UR	[U5555 g)Nz
dir*/file*z
dirB/fileBz
dirC/fileC)r$rCrLr�r�r�r.rNr0r��expects     r1�test_glob_pathlike�PathTest.test_glob_pathlike�sv���H�H��
�d�i�i�L�����l�"�A��$4�5�������Q�V�V�A�g�J�%7�!8�9������Q�V�V�H�W�,=�%>�!?�@r4c���URn[R"U"URS55 UR	[U"S5R
S55U"S5U"S5U"S515 UR	[U"S5R
S55U"S5U"S5U"S5U"S5U"S515 UR	[U"S5R
S	55U"S5U"S5U"S5U"S515 UR	[U"S5R
S
55U"S515 SSS5 g!,(df   g=f)Nryrar��fileCz	novel.txt�dirDz**�
dirD/fileDz**/*z**/*/*)r$r	�
change_cwdrCrLr�r�rMs  r1�
test_glob_dot�PathTest.test_glob_dot�s"���H�H��
�
!�
!�!�D�I�I�v�"6�
7�����A�c�F�K�K��$�%��'�
�A�k�N�A�f�I�'N�
P�����A�c�F�K�K��%�&��7��Q�{�^�Q�v�Y�PQ�R^�P_�ab�cf�ag�(h�
j�����A�c�F�K�K��'�(�1�W�:�q��~�q��y�RS�T`�Ra�*b�
d�����A�c�F�K�K��)�*�Q�|�_�,=�
?�8�
7�
7�s�DE�
E'c��URnU"URSS5nURSS9 URR	S5 UR[
URS55[
55 g)N�mydir1�mydir2Trirr�)r$rCr^rorUrLr�r�rws   r1�test_glob_inaccessible�PathTest.test_glob_inaccessible�sZ���H�H��
�d�i�i��8�,��	������	�����q������Q�V�V�C�[�)�3�5�1r4c
� �URnU"URS5nSnUS-US-1nURU[UR	U"U5555 URU[UR	[U5555 g)Nryz**/file*r$r&)r$rCrLr�r�rrs     r1�test_rglob_pathlike�PathTest.test_rglob_pathlikesx���H�H��
�d�i�i�� �����g�+�q�<�/�0�������Q�W�W�Q�w�Z�%8�!9�:������Q�W�W�X�g�->�%?�!@�Ar4c�P�URnUR[U"S5R55S5 UR[U"S5R55S5 UR[U"S5R55S5 UR[U"S5R55S5 UR[U"S5R55S5 UR[U"S5R55S5 g)Nrrrbr�rr�)r$rLrgr�rMs  r1�test_absolute_posix�PathTest.test_absolute_posixs����H�H������Q�s�V�_�_�.�/��5�����Q�t�W�-�-�/�0�$�7�����Q�v�Y�/�/�1�2�F�;�	
����Q�t�W�-�-�/�0�$�7�����Q�u�X�.�.�0�1�5�9�����Q�w�Z�0�0�2�3�W�=r4z,umask is not implemented on Emscripten/WASI.c�8�[R"S5nUR[RU5 URUR5nUS-RS5 SSS5 [R"URRURS55nUR[R"UR5S5 [R"S5 US-RS5 SSS5 [R"URRURS55nUR[R"UR5S5 g!,(df   GN=f!,(df   N�=f)Nrn�new_file�wb���other_new_file�)r'�umaskrdr$rCr�r�r:rVrLrnr��r.�old_maskr0rTs    r1�test_open_mode�PathTest.test_open_modes	���8�8�E�?��������(�+��H�H�T�Y�Y����*�n�
"�
"�4�
(��)�
�W�W�T�[�[�%�%�d�i�i��<�
=��������b�j�j�1�5�9�
������"�"�
(�
(��
.��/�
�W�W�T�[�[�%�%�d�i�i�1A�B�
C��������b�j�j�1�5�9�)�
(��
/�
.�s�&E9�F�9
F�
Fc�2�[R"5n[R"S5 URS5nUR	[UR
55S5 [R"U5 g![R"U5 f=f)Nr�spamz/spam)r'rcr�r$rLrgr�)r.�current_directoryr0s   r1�test_resolve_root�PathTest.test_resolve_root/sb���I�I�K��	(��H�H�S�M����� �A����S�����-�w�7��H�H�&�'��B�H�H�&�'�s�AA>�>Bc��[R"S5nUR[RU5 URUR5nUS-R5 [R"URRURS55nUR[R"UR5S5 [R"S5 US-R5 [R"URRURS55nUR[R"UR5S5 US-RSS	9 [R"URRURS55nUR[R"UR5S5 g)
Nrnr6r8r9r:r;�masked_new_filei�)r�)r'r<rdr$rCrOr�r:rVrLrnr�r=s    r1�test_touch_mode�PathTest.test_touch_mode9s;���8�8�E�?��������(�+��H�H�T�Y�Y���	
�Z���� �
�W�W�T�[�[�%�%�d�i�i��<�
=��������b�j�j�1�5�9�
�����	
�
�	�$�$�&�
�W�W�T�[�[�%�%�d�i�i�1A�B�
C��������b�j�j�1�5�9�	
�
�	�%�%�5�%�1�
�W�W�T�[�[�%�%�d�i�i�1B�C�
D��������b�j�j�1�5�9r4r�z%pwd module does not expose getpwall()zno home directory on VxWorksc�:�URn[R"S5 SSKnUR"[
R"55nURnURRS5=(d SnUR"5H:nURnURRS5nXd:wdM1U(dM: O UnUnSnUR"U5(aUS-
nUR"U5(aMU"S5n	U"SUS35n
U"SUS35nU"S	US35nU"S
US35n
U"S5nU"SUS35n[R"5nURS5 UR!U	R#5U"U5S
-5 UR!U
R#5U"U5S
-5 UR!UR#5U"U5S
-5 UR!UR#5U5 UR!U
R#5U
5 UR!UR#5U5 UR%[&UR"5 SUS'UR!U	R#5U"S55 UR!U
R#5U"U5S
-5 UR!UR#5U"U5S
-5 UR!UR#5U5 UR!U
R#5U
5 UR!UR#5U5 UR%[&UR"5 SSS5 g![a GN�f=f!,(df   g=f)Nr�rr�fakeuser�1z~/Documentsr�z
/Documentsr�r�rr��	Documentsz/tmpz/tmp/Documents)r$r�
import_moduler�r�r'�getuidr��pw_dir�rstripr��getpwnamr�r	r��unsetrLr�rD�RuntimeError)r.rNr��pwdent�username�userhome�	othername�	otherhome�fakenamerRrS�p3�p4�p5�p6�p7r�s                 r1�test_expanduser_posix�PathTest.test_expanduser_posixOs���
�H�H���#�#�E�*�����b�i�i�k�*���>�>���=�=�'�'��,�3����l�l�n�F����I��
�
�,�,�S�1�I��$����	%�!�I� �I���	��,�,�x�(�(��C����,�,�x�(�(�
�}�
��
��8�*�J�'�
(��
��9�+�Z�(�
)��
��h�Z�z�*�
+��
��H�:�Z�(�
)��
�r�U��
��8�*�J�'�
(��
�
*�
*�
,���I�I�f�����R�]�]�_�a��k�K�.G�H����R�]�]�_�a��k�K�.G�H����R�]�]�_�a�	�l�[�.H�I����R�]�]�_�b�1����R�]�]�_�b�1����R�]�]�_�b�1����l�B�M�M�:� �C��K����R�]�]�_�a�0@�.A�B����R�]�]�_�a��k�K�.G�H����R�]�]�_�a�	�l�[�.H�I����R�]�]�_�b�1����R�]�]�_�b�1����R�]�]�_�b�1����l�B�M�M�:�%-�
,���	��	��-�
,�s�3M;�(H
N�;
N	�N	�
N�darwinz1Bad file descriptor in /dev/fd affects only macOSc�.�[[R"S5RS55SSnU(dUR	S5 UH�nUR5 UR
5 UR5 UR5 UR5 UR5 UR5 UR5 M� g![a5nUR[R:XaUR!S5 eSnAff=f)Nz/dev/fdr�roz.no file descriptors - issue was not reproducedz Bad file descriptor not handled.)r�r%rvr�rr3r_r��
is_symlinkr�r�r�r�rSra�EBADF�fail)r.�file_descriptorsr�r�s    r1�test_handling_bad_descriptor�%PathTest.test_handling_bad_descriptor�s���	�#�G�L�L��$;�$A�$A�#�$F�G���K��#��
�
�N�O�&�����
����
��	�	�������!�!�#�� � �"��	�	�����
�&���	��w�w�%�+�+�%��	�	�<�=���	�s�CC�
D�0D�Dc���URnURURS5U"S55 URURS5U"S55 URURS5U"S55 URURS5U"S55 URURS5U"S55 UR[URS5 UR[URS5 UR[URS5 UR[URS	5 UR[URS
5 g)Nz
file:/foo/bar�/foo/barzfile://foo/bar�	//foo/barzfile:///foo/barzfile:////foo/barzfile://localhost/foo/bar�foo/bar�file:foo/bar�http://foo/bar�r$rL�from_urirDr�rMs  r1�test_from_uri_posix�PathTest.test_from_uri_posix�s���H�H��������O�4�a�
�m�D�������$4�5�q��~�F�������$5�6��*�
�F�������$6�7��;��H�������$>�?��:��O����*�a�j�j�)�<����*�a�j�j�*�=����*�a�j�j�+�>����*�a�j�j�.�A����*�a�j�j�2B�Cr4c���URnURURS[S5-5U"S55 URURS[S5-5U"S55 g)N�file:rkrl�r$rLrqrrMs  r1� test_from_uri_pathname2url_posix�)PathTest.test_from_uri_pathname2url_posix�sY���H�H��������G�l�:�.F�$F�G��:��W�������G�l�;�.G�$G�H�!�K�.�Yr4c
�R	�URnUR[U"S5R55S5 UR[U"S5R55S5 UR[U"S5R55S5 SnUR[U"U5R55U5 UR[U"US-5R55US-5 UR[U"US-5R55US-5 [R
"S5nX#lUR[U"5R55U5 UR[U"S5R55U5 UR[U"S5R55[RRUS55 UR[U"SS	S
5R55[RRUSS	S
55 SSS5 [RRUR5Sn[R"UR5 UR[U"S5R55US-5 UR[U"S
5R55US
-5 UR[U"U5R55UR5 UR[U"US-5R55[RRURS55 SSS5 [R"UR5n[R"5nUS3n[R "U5 [R "U5 UR[U"U5R55U5 UR[U"US-5R55US
-5 SSS5 g!,(df   GN/=f!,(df   N�=f!,(df   g=f)Nr�rrz\\server\share\rza\br�rarrJrr&z\foor�z\dirA)r$rLrgr�rr�r�r'r9rV�
splitdriverCr	r'�subst_drivercr�)r.rN�sharerc�drive�other_drive�	saved_cwd�	other_cwds        r1�test_absolute_windows�PathTest.test_absolute_windows�sU���H�H��	
����Q�v�Y�/�/�1�2�F�;�����Q�w�Z�0�0�2�3�W�=�����Q�z�]�3�3�5�6�
�C�&������Q�u�X�.�.�0�1�5�9�����Q�u�s�{�^�4�4�6�7����E�����Q�u�v�~�.�7�7�9�:�E�F�N�K��Z�Z��
$��"'�����S������0�%�8����S��3����!2�3�U�;����S��3����!2�3�R�W�W�\�\�%��5M�N����S��3��S�!1�!:�!:�!<�=��W�W�\�\�%��c�3�?�
A�
%����"�"�4�9�9�-�a�0��
�
!�
!�$�)�)�
,����S��4��!1�!1�!3�4�e�d�l�C����S��7��!4�!4�!6�7����I�
���S��5��!2�!2�!4�5�t�y�y�A����S��5�5�=�!1�!:�!:�!<�=�r�w�w�|�|�D�I�I�W\�?]�^�-��
"�
"�4�9�9�
-���	�	��I�&�-�v�.�I��H�H�Y���H�H�Y��
���S��;��!8�!8�!:�;�Y�G����S��;��#6�!7�!@�!@�!B�C�Y�QX�EX�Y�.�
-�'%�
$��-�
,��.�
-�s'�DQ5�!C8R�B+R�5
R�
R�
R&c
�H^^^^^^^^^	�TRm[R"5mTRSSSS5 STS'T"S5mT"S5mT"S	5mT"S
5mT"S5mT"S5m	TR	[
TR5 TR	[
TR5 TR	[
TR5 TRTR
5T5 TRTR
5T5 TRT	R
5T	5 UUUUUUUU	U4	S
jnSTS'U"5 STS'STS'U"5 TRSS5 STS'U"5 STS'U"5 SSS5 g!,(df   g=f)Nr�r��HOMEPATH�	HOMEDRIVE�alice�USERNAMEz~/My Documentsz~alice/My Documentsz~bob/My Documentsz/~/My Documentszd:~/My Documentsrc�>	�TRSS5 TRTR5T"S55 TR[TR5 STS'TRTR5T"S55 TRTR5T"S55 TRTR5T5 TRTR5T5 TRTR5T5 g)Nr�zC:/Users/alice/My Documentsr�zC:/Users/bob/My Documents)r�rLr�rDrT)	rNr�rRrSr[r\r]r^r.s	���������r1rc�/PathTest.test_expanduser_windows.<locals>.check�s�������
�D�)�� � �����!"�#@�!A�C��!�!�,��
�
�>�")��J��� � �����!"�#@�!A�C�� � �����!"�#>�!?�A�� � �����"�5�� � �����"�5�� � �����"�5r4zC:\Users\alicezC:\zUsers\alicezC:\Users\eve)r$r	r�rSrDrTr�rL)
r.rcrNr�rRrSr[r\r]r^s
` @@@@@@@@r1�test_expanduser_windows� PathTest.test_expanduser_windows�sb�����H�H��
�
*�
*�
,���I�I�f�m�Z��E�%�C�
�O��#�$�B��(�)�B��&�'�B��$�%�B��%�&�B��2��B����l�B�M�M�:����l�B�M�M�:����l�B�M�M�:����R�]�]�_�b�1����R�]�]�_�b�1����R�]�]�_�b�1�
6�
6�1�C�
�O��G�%�C���,�C�
�O��G��I�I�k�:�.�!3�C�
���G�+�C��K��G�[-�
,�
,�s�EF�
F!c�$�URnURURS5U"S55 URURS5U"S55 URURS5U"S55 URURS5U"S55 URURS5U"S55 URURS5U"S55 URURS	5U"S55 URURS
5U"S55 URURS5U"S55 UR[URS5 UR[URS
5 UR[URS5 UR[URS5 UR[URS5 g)Nzfile:c:/path/to/file�c:/path/to/filezfile:c|/path/to/filezfile:/c|/path/to/filezfile:///c|/path/to/filezfile://server/path/to/file�//server/path/to/filezfile:////server/path/to/filezfile://///server/path/to/filez file://localhost/c:/path/to/filez file://localhost/c|/path/to/filermz
c:/foo/barrlrnrorprMs  r1�test_from_uri_windows�PathTest.test_from_uri_windowss����H�H��������$:�;�Q�?P�=Q�R�������$:�;�Q�?P�=Q�R�������$;�<�a�@Q�>R�S�������$=�>��BS�@T�U�������$@�A�1�E\�C]�^�������$B�C�Q�G^�E_�`�������$C�D�a�H_�F`�a�������$F�G��K\�I]�^�������$F�G��K\�I]�^����*�a�j�j�)�<����*�a�j�j�,�?����*�a�j�j�+�>����*�a�j�j�.�A����*�a�j�j�2B�Cr4c���URnURURS[S5-5U"S55 URURS[S5-5U"S55 g)Nruzc:\path\to\filer�z\\server\path\to\filer�rvrMs  r1�"test_from_uri_pathname2url_windows�+PathTest.test_from_uri_pathname2url_windows+sa���H�H��������G�l�;M�.N�$N�O�QR�Sd�Qe�f�������G�l�;S�.T�$T�U�WX�Yp�Wq�rr4c��URnUR[R5 U"S5R	5 SSS5 g!,(df   g=f�Nr)r$rDr%r{r�rMs  r1�test_owner_windows�PathTest.test_owner_windows1�9���H�H��
�
�
�w�;�;�
<�
�e�H�N�N��=�
<�
<���A�
Ac��URnUR[R5 U"S5R	5 SSS5 g!,(df   g=fr�)r$rDr%r{rrMs  r1�test_group_windows�PathTest.test_group_windows7r�r�r>)gr�r?r@rAr%rvr$r	r�rTr[rersr2r|r�r�r�r��unittest�skipIfr�r�rr�r�r�r��skip_unless_working_chmodr�rr�r��
skipUnlessr��
root_in_posixrr
r	rrr!r&r+�skip_unless_hardlinkr7�hasattrr'r;rArGrWrZrdrprvr{rr~rr�r�r�r�rr�r�r��sys�platformr�r�r�r�r�r�r�r�r
rrrrr!r(r-r0r3r?rDrHr`rhrrrwr�r�r�r�r�r�rDr�r�s@r1rPrPsq���
�,�,�C��'�'�)�K�9�$��B�)�F�)��_�,)��_�_��t��F��
-��
-��_�_�W�:�;�
N�<�
N�5�4B���(�(�
5�)�
5���(�(�5�)��5�N�����F�G�3�H�3�����F�G�
����(C�D�K�E�H�K�$O�����F�G�3�H�3�����F�G�
����(C�D�K�E�H�K�$*�"�
*��#�#�(�$�(�"�_�_�W�R��(�*@�A��B��(�"(�"<�0B�	;�F�2
<�<�"�_�_�]�$O�P�C�Q�C�
�7��7�
;�
;�(�<�.��.�.�_�_�W�R��+�-F�G��H��;������X�.�0F�G�
�_�_�S�\�\�Y�.�;�=�
J�=�H�
J�������3�5L�M�
�_�_��H���_�_��0��L���N�L� 	M�4� �!�0#�*�*
,��.�&	#�A��
?��
?�2�B��	>��	>��_�_�� ��6���:��	�
:� �(��(��_�_�� ��6���:��	�
:�"�����j�1�@�B�
�_�_�S�\�\�Y�.�3�5��3;��5�B�
3;�j�_�_�S�\�\�X�-�H�J����J��*�D��D��Z��Z�
�+Z��+Z�Z�/��/�b�D��D�*�s��s�
����
���r4rPr#z'test requires a POSIX-compatible systemc�,�\rSrSr\R
rSrg)�
PosixPathTesti>r>N)r�r?r@rAr%rxr$rDr>r4r1r�r�>s
��
�
�
�Cr4r�z)test requires a Windows-compatible systemc�,�\rSrSr\R
rSrg)�WindowsPathTestiCr>N)r�r?r@rAr%rwr$rDr>r4r1r�r�Cs
��
�
�
�Cr4r�c�B�\rSrSr"SS\R
5rSrSrg)�PathSubclassTestiHc��\rSrSrSrg)�PathSubclassTest.clsiIr>NrMr>r4r1r$r�IrNr4r$Nr>)	r�r?r@rAr%rvr$r�rDr>r4r1r�r�Hs��
�g�l�l�
� �r4r�c�4�\rSrSr"SS5rSrSrSrg)�CompatiblePathTestiPc�&�\rSrSrSrSrSrSrg)�CompatiblePathTest.CompatPathiVc��Xlgr���string)r.r�s  r1r��&CompatiblePathTest.CompatPath.__init__]s�� �Kr4c�B�[U5"URSU35$rW�r,r��r.�others  r1�__truediv__�)CompatiblePathTest.CompatPath.__truediv__`s ����:����
�Q�u�g�6�7�7r4c�B�[U5"USUR35$rWr�r�s  r1�__rtruediv__�*CompatiblePathTest.CompatPath.__rtruediv__cs ����:���q����
�6�7�7r4r�N)r�r?r@rAr�r�r�rDr>r4r1�
CompatPathr�Vs��	!�	8�	8r4r�c�R�[R"S5URS5-nURXR5 UR	UR
S5 UR
[5 [R"S5S- SSS5 g!,(df   g=f)N�test�rightz
test/rightrK)r%r&r�r�rLr�rDrE�r.�results  r1�test_truediv�CompatiblePathTest.test_truedivfss���!�!�&�)�D�O�O�G�,D�D�����f�o�o�6��������5�
�
�
�y�
)����V�$�r�)�*�
)�
)���5B�
B&c�R�URS5[R"S5-nURXR5 UR	UR
S5 UR
[5 S[R"S5- SSS5 g!,(df   g=f)N�leftr�z	left/testrK)r�r%r&r�rLr�rDrEr�s  r1�
test_rtruediv� CompatiblePathTest.test_rtruedivoss������(�7�+;�+;�F�+C�C�����f�o�o�6��������4�
�
�
�y�
)���!�!�&�)�)�*�
)�
)�r�r>N)r�r?r@rAr�r�r�rDr>r4r1r�r�Ps��8�8� *�*r4r��__main__)5r�r'r�rar8r%r�r7r�r�rar�r�urllib.requestr�test.supportrrrrr	�test.support.os_helperr
rr�test.test_pathlibr
�"test.test_pathlib.test_pathlib_abcrrrr	r��ImportErrorr�r�r�DummyPurePathTestrrFrHrJ�
DummyPathTestrPr�r(r�r�r��TestCaser�r��mainr>r4r1�<module>r�s���	�	�
��
��
��
�����'�&�/�+�"�@�@�.�Y�Y���
�
�
�2�y����Z�Z�\�Q�&�M�W �#�5�5�W �t �� �"�,�"� �<� �g��-�-�|�g�T!
������D��"K�L��H�/��M��
������D��"M�N��h� 3��O�� �x� �&*��*�*�&*�R�z���M�M�O���2����C�#��s�2F�
F�F

Youez - 2016 - github.com/yon3zu
LinuXploit