Sindbad~EG File Manager

Current Path : /usr/local/lib/python3.9/unittest/test/__pycache__/
Upload File :
Current File : //usr/local/lib/python3.9/unittest/test/__pycache__/test_discovery.cpython-39.pyc

a

��g؄�@s�ddlZddlmZddlZddlZddlZddlZddlmZddl	Zddl
Z
ddlZ
ddlZ
Gdd�de
j
�ZGdd�de
j�Zedkr�e
��dS)	�N)�abspath)�supportc@s<eZdZdZdZdZZZZdZ	dZ
dZZdd�Z
dS)�TestableTestProgramNT��cCsdS�N���selfrr�8/usr/local/lib/python3.9/unittest/test/test_discovery.py�__init__szTestableTestProgram.__init__)�__name__�
__module__�__qualname__�module�exitZdefaultTest�failfast�
catchbreak�buffer�	verbosityZprogNameZ
testRunner�
testLoaderrrrrrrsrc@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�Zd/d0�Zd1d2�Zd3d4�Zd5d6�Zd7S)8�
TestDiscoverycCs\t��}d|_|�d�}|�|d�|�t��|�d�Wd�n1sN0YdS)N�/fooz/foo/bar/baz.pyzbar.bazz/bar/baz.py)�unittest�
TestLoader�_top_level_dirZ_get_name_from_path�assertEqual�assertRaises�AssertionError)r
�loader�namerrr�test_get_name_from_paths
z%TestDiscovery.test_get_name_from_pathcs t��}tj��fdd�}tjj��fdd�}tjj��fdd�}gd�dd	gg��fd
d�t_|�|�dd
�}|tj_|�|�dd�}|tj_|�|�dd�|_|j	�d�fdd�	}||_	dd�|_
tj�d�}||_t
|�|d��}	dd�dD�}
|
�dd�dD��|�|	|
�dS)Ncs
�t_dSr��os�listdirr��original_listdirrr�restore_listdir/sz6TestDiscovery.test_find_tests.<locals>.restore_listdircs�tj_dSr�r#�path�isfiler��original_isfilerr�restore_isfile2sz5TestDiscovery.test_find_tests.<locals>.restore_isfilecs�tj_dSr�r#r)�isdirr��original_isdirrr�
restore_isdir5sz4TestDiscovery.test_find_tests.<locals>.restore_isdir)ztest2.pyztest1.pyz
not_a_test.py�test_dirztest.fooztest-not-a-module.py�another_dirztest4.pyztest3.pycs
��d�S�Nr��pop�r)��
path_listsrr�<lambda>;�z/TestDiscovery.test_find_tests.<locals>.<lambda>cSs
|�d�S)N�dir��endswithr8rrrr/>sz,TestDiscovery.test_find_tests.<locals>.isdircSs|�d�od|vS)Nr=r4r>r8rrrr*Csz-TestDiscovery.test_find_tests.<locals>.isfilecSs|dS�Nz modulerr8rrrr;Ir<cs�||d�}||dgS�N��patternz testsr�rrC�base��orig_load_testsrr�loadTestsFromModuleKsz:TestDiscovery.test_find_tests.<locals>.loadTestsFromModulecSs|Srr��thingrrrr;Pr<r�test*.pycSsg|]}|dg�qS)�
 module testsr��.0r rrr�
<listcomp>Xr<z1TestDiscovery.test_find_tests.<locals>.<listcomp>)Ztest1Ztest2r3cSsg|]}d|dg�qS)ztest_dir.%srLrrMrrrrOZr<)Ztest3Ztest4)N)rrr#r$r)r*r/�
addCleanup�_get_module_from_namerH�
suiteClassrr�list�_find_tests�extendr)r
rr'r-r2r/r*rH�	top_level�suiteZexpectedr�rGr1r,r&r:r�test_find_tests+sB�




�
�zTestDiscovery.test_find_testscs�t��}tj��fdd�}tjj��fdd�}tjj��fdd�}dgg��fdd	�t_|�|�d
d	�tj_|�|�dd	�tj_|�|�dd	�|_|j	�d�fd
d�	}||_	dd	�|_
tj�d�}||_t
|�|d��}|�|g�dS)Ncs
�t_dSrr"rr%rrr'dsz=TestDiscovery.test_find_tests_socket.<locals>.restore_listdircs�tj_dSrr(rr+rrr-gsz<TestDiscovery.test_find_tests_socket.<locals>.restore_isfilecs�tj_dSrr.rr0rrr2jsz;TestDiscovery.test_find_tests_socket.<locals>.restore_isdir�socketcs
��d�Sr5r6r8r9rrr;nr<z6TestDiscovery.test_find_tests_socket.<locals>.<lambda>cSsdS�NFrr8rrrr;qr<cSsdSr[rr8rrrr;tr<cSs|dSr@rr8rrrr;wr<cs�||d�}||dgSrArrDrFrrrHyszATestDiscovery.test_find_tests_socket.<locals>.loadTestsFromModulecSs|SrrrIrrrr;~r<rrK)N)rrr#r$r)r*r/rPrQrHrRrrrSrTr)r
rr'r-r2rHrVrWrrXr�test_find_tests_socket^s.




z$TestDiscovery.test_find_tests_socketcs<t��}tj��fdd�}tjj��fdd�}tjj��fdd�}gd���gggg��fdd	�t_|�|�d
d	�tj_|�|��fdd	�tj_|�|�Gdd
�d
t���fdd	�|_	|j
�d�fdd�	}||_
dd	�|_d|_t
|�dd��}|�|dgddgdgg�|��jgd��|��j|gdfg�dS)Ncs
�t_dSrr"rr%rrr'�szCTestDiscovery.test_find_tests_with_package.<locals>.restore_listdircs�tj_dSrr(rr+rrr-�szBTestDiscovery.test_find_tests_with_package.<locals>.restore_isfilecs�tj_dSrr.rr0rrr2�szATestDiscovery.test_find_tests_with_package.<locals>.restore_isdir�Za_directory�test_directoryZtest_directory2cs
��d�Sr5r6r8r9rrr;�r<z<TestDiscovery.test_find_tests_with_package.<locals>.<lambda>cSsdS�NTrr8rrrr;�r<cstj�|��vSr�r#r)�basenamer8��directoriesrrr;�r<c@s$eZdZgZgZdd�Zdd�ZdS)z:TestDiscovery.test_find_tests_with_package.<locals>.Modulecs8|�_�j�|�tj�|�dkr4�fdd�}|�_dS)Nr^cs�j�|||f��jdgS�N� load_tests��load_tests_args�appendr)�r�testsrCr	rr�
load_tests�szWTestDiscovery.test_find_tests_with_package.<locals>.Module.__init__.<locals>.load_tests�r)�pathsrhr#rark�r
r)rkrr	rr�s
zCTestDiscovery.test_find_tests_with_package.<locals>.Module.__init__cSs|j|jkSrr8�r
�otherrrr�__eq__�szATestDiscovery.test_find_tests_with_package.<locals>.Module.__eq__N�r
rrrmrgrrqrrrr�Module�s	rscs�|�Srr�r �rsrrr;�r<cs�||d�}||jdgS�NrBrLr8rDrFrrrH�szGTestDiscovery.test_find_tests_with_package.<locals>.loadTestsFromModulecSs|SrrrIrrrr;�r<rztest*�a_directory module tests�test_directory load_tests�test_directory module tests�test_directory2 module tests)N�rrr#r$r)r*r/rP�objectrQrHrRrrSrTrrmrg�r
rr'r-r2rHrWr�rsrcrGr1r,r&r:r�test_find_tests_with_package�sJ



����
�z*TestDiscovery.test_find_tests_with_packagecs<t��}tj��fdd�}tjj��fdd�}tjj��fdd�}gd���gggg��fdd	�t_|�|�d
d	�tj_|�|��fdd	�tj_|�|�Gdd
�d
t���fdd	�|_	|j
�d�fdd�	}||_
dd	�|_d|_t
|�dd��}|�|dgddgdgg�|��jgd��|��j|gdfg�dS)Ncs
�t_dSrr"rr%rrr'�szWTestDiscovery.test_find_tests_default_calls_package_load_tests.<locals>.restore_listdircs�tj_dSrr(rr+rrr-�szVTestDiscovery.test_find_tests_default_calls_package_load_tests.<locals>.restore_isfilecs�tj_dSrr.rr0rrr2�szUTestDiscovery.test_find_tests_default_calls_package_load_tests.<locals>.restore_isdirr]cs
��d�Sr5r6r8r9rrr;�r<zPTestDiscovery.test_find_tests_default_calls_package_load_tests.<locals>.<lambda>cSsdSr_rr8rrrr;�r<cstj�|��vSrr`r8rbrrr;�r<c@s$eZdZgZgZdd�Zdd�ZdS)zNTestDiscovery.test_find_tests_default_calls_package_load_tests.<locals>.Modulecs8|�_�j�|�tj�|�dkr4�fdd�}|�_dS)Nr^cs�j�|||f��jdgSrdrfrir	rrrk�szkTestDiscovery.test_find_tests_default_calls_package_load_tests.<locals>.Module.__init__.<locals>.load_testsrlrnrr	rr�s
zWTestDiscovery.test_find_tests_default_calls_package_load_tests.<locals>.Module.__init__cSs|j|jkSrr8rorrrrq�szUTestDiscovery.test_find_tests_default_calls_package_load_tests.<locals>.Module.__eq__Nrrrrrrrs�s	rscs�|�Srrrtrurrr;�r<cs�||d�}||jdgSrvr8rDrFrrrH�sz[TestDiscovery.test_find_tests_default_calls_package_load_tests.<locals>.loadTestsFromModulecSs|SrrrIrrrr;�r<rrKrwrxryrz)Nr{r}rr~r�0test_find_tests_default_calls_package_load_tests�sJ



����
�z>TestDiscovery.test_find_tests_default_calls_package_load_testscsHtj��fdd�}|�|�tjj��fdd�}|�|�tjj��fdd�}|�|�|�tjjtd��td�dgtd	�d
dgi��fdd
�}|t_dd�tj_dd�tj_Gdd�dt	��t
��}�fdd�|_dd�|_
td�|_t|�td�d��}|�|dgdggg�|��jddg�|��j|gdf|gdfg�dS)Ncs
�t_dSrr"rr%rrr'szTTestDiscovery.test_find_tests_customize_via_package_pattern.<locals>.restore_listdircs�tj_dSrr(rr+rrr-!szSTestDiscovery.test_find_tests_customize_via_package_pattern.<locals>.restore_isfilecs�tj_dSrr.rr0rrr2%szRTestDiscovery.test_find_tests_customize_via_package_pattern.<locals>.restore_isdirr�
my_package�/foo/my_package�__init__.py�test_module.pycst�|�Sr�rSr8��vfsrr�list_dir7szMTestDiscovery.test_find_tests_customize_via_package_pattern.<locals>.list_dircSs|�d�S�Nz.pyr>r8rrrr;:r<zMTestDiscovery.test_find_tests_customize_via_package_pattern.<locals>.<lambda>cSs
|�d�Sr�r>r8rrrr;;r<c@s$eZdZgZgZdd�Zdd�ZdS)zKTestDiscovery.test_find_tests_customize_via_package_pattern.<locals>.Modulecs@|�_�j�|�|�d�r*�fdd�}n�fdd�}|�_dS)NZtest_modulecs�j�|||f��jdgSrdrfrir	rrrkEszhTestDiscovery.test_find_tests_customize_via_package_pattern.<locals>.Module.__init__.<locals>.load_testscsB�j�|||f�d}tj�|�}|j||d�}�jd|g|S)Nz/foo/my_package/__init__.py��	start_dirrCre)rgrhr#r)�dirname�discover)rrjrC�__file__Zthis_dirZ	pkg_testsr	rrrkIs��)r)rmrhr?rkrnrr	rrAs
	zTTestDiscovery.test_find_tests_customize_via_package_pattern.<locals>.Module.__init__cSs|j|jkSrr8rorrrrqTszRTestDiscovery.test_find_tests_customize_via_package_pattern.<locals>.Module.__eq__Nrrrrrrrs=srscs�|�Srrrtrurrr;Xr<cSs|SrrrIrrrr;Yr<rKzmy_package load_testsz!my_package.test_module load_testszmy_package.test_module)r#r$rPr)r*r/�sys�removerr|rrrQrRrrSrTrrmrg)r
r'r-r2r�rrWr)rsr1r,r&r�r�-test_find_tests_customize_via_package_patternsH



�

�����z;TestDiscovery.test_find_tests_customize_via_package_patternc
svt��}tjj�tjj��fdd�}dd�tj_|�|�tjdd���fdd�}|�|�tj�tj�	d��}|�
t��|jddd	�Wd�n1s�0Y|�
|j|�|�|tj�d
d�tj_dd�tj_�fdd
�}|�|�g�d�fdd�	}||_t|_|�ddd�}tj�d�}tj�d�}	|�
|d�|�
|j|�|�
�|	dfg�|�|tj�dS)Ncs�tj_dSrr(rr+rrr-tsz3TestDiscovery.test_discover.<locals>.restore_isfilecSsdSr[rr8rrrr;wr<z-TestDiscovery.test_discover.<locals>.<lambda>cs�tjdd�<dSr)r�r)r)�
orig_sys_pathrr�restore_path{sz1TestDiscovery.test_discover.<locals>.restore_pathrz/foo/bar��
top_level_dircSsdSr_rr8rrrr;�r<cSsdSr_rr8rrrr;�r<cs�tj_dSrr.rr0rrr2�sz2TestDiscovery.test_discover.<locals>.restore_isdircs��||f�dgS�Nrj�rh�r�rC�	namespace��_find_tests_argsrrrT�sz0TestDiscovery.test_discover.<locals>._find_testsz/foo/bar/bazrCz	['tests'])N)rrr#r)r*r/rPr�r�normpathr�ImportErrorr�rr�assertInrT�strrR)
r
rr-r��	full_pathr2rTrWr�r�r)r�r�r1r,r�
test_discoveros:

,
zTestDiscovery.test_discovercs�td�dgtd�dgi��fdd�}|�ttdtj�|t_|�ttjdtjj�d	d
�tj_|�ttjdtjj�dd
�tj_|�tjj	td��Gd
d�dt
��t��}�fdd
�|_
dd
�|_|jddd�}|�|dgg�dS)Nz	/toplevelZstartdirz/toplevel/startdirr�cst�|�Srr�r8r�rrr��sz[TestDiscovery.test_discover_start_dir_is_package_calls_package_load_tests.<locals>.list_dirr$r*cSs
|�d�Sr�r>r8rrrr;�r<z[TestDiscovery.test_discover_start_dir_is_package_calls_package_load_tests.<locals>.<lambda>r/cSs|�d�Sr�r>r8rrrr;�r<c@s,eZdZgZgZdd�Zdd�Zdd�ZdS)zYTestDiscovery.test_discover_start_dir_is_package_calls_package_load_tests.<locals>.ModulecSs
||_dSrr8)r
r)rrrr�szbTestDiscovery.test_discover_start_dir_is_package_calls_package_load_tests.<locals>.Module.__init__cSsd|jgS)Nzload_tests called r8)r
rrjrCrrrrk�szdTestDiscovery.test_discover_start_dir_is_package_calls_package_load_tests.<locals>.Module.load_testscSs|j|jkSrr8rorrrrq�sz`TestDiscovery.test_discover_start_dir_is_package_calls_package_load_tests.<locals>.Module.__eq__N)r
rrrmrgrrkrqrrrrrs�s
rscs�|�Srrrtrurrr;�r<cSs|SrrrIrrrr;�r<r�zload_tests called startdir)rrP�setattrr#r$r)r*r/r�r�r|rrrQrRr�r)r
r�rrWr)rsr�r�;test_discover_start_dir_is_package_calls_package_load_tests�s&	

�

�zITestDiscovery.test_discover_start_dir_is_package_calls_package_load_testscsTtj��fdd�t_tjj�dd�tj_tjdd�����fdd�}|�|�dS)Ncs�gSrr��_)�fakefilerrr;�r<z8TestDiscovery.setup_import_issue_tests.<locals>.<lambda>cSsdSr_rr�rrrr;�r<cs �tj_�t_�tjdd�<dSr)r#r)r*r$r�r)r*r$r�rr�restore�sz7TestDiscovery.setup_import_issue_tests.<locals>.restore)r#r$r)r*r�rP)r
r�r�r)r�r*r$r�r�setup_import_issue_tests�sz&TestDiscovery.setup_import_issue_testscs�|�ttdtj�|�ttjdtjj�|�ttjdtjj�|�tjjt	d�t
tj���fdd�}|t_dd�tj_dd�tj_dS)	Nr$r*r/cst�|�Srr�r8r�rrr��sz@TestDiscovery.setup_import_issue_package_tests.<locals>.list_dircSs|�d�Sr�r>r8rrrr;�r<z@TestDiscovery.setup_import_issue_package_tests.<locals>.<lambda>cSs
|�d�Sr�r>r8rrrr;�r<)rPr�r#r$r)r*r/r��__setitem__�slicerS)r
r�r�rr�r� setup_import_issue_package_tests�sz.TestDiscovery.setup_import_issue_package_testscCs�t��}|�d�|�d�}|�t��tj�|�	|�
�d�|�g|j�|�	dt
|j��|jd}|�d|vd|�tt|�d�d}|�t��|��Wd�n1s�0YdS)N�test_this_does_not_exist.py�.rrz6Failed to import test module: test_this_does_not_exist�missing error string in %r)rrr�r�r�r#�getcwdr�r)r�countTestCases�assertNotEqual�errors�len�
assertTruerSrr�Ztest_this_does_not_exist)r
rrW�error�testrrr�.test_discover_with_modules_that_fail_to_import�s


�z<TestDiscovery.test_discover_with_modules_that_fail_to_importcs0td�dgtd�ddgi}|�|�g��fdd�}t��}||_|�td��}|�td�tj�|�	|�
�d�|�g|j�|�	dt
|j��|jd	}|�d
|vd|�tt|�d	�d	}|�t��|��Wd�n1s�0Y|�	�dg�ttjd�D]}t�t�||���qdS)Nrr�r�r�r�cs��|�td��dS)NzCannot import Name)rhr�rt�Zimport_callsrrrQ�s
z`TestDiscovery.test_discover_with_init_modules_that_fail_to_import.<locals>._get_module_from_namerrz(Failed to import test module: my_packager�)rr�rrrQr�r�r�r)rr�r�r�r�r�rSrr�r��range�pickle�HIGHEST_PROTOCOL�loads�dumps)r
r�rQrrWr�r��protorr�r�3test_discover_with_init_modules_that_fail_to_import�s0
�

�&zATestDiscovery.test_discover_with_init_modules_that_fail_to_importcCs�tjjst�d��t��}dd�}||_|�d�|�d�}|�|�	�d�t�
�}|�|�|�t|j
�d�ttjd�D]}t�t�||��q~dS)N�Suite cleanup is disabledcSst�d��dS�NZ	skipperoo)r�SkipTestrtrrrrQszeTestDiscovery.test_discover_with_module_that_raises_SkipTest_on_import.<locals>._get_module_from_nameztest_skip_dummy.pyr�r)r�
BaseTestSuite�_cleanupr�rrQr�r�rr��
TestResult�runr��skippedr�r�r�r�r�)r
rrQrW�resultr�rrr�8test_discover_with_module_that_raises_SkipTest_on_imports



zFTestDiscovery.test_discover_with_module_that_raises_SkipTest_on_importcs�tjjst�d��td�dgtd�ddgi}|�|�g��fdd�}t��}||_|�td��}|�	td�t
j�|�|�
�d	�t��}|�|�|�t|j�d	�|�|jd	�|��dg�ttjd	�D]}t�t�||��q�dS)
Nr�rr�r�r�r�cs��|�t�d��dSr�)rhrr�rtr�rrrQ2s
zjTestDiscovery.test_discover_with_init_module_that_raises_SkipTest_on_import.<locals>._get_module_from_namer)rr�r�r�rr�rrQr�r�r�r)rr�r�r�r�r�ZtestsRunr�r�r�r�r�)r
r�rQrrWr�r�rr�r�=test_discover_with_init_module_that_raises_SkipTest_on_import*s(

�

zKTestDiscovery.test_discover_with_init_module_that_raises_SkipTest_on_importcCs^t�}g}|j|_|�ddg�|�|gg�g|dd�<|�gd��|�|ddgg�dS)N�	somethingr�)r�r��foo�barr�r�)rrh�
_do_discovery�	parseArgsr�r
�program�argsrrr�$test_command_line_handling_parseArgsEsz2TestDiscovery.test_command_line_handling_parseArgscCsht�}g}|j|_|�dg�|�|gg�|�|jd�|�|jd�|�|jd�|�|j	d�dS)Nr�rF�
rrhr�r�rrZassertIsrrrr�rrr�.test_command_line_handling_discover_by_defaultQsz<TestDiscovery.test_command_line_handling_discover_by_defaultcCsjt�}g}|j|_|�gd��|�|gg�|�|jd�|�|jd�|�|jd�|�|j	d�dS)N)r��-vz-br��-c�-f�Tr�r�rrr�;test_command_line_handling_discover_by_default_with_options]szITestDiscovery.test_command_line_handling_discover_by_default_with_optionsc	Cs�t�}d|_t���H}|�t��}|�gd��Wd�n1sD0YWd�n1sb0Y|�|jj	d�|�
d|���dS)N)ZoneZtwoZthreeZfour)r�zusage:)rrrZcaptured_stderrr�
SystemExitr�r�	exceptionr�r��getvalue)r
r��stderr�cmrrr�:test_command_line_handling_do_discovery_too_many_argumentsjs
�JzHTestDiscovery.test_command_line_handling_do_discovery_too_many_argumentscCsLt�tj�}|��Gdd�dt�}|�|_|�dg�|�|jdg�dS)Nc@seZdZgZdd�ZdS)zYTestDiscovery.test_command_line_handling_do_discovery_uses_default_loader.<locals>.LoadercSs|j�|||f�dSr��r�rh�r
r�rCr�rrrr�|szbTestDiscovery.test_command_line_handling_do_discovery_uses_default_loader.<locals>.Loader.discoverN�r
rrr�r�rrrr�Loaderzsr�r��r�rKN)	r|�__new__r�TestProgramZ_initArgParsersrr�rr��r
r�r�rrr�;test_command_line_handling_do_discovery_uses_default_loadervszITestDiscovery.test_command_line_handling_do_discovery_uses_default_loadercCs�t�}Gdd�dt�}|jdg|d�|�|jd�|�|jd�|�|jdg�g|_t�}|jdg|d�|�|jd�|�|jdg�g|_t�}|jg|d�|�|jd�|�|jdg�g|_t�}|jd	g|d�|�|jd�|�|jd
g�g|_t�}|jd	dg|d�|�|jd�|�|jdg�g|_t�}|jgd
�|d�|�|jd�|�|jd
g�g|_t�}|jdd	g|d�|�|jd�|�|jd
g�g|_t�}|jdd	g|d�|�|jd�|�|jdg�g|_t�}|jdd	g|d�|�|jd�|�|jdg�|�|j�|�|j	�g|_t�}|jgd�|d�|�|jd�|�|jdg�|�|jd�|�
|j�|�
|j	�dS)Nc@seZdZgZdd�ZdS)zRTestDiscovery.test_command_line_handling_do_discovery_calls_loader.<locals>.LoadercSs|j�|||f�dSr�r�r�rrrr��sz[TestDiscovery.test_command_line_handling_do_discovery_calls_loader.<locals>.Loader.discoverNr�rrrrr��sr�r�)r�r�rjr�z	--verbose�fish)r�rKN�eggs)r�r�N)r�r�Zham�-sz-t)r�rKr��-p)r�r�N)r�r�r�r�r�r�r�)rr|r�rrr�r�ZassertFalserrr�r�rrr�4test_command_line_handling_do_discovery_calls_loader�st
�zBTestDiscovery.test_command_line_handling_do_discovery_calls_loadercs�Gdd�dt�}|tjd<tj�d��tj�tjj�tjj�tjj	������fdd�}|�
|�dd�}dd	�}d
d�}|t_|tj_|tj_tjdkr�tjjtj_	�S)
Nc@seZdZdZdS)z0TestDiscovery.setup_module_clash.<locals>.Modulez
bar/foo.pyN)r
rrr�rrrrrs�srsr�cs@�t_�tj_�tj_�tj_tjd=�tjvr<tj���dS)Nr�)	r#r$r)r*r/�realpathr��modulesr�r�r�r1r,r&�original_realpathrr�cleanup�s
z1TestDiscovery.setup_module_clash.<locals>.cleanupcSsdgS�N�foo.pyrr�rrrr$�sz1TestDiscovery.setup_module_clash.<locals>.listdircSsdSr_rr�rrrr*�sz0TestDiscovery.setup_module_clash.<locals>.isfilecSsdSr_rr�rrrr/�sz/TestDiscovery.setup_module_clash.<locals>.isdir�nt)r|r�r�r#r)rr$r*r/r�rPr )r
rsr�r$r*r/rr�r�setup_module_clash�s$


z TestDiscovery.setup_module_clashcCsj|��}t��}tj�d�}tj�d�}t�d||f�}|jt	d||j
ddd�|�tjd|�dS)Nr�r�zZ'foo' module incorrectly imported from %r. Expected %r. Is this module globally installed?z^%s$r�r�r)
r�rrr#r)r�re�escapeZassertRaisesRegexr�r�rr�)r
r�r�mod_dir�expected_dir�msgrrr�test_detect_module_clash�s��z&TestDiscovery.test_detect_module_clashcsn|��}tjj�tj�d��tj�d���fdd�}|�|���fdd�}|tj_t��}|jddd�dS)	Nr�r�cs�tj_dSr)r#r)r�r)r�rrr�sz5TestDiscovery.test_module_symlink_ok.<locals>.cleanupcs$|tj��d�kr tj��d�S|Sr�)r#r)�joinr8)r�r�rrr�sz6TestDiscovery.test_module_symlink_ok.<locals>.realpathr�r�)	r�r#r)r�rrPrrr�)r
r�r�r�rr)r�r�r�r�test_module_symlink_ok�s
z$TestDiscovery.test_module_symlink_okcslt��}�g�tj�tj�tjj���d�_d���fdd�	}||_	|�
d�}���j���|j
��dS)NFcsd�_��|���Sr_)�wasRunrr��ZexpectedPathr
rjrrrTszBTestDiscovery.test_discovery_from_dotted_path.<locals>._find_testsz
unittest.test)N)rrr#r)rr�r�r�rrTr�r�rZ_tests)r
rrTrWrrr�test_discovery_from_dotted_paths
z-TestDiscovery.test_discovery_from_dotted_pathcs�t��}tj�dd�t_tjj�tjj�dd�tj_tjdd������fdd�}|�|�|�	t
��}|�d�Wd�n1s�0Y|�t
|j�d�dS)NcSsdgS)Nr�rr�rrrr;)r<zOTestDiscovery.test_discovery_from_dotted_path_builtin_modules.<locals>.<lambda>cSsdSr[rr�rrrr;,r<cs(�tj_�tj_�t_�tjdd�<dSr)r#r)r*r/r$r�r�r/r*r$r�rrr�.szNTestDiscovery.test_discovery_from_dotted_path_builtin_modules.<locals>.restorer�z2Can not use builtin modules as dotted module names)rrr#r$r)r*r/r�rPr�	TypeErrorr�rr�r�)r
rr�r�rrr�/test_discovery_from_dotted_path_builtin_modules$s

(�z=TestDiscovery.test_discovery_from_dotted_path_builtin_modulesc
s�t��}t�d��ddg�_tjdddgd��_�fdd�}g�d�fdd�	}||_t|_	tj
�d	|��pt�
��Htjj�d��|�d�}Wd�n1s�0YWd�n1s�0YWd�n1s�0Y|�|d
dg�dS)
N�packagez/az/b)r�submodule_search_locationscs�tj|<�Sr�r�r��Zpackagenamer��kwargs�rrr�_importEs
zLTestDiscovery.test_discovery_from_dotted_namespace_packages.<locals>._importcs��||f�d|gS)Nz%s/testsr�r�r�rrrTJszPTestDiscovery.test_discovery_from_dotted_namespace_packages.<locals>._find_tests�builtins.__import__z/a/testsz/b/tests)N)rr�types�
ModuleType�__path__�SimpleNamespace�__spec__rTrSrR�mock�patchr�
DirsOnSysPathr��test_importlib�util�uncacher�r)r
rrrTrWr)r�rr�-test_discovery_from_dotted_namespace_packages;s"

�
dz;TestDiscovery.test_discovery_from_dotted_namespace_packagescs�t��}t�d���fdd�}tj�d|���t����tj	j
�d��\|�t
��}|�d�Wd�n1sr0Y|�t|j�d����Wd�n1s�0YWd�n1s�0YWd�n1s�0YdS)Nrcs�tj|<�Srrr	rrrr^s
z>TestDiscovery.test_discovery_failed_discovery.<locals>._importr
z$don't know how to discover from {!r})rrrrrrrrr�rrrrrr�rr�r��format)r
rrr�rrr�test_discovery_failed_discoveryZs

(��z-TestDiscovery.test_discovery_failed_discoveryN)r
rrr!rYr\rr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrrrrrrs6
3(JGX.-
J#r�__main__)Zos.pathr#rr�r�rr�r�rZtest.test_importlib.utilrZ
unittest.mockZ
unittest.testr�rZTestCaserr
�mainrrrr�<module>s(Y

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists