Your IP : 216.73.216.85


Current Path : /opt/alt/python35/lib64/python3.5/test/__pycache__/
Upload File :
Current File : //opt/alt/python35/lib64/python3.5/test/__pycache__/test_glob.cpython-35.opt-1.pyc



��Yf�1�@s�ddlZddlZddlZddlZddlZddlmZmZmZm	Z	m
Z
Gdd�dej�ZeGdd�dej��Z
edkr�ej�dS)�N)�TESTFN�skip_unless_symlink�can_symlink�create_empty_file�
change_cwdc@sNeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zedd��Zedd��Zejejdkd �d!d"��Zd#d$�Zd%d&�Zejejdkd �d'd(��Zd)d*�Zd+d,�Zd-S).�	GlobTestscGs"tjjtjj|j|��S)N)�os�path�normpath�join�tempdir)�self�parts�r�3/opt/alt/python35/lib64/python3.5/test/test_glob.py�norm
szGlobTests.normcs�fdd�|D�S)Ncs(g|]}tjj�j|��qSr)rr	rr)�.0r)r
rr�
<listcomp>s	z#GlobTests.joins.<locals>.<listcomp>r)r
Ztuplesr)r
r�joinsszGlobTests.joinscGsT|j|�}tjj|�\}}tjj|�sFtj|�t|�dS)N)rrr	�split�exists�makedirsr)r
r�filename�base�filerrr�mktemps

zGlobTests.mktempcCstd|_|jdd�|jdd�|jdd�|jdd	�|jd
d�|jd�|jd
�|jddd
�|jdddd�t�rtj|jd�|jd��tjd|jd��tjtjjdd�|jd��dS)N�_dir�a�D�aab�Fz.aa�Gz.bb�H�aaa�zzzF�ZZZ�EF�bcd�efg�haZbroken�sym1�sym2�sym3)	rrrrr�symlinkrr	r)r
rrr�setUps


	"zGlobTests.setUpcCstj|j�dS)N)�shutil�rmtreer)r
