Current File : //usr/local/apps/python3/lib/python3.11/test/__pycache__/test_genericpath.cpython-311.opt-1.pyc
�

�KepX��(�dZddlZddlZddlZddlZddlZddlmZddlmZddlm	Z	ddl
mZddlm
Z
dd	�ZGd
�d��ZGd�d
eej��ZGd�de��ZGd�dej��Zedkrej��dSdS)z3
Tests common to genericpath, ntpath and posixpath
�N)�
is_emscripten)�	os_helper)�warnings_helper)�assert_python_ok)�FakePath�fooc��t|dd��5}|�|��ddd��dS#1swxYwYdS)N�xbr)�open�write)�filename�data�fps   �?/usr/local/apps/python3/lib/python3.11/test/test_genericpath.py�create_filers���	
�h��a�	 �	 ��B�
���������������������������s�5�9�9c��eZdZgd�ZgZd�Zd�Zd�Zd�Zd�Z	e
jee
d��d��e
jed	��d
�����Zd�Zd�Zd
�Zd�Zejd���Ze
jee
d��d��d���Zd�Zd�Zejd���Ze
jee
d��d��d���Zd�ZdS)�GenericTest)�commonprefix�getsize�getatime�getctime�getmtime�exists�isdir�isfilec��|j|jzD]x}|�t��5t	|j|����|�d�|jj|�����#1swxYwY�ydS)Nz!{}.{}() did not raise a TypeError)	�common_attributes�
attributes�assertRaises�	TypeError�getattr�
pathmodule�fail�format�__name__)�self�attrs  r�test_no_argumentzGenericTest.test_no_arguments����*�T�_�<�	I�	I�D��"�"�9�-�-�
I�
I�.�����.�.�0�0�0��i�i� C�!'����(@�$�!G�!G�I�I�I�
I�
I�
I�
I����
I�
I�
I�
I�
I�	I�	Is�AA=�=B	�B	c	���|jj}|�|g��d��|�|ddg��d��|�|ddg��d��|�|ddg��d��|�|ddg��d	��|�|d
dg��d��|�|d
d
g��d
��|�|d
dg��d��|�|ddg��d��|�|ddg��d��|�|ddg��d��|�|ddg��d��|�|ddg��d��gd�}|D]�}|D]�}|||g��}|�|�|����|�|�|����||kr;t|��}|�|||dz�|||dz�������dS)N�z/home/swenson/spamz/home/swen/spamz
/home/swenz/home/swen/eggsz/home/swen/zhome:swenson:spamzhome:swen:spamz	home:swenz:home:swen:spamz:home:swen:eggsz:home:swen:s/home/swenson/spams/home/swen/spams
/home/swens/home/swen/eggss/home/swen/shome:swenson:spamshome:swen:spams	home:swens:home:swen:spams:home:swen:eggss:home:swen:)r*�abc�Xbcd�Xb�XY�abcd�aXc�abd�ab�aX�abcX�)r"r�assertEqual�
assertTrue�
startswith�len�assertNotEqual)r&r�testlist�s1�s2�p�ns       r�test_commonprefixzGenericTest.test_commonprefix"sP����3������L�����	
�	
�	
�	
����L�.�0A�B�C�C��	
�	
�	
�	
����L�+�->�?�@�@��	
�	
�	
�	
����L�+�->�?�@�@��	
�	
�	
�	
����L�-�/?�@�A�A��	
�	
�	
�	
����L�+�->�?�@�@��	
�	
�	
�	
����L�+�->�?�@�@��	
�	
�	
�
	
����L�/�1C�D�E�E��	
�	
�	
�	
����L�,�.@�A�B�B��	
�	
�	
�	
����L�,�.@�A�B�B��	
�	
�	
�	
����L�.�0A�B�C�C��	
�	
�	
�	
����L�,�.@�A�B�B��	
�	
�	
�	
����L�,�.@�A�B�B��	
�	
�	
�
6�6�6���	>�	>�B��
>�
>�� �L�"�b��*�*������
�
�a� 0� 0�1�1�1�����
�
�a� 0� 0�1�1�1���8�8��A���A��'�'��1�Q�q�S�5�	�2�a��!��e�9�=�=�=��

>�	>�	>�c�~�tj}|�tj|��t	|d��|�|j�|��d��tj	|��t	|d��|�|j�|��d��dS)NsHello�sHello World!�)
r�TESTFN�
addCleanup�unlinkrr6r"r�os�remove)r&r
s  r�test_getsizezGenericTest.test_getsizees����#�����	�(�(�3�3�3��H�h�'�'�'������0�0��:�:�A�>�>�>�
�	�(�����H�o�.�.�.������0�0��:�:�B�?�?�?�?�?rAc�,�tj}|�tj|��t	|d��t|dd��5}|�d��ddd��n#1swxYwYt|dd��5}|���}ddd��n#1swxYwY|�|d��|�	|j
�|��|j
�|����dS)Nrr2r�bar�rbsfoobar)
rrErFrGrrr�readr6�assertLessEqualr"rr)r&r
�frs    r�
test_filetimezGenericTest.test_filetimepsu���#�����	�(�(�3�3�3��H�f�%�%�%�
�(�D�!�
$�
$�	��
�G�G�F�O�O�O�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��(�D�!�
$�
$�	���6�6�8�8�D�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�����y�)�)�)�����O�$�$�X�.�.��O�$�$�X�.�.�	
�	
�	
�	
�	
s$�A0�0A4�7A4�B-�-B1�4B1c��tj}tj|��}|�tj|��|�|j�|��d��|�|j�|��d��t|��|�|j�|��d��|�|j�|��d��|�|j�|dz��d��|�|j�|dz��d��|�|j�|dz��d��|�|j�|dz��d��|jtu�r"|�|j�|��d��|�|j�|��d��|�|j�|dz��d��|�|j�|dz��d��|�|j�|dz��d��|�|j�|dz��d��dSdS)NFT������)rrErH�fsencoderFrG�assertIsr"rr�genericpath�lexists�r&r
�	bfilenames   r�test_existszGenericTest.test_exists�sy���#���K��)�)�	����	�(�(�3�3�3��
�
�d�o�,�,�X�6�6��>�>�>��
�
�d�o�,�,�Y�7�7��?�?�?��H�����
�
�d�o�,�,�X�6�6��=�=�=��
�
�d�o�,�,�Y�7�7��>�>�>��
�
�d�o�,�,�X��-@�A�A�5�I�I�I��
�
�d�o�,�,�Y��-@�A�A�5�I�I�I��
�
�d�o�,�,�X��->�?�?��G�G�G��
�
�d�o�,�,�Y��-@�A�A�5�I�I�I��?�+�-�-��M�M�$�/�1�1�(�;�;�T�B�B�B��M�M�$�/�1�1�)�<�<�d�C�C�C��M�M�$�/�1�1�(�X�2E�F�F��N�N�N��M�M�$�/�1�1�)�g�2E�F�F��N�N�N��M�M�$�/�1�1�(�V�2C�D�D�e�L�L�L��M�M�$�/�1�1�)�g�2E�F�F��N�N�N�N�N�.�-rA�pipezrequires os.pipe()z Emscripten pipe fds have no statc��tj��\}}	|�|j�|����tj|��tj|��n-#tj|��tj|��wxYw|�|j�|����dS�N)rHr^r7r"r�close�assertFalse)r&�r�ws   r�test_exists_fdzGenericTest.test_exists_fd�s����w�y�y���1�	��O�O�D�O�2�2�1�5�5�6�6�6��H�Q�K�K�K��H�Q�K�K�K�K��
�H�Q�K�K�K��H�Q�K�K�K�K���������/�/��2�2�3�3�3�3�3s�-A.�.*Bc��tj}tj|��}|�|j�|��d��|�|j�|��d��|�|j�|dz��d��|�|j�|dz��d��|�|j�|dz��d��|�|j�|dz��d��	t|��|�|j�|��d��|�|j�|��d��tj|��n#tj|��wxYw	tj	|��|�|j�|��d��|�|j�|��d��tj
|��dS#tj
|��wxYw�NFrSrTrUrVT)rrErHrWrXr"rrrG�mkdir�rmdirr[s   r�
test_isdirzGenericTest.test_isdir�s���#���K��)�)�	��
�
�d�o�+�+�H�5�5�u�=�=�=��
�
�d�o�+�+�I�6�6��>�>�>��
�
�d�o�+�+�H�x�,?�@�@�%�H�H�H��
�
�d�o�+�+�I��,?�@�@�%�H�H�H��
�
�d�o�+�+�H�v�,=�>�>��F�F�F��
�
�d�o�+�+�I��,?�@�@�%�H�H�H�	'���!�!�!��M�M�$�/�/�/��9�9�5�A�A�A��M�M�$�/�/�/�	�:�:�E�B�B�B���X�&�&�&�&��I��X�&�&�&�&����	&��H�X�����M�M�$�/�/�/��9�9�4�@�@�@��M�M�$�/�/�/�	�:�:�D�A�A�A��O�H�%�%�%�%�%��I�O�H�%�%�%�%�����A+G�G�A0I"�"I8c��tj}tj|��}|�|j�|��d��|�|j�|��d��|�|j�|dz��d��|�|j�|dz��d��|�|j�|dz��d��|�|j�|dz��d��	t|��|�|j�|��d��|�|j�|��d��tj|��n#tj|��wxYw	tj	|��|�|j�|��d��|�|j�|��d��tj
|��dS#tj
|��wxYwrg)rrErHrWrXr"rrrGrhrir[s   r�test_isfilezGenericTest.test_isfile�s���#���K��)�)�	��
�
�d�o�,�,�X�6�6��>�>�>��
�
�d�o�,�,�Y�7�7��?�?�?��
�
�d�o�,�,�X��-@�A�A�5�I�I�I��
�
�d�o�,�,�Y��-@�A�A�5�I�I�I��
�
�d�o�,�,�X��->�?�?��G�G�G��
�
�d�o�,�,�Y��-@�A�A�5�I�I�I�	'���!�!�!��M�M�$�/�0�0��:�:�D�A�A�A��M�M�$�/�0�0��;�;�T�B�B�B���X�&�&�&�&��I��X�&�&�&�&����	&��H�X�����M�M�$�/�0�0��:�:�E�B�B�B��M�M�$�/�0�0��;�;�U�C�C�C��O�H�%�%�%�%�%��I�O�H�%�%�%�%���rkc��tj}tjdz}|�tj|��|�tj|��t	|��|�|j�||����t	|��|�|j�||����|�	t|jj��dS�N�2)rrErFrGrr7r"�samefilerbrr )r&�file1�file2s   r�
test_samefilezGenericTest.test_samefile�s���� ��� �3�&�����	�(�%�0�0�0����	�(�%�0�0�0��E���������0�0���>�>�?�?�?��E���������1�1�%��?�?�@�@�@����)�T�_�%=�>�>�>�>�>rAc���tj}tjdz}|�tj|��|�tj|��t	|��|||��|�|j�||����tj	|��t	|��|�
|j�||����dSro)rrErFrGrr7r"rqrHrIrb�r&�func�test_fn1�test_fn2s    r�_test_samefile_on_link_funcz'GenericTest._test_samefile_on_link_func�s����#���#�c�)�����	�(�(�3�3�3����	�(�(�3�3�3��H������X�x� � � ������0�0��8�D�D�E�E�E�
�	�(�����H���������1�1�(�H�E�E�F�F�F�F�FrAc�D�|�tj��dSr`)rzrH�symlink�r&s r�test_samefile_on_symlinkz$GenericTest.test_samefile_on_symlink�����(�(���4�4�4�4�4rA�linkzrequires os.linkc��	|�tj��dS#t$r#}|�d|z��Yd}~dSd}~wwxYw�Nz
os.link(): %s)rzrHr��PermissionError�skipTest�r&�es  r�test_samefile_on_linkz!GenericTest.test_samefile_on_link��k��	/��,�,�R�W�5�5�5�5�5���	/�	/�	/��M�M�/�A�-�.�.�.�.�.�.�.�.�.�����	/�����#�
A�A�Ac�n�tj}tjdz}|�tj|��|�tj|��t	|��tj|��}|�|j�	|tj|������t	|��tj|��}|�
|j�	||����|�t|jj	��dSro)
rrErFrGrrH�statr7r"�samestatrbrr )r&rxry�stat1�stat2s     r�
test_samestatzGenericTest.test_samestats����#���#�c�)�����	�(�(�3�3�3����	�(�(�3�3�3��H�������!�!�������0�0�����8I�8I�J�J�K�K�K��H�������!�!�������1�1�%��?�?�@�@�@����)�T�_�%=�>�>�>�>�>rAc��tjdz}tjdz}|�tj|��|�tj|��t	|��|||��|�|j�tj	|��tj	|������tj
|��t	|��|�|j�tj	|��tj	|������dS)N�1rp)rrErFrGrr7r"r�rHr�rIrbrvs    r�_test_samestat_on_link_funcz'GenericTest._test_samestat_on_link_funcs&���#�c�)���#�c�)�����	�(�(�3�3�3����	�(�(�3�3�3��H������X�x� � � ������0�0����1B�1B�13���1B�1B�D�D�	E�	E�	E�
�	�(�����H���������1�1�"�'�(�2C�2C�24�'�(�2C�2C�E�E�	F�	F�	F�	F�	FrAc�D�|�tj��dSr`)r�rHr|r}s r�test_samestat_on_symlinkz$GenericTest.test_samestat_on_symlink"rrAc��	|�tj��dS#t$r#}|�d|z��Yd}~dSd}~wwxYwr�)r�rHr�r�r�r�s  r�test_samestat_on_linkz!GenericTest.test_samestat_on_link&r�r�c���tj}|�tj|��t	|��t|dd��5}|���}t|dd��5}|���}|�|j�	||����ddd��n#1swxYwYddd��dS#1swxYwYdS)NrMr)
rrErFrGrr�filenor7r"�sameopenfile)r&r
�fp1�fd1�fp2�fd2s      r�test_sameopenfilezGenericTest.test_sameopenfile-sg���#�����	�(�(�3�3�3��H����
�(�D�!�
$�
$�	H���*�*�,�,�C��h��a�(�(�
H�C��j�j�l�l������� <� <�S�#� F� F�G�G�G�
H�
H�
H�
H�
H�
H�
H�
H�
H�
H�
H����
H�
H�
H�
H�	H�	H�	H�	H�	H�	H�	H�	H�	H�	H�	H�	H����	H�	H�	H�	H�	H�	Hs7�
&C�3AC�6C�C	�C�	C	�
C�C�!CN)r%�
__module__�__qualname__rrr(r@rJrQr]�unittest�
skipUnless�hasattrrH�skipIfrrerjrmrtrzr�skip_unless_symlinkr~r�r�r�r�r�r��rArrrs�������B�B�B���J�I�I�I�A>�A>�A>�F	@�	@�	@�
�
�
�$O�O�O�6�X�����V�,�,�.B�C�C��X�_�]�$F�G�G�4�4�H�G�D�C�4�&�&�&�2&�&�&�2?�?�?�
G�
G�
G��"�5�5�#�"�5��X�����V�,�,�.@�A�A�/�/�B�A�/�?�?�?� F�F�F� �"�5�5�#�"�5��X�����V�,�,�.@�A�A�/�/�B�A�/�	H�	H�	H�	H�	HrArc��eZdZeZd�ZdS)�TestGenericTestc�(�tjD�]�}|dkr�
t|j|��}|�|���5|dvr.|d��|d��|d��|d���n|�ttf��5|d��ddd��n#1swxYwY|�ttf��5|d��ddd��n#1swxYwY|�	td��5|d��ddd��n#1swxYwY|�	td��5|d��ddd��n#1swxYwYddd��n#1swxYwY���dS)	Nr)r')rrru/tmp�abcdss
/tmp�abcdsz
/tmpabcdss
/tmpabcdsz
embedded null)rrr!r"�subTestr�OSError�UnicodeEncodeError�UnicodeDecodeError�assertRaisesRegex�
ValueError)r&r'rws   r�test_invalid_pathsz"TestGenericTest.test_invalid_paths?s����1�	/�	/�D��~�%�%���4�?�D�1�1�D����4��(�(�
/�
/��8�8�8��D�*�+�+�+��D�)�*�*�*��D��)�)�)��D�)�*�*�*�*��*�*�G�5G�+H�I�I�0�0���.�/�/�/�0�0�0�0�0�0�0�0�0�0�0����0�0�0�0��*�*�G�5G�+H�I�I�/�/���-�.�.�.�/�/�/�/�/�/�/�/�/�/�/����/�/�/�/��/�/�
�O�L�L�.�.���_�-�-�-�.�.�.�.�.�.�.�.�.�.�.����.�.�.�.��/�/�
�O�L�L�/�/���-�.�.�.�/�/�/�/�/�/�/�/�/�/�/����/�/�/�/�
/�
/�
/�
/�
/�
/�
/�
/�
/�
/�
/����
/�
/�
/�
/��	/�	/s��AF�B.�"F�.B2�2F�5B2�6$F�C2�&F�2C6�6F�9C6�:F�D0�$F�0D4�4F�7D4�8F�E.�"F�.E2�2F�5E2�6F�F		�F		N)r%r�r�rYr"r�r�rArr�r�9s*�������J�/�/�/�/�/rAr�c��eZdZejgd�zZd�Zd�Zd�Zej	e
jd��d���Zd�Z
d�Zd	�Zd
�Zd�Zd�Zd
�Zd�ZdS)�
CommonTest)�curdir�pardir�extsep�sep�pathsep�defpath�altsep�devnull�normcase�
splitdrive�
expandvars�normpath�abspath�join�split�splitext�isabs�basename�dirnamerZ�islink�ismount�
expanduserr��realpathc�f�|jj}dD],}||��}|�|||�����-|�|d��d��|�|d��d��ddddgtd��ddhfD]}|�t
||���dS)N)z	FoO/./BaRs	FoO/./BaRr*rATrg@�o)r"r�r6�	bytearrayrr )r&r�r>�paths    r�
test_normcasezCommonTest.test_normcasecs����?�+��,�	-�	-�A������A����Q������,�,�,�,������"���r�*�*�*������#����,�,�,��4��C��Y�s�^�^�c�#�Y�G�	9�	9�D����i��4�8�8�8�8�	9�	9rAc��|jj}|�|d��d��|�|d��d��|�|d��d��|�|d��d��|�|d	��d
��|�|d��d��dS)
N�/foo/bar)r*r��foo:bar)r*r��:foo:bar)r*r��/foo/bar)rAr��foo:bar)rAr��:foo:bar)rAr�)r"r�r6)r&r�s  r�test_splitdrivezCommonTest.test_splitdriveqs����_�/�
������J�/�/�1A�B�B�B������I�.�.��@�@�@������J�/�/�1A�B�B�B������K�0�0�2D�E�E�E������J�/�/�1B�C�C�C������K�0�0�2D�E�E�E�E�ErAc��|jj}tj��5}|���d|d<d|d<d|d<|�|d��d��|�|d��d��|�|d	��d
��|�|d��d��|�|d��d��|�|d
��d
��|�|d��d��|�|d��d��|�|d��d��|�|d��d
��|�|d��d��|�|d��d��|�|d��d��|�|d��d��|�|d��d��|�|d��d��|�|d��d��|�|d��d��|�|d��d��|�|d ��d!��|�|d"��d��|�|d#��d#��ddd��dS#1swxYwYdS)$N�bar�foo�baz1z{foo�baz2z{foo}z$foo barzbar barz	${foo}bar�barbarz	$[foo]barz$bar barz$?barz$foo}barzbar}barz${fooz${{foo}}zbaz1}z$foo$fooz$bar$barrs$foo barsbar bars	${foo}barsbarbars	$[foo]bars$bar bars$?bars$foo}barsbar}bars${foos${{foo}}sbaz1}s$foo$foos$bar$bar)r"r�r�EnvironmentVarGuard�clearr6)r&r��envs   r�test_expandvarszCommonTest.test_expandvars|sw���_�/�
�
�
*�
,�
,�	C���I�I�K�K�K��C��J� �C��K�!�C��L����Z�Z��.�.��6�6�6����Z�Z�
�3�3�Y�?�?�?����Z�Z��4�4�h�?�?�?����Z�Z��4�4�k�B�B�B����Z�Z�
�3�3�Z�@�@�@����Z�Z��0�0�'�:�:�:����Z�Z�
�3�3�Y�?�?�?����Z�Z��0�0�'�:�:�:����Z�Z�
�3�3�W�=�=�=����Z�Z�
�3�3�X�>�>�>����Z�Z�
�3�3�Z�@�@�@����Z�Z��/�/��8�8�8����Z�Z��4�4�j�A�A�A����Z�Z��5�5�y�A�A�A����Z�Z��5�5�|�D�D�D����Z�Z��4�4�k�B�B�B����Z�Z��1�1�8�<�<�<����Z�Z��4�4�j�A�A�A����Z�Z��1�1�8�<�<�<����Z�Z��4�4�h�?�?�?����Z�Z��4�4�i�@�@�@����Z�Z��4�4�k�B�B�B�7	C�	C�	C�	C�	C�	C�	C�	C�	C�	C�	C�	C����	C�	C�	C�	C�	C�	Cs�KK;�;K?�K?zneed os_helper.FS_NONASCIIc�����jj���fd�}tj��5}|���tj}||d<d|z||<|||��|dd|z��|dd|z��|d|zd	|z��|d
|zd
|z��|dd|z��|t
j|��t
j|����|d
t
jd|z����|dt
jd|z����|t
jd|z��t
jd	|z����|t
jd
|z��t
jd
|z����|dt
jd|z����ddd��dS#1swxYwYdS)Nc�F�����|��|��dSr`)r6)�value�expectedr�r&s  ��r�checkz2CommonTest.test_expandvars_nonascii.<locals>.check�s)������Z�Z��.�.��9�9�9�9�9rA�spam�hamz	$spam barz%s barz
${spam}barz%sbarz${%s}barzham%sbarz
$bar%s barz	$spam}barz%s}bars	$spam bars
${spam}bars	$spam}bar)r"r�rr�r��FS_NONASCIIrHrW)r&r�r��nonasciir�s`   @r�test_expandvars_nonasciiz#CommonTest.test_expandvars_nonascii�sa�����_�/�
�	:�	:�	:�	:�	:�	:�
�
*�
,�
,�	B���I�I�K�K�K� �,�H�"�C��K�!�H�,�C��M��E�(�H�%�%�%��E�+�x�(�2�3�3�3��E�,��(� 2�3�3�3��E�*�x�'��h�)>�?�?�?��E�,��)�<�(�+B�C�C�C��E�+�x�(�2�3�3�3��E�"�+�h�'�'���X�)>�)>�?�?�?��E�,���H�x�,?� @� @�A�A�A��E�-���W�x�-?�!@�!@�A�A�A��E�"�+�j�8�3�4�4��+�j�8�3�4�4�
6�
6�
6��E�"�+�l�X�5�6�6��+�l�X�5�6�6�
8�
8�
8��E�,���H�x�,?� @� @�A�A�A�'	B�	B�	B�	B�	B�	B�	B�	B�	B�	B�	B�	B����	B�	B�	B�	B�	B�	Bs�F
F?�?G�Gc�x�|�d|j�d����tj��5tjdt��|�d|j�d����ddd��n#1swxYwYtjdkrdnd}tj��5tjdt��dd|ddfD]5}|�	|j�|��t���6	ddd��dS#1swxYwYdS)	Nr��ignorer�win32rAsf��s/foosC:\)�assertInr"r��warnings�catch_warnings�simplefilter�DeprecationWarning�sys�platform�assertIsInstance�bytes)r&�undecodable_pathr�s   r�test_abspathzCommonTest.test_abspath�s����
�
�e�T�_�4�4�U�;�;�<�<�<�
�
$�
&�
&�	C�	C��!�(�,>�?�?�?��M�M�&�$�/�"9�"9�&�"A�"A�B�B�B�	C�	C�	C�	C�	C�	C�	C�	C�	C�	C�	C����	C�	C�	C�	C�
#&�,�'�"9�"9�3�3�|���
$�
&�
&�	L�	L��!�(�,>�?�?�?��f�&6���I�
L�
L���%�%�d�o�&=�&=�d�&C�&C�U�K�K�K�K�
L�	L�	L�	L�	L�	L�	L�	L�	L�	L�	L�	L�	L����	L�	L�	L�	L�	L�	Ls&�A	B�B�B�	AD/�/D3�6D3c�J�|�d|j�d����tj��5tjdt��|�d|j�d����ddd��dS#1swxYwYdS)Nr�r�r)r�r"r�r�r�r�r�r}s r�
test_realpathzCommonTest.test_realpath�s����
�
�e�T�_�5�5�e�<�<�=�=�=�
�
$�
&�
&�	D�	D��!�(�,>�?�?�?��M�M�&�$�/�":�":�6�"B�"B�C�C�C�	D�	D�	D�	D�	D�	D�	D�	D�	D�	D�	D�	D����	D�	D�	D�	D�	D�	Ds�A	B�B�Bc�v�dD]5}|�|j�|��t���6dS)N)r*�.�/�\z///foo/.//bar//)r�r"r��str)r&r�s  r�test_normpath_issue5827z"CommonTest.test_normpath_issue5827�sH��;�	G�	G�D��!�!�$�/�":�":�4�"@�"@�#�F�F�F�F�	G�	GrAc�|�|jj}dD]&}|�||��t���'d}	t	j|��t
j|��5dD]&}|�||��t���'	ddd��dS#1swxYwYdS#ttf$rYdSwxYw)N)r*�fuuufùùz/fuuzU:\uçwð)
r"r�r�r�rHrWr�temp_cwd�AttributeErrorr�)r&r�r��unicwds    r�test_abspath_issue3426z!CommonTest.test_abspath_issue3426�s.���/�)��<�	6�	6�D��!�!�'�'�$�-�-��5�5�5�5���	>��K�����
�#�F�+�+�
>�
>�D�>�>�D��)�)�'�'�$�-�-��=�=�=�=�>�
>�
>�
>�
>�
>�
>�
>�
>�
>�
>�
>�
>����
>�
>�
>�
>�
>�
>��	� 2�3�	�	�	��D�D�	���s#�B&�!*B�B� B�&B;�:B;c��tjrtjdvr
tj}n.tjr
tj}n|�d��t
j��5t
jdt��tj
|��5|���ddd��n#1swxYwYddd��dS#1swxYwYdS)N)r��darwin�
emscripten�wasizneed os_helper.TESTFN_NONASCIIr�)r�TESTFN_UNDECODABLEr�r��TESTFN_NONASCIIr�r�r�r�r�rr�)r&�names  r�test_nonascii_abspathz CommonTest.test_nonascii_abspath�sN���(�
	<�

�L� I�I�I��/�D�D�
�
&�	<��,�D�D��M�M�:�;�;�;�
�
$�
&�
&�	$�	$��!�(�,>�?�?�?��#�D�)�)�
$�
$��!�!�#�#�#�
$�
$�
$�
$�
$�
$�
$�
$�
$�
$�
$����
$�
$�
$�
$�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$����	$�	$�	$�	$�	$�	$s6�)/C�B9�-C�9B=	�=C�B=	�C�C�Cc���tjdtfd���5d}|�t|��5|j�dd��ddd��n#1swxYwY|�t|��5|j�dd��ddd��n#1swxYwY|�td��5|j�dd��ddd��n#1swxYwY|�td��5|j�dd��ddd��n#1swxYwY|�td��5|j�d��ddd��n#1swxYwY|�td	��5|j�g��ddd��n#1swxYwY|�td
��5|j�td��td����ddd��n#1swxYwYddd��dS#1swxYwYdS)
Nr*T��quiet�.Can't mix strings and bytes in path components�bytesr��int�*�listr�rrL)r�check_warnings�BytesWarningr�r r"r�r��r&�errmsgs  r�test_join_errorszCommonTest.test_join_errors�sN��
�
+�R��,>�d�
K�
K�
K�	K�	K�E�F��'�'�	�6�:�:�
6�
6���$�$�X�u�5�5�5�
6�
6�
6�
6�
6�
6�
6�
6�
6�
6�
6����
6�
6�
6�
6��'�'�	�6�:�:�
6�
6���$�$�U�H�5�5�5�
6�
6�
6�
6�
6�
6�
6�
6�
6�
6�
6����
6�
6�
6�
6��'�'�	�5�9�9�
0�
0���$�$�R��/�/�/�
0�
0�
0�
0�
0�
0�
0�
0�
0�
0�
0����
0�
0�
0�
0��'�'�	�5�9�9�
0�
0���$�$�U�B�/�/�/�
0�
0�
0�
0�
0�
0�
0�
0�
0�
0�
0����
0�
0�
0�
0��'�'�	�5�9�9�
)�
)���$�$�R�(�(�(�
)�
)�
)�
)�
)�
)�
)�
)�
)�
)�
)����
)�
)�
)�
)��'�'�	�6�:�:�
)�
)���$�$�R�(�(�(�
)�
)�
)�
)�
)�
)�
)�
)�
)�
)�
)����
)�
)�
)�
)��'�'�	�;�?�?�
K�
K���$�$�Y�v�%6�%6�	�&�8I�8I�J�J�J�
K�
K�
K�
K�
K�
K�
K�
K�
K�
K�
K����
K�
K�
K�
K�	K�	K�	K�	K�	K�	K�	K�	K�	K�	K�	K�	K����	K�	K�	K�	K�	K�	Ks�I(�A$�I(�$A(	�(I(�+A(	�,I(�
B2�&I(�2B6	�6I(�9B6	�:I(�D�4I(�D	�I(�D	�I(�&E�I(�E	�I(�E	�I(�4F�I(�F	�I(�"F	�#I(�G(�I(�(G,	�,I(�/G,	�0I(�6I�I(�I	�I(�I	�I(�(I,�/I,c���tjdttffd���5d}|�t
|��5|j�dd��ddd��n#1swxYwY|�t
|��5|j�dd��ddd��n#1swxYwY|�t
d��5|j�dd��ddd��n#1swxYwY|�t
d��5|j�dd��ddd��n#1swxYwY|�t
d	��5|j�td
��td����ddd��n#1swxYwYddd��dS#1swxYwYdS)Nr*Trrrr�rrr�rrL)	rrrr�r�r r"�relpathr�rs  r�test_relpath_errorszCommonTest.test_relpath_errorssZ��
�
+��l�$6�7�8��F�F�F�	N�	N�E�F��'�'�	�6�:�:�
9�
9���'�'��%�8�8�8�
9�
9�
9�
9�
9�
9�
9�
9�
9�
9�
9����
9�
9�
9�
9��'�'�	�6�:�:�
9�
9���'�'��x�8�8�8�
9�
9�
9�
9�
9�
9�
9�
9�
9�
9�
9����
9�
9�
9�
9��'�'�	�5�9�9�
3�
3���'�'��E�2�2�2�
3�
3�
3�
3�
3�
3�
3�
3�
3�
3�
3����
3�
3�
3�
3��'�'�	�5�9�9�
3�
3���'�'��r�2�2�2�
3�
3�
3�
3�
3�
3�
3�
3�
3�
3�
3����
3�
3�
3�
3��'�'�	�;�?�?�
N�
N���'�'�	�&�(9�(9�9�V�;L�;L�M�M�M�
N�
N�
N�
N�
N�
N�
N�
N�
N�
N�
N����
N�
N�
N�
N�	N�	N�	N�	N�	N�	N�	N�	N�	N�	N�	N�	N����	N�	N�	N�	N�	N�	Ns��G�A+�G�+A/	�/G�2A/	�3G�B9�-G�9B=	�=G�B=	�G�D�;G�D	�G�D	�G�-E�	G�E	�G�E	�G�;6F=�1G�=G	�G�G	�G�G�Gc�B�tddd|jjz��dS)Nz-Sz-czimport )rr"r%r}s r�test_importzCommonTest.test_imports$����t�Y���1I�%I�J�J�J�J�JrAN)r%r�r�rrr�r�r�r�r�rr�r�r�r�rrrrrr r�rArr�r�Xs#������#�5�9�9�9���9�9�9�	F�	F�	F�C�C�C�>�X���.�0L�M�M�B�B�N�M�B�2
L�
L�
L�D�D�D�G�G�G�
>�>�>�$$�$�$�$K�K�K�(N�N�N� K�K�K�K�KrAr�c�J�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�ZdS)�
PathLikeTestsc���tj|_ttj��|_|�tj|j��t|jd��dS)Nstest_genericpath.PathLikeTests)rrE�	file_namer�	file_pathrFrGrr}s r�setUpzPathLikeTests.setUpsP��"�)���!�)�"2�3�3������	�(�$�.�9�9�9��D�N�$E�F�F�F�F�FrAc�j�|�||j��||j����dSr`)r6r%r$)r&rws  r�assertPathEqualzPathLikeTests.assertPathEqual#s6�������d�n�-�-�t�t�D�N�/C�/C�D�D�D�D�DrAc�N�|�tjj��dSr`)r(rHr�rr}s r�test_path_existszPathLikeTests.test_path_exists&� �����R�W�^�,�,�,�,�,rAc�N�|�tjj��dSr`)r(rHr�rr}s r�test_path_isfilezPathLikeTests.test_path_isfile)r+rAc�N�|�tjj��dSr`)r(rHr�rr}s r�test_path_isdirzPathLikeTests.test_path_isdir,s �����R�W�]�+�+�+�+�+rAc��|�tj�|j|jg��|j��dSr`)r6rHr�rr%r$r}s r�test_path_commonprefixz$PathLikeTests.test_path_commonprefix/sD�������-�-�t�~�t�~�.N�O�O���	)�	)�	)�	)�	)rAc�N�|�tjj��dSr`)r(rHr�rr}s r�test_path_getsizezPathLikeTests.test_path_getsize3s �����R�W�_�-�-�-�-�-rAc�N�|�tjj��dSr`)r(rHr�rr}s r�test_path_getmtimez PathLikeTests.test_path_getmtime6�!�����R�W�-�.�.�.�.�.rAc�N�|�tjj��dSr`)r(rHr�rr}s r�test_path_getctimez PathLikeTests.test_path_getctime9r6rAc��|�tj�|j|j����dSr`)r7rHr�rqr%r$r}s r�test_path_samefilez PathLikeTests.test_path_samefile<s0�������(�(�����H�H�I�I�I�I�IrAN)
r%r�r�r&r(r*r-r/r1r3r5r8r:r�rArr"r"s�������G�G�G�E�E�E�-�-�-�-�-�-�,�,�,�)�)�)�.�.�.�/�/�/�/�/�/�J�J�J�J�JrAr"�__main__)r)�__doc__rYrHr�r�r��test.supportrrr�test.support.script_helperr�test.support.os_helperrrr�TestCaser�r�r"r%�mainr�rAr�<module>rBs���������	�	�	�	�
�
�
�
���������&�&�&�&�&�&�"�"�"�"�"�"�(�(�(�(�(�(�7�7�7�7�7�7�+�+�+�+�+�+�����
`H�`H�`H�`H�`H�`H�`H�`H�F	/�/�/�/�/�k�8�#4�/�/�/�>@K�@K�@K�@K�@K��@K�@K�@K�F"J�"J�"J�"J�"J�H�%�"J�"J�"J�J�z����H�M�O�O�O�O�O��rA