Uname:Linux ip-10-0-5-176 6.8.0-1057-aws #60~22.04.1-Ubuntu SMP Wed May 27 08:16:59 UTC 2026 x86_64

403WebShell
403Webshell
Server IP : 3.111.61.48  /  Your IP : 216.73.216.67
Web Server : Apache
System : Linux ip-10-0-5-176 6.8.0-1057-aws #60~22.04.1-Ubuntu SMP Wed May 27 08:16:59 UTC 2026 x86_64
User : ubuntu ( 1000)
PHP Version : 8.2.31
Disable Function : exec,passthru,shell_exec,system
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /lib/python3.10/unittest/test/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /lib/python3.10/unittest/test/__pycache__/test_discovery.cpython-310.pyc
o

�9j��@s�ddlZddlmZddlZddlZddlZddlZddlmZddl	m
Z
ddlZddlZddl
ZddlZGdd�dej�ZGdd�dej�Zed	krRe��dSdS)
�N)�abspath)�support)�
import_helperc@s<eZdZdZdZdZZZZdZ	dZ
dZZdd�Z
dS)�TestableTestProgramNT��cCsdS�N���selfr	r	�3/usr/lib/python3.10/unittest/test/test_discovery.py�__init__�zTestableTestProgram.__init__)�__name__�
__module__�__qualname__�module�exit�defaultTest�failfast�
catchbreak�buffer�	verbosity�progName�
testRunner�
testLoaderr
r	r	r	rrsrc@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�dS1s)wYdS)N�/fooz/foo/bar/baz.pyzbar.bazFz/bar/baz.py)�unittest�
TestLoader�_top_level_dir�_get_name_from_path�assertEqual�assertRaises�AssertionError)r�loader�namer	r	r�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)Nc�
�t_dSr��os�listdirr	��original_listdirr	r�restore_listdir0�
z6TestDiscovery.test_find_tests.<locals>.restore_listdirc��tj_dSr�r*�path�isfiler	��original_isfiler	r�restore_isfile3�z5TestDiscovery.test_find_tests.<locals>.restore_isfilecr0r�r*r2�isdirr	��original_isdirr	r�
restore_isdir6r7z4TestDiscovery.test_find_tests.<locals>.restore_isdir)ztest2.pyztest1.pyz
not_a_test.py�test_dirztest.fooztest-not-a-module.py�another_dirztest4.pyztest3.pyc�
��d�S�Nr��pop�r2��
path_listsr	r�<lambda><�
z/TestDiscovery.test_find_tests.<locals>.<lambda>cS�
|�d�S)N�dir��endswithrCr	r	rr9?r/z,TestDiscovery.test_find_tests.<locals>.isdircSs|�d�o	d|vS)NrIr>rJrCr	r	rr3Dsz-TestDiscovery.test_find_tests.<locals>.isfilecS�|dS�Nz moduler	rCr	r	rrFJ�c��||d�}||dgS�N��patternz testsr	�rrR�base��orig_load_testsr	r�loadTestsFromModuleL�z:TestDiscovery.test_find_tests.<locals>.loadTestsFromModulecS�|Srr	��thingr	r	rrFQ�r�test*.pycSsg|]}|dg�qS)�
 module testsr	��.0r&r	r	r�
<listcomp>Ysz1TestDiscovery.test_find_tests.<locals>.<listcomp>)�test1�test2r=cSsg|]	}d|dg�qS)ztest_dir.%sr^r	r_r	r	rra[s)�test3�test4r)rrr*r+r2r3r9�
addCleanup�_get_module_from_namerW�
suiteClassrr �list�_find_tests�extendr")rr%r.r6r<r9r3rW�	top_level�suite�expectedr	�rVr;r5r-rEr�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)Ncr(rr)r	r,r	rr.er/z=TestDiscovery.test_find_tests_socket.<locals>.restore_listdircr0rr1r	r4r	rr6hr7z<TestDiscovery.test_find_tests_socket.<locals>.restore_isfilecr0rr8r	r:r	rr<kr7z;TestDiscovery.test_find_tests_socket.<locals>.restore_isdir�socketcr?r@rArCrDr	rrForGz6TestDiscovery.test_find_tests_socket.<locals>.<lambda>cS�dS�NFr	rCr	r	rrFrr\cSrrrsr	rCr	r	rrFur\cSrLrMr	rCr	r	rrFxrNcrOrPr	rSrUr	rrWzrXzATestDiscovery.test_find_tests_socket.<locals>.loadTestsFromModulecSrYrr	rZr	r	rrFr\rr]r)rrr*r+r2r3r9rfrgrWrhrr rirjr")rr%r.r6r<rWrlrmr	ror�test_find_tests_socket_s.