rrr�tearDown*szGlobTests.tearDowncOs�t|�dkr|d}ntjj|�}tjj|j|�}tj||�}|jttj||��|�dd�|D�}|jtjtj	|�|�|�|jttjtj	|�|��|�|S)N�rcSsg|]}tj|��qSr)r�fsencode)r�xrrrr5s	z"GlobTests.glob.<locals>.<listcomp>)
�lenrr	rr�glob�assertEqual�listZiglobr3)r
r�kwargs�pattern�p�resZbresrrrr6-s
"%+zGlobTests.globcCsTt|�}t|�}|jt|�t|��|jt|�t|��dS)N)r8r7�set�sorted)r
�l1�l2rrr�assertSequencesEqual_noorder:sz&GlobTests.assertSequencesEqual_noordercCsx|j}||jd�|jd�g�||jdd�|jdd�g�||jd�|jd�g�||jd�g�tjd�}|jdd�|D�th�tjtjjtjd��}|jdd�|D�th�tjd	�}|jd
d�|D�t	h�tjtjjtj
tj�d	��}|jdd�|D�t	h�dS)NrrrZzymurgy�*cSsh|]}t|��qSr)�type)r�rrrr�	<setcomp>Hs	z.GlobTests.test_glob_literal.<locals>.<setcomp>cSsh|]}t|��qSr)rC)rrDrrrrEJs	�*cSsh|]}t|��qSr)rC)rrDrrrrEMs	cSsh|]}t|��qSr)rC)rrDrrrrEOs	)rAr6rr7�strrr	r�curdir�bytesr3)r
�eqr<rrr�test_glob_literal@s	"(" !  *zGlobTests.test_glob_literalcCs|j}||jd�t|jdddg��||jd�t|jddg��||jd�t|jddg��||jd	�t|jdg��||jd
�t|jddg��||jd�t|jddg��||jd�g�dS)
Nza*rrr#z*az.*z.aaz.bbz?aazaa?zaa[ab]z*q)rAr6�mapr)r
rJrrr�test_glob_one_directoryQs	+((%((z!GlobTests.test_glob_one_directorycCs�|j}tjjd�dkrR||jddd�|jddd�g�n@||jddd�|jddd�|jddd�g�||jddd�|jddd�g�dS)NZabCDrr'zE*r&r(z*g)rArr	�normcaser6r)r
rJrrr�test_glob_nested_directory[s	1'z$GlobTests.test_glob_nested_directorycCs�|j}||jdd�|jdd�g�||jdd�g�||jdddd�|jdddd�g�||jdd	�|jd
d�|jdd
�g�dS)NrBrrz*ar'r(r)z?a?z*Fr#r$rr )rAr6r)r
rJrrr�test_glob_directory_namesfs	(!z#GlobTests.test_glob_directory_namescCs�tj|jd�tj�}|j|g�tj|jd�tj�}|j|g�tj|jd�tj�}|jt|�d�|jt|�|jd�|jd�h|jd�tj|jd�tjhg�dS)NzZ*Zr%zaa*�r#r)r6rr�sepr7r5�assertInr=)r
r<rrr�'test_glob_directory_with_trailing_slashosz1GlobTests.test_glob_directory_with_trailing_slashcCs0tjtj|jd�tj��}|j|g�tjtj|jd�tj��}|j|g�tjtj|jd�tj��}|jt|�d�|jt|�tj|jd��tj|jd��htj|jd�tj�tj|jd�tj�hg�dS)NzZ*Zr%zaa*rQr#r)	r6rr3rrRr7r5rSr=)r
r<rrr�-test_glob_bytes_directory_with_trailing_slashs(((z7GlobTests.test_glob_bytes_directory_with_trailing_slashcCs�|j}||jd�|jd�g�||jdd�|jdd�|jdd�g�|j|jdtj�|jd�g|jd�tjgg�||jdd�|jdd�|jdd	�|jdd�g�dS)
Nr,rBr&r(z*Fr#r$rr )rAr6rrSrrR)r
rJrrr�test_glob_symlinks�s	"!,zGlobTests.test_glob_symlinkscCs�|j}||jd�|jd�|jd�|jd�g�||jd�|jd�g�||jd�|jd�g�dS)Nzsym*r*r+r,)rAr6r)r
rJrrr�test_glob_broken_symlinks�s
	'"z#GlobTests.test_glob_broken_symlinks�win32zWin32 specific testcCs�|j}|tjd�g�|tjd�g�|tjd�g�|tjd�g�|tjd�dg�|tjd�dg�|tjd�g�|tjd�g�dS)	Nz*:s*:z?:s?:z\\?\c:\s\\?\c:\z\\*\*\s\\*\*\)rAr6)r
rJrrr�test_glob_magic_in_drive�s	z"GlobTests.test_glob_magic_in_drivecCsH|jtj|�|�|jtjtj|��tj|��dS)N)r7r6�escaperr3)r
�argZexpectedrrr�check_escape�szGlobTests.check_escapecCs[|j}|dd�|dd�|dd�|dd�|dd	�|d
d�dS)N�abc�[z[[]�?z[?]rBz[*]z[[_/*?*/_]]z[[][[]_/[*][?][*]/_]]z
/[[_/*?*/_]]/z/[[][[]_/[*][?][*]/_]]/)r\)r
�checkrrr�test_escape�s	




zGlobTests.test_escapecCs[|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
r`rrr�test_escape_windows�s	




zGlobTests.test_escape_windowscOs|j|dd|�S)N�	recursiveT)r6)r
rr9rrr�rglob�szGlobTests.rglobc
s�|j}d!d"d#d$d%d&d'd(d)d*d+d,g}t�rX|d-d.d/d0d1d2g7}||jd�|jd3|��||jtjd�|jtjdfdd�|D���d4d5d6d7d8g}t�r�|d9d:g7}||jdd�|jd;|��||jdd�|jd<d=d>d?d@dA��||jd�|jdBdCdD��dEdFg}t�r�|dGg7}||jdd�|j|��dHdIdJdKg}t�r�|dLg7}||jdd�|j|��||jddd�g�||jddd�|jdMdN��||jddd�|jdO��t|j��6tjj	�|t
j
ddd��fdd�|D��|t
j
�dd�dd��fdd�|D��|t
j
�dd�dd��fdd�|D��|t
j
�tjd�dd��tjd�g�fdd�|D��|t
j
�tjdd�dd��tjd�g�fdd�|D��|t
j
�tjdd�dd��fdd�|D��|t
j
�dd�dd��dd	�g�|t
j
d dd�g��ddd�dg}t�rt|�dd�g7}|t
j
�dd�dd�|�WdQRXdS)PNr&r%rrr'r(r)r#r$rr r*r+r,z**�css|]}tjf|VqdS)N)rrH)r�irrr�	<genexpr>�sz0GlobTests.test_recursive_glob.<locals>.<genexpr>za**z*FrBrcTcsg|]}�|��qSrr)rrf)rrrr�s	z1GlobTests.test_recursive_glob.<locals>.<listcomp>csg|]}�|��qSrr)rrf)rrrr�s	csg|]}�|��qSrr)rrf)rrrr�s	cs"g|]}�tj|��qSr)rrH)rrf)rrrr�s	cs"g|]}�tj|��qSr)rrH)rrf)rrrrs	cs"g|]}�tj|��qSr)rrH)rrf)rrrrs	zzz*Fz**zz*F)r&)r%)r)rr)rr')rr'r&)rr'r()rr'r(r))r#)r#r$)r)rr )r*)r+)r,)r,r&)r,r()r,r(r))re)rre)rr're)rr'r(re)r#re)rre)r,re)r,r(re)re)rre)rr)rr')rr'r&)rr'r()rr'r(r))r)r#)r)rr'r&)r&)r,r&)rr'r&)r#r$)rr )r&)r,r&)rr'r&)rr'r()rr')rArrdrrrHrrr	rr6)r
rJZfull�dirsZexpectr)rr�test_recursive_glob�sv			
")		%
%	
"	
"
%/!-$-$	zGlobTests.test_recursive_globN)�__name__�
__module__�__qualname__rrrr.r1r6rArKrMrOrPrTrUrrVrW�unittestZ
skipUnless�sys�platformrYr\rarbrdrirrrrrs*

	'	'
rc@seZdZdd�ZdS)�SymlinkLoopGlobTestscCs�td}tj|�|jtj|�t|���tjd�ttjj	dd��tj
tjtjj	dd��tjddd�}|j
t|�tt|���t|�}d}x�|rTtjj	dgdg|�}|j||�|j|�|sPtjj	|d�}|j||�|j|�|d	7}q�Wtjtjj	dd�dd�}|j
t|�tt|���t|�}d}xX|rtjj	dgdg|dg�}|j||�|j|�|d	7}q�Wtjtjj	dd
�dd�}|j
t|�tt|���t|�}d}xX|r�tjj	dgdg|d
g�}|j||�|j|�|d	7}qcWWdQRXdS)Nr�dirr�linkz**rcTrr2re)rrrZ
addCleanupr/r0rrr	rr-rHr6r7r5r=rS�remove)r
rZresultsZdepthr	rrr�
test_selflinksN



""	 

$"	'
$"	'
z"SymlinkLoopGlobTests.test_selflinkN)rjrkrlrtrrrrrpsrp�__main__)r6rr/rnrmZtest.supportrrrrrZTestCaserrprj�mainrrrr�<module>s(�/