<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>
B
    Re                 @   s   d dl Z d dlZd dlZd dlZd dlZd dlZd dlmZmZ d dl	m
Z
 d dlmZ d dlmZmZmZmZmZmZmZmZ d dlmZ d dlmZ G dd	 d	eZG d
d dZG dd deZdS )    N)DistutilsErrorDistutilsOptionError)log)
TestLoader)resource_listdirresource_existsnormalize_pathworking_setevaluate_markeradd_activation_listenerrequire
EntryPoint)Command)unique_everseenc               @   s   e Zd Zdd ZdddZdS )ScanningLoaderc             C   s   t |  t | _d S )N)r   __init__set_visited)self r   /builddir/build/BUILDROOT/alt-python37-setuptools-58.3.0-4.el8.x86_64/opt/alt/python37/lib/python3.7/site-packages/setuptools/command/test.pyr      s    
zScanningLoader.__init__Nc             C   s   || j krdS | j | g }|t| | t|drH||  t|drxpt|jdD ]`}|	dr|dkr|jd |dd  }n"t
|j|d	 r`|jd | }nq`|| | q`W t|d
kr| |S |d S dS )a  Return a suite of all tests cases contained in the given module

        If the module is a package, load tests from all the modules in it.
        If the module has an ``additional_tests`` function, call it and add
        the return value to the tests.
        Nadditional_tests__path__ z.pyz__init__.py.z/__init__.py   r   )r   addappendr   loadTestsFromModulehasattrr   r   __name__endswithr   ZloadTestsFromNamelenZ
suiteClass)r   modulepatterntestsfile	submoduler   r   r   r      s$    



z"ScanningLoader.loadTestsFromModule)N)r!   
__module____qualname__r   r   r   r   r   r   r      s   r   c               @   s   e Zd Zdd ZdddZdS )NonDataPropertyc             C   s
   || _ d S )N)fget)r   r,   r   r   r   r   B   s    zNonDataProperty.__init__Nc             C   s   |d kr| S |  |S )N)r,   )r   objZobjtyper   r   r   __get__E   s    zNonDataProperty.__get__)N)r!   r)   r*   r   r.   r   r   r   r   r+   A   s   r+   c               @   s   e Zd ZdZdZdddgZdd Zdd	 Zed
d Z	dd Z
dd Zejg fddZeejdd Zedd Zdd Zdd Zedd Zedd ZdS )testz.Command to run unit tests after in-place buildz0run unit tests after in-place build (deprecated))ztest-module=mz$Run 'test_suite' in specified module)ztest-suite=sz9Run single test, case or suite (e.g. 'module.test_suite'))ztest-runner=rzTest runner to usec             C   s   d | _ d | _d | _d | _d S )N)
test_suitetest_moduletest_loadertest_runner)r   r   r   r   initialize_optionsZ   s    ztest.initialize_optionsc             C   s   | j r| jrd}t|| j d krD| jd kr8| jj | _ n| jd | _ | jd kr^t| jdd | _| jd krnd| _| jd krt| jdd | _d S )Nz1You may specify a module or a suite, but not bothz.test_suiter5   z&setuptools.command.test:ScanningLoaderr6   )r3   r4   r   distributionr5   getattrr6   )r   msgr   r   r   finalize_options`   s    




ztest.finalize_optionsc             C   s   t |  S )N)list
_test_args)r   r   r   r   	test_argss   s    ztest.test_argsc             c   s4   | j stjdkrdV  | jr"dV  | j r0| j V  d S )N)      Zdiscoverz	--verbose)r3   sysversion_infoverbose)r   r   r   r   r=   w   s    ztest._test_argsc          	   C   s   |    |  W dQ R X dS )zI
        Backward compatibility for project_on_sys_path context.
        N)project_on_sys_path)r   funcr   r   r   with_project_on_sys_path   s    
ztest.with_project_on_sys_pathc          
   c   s   |  d | jddd |  d | d}tjd d  }tj }zbt|j}tj	d| t
  tdd  td|j|jf  | |g d V  W d Q R X W d |tjd d < tj  tj| t
  X d S )	Negg_info	build_extr   )Zinplacer   c             S   s   |   S )N)activate)distr   r   r   <lambda>       z*test.project_on_sys_path.<locals>.<lambda>z%s==%s)run_commandreinitialize_commandget_finalized_commandrA   pathmodulescopyr   Zegg_baseinsertr	   r   r   r   egg_nameZegg_versionpaths_on_pythonpathclearupdate)r   Zinclude_distsZei_cmdold_pathZold_modulesZproject_pathr   r   r   rD      s$    





ztest.project_on_sys_pathc          
   c   s   t  }tjd|}tjdd}zBtjt| }td||g}tj|}|r\|tjd< dV  W d||kr~tjdd n
|tjd< X dS )z
        Add the indicated paths to the head of the PYTHONPATH environment
        variable so that subprocesses will also see the packages at
        these paths.

        Do this in a context that restores the value on exit.
        
PYTHONPATHr   N)	objectosenvirongetpathsepjoinr   filterpop)pathsZnothingZorig_pythonpathZcurrent_pythonpathprefixZto_joinnew_pathr   r   r   rU      s    


ztest.paths_on_pythonpathc             C   sD   |  | j}|  | jpg }|  dd | j D }t|||S )z
        Install the requirements indicated by self.distribution and
        return an iterable of the dists that were built.
        c             s   s0   | ](\}}| d rt|dd r|V  qdS ):r   N)
startswithr
   ).0kvr   r   r   	<genexpr>   s   z%test.install_dists.<locals>.<genexpr>)Zfetch_build_eggsZinstall_requiresZtests_requireZextras_requireitems	itertoolschain)rJ   Zir_dZtr_dZer_dr   r   r   install_dists   s    ztest.install_distsc          
   C   s   |  dtj | | j}d| j}| jr>|  d|  d S |  d|  tt	
d|}| |" |   |   W d Q R X W d Q R X d S )NzWARNING: Testing via this command is deprecated and will be removed in a future version. Users looking for a generic test entry point independent of test runner are encouraged to use tox. zskipping "%s" (dry run)zrunning "%s"location)announcer   WARNrn   r8   r_   _argvdry_runmapoperator
attrgetterrU   rD   	run_tests)r   Zinstalled_distscmdrb   r   r   r   run   s    
ztest.runc             C   sV   t jd d | j| | j| | jdd}|j sRd|j }| |t	j
 t|d S )NF)Z
testLoaderZ
testRunnerexitzTest failed: %s)unittestmainrs   _resolve_as_epr5   r6   resultZwasSuccessfulrq   r   ERRORr   )r   r/   r:   r   r   r   rx      s    



ztest.run_testsc             C   s   dg| j  S )Nr|   )r>   )r   r   r   r   rs      s    z
test._argvc             C   s$   | dkrdS t d|  }|  S )zu
        Load the indicated attribute value, called, as a as if it were
        specified as an entry point.
        Nzx=)r   parseresolve)valparsedr   r   r   r~      s    ztest._resolve_as_epN)r!   r)   r*   __doc__descriptionuser_optionsr7   r;   r+   r>   r=   rF   
contextlibcontextmanagerrD   staticmethodrU   rn   rz   rx   propertyrs   r~   r   r   r   r   r/   K   s&   r/   )r[   rv   rA   r   rl   r|   distutils.errorsr   r   	distutilsr   r   pkg_resourcesr   r   r   r	   r
   r   r   r   
setuptoolsr   Z setuptools.extern.more_itertoolsr   r   r+   r/   r   r   r   r   <module>   s   (
(