z$TestDiscovery.test_find_tests_socketc�<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)Ncr(rr)r	r,r	rr.�r/zCTestDiscovery.test_find_tests_with_package.<locals>.restore_listdircr0rr1r	r4r	rr6�r7zBTestDiscovery.test_find_tests_with_package.<locals>.restore_isfilecr0rr8r	r:r	rr<�r7zATestDiscovery.test_find_tests_with_package.<locals>.restore_isdir��a_directory�test_directory�test_directory2cr?r@rArCrDr	rrF�rGz<TestDiscovery.test_find_tests_with_package.<locals>.<lambda>cSrr�NTr	rCr	r	rrF�r\c�tj�|��vSr�r*r2�basenamerC��directoriesr	rrF��c@�$eZdZgZgZdd�Zdd�ZdS)z:TestDiscovery.test_find_tests_with_package.<locals>.Modulec�<|�_�j�|�tj�|�dkr�fdd�}|�_dSdS)Nrxc��j�|||f��jdgS�N� load_tests��load_tests_args�appendr2�r%�testsrRr
r	r�
load_tests��zWTestDiscovery.test_find_tests_with_package.<locals>.Module.__init__.<locals>.load_tests�r2�pathsr�r*r}r��rr2r�r	r
rr
��
�zCTestDiscovery.test_find_tests_with_package.<locals>.Module.__init__cS�|j|jkSrrC�r�otherr	r	r�__eq__�r7zATestDiscovery.test_find_tests_with_package.<locals>.Module.__eq__N�rrrr�r�r
r�r	r	r	r�Module��
	r�c��|�Srr	�r&�r�r	rrF�rNc��||d�}||jdgS�NrQr^rCrSrUr	rrW��zGTestDiscovery.test_find_tests_with_package.<locals>.loadTestsFromModulecSrYrr	rZr	r	rrF�r\rztest*�a_directory module tests�test_directory load_tests�test_directory module tests�test_directory2 module testsr�rrr*r+r2r3r9rf�objectrgrWrhr rirjr"r�r��rr%r.r6r<rWrmr	�r�rrVr;r5r-rEr�test_find_tests_with_package�sJ



