Your IP : 216.73.216.213


Current Path : /opt/alt/python38/lib64/python3.8/test/__pycache__/
Upload File :
Current File : //opt/alt/python38/lib64/python3.8/test/__pycache__/test_glob.cpython-38.opt-1.pyc

U

i�f!4�@s�ddlZddlZddlZddlZddlZddlmZmZmZm	Z	m
Z
Gdd�dej�ZeGdd�dej��Z
edkr|e��dS)�N)�TESTFN�skip_unless_symlink�can_symlink�create_empty_file�
change_cwdc@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zedd��Zedd��Ze�ejdkd �d!d"��Zd#d$�Zd%d&�Ze�ejdkd �d'd(��Zd)d*�Zd+d,�Zd-d.�Zd/S)0�	GlobTestscGstj�tjj|jf|���S�N)�os�path�normpath�join�tempdir)�self�parts�r�3/opt/alt/python38/lib64/python3.8/test/test_glob.py�norm
szGlobTests.normcs�fdd�|D�S)Ncs g|]}tjj�jf|���qSr)r	r
rr
)�.0r�rrr�
<listcomp>sz#GlobTests.joins.<locals>.<listcomp>r)rZtuplesrrr�joinsszGlobTests.joinscGs<|j|�}tj�|�\}}tj�|�s0t�|�t|�dSr)rr	r
�split�exists�makedirsr)rr�filename�base�filerrr�mktemps


zGlobTests.mktempcCs�td|_|�dd�|�dd�|�dd�|�dd	�|�d
d�|�d�|�d
�|�ddd
�|�dddd�t�r�t�|�d�|�d��t�d|�d��t�tj�dd�|�d��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rrrr�setUps


zGlobTests.setUpcCst�|j�dSr)�shutil�rmtreer
rrrr�tearDown*szGlobTests.tearDowncOs�t|�dkr|d}ntjj|�}tj�|j|�}tj|f|�}|�tj|f|�|�dd�|D�}|�tjt�|�f|�|�|�tjt�|�f|�|�|S)N�rcSsg|]}t�|��qSr)r	�fsencode)r�xrrrr5sz"GlobTests.glob.<locals>.<listcomp>)	�lenr	r
rr
�globZassertCountEqual�iglobr7)rr�kwargs�pattern�p�resZbresrrrr:-s
zGlobTests.globcCs<t|�}t|�}|�t|�t|��|�t|�t|��dSr)�list�assertEqual�set�sorted)r�l1�l2rrr�assertSequencesEqual_noorder:sz&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)Nrr r!Zzymurgy�*cSsh|]}t|��qSr��type�r�rrrr�	<setcomp>Hsz.GlobTests.test_glob_literal.<locals>.<setcomp>cSsh|]}t|��qSrrHrJrrrrLJs�*cSsh|]}t|��qSrrHrJrrrrLMscSsh|]}t|��qSrrHrJrrrrLOs)rFr:rrA�strr	r
r�curdir�bytesr7)r�eqr?rrr�test_glob_literal@s

zGlobTests.test_glob_literalcCs�|j}||�d�t|jdddg��||�d�t|jddg��||�d�t|jddg��||�d	�t|jdg��||�d
�t|jddg��||�d�t|jddg��||�d�g�dS)
Nza*rr!r'�*az.*r#r%z?aazaa?zaa[ab]z*q)rFr:�mapr�rrQrrr�test_glob_one_directoryQsz!GlobTests.test_glob_one_directorycCs�|j}tj�d�dkr8||�ddd�|�ddd�g�n,||�ddd�|�ddd�|�ddd�g�||�ddd�|�ddd�g�dS)NZabCDrr+zE*r*r,z*g)rFr	r
�normcaser:rrUrrr�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)NrGr rrSr+r,r-z?a?�*Fr'r(r!r"�rFr:rrUrrr�test_glob_directory_namesfs�
�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!)r:rr	�seprAr9�assertInrB�rr?rrr�'test_glob_directory_with_trailing_slashos
�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�dSr\)	r:r	r7rr^rAr9r_rBr`rrr�-test_glob_bytes_directory_with_trailing_slashs
���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)
Nr0rGr*r,rYr'r(r!r")rFr:rr_r	r^rUrrr�test_glob_symlinks�s
��


��zGlobTests.test_glob_symlinkscCsb|j}||�d�|�d�|�d�|�d�g�||�d�|�d�g�||�d�|�d�g�dS)Nzsym*r.r/r0rZrUrrr�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\\*\*\)rFr:rUrrr�test_glob_magic_in_drive�sz"GlobTests.test_glob_magic_in_drivecCs4|�t�|�|�|�t�t�|��t�|��dSr)rAr:�escaper	r7)r�argZexpectedrrr�check_escape�szGlobTests.check_escapecCsF|j}|dd�|dd�|dd�|dd�|dd	�|d
d�dS)N�abc�[z[[]�?z[?]rGz[*]z[[_/*?*/_]]z[[][[]_/[*][?][*]/_]]z
/[[_/*?*/_]]/z/[[][[]_/[*][?][*]/_]]/�rh�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	//*/*/[*]rlrmrrr�test_escape_windows�s




zGlobTests.test_escape_windowscOs|j|ddi|��S)N�	recursiveT)r:)rrr<rrr�rglob�szGlobTests.rglobcs\|j}ddddddddd	d
ddg}t�r<|d
dddddg7}||�d�|jd3|���||�tjd�|jtjdffdd�|D����dddddg}t�r�|ddg7}||�dd�|jd4|���||�dd�|�dddddd��||�d �|�dd	d��ddg}t��r|dg7}||�dd!�|j|��dd
ddg}t��rN|dg7}||�dd"�|j|��||�dd"d�g�||�dd#d$�|�dd��||�ddd#�|�d��t|j����tjj	�|t
j
dd%d&��fd'd(�|D��|t
j
�dd�d%d&��fd)d(�|D��|t
j
�dd$�d%d&��fd*d(�|D��|t
j
�tjd�d%d&��tjd�g�fd+d(�|D��|t
j
�tjdd�d%d&��tjd�g�fd,d(�|D��|t
j
�tjdd$�d%d&��fd-d(�|D��|t
j
�dd.�d%d&��d/d0�g�|t
j
d1d%d&�g��dd#d!�d!g}t��r4|�d2d!�g7}|t
j
�dd!�d%d&�|�W5QRXdS)5N)r*)r))r)rr )rr+)rr+r*)rr+r,)rr+r,r-)r')r'r()r!)r!r")r.)r/)r0)r0r*)r0r,)r0r,r-�**��rtcss|]}tjf|VqdSr�r	rO�r�irrr�	<genexpr>�sz0GlobTests.test_recursive_glob.<locals>.<genexpr>)rrt)rr+rt)rr+r,rt)r'rt)r!rt)r0rt)r0r,rtrza**r*rYr+rGT�rpcsg|]}�|��qSrrrv�rrrr�sz1GlobTests.test_recursive_glob.<locals>.<listcomp>csg|]}�|��qSrrrvrzrrr�scsg|]}�|��qSrrrvrzrrr�scsg|]}�tjf|���qSrrurvrzrrr�scsg|]}�tjf|���qSrrurvrzrrrscsg|]}�tjf|���qSrrurvrzrrrszzz*Fr'r(z**zz*Fr0)rs)rs)rFrrqrr	rOrr
r
rr:)rrQZfull�dirsZexpectrrzr�test_recursive_glob�s��	����

�"�����
�zGlobTests.test_recursive_globcs�d}tj�|jd�}tjj|fdg|��}t�|�tjj|fdg|����fdd�td�D�}|D]}|�t|�|�qhtj�|dd���fd	d�td�D�}|}t|�D],}tj�|d�}|D]}|�t|�|�q�q�dS)
N�Zdeep�drGcsg|]}tj�dd��qS�Try�r:r;�r�j�r=rrrsz7GlobTests.test_glob_many_open_files.<locals>.<listcomp>�drrcsg|]}tj�dd��qSrr�r�r�rrrs)r	r
rr
r�rangerA�next)r�depthrr>Ziters�itrwrr�r�test_glob_many_open_filess
z#GlobTests.test_glob_many_open_filesN)�__name__�
__module__�__qualname__rrrr2r5r:rFrRrVrXr[rarbrrcrd�unittestZ
skipUnless�sys�platformrerhrnrorqr|r�rrrrrs4

	


	
	Arc@seZdZdd�ZdS)�SymlinkLoopGlobTestsc	Cs
td}t�|�|�tj|�t|����t�d�ttj�	dd��t�
tjtj�	dd��tjddd�}|�
t|�tt|���t|�}d}|r�tjj	dgdg|�}|�||�|�|�|s�q�tj�	|d�}|�||�|�|�|d	7}q�tjtj�	dd�dd�}|�
t|�tt|���t|�}d}|�rztjj	dgdg|dg�}|�||�|�|�|d	7}�q4tjtj�	dd
�dd�}|�
t|�tt|���t|�}d}|�r�tjj	dgdg|d
g�}|�||�|�|�|d	7}�q�W5QRXdS)Nr�dirr�linkrrTryrr6rt)rr	rZ
addCleanupr3r4rrr
rr1rOr:rAr9rBr_�remove)rr
Zresultsr�r
rrr�
test_selflink sN






z"SymlinkLoopGlobTests.test_selflinkN)r�r�r�r�rrrrr�sr��__main__)r:r	r3r�r�Ztest.supportrrrrrZTestCaserr�r��mainrrrr�<module>s/