Your IP : 216.73.216.196


Current Path : /opt/alt/python310/lib64/python3.10/test/__pycache__/
Upload File :
Current File : //opt/alt/python310/lib64/python3.10/test/__pycache__/test_glob.cpython-310.opt-1.pyc

o

0�ic=�@s�ddlZddlZddlZddlZddlZddlmZmZmZm	Z	m
Z
Gdd�dej�ZeGdd�dej��Z
edkr@e��dSdS)�N)�TESTFN�skip_unless_symlink�can_symlink�create_empty_file�
change_cwdc@s�eZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zedd��Zed d!��Ze�ejd"kd#�d$d%��Zd&d'�Zd(d)�Ze�ejd"kd#�d*d+��Zd,d-�Zd.d/�Zd0d1�ZdS)2�	GlobTestsNcGstj�tjj|jg|�R��S�N)�os�path�normpath�join�tempdir)�self�parts�r�5/opt/alt/python310/lib64/python3.10/test/test_glob.py�normszGlobTests.normcs�fdd�|D�S)Ncs"g|]
}tjj�jg|�R��qSr�r	r
rr
)�.0r�rrr�
<listcomp>s"z#GlobTests.joins.<locals>.<listcomp>r)rZtuplesrrr�joinsszGlobTests.joinscGs<|j|�}tj�|�\}}tj�|�st�|�t|�dSr)rr	r
�split�exists�makedirsr)rr�filename�base�filerrr�mktemps


zGlobTests.mktempcCstd|_|�dd�|�dd�|�dd�|�dd	�|�d
d�|�d�|�d
�|�ddd
�|�dddd�t�rbt�|�d�|�d��t�d|�d��t�tj�dd�|�d��tj	tj
htjkrtjtj
vrt�	|jtjtjB�|_dSd|_dS)N�_dir�a�D�aab�F�.aa�G�.bb�H�aaa�zzzF�ZZZ�EF�bcd�efg�haZbroken�sym1�sym2�sym3)rr
rrr	�symlinkrr
r�open�stat�supports_dir_fd�scandir�supports_fd�O_RDONLY�O_DIRECTORY�dir_fdrrrr�setUps"



zGlobTests.setUpcCs&|jdurt�|j�t�|j�dSr)r:r	�close�shutil�rmtreer
rrrr�tearDown/s
zGlobTests.tearDownc
s�t|�dkr|d}ntjj|�}tj��j|�}tj|fi|��}��tj|fi|��|�dd�|D�}��tjt�|�fi|��|���tjt�|�fi|��|�t	�j��ttj|fi|��}|D]}��
tj�|�|�qg|dks|dtjkr�|dd�}	n|}	���fdd�|D�|	���tj|fi|��|�t�|�}
dd�|D�}��tj|
fi|��|���tj|
fi|��|�Wd�n1s�wY��tj|fd�ji|��|���tj|fd�ji|��|�t��j�}��tj|
fd|i|��|���tj|
fd|i|��|��j
du�ra��tj|fd	�j
i|��|���tj|fd	�j
i|��|���tj|
fd	�j
i|��|���tj|
fd	�j
i|��|�|S)
N�rcS�g|]}t�|��qSr�r	�fsencode�r�xrrrr<�z"GlobTests.glob.<locals>.<listcomp>�**csg|]
}tj��j|��qSrrrDrrrrHscSrArrBrDrrrrLrF�root_dirr:)�lenr	r
rr
�globZassertCountEqual�iglobrCrZassertFalse�isabs�sepr:)
rr�kwargs�pattern�p�resZbresZres2rE�expectedZbpatternZbres2ZbtempdirrrrrJ4s`
  �
�  ������zGlobTests.globcCs<t|�}t|�}|�t|�t|��|�t|�t|��dSr)�list�assertEqual�set�sorted)r�l1�l2rrr�assertSequencesEqual_noorderdsz&GlobTests.assertSequencesEqual_noordercCs|j}||�d�|�d�g�||�dd�|�dd�g�||�d�|�d�g�||�d�g�t�d�}|�dd�|D�th�t�tj�tjd��}|�dd�|D�th�t�d	�}|�d
d�|D�t	h�t�tj�t�
tj�d	��}|�dd�|D�t	h�dS)Nr r!r"Zzymurgy�*cS�h|]}t|��qSr��type�r�rrrr�	<setcomp>r�z.GlobTests.test_glob_literal.<locals>.<setcomp>cSr[rr\r^rrrr`tra�*cSr[rr\r^rrrr`wracSr[rr\r^rrrr`yra)rYrJrrT�strr	r
r�curdir�bytesrC)r�eqrQrrr�test_glob_literaljs

zGlobTests.test_glob_literalcCs�|�t�d�g�|�t�d�g�|�tjd|jd�g�|�tjdt�|j�d�g�|�tjd|jd�g�|�tjd|jd�g�dS)N��)rH)r:)rTrJr
r	rCr:rrrr�test_glob_empty_pattern{sz!GlobTests.test_glob_empty_patterncCs�|j}||�d�t|jgd���||�d�t|jddg��||�d�t|jddg��||�d	�t|jdg��||�d
�t|jddg��||�d�t|jddg��||�d
�g�dS)Nza*)r r"r(�*ar r(z.*r$r&z?aazaa?r"zaa[ab]z*q)rYrJ�mapr�rrfrrr�test_glob_one_directory�sz!GlobTests.test_glob_one_directorycCs�|j}tj�d�dkr||�ddd�|�ddd�g�n||�ddd�|�ddd�|�ddd�g�||�ddd�|�ddd�g�dS)NZabCDr r,zE*r+r-z*g)rYr	r
�normcaserJrrmrrr�test_glob_nested_directory�s"�$z$GlobTests.test_glob_nested_directorycCs�|j}||�dd�|�dd�g�||�dd�g�||�dddd�|�dddd�g�||�dd	�|�d
d�|�dd
�g�dS)NrZr!r rkr,r-r.z?a?�*Fr(r)r"r#�rYrJrrmrrr�test_glob_directory_names�s�

�z#GlobTests.test_glob_directory_namescCs�t�|�d�tj�}|�|g�t�|�d�tj�}|�|g�t�|�d�tj�}|�t|�d�|�t|�|�d�|�d�h|�d�tj|�d�tjhg�dS�NzZ*Zr*zaa*�r(r")rJrr	rMrTrI�assertInrU�rrQrrr�'test_glob_directory_with_trailing_slash�s

�z1GlobTests.test_glob_directory_with_trailing_slashc
Cs�t�t�|�d�tj��}|�|g�t�t�|�d�tj��}|�|g�t�t�|�d�tj��}|�t|�d�|�t|�t�|�d��t�|�d��ht�|�d�tj�t�|�d�tj�hg�dSrt)	rJr	rCrrMrTrIrvrUrwrrr�-test_glob_bytes_directory_with_trailing_slash�s
��
�z7GlobTests.test_glob_bytes_directory_with_trailing_slashcCs�|j}||�d�|�d�g�||�dd�|�dd�|�dd�g�|�|�dtj�|�d�g|�d�tjgg�||�dd�|�dd�|�dd	�|�dd�g�dS)
Nr1rZr+r-rqr(r)r"r#)rYrJrrvr	rMrmrrr�test_glob_symlinks�s
��
��zGlobTests.test_glob_symlinkscCsb|j}||�d�|�d�|�d�|�d�g�||�d�|�d�g�||�d�|�d�g�dS)Nzsym*r/r0r1rrrmrrr�test_glob_broken_symlinks�s�z#GlobTests.test_glob_broken_symlinksZwin32zWin32 specific testcCs�|j}|t�d�g�|t�d�g�|t�d�g�|t�d�g�|t�d�dg�|t�d�dg�|t�d�g�|t�d�g�dS)	Nz*:s*:z?:s?:z\\?\c:\s\\?\c:\z\\*\*\s\\*\*\)rYrJrmrrr�test_glob_magic_in_drive�sz"GlobTests.test_glob_magic_in_drivecCs4|�t�|�|�|�t�t�|��t�|��dSr)rTrJ�escaper	rC)r�argrRrrr�check_escape�s"zGlobTests.check_escapecCsF|j}|dd�|dd�|dd�|dd�|dd	�|d
d�dS)N�abc�[z[[]�?z[?]rZz[*]z[[_/*?*/_]]z[[][[]_/[*][?][*]/_]]z
/[[_/*?*/_]]/z/[[][[]_/[*][?][*]/_]]/�r�rZcheckrrr�test_escape�s




zGlobTests.test_escapecCsF|j}|dd�|dd�|dd�|dd�|d	d
�|dd�dS)
Nz?:?z?:[?]z*:*z*:[*]z\\?\c:\?z
\\?\c:\[?]z\\*\*\*z	\\*\*\[*]z//?/c:/?z
//?/c:/[?]z//*/*/*z	//*/*/[*]r�r�rrr�test_escape_windows�s




zGlobTests.test_escape_windowscOs|j|ddi|��S)N�	recursiveT)rJ)rrrNrrr�rglob�szGlobTests.rglobc
sR|j}gd�}t�r|gd�7}||�d�|jdg|�R��||�tjd�|jtjdfgdd�|D��R��gd�}t�rE|d	d
g7}||�dd�|jdg|�R��||�dd�|�dd
dddd��||�d�|�ddd��ddg}t�r|dg7}||�dd�|j|��gd�}t�r�|dg7}||�dd�|j|��||�ddd�g�||�ddd�|�dd��||�ddd�|�d��t|j���tjj	�|t
j
ddd��fdd �|D��|t
j
�dd�dd��fd!d �|D��|t
j
�dd�dd��fd"d �|D��|t
j
�tjd�dd��tjd�g�fd#d �|D��|t
j
�tjdd�dd��tjd�g�fd$d �|D��|t
j
�tjdd�dd��fd%d �|D��|t
j
�dd&�dd��d'd(�g�|t
j
d)dd�g��ddd�dg}t��r�|�d*d�g7}|t
j
�dd�dd�|�Wd�dS1�s�wYdS)+N)�r+)r*�r �r r!�r r,�r r,r+�r r,r-�r r,r-r.�r(�r(r)�r"�r"r#))r/)r0)r1�r1r+)r1r-)r1r-r.rG)rhrhcss�|]	}tjf|VqdSr�r	rd�r�irrr�	<genexpr>s�z0GlobTests.test_recursive_glob.<locals>.<genexpr>)�r rh)r r,rh)r r,r-rh)r(rh)r"rh)r1rh)r1r-rhr r�r�r�r�r�r�za**r�r�r�r�r�r+)r�r�r�r�rqr,rZT�r�c�g|]}�|��qSrrr��rrrr*raz1GlobTests.test_recursive_glob.<locals>.<listcomp>cr�rrr�r�rrr,racr�rrr�r�rrr.rac�g|]}�tjg|�R��qSrr�r�r�rrr0�cr�rr�r�r�rrr2r�cr�rr�r�r�rrr4r�zzz*Fr(r)z**zz*Fr1)rYrr�rr	rdrr
r
rrJ)rrfZfull�dirsZexpectrr�r�test_recursive_glob�sr	 � �

�"�����
�$�zGlobTests.test_recursive_globcs�d}tj�|jd�}tjj|gdg|�R�}t�|�tjj|gdg|�R���fdd�td�D�}|D]
}|�t|�|�q6tj�|dd���fd	d�td�D�}|}t|�D]}tj�|d�}|D]
}|�t|�|�qeqZdS)
N�Zdeep�drZc�g|]	}tj�dd��qS�Tr��rJrK�r�j�rOrrrC�z7GlobTests.test_glob_many_open_files.<locals>.<listcomp>�drGcr�r�r�r�r�rrrGr�)r	r
rr
r�rangerT�next)r�depthrrPZiters�itr�rr�r�test_glob_many_open_files=s"
��z#GlobTests.test_glob_many_open_files) �__name__�
__module__�__qualname__r:rrrr;r?rJrYrgrjrnrprsrxryrrzr{�unittestZ
skipUnless�sys�platformr|rr�r�r�r�r�rrrrrs:0
	


	
	Arc@seZdZdd�ZdS)�SymlinkLoopGlobTestscCs0td}t�|�|�tj|�t|���t�d�ttj�	dd��t�
tjtj�	dd��tjddd�}|�
t|�tt|���t|�}d}|r|tjj	dgdg|�}|�||�|�|�|sdntj�	|d�}|�||�|�|�|d	7}|sJtjtj�	dd�dd�}|�
t|�tt|���t|�}d}|r�tjj	dgdg|dg�}|�||�|�|�|d	7}|s�tjtj�	dd
�dd�}|�
t|�tt|���t|�}d}|�rtjj	dgdg|d
g�}|�||�|�|�|d	7}|s�Wd�dSWd�dS1�swYdS)Nr�dirr�linkrGTr�rr@rh)rr	rZ
addCleanupr=r>rrr
rr2rdrJrTrIrUrv�remove)rr
Zresultsr�r
rrr�
test_selflinkRsZ




�
�
��"$�z"SymlinkLoopGlobTests.test_selflinkN)r�r�r�r�rrrrr�Osr��__main__)rJr	r=r�r�Ztest.support.os_helperrrrrrZTestCaserr�r��mainrrrr�<module>sF/