����
�z*TestDiscovery.test_find_tests_with_packagecru)Ncr(rr)r	r,r	rr.�r/zWTestDiscovery.test_find_tests_default_calls_package_load_tests.<locals>.restore_listdircr0rr1r	r4r	rr6�r7zVTestDiscovery.test_find_tests_default_calls_package_load_tests.<locals>.restore_isfilecr0rr8r	r:r	rr<�r7zUTestDiscovery.test_find_tests_default_calls_package_load_tests.<locals>.restore_isdirrvcr?r@rArCrDr	rrF�rGzPTestDiscovery.test_find_tests_default_calls_package_load_tests.<locals>.<lambda>cSrrrzr	rCr	r	rrF�r\cr{rr|rCr~r	rrF�r�c@r�)zNTestDiscovery.test_find_tests_default_calls_package_load_tests.<locals>.Modulecr�)Nrxcr�r�r�r�r
r	rr��r�zkTestDiscovery.test_find_tests_default_calls_package_load_tests.<locals>.Module.__init__.<locals>.load_testsr�r�r	r
rr
�r�zWTestDiscovery.test_find_tests_default_calls_package_load_tests.<locals>.Module.__init__cSr�rrCr�r	r	rr��r7zUTestDiscovery.test_find_tests_default_calls_package_load_tests.<locals>.Module.__eq__Nr�r	r	r	rr��r�r�cr�rr	r�r�r	rrF�rNcr�r�rCrSrUr	rrW�r�z[TestDiscovery.test_find_tests_default_calls_package_load_tests.<locals>.loadTestsFromModulecSrYrr	rZr	r	rrFr\rr]r�r�r�r�rr�r�r	r�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)Ncr(rr)r	r,r	rr.r/zTTestDiscovery.test_find_tests_customize_via_package_pattern.<locals>.restore_listdircr0rr1r	r4r	rr6"r7zSTestDiscovery.test_find_tests_customize_via_package_pattern.<locals>.restore_isfilecr0rr8r	r:r	rr<&r7zRTestDiscovery.test_find_tests_customize_via_package_pattern.<locals>.restore_isdirr�
my_package�/foo/my_package�__init__.py�test_module.pyc�t�|�Sr�rirC��vfsr	r�list_dir8r7zMTestDiscovery.test_find_tests_customize_via_package_pattern.<locals>.list_dircS�|�d�S�Nz.pyrJrCr	r	rrF;�zMTestDiscovery.test_find_tests_customize_via_package_pattern.<locals>.<lambda>cSrHr�rJrCr	r	rrF<rGc@r�)zKTestDiscovery.test_find_tests_customize_via_package_pattern.<locals>.Modulecs@|�_�j�|�|�d�r�fdd�}n�fdd�}|�_dS)N�test_modulecr�r�r�r�r
r	rr�Fr�zhTestDiscovery.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_dirrRr�)r�r�r*r2�dirname�discover)r%r�rR�__file__�this_dir�	pkg_testsr
r	rr�Js��)r2r�r�rKr�r�r	r
rr
Bs

	zTTestDiscovery.test_find_tests_customize_via_package_pattern.<locals>.Module.__init__cSr�rrCr�r	r	rr�Ur7zRTestDiscovery.test_find_tests_customize_via_package_pattern.<locals>.Module.__eq__Nr�r	r	r	rr�>s
r�cr�rr	r�r�r	rrFYrNcSrYrr	rZr	r	rrFZr\r]zmy_package load_testsz!my_package.test_module load_testszmy_package.test_module)r*r+rfr2r3r9�sys�removerr�rrrgrhr rirjr"r�r�)rr.r6r<r�r%rmr	)r�r;r5r-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�n1sPwY|�
|j|�|�|tj�d
d�tj_dd�tj_�fdd
�}|�|�g�d�fdd�	}||_t|_|�ddd�}tj�d�}tj�d�}	|�
|d�|�
|j|�|�
�|	dfg�|�|tj�dS)Ncr0rr1r	r4r	rr6ur7z3TestDiscovery.test_discover.<locals>.restore_isfilecSrrrsr	rCr	r	rrFxr\z-TestDiscovery.test_discover.<locals>.<lambda>cs�tjdd�<dSr)r�r2r	)�
orig_sys_pathr	r�restore_path|sz1TestDiscovery.test_discover.<locals>.restore_pathrz/foo/bar��
top_level_dircSrrrzr	rCr	r	rrF�r\cSrrrzr	rCr	r	rrF�r\cr0rr8r	r:r	rr<�r7z2TestDiscovery.test_discover.<locals>.restore_isdircs��||f�dgS�Nr��r��r�rR�	namespace��_find_tests_argsr	rrj�sz0TestDiscovery.test_discover.<locals>._find_testsz/foo/bar/bazrRz	['tests']r)rrr*r2r3r9rfr�r�normpathr#�ImportErrorr�r"r �assertInrj�strrh)
rr%r6r��	full_pathr<rjrmr�r�r	)r�r�r;r5r�
test_discoverps<

�
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	/toplevel�startdirz/toplevel/startdirr�cr�rr�rCr�r	rr��r7z[TestDiscovery.test_discover_start_dir_is_package_calls_package_load_tests.<locals>.list_dirr+r3cSrHr�rJrCr	r	rrF�rGz[TestDiscovery.test_discover_start_dir_is_package_calls_package_load_tests.<locals>.<lambda>r9cSr�r�rJrCr	r	rrF�r�c@s,eZdZgZgZdd�Zdd�Zdd�ZdS)zYTestDiscovery.test_discover_start_dir_is_package_calls_package_load_tests.<locals>.ModulecSs
||_dSrrC)rr2r	r	rr
�r/zbTestDiscovery.test_discover_start_dir_is_package_calls_package_load_tests.<locals>.Module.__init__cSsd|jgS)Nzload_tests called rC)rr%r�rRr	r	rr��r7zdTestDiscovery.test_discover_start_dir_is_package_calls_package_load_tests.<locals>.Module.load_testscSr�rrCr�r	r	rr��r7z`TestDiscovery.test_discover_start_dir_is_package_calls_package_load_tests.<locals>.Module.__eq__N)rrrr�r�r
r�r�r	r	r	rr��sr�cr�rr	r�r�r	rrF�rNcSrYrr	rZr	r	rrF�r\r�zload_tests called startdir)rrf�setattrr*r+r2r3r9r�r�r�rrrgrhr�r")rr�r%rmr	)r�r�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	��_)�fakefiler	rrF��z8TestDiscovery.setup_import_issue_tests.<locals>.<lambda>cSrrrzr	r�r	r	rrF�r\cs �tj_�t_�tjdd�<dSr)r*r2r3r+r�r	)r3r+r�r	r�restore�sz7TestDiscovery.setup_import_issue_tests.<locals>.restore)r*r+r2r3r�rf)rr�r�r	)r�r3r+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+r3r9cr�rr�rCr�r	rr��r7z@TestDiscovery.setup_import_issue_package_tests.<locals>.list_dircSr�r�rJrCr	r	rrF�r�z@TestDiscovery.setup_import_issue_package_tests.<locals>.<lambda>cSrHr�rJrCr	r	rrF�rG)rfr�r*r+r2r3r9r��__setitem__�sliceri)rr�r�r	r�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�dS1s]wYdS)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�r2r"�countTestCases�assertNotEqual�errors�len�
assertTruerir#r��test_this_does_not_exist)rr%rm�error�testr	r	r�.test_discover_with_modules_that_fail_to_import�s 


�
"�z<TestDiscovery.test_discover_with_modules_that_fail_to_importcs.td�dgtd�ddgi}|�|�g��fdd�}t��}||_|�td��}|�td�tj�|�	|�
�d�|�g|j�|�	dt
|j��|jd	}|�d
|vd|�tt|�d	�d	}|�t��|��Wd�n1svwY|�	�dg�ttjd�D]}t�t�||��q�dS)Nrr�r�r�r�cs��|�td��)NzCannot import Name)r�r�r���import_callsr	rrg�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�rrrgr�r�r�r2r"r�r�r�r�r�rir#r�r��range�pickle�HIGHEST_PROTOCOL�loads�dumps)rr�rgr%rmr�r��protor	r�r�3test_discover_with_init_modules_that_fail_to_import�s4
�

�
��zATestDiscovery.test_discover_with_init_modules_that_fail_to_importcCs�tjjs	t�d��t��}dd�}||_|�d�|�d�}|�|�	�d�t�
�}|�|�|�t|j
�d�ttjd�D]}t�t�||��q?dS)N�Suite cleanup is disabledcSs
t�d���N�	skipperoo)r�SkipTestr�r	r	rrgr/zeTestDiscovery.test_discover_with_module_that_raises_SkipTest_on_import.<locals>._get_module_from_nameztest_skip_dummy.pyr�r)r�
BaseTestSuite�_cleanupr�rrgr�r�r"r��
TestResult�runr��skippedr�r�r�r�r�)rr%rgrm�resultr�r	r	r�8test_discover_with_module_that_raises_SkipTest_on_imports



�zFTestDiscovery.test_discover_with_module_that_raises_SkipTest_on_importcs�tjjs	t�d��td�dgtd�ddgi}|�|�g��fdd�}t��}||_|�td��}|�	td�t
j�|�|�
�d	�t��}|�|�|�t|j�d	�|�|jd	�|��dg�ttjd	�D]}t�t�||��qidS)
Nr�rr�r�r�r�cs��|�t�d��r�)r�rr�r�r�r	rrg3s

zjTestDiscovery.test_discover_with_init_module_that_raises_SkipTest_on_import.<locals>._get_module_from_namer)rr�r�r�rr�rrgr�r�r�r2r"r�r�r�r�r��testsRunr�r�r�r�r�)rr�rgr%rmr�r�r	r�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)rr��
_do_discovery�	parseArgsr"�r�program�argsr	r	r�$test_command_line_handling_parseArgsFsz2TestDiscovery.test_command_line_handling_parseArgscCsht�}g}|j|_|�dg�|�|gg�|�|jd�|�|jd�|�|jd�|�|j	d�dS)Nr�rF�
rr�rrr"r�assertIsrrrrr	r	r�.test_command_line_handling_discover_by_defaultRs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�Trrr	r	r�;test_command_line_handling_discover_by_default_with_options^szITestDiscovery.test_command_line_handling_discover_by_default_with_optionsc	Cs�t�}d|_t���$}|�t��}|�gd��Wd�n1s"wYWd�n1s1wY|�|jj	d�|�
d|���dS)N)�one�two�three�four)r
zusage:)rrr�captured_stderrr#�
SystemExitrr"�	exceptionrr��getvalue)rr�stderr�cmr	r	r�:test_command_line_handling_do_discovery_too_many_argumentsks
���zHTestDiscovery.test_command_line_handling_do_discovery_too_many_argumentscCsLt�tj�}|��Gdd�dt�}|�|_|�dg�|�|jdg�dS)Nc@�eZdZgZdd�ZdS)zYTestDiscovery.test_command_line_handling_do_discovery_uses_default_loader.<locals>.LoadercS�|j�|||f�dSr��rr��rr�rRr�r	r	rr�}�zbTestDiscovery.test_command_line_handling_do_discovery_uses_default_loader.<locals>.Loader.discoverN�rrrrr�r	r	r	r�Loader{�r r
�r�r]N)	r��__new__r�TestProgram�_initArgParsersrrr"r�rrr r	r	r�;test_command_line_handling_do_discovery_uses_default_loaderws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@r)zRTestDiscovery.test_command_line_handling_do_discovery_calls_loader.<locals>.LoadercSrr�rrr	r	rr��rz[TestDiscovery.test_command_line_handling_do_discovery_calls_loader.<locals>.Loader.discoverNrr	r	r	rr �r!r r
)r r
r�r"z	--verbose�fish)r(r]N�eggs)r(r)N)r(r)�ham�-sz-t)r�r]r(�-p)r�r(N)r,r)r+r(r
rr)rr�rr"rr�r�assertFalserrr�r&r	r	r�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krStjjtj_	�S)
Nc@seZdZdZdS)z0TestDiscovery.setup_module_clash.<locals>.Modulez
bar/foo.pyN)rrrr�r	r	r	rr��sr�r�csD�t_�tj_�tj_�tj_tjd=�tjvr tj���dSdS)Nr�)	r*r+r2r3r9�realpathr��modulesr�r	�r�r;r5r-�original_realpathr	r�cleanup�s
�z1TestDiscovery.setup_module_clash.<locals>.cleanupcS�dgS�N�foo.pyr	r�r	r	rr+�sz1TestDiscovery.setup_module_clash.<locals>.listdircSrrrzr	r�r	r	rr3�rz0TestDiscovery.setup_module_clash.<locals>.isfilecSrrrzr	r�r	r	rr9�rz/TestDiscovery.setup_module_clash.<locals>.isdir�nt)r�r�r0r*r2rr+r3r9r/rfr&)rr�r3r+r3r9r	r1r�setup_module_clash�s$


z TestDiscovery.setup_module_clashcCsj|��}t��}tj�d�}tj�d�}t�d||f�}|jt	d||j
ddd�|�tjd|�dS)Nrr�zZ'foo' module incorrectly imported from %r. Expected %r. Is this module globally installed?z^%s$r6r�r)
r8rrr*r2r�re�escape�assertRaisesRegexr�r�r"r�)rr�r%�mod_dir�expected_dir�msgr	r	r�test_detect_module_clash�s��z&TestDiscovery.test_detect_module_clashcsn|��}tjj�tj�d��tj�d���fdd�}|�|���fdd�}|tj_t��}|jddd�dS)	Nrr�cr0r)r*r2r/r	)r2r	rr3r7z5TestDiscovery.test_module_symlink_ok.<locals>.cleanupcs$|tj��d�krtj��d�S|Sr5)r*r2�joinrC)r=r<r	rr/sz6TestDiscovery.test_module_symlink_ok.<locals>.realpathr6r�)	r8r*r2r/rrfrrr�)rr�r3r/r%r	)r=r<r2r�test_module_symlink_oks
z$TestDiscovery.test_module_symlink_okcslt��}�g�tj�tj�tjj���d�_d���fdd�	}||_	|�
d�}���j���|j
��dS)NFcsd�_��|���Srz)�wasRunr"r���expectedPathrr�r	rrjszBTestDiscovery.test_discovery_from_dotted_path.<locals>._find_testsz
unittest.testr)rrr*r2rr�r�r�rBrjr�r�r"�_tests)rr%rjrmr	rCr�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�n1sDwY|�t
|j�d�dS)NcSr4)Nr�r	r�r	r	rrF*r�zOTestDiscovery.test_discovery_from_dotted_path_builtin_modules.<locals>.<lambda>cSrrrsr	r�r	r	rrF-r\cs(�tj_�tj_�t_�tjdd�<dSr)r*r2r3r9r+r�r	�r9r3r+r�r	rr�/szNTestDiscovery.test_discovery_from_dotted_path_builtin_modules.<locals>.restorer�z2Can not use builtin modules as dotted module names)rrr*r+r2r3r9r�rfr#�	TypeErrorr�r"r�r)rr%r�rr	rGr�/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	|��8t�
��$tjj�d��
|�d�}Wd�n1sQwYWd�n1s`wYWd�n1sowY|�|d
dg�dS)
N�packagez/az/b)r%�submodule_search_locationsc��tj|<�Sr�r�r0��packagenamer�kwargs�rJr	r�_importF�
zLTestDiscovery.test_discovery_from_dotted_namespace_packages.<locals>._importcs��||f�d|gS)Nz%s/testsr�r�r�r	rrjKs
zPTestDiscovery.test_discovery_from_dotted_namespace_packages.<locals>._find_tests�builtins.__import__z/a/testsz/b/testsr)rr�types�
ModuleType�__path__�SimpleNamespace�__spec__rjrirh�mock�patchr�
DirsOnSysPathr��test_importlib�util�uncacher�r")rr%rRrjrmr	)r�rJr�-test_discovery_from_dotted_namespace_packages<s,

�
�����z;TestDiscovery.test_discovery_from_dotted_namespace_packagescst��}t�d���fdd�}tj�d|��bt���Etj	j
�d��.|�t
��
}|�d�Wd�n1s9wY|�t|j�d����Wd�n1sTwYWd�n1scwYWd�dSWd�dS1s{wYdS)NrJcrLrrMrNrQr	rrR_rSz>TestDiscovery.test_discovery_failed_discovery.<locals>._importrTz$don't know how to discover from {!r})rrrUrVrZr[rr\r�r]r^r_r#rHr�r"r�r�format)rr%rRrr	rQr�test_discovery_failed_discovery[s&

������"�z-TestDiscovery.test_discovery_failed_discoveryN)rrrr'rprtr�r�r�r�r�r�r�r�r�r�r�rr	rrr'r.r8r?rArFrIr`rbr	r	r	rrs8
3(JGX.-
J#r�__main__)�os.pathr*rr9r�rUr�r�r�test.supportr�test.test_importlib.utilr�
unittest.mock�
unittest.testr$r�TestCaserr�mainr	r	r	r�<module>s.Y�

Youez - 2016 - github.com/yon3zu
LinuXploit