§
    Á³g¦  ã                   ó  — 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 ddlmZ d dlmZ d d	lmZ d d
lmZ  G d„ de¦  «        Z G d„ d¦  «        Z G 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é   )Úmetadata)ÚCommand)Úunique_everseen)Ú	pass_nonec                   ó   — e Zd Zd„ Zdd„ZdS )ÚScanningLoaderc                 óT   — t          j        | ¦  «         t          ¦   «         | _        d S ©N)r   Ú__init__ÚsetÚ_visited©Úselfs    úU/var/www/html/mpstechhub/venv/lib/python3.11/site-packages/setuptools/command/test.pyr   zScanningLoader.__init__   s"   € ÝÔ˜DÑ!Ô!Ð!Ý™œˆŒˆˆó    Nc                 ó¾  — || j         v rdS | j                              |¦  «         g }|                     t          j        | |¦  «        ¦  «         t          |d¦  «        r'|                     |                     ¦   «         ¦  «         t          |d¦  «        r˜t          |j        d¦  «        D ]‚}| 	                    d¦  «        r|dk    r|j        dz   |dd…         z   }n't          |j        |d	z   ¦  «        r|j        dz   |z   }nŒZ|                     |                      |¦  «        ¦  «         Œƒt          |¦  «        d
k    r|                      |¦  «        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   ÚloadTestsFromNameÚlenÚ
suiteClass)r   ÚmoduleÚpatternÚtestsÚfileÚ	submodules         r   r'   z"ScanningLoader.loadTestsFromModule   sf  € ð �T”]Ð"Ð"Ø�4ØŒ×Ò˜&Ñ!Ô!Ð!àˆØ�Š•ZÔ3°D¸&ÑAÔAÑBÔBÐBå�6Ð-Ñ.Ô.ð 	4Ø�LŠL˜×0Ò0Ñ2Ô2Ñ3Ô3Ð3å�6˜:Ñ&Ô&ð 		@Ý(¨¬¸"Ñ=Ô=ð @ð @�Ø—=’= Ñ'Ô'ð !¨D°MÒ,AÐ,AØ &¤°#Ñ 5¸¸S¸b¸S¼	Ñ A�I�Iå& v¤¸¸~Ñ8MÑNÔNð !Ø$*¤O°cÑ$9¸DÑ$@˜	˜	à Ø—’˜T×3Ò3°IÑ>Ô>Ñ?Ô?Ð?Ð?åˆu‰:Œ:˜Š?ˆ?Ø—?’? 5Ñ)Ô)Ð)à˜”8ˆOr   r   )r)   Ú
__module__Ú__qualname__r   r'   © r   r   r   r      s7   € € € € € ðð ð ðð ð ð ð ð r   r   c                   ó   — e Zd Zd„ Zdd„ZdS )ÚNonDataPropertyc                 ó   — || _         d S r   ©Úfget)r   r:   s     r   r   zNonDataProperty.__init__C   s   € ØˆŒ	ˆ	ˆ	r   Nc                 ó4   — |€| S |                       |¦  «        S r   r9   )r   ÚobjÚobjtypes      r   Ú__get__zNonDataProperty.__get__F   s   € Øˆ;ØˆKØ�yŠy˜‰~Œ~Ðr   r   )r)   r3   r4   r   r>   r5   r   r   r7   r7   B   s7   € € € € € ðð ð ðð ð ð ð ð r   r7   c                   óþ   — e Zd ZdZdZg d¢Zd„ Zd„ Zed„ ¦   «         Z	d„ Z
d„ Zej        g fd	„¦   «         Zeej        d
„ ¦   «         ¦   «         Zed„ ¦   «         Zd„ Zd„ Zed„ ¦   «         Zee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                 ó>   — d | _         d | _        d | _        d | _        d S r   )Ú
test_suiteÚtest_moduleÚtest_loaderÚtest_runnerr   s    r   Úinitialize_optionsztest.initialize_options[   s'   € ØˆŒØˆÔØˆÔØˆÔÐÐr   c                 óJ  — | j         r| j        rd}t          |¦  «        ‚| j         €(| j        €| j        j         | _         n| j        dz   | _         | j        €t          | j        dd ¦  «        | _        | j        €d| _        | j        €t          | j        dd ¦  «        | _        d S d S )Nz1You may specify a module or a suite, but not bothz.test_suiterG   z&setuptools.command.test:ScanningLoaderrH   )rE   rF   r   ÚdistributionrG   ÚgetattrrH   )r   Úmsgs     r   Úfinalize_optionsztest.finalize_optionsa   s·   € àŒ?ð 	,˜tÔ/ð 	,ØEˆCÝ& sÑ+Ô+Ð+àŒ?Ð"ØÔÐ'Ø"&Ô"3Ô">�”�à"&Ô"2°]Ñ"B�”àÔÐ#Ý& tÔ'8¸-ÈÑNÔNˆDÔØÔÐ#ØGˆDÔØÔÐ#Ý& tÔ'8¸-ÈÑNÔNˆDÔÐÐð $Ð#r   c                 óD   — t          |                      ¦   «         ¦  «        S r   )ÚlistÚ
_test_argsr   s    r   Ú	test_argsztest.test_argst   s   € å�D—O’OÑ%Ô%Ñ&Ô&Ð&r   c              #   óZ   K  — | j         sdV — | j        rdV — | j         r| j         V — d S d S )NÚdiscoverz	--verbose)rE   Úverboser   s    r   rQ   ztest._test_argsx   sZ   è è € ØŒð 	ØÐÐÐØŒ<ð 	ØÐÐÐØŒ?ð 	"Ø”/Ð!Ð!Ð!Ð!Ð!ð	"ð 	"r   c                 ót   — |                       ¦   «         5   |¦   «          ddd¦  «         dS # 1 swxY w Y   dS )zI
        Backward compatibility for project_on_sys_path context.
        N)Úproject_on_sys_path)r   Úfuncs     r   Úwith_project_on_sys_pathztest.with_project_on_sys_path€   s…   € ð ×%Ò%Ñ'Ô'ð 	ð 	ØˆD‰FŒFˆFð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   •-­1´1c              #   óø  K  — |                       d¦  «         |                      dd¬¦  «         |                       d¦  «         |                      d¦  «        }t          j        d d …         }t          j                             ¦   «         }	 t          |j        ¦  «        }t          j         	                    d|¦  «         t          j        ¦   «          t          d„ ¦  «         t          |j        ›d|j        ›�¦  «         |                      |g¦  «        5  d V — d d d ¦  «         n# 1 swxY w Y   |t          j        d d …<   t          j                             ¦   «          t          j                             |¦  «         t          j        ¦   «          d S # |t          j        d d …<   t          j                             ¦   «          t          j                             |¦  «         t          j        ¦   «          w xY w)NÚegg_infoÚ	build_extr$   )Úinplacer   c                 ó*   — |                       ¦   «         S r   )Úactivate)Údists    r   ú<lambda>z*test.project_on_sys_path.<locals>.<lambda>˜   s   € °·²±´€ r   z==)Úrun_commandÚreinitialize_commandÚget_finalized_commandÚsysÚpathÚmodulesÚcopyr	   Úegg_baseÚinsertr
   r   r   r   Úegg_nameÚegg_versionÚpaths_on_pythonpathÚclearÚupdate)r   Úinclude_distsÚei_cmdÚold_pathÚold_modulesÚproject_paths         r   rW   ztest.project_on_sys_path‡   sý  è è € à×Ò˜Ñ$Ô$Ð$ð 	×!Ò! +°qÐ!Ñ9Ô9Ð9Ø×Ò˜Ñ%Ô%Ð%à×+Ò+¨JÑ7Ô7ˆå”8˜A˜A˜A”;ˆÝ”k×&Ò&Ñ(Ô(ˆð	#Ý)¨&¬/Ñ:Ô:ˆLÝŒH�OŠO˜A˜|Ñ,Ô,Ð,ÝÔ Ñ"Ô"Ð"Ý#Ð$@Ð$@ÑAÔAÐAÝ ¤  °Ô1CÐ1CÐDÑEÔEÐEØ×)Ò)¨<¨.Ñ9Ô9ð ð Ø���ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð #�CŒH�Q�Q�Q‰KÝŒK×ÒÑÔÐÝŒK×Ò˜{Ñ+Ô+Ð+ÝÔ Ñ"Ô"Ð"Ð"Ð"øð #�CŒH�Q�Q�Q‰KÝŒK×ÒÑÔÐÝŒK×Ò˜{Ñ+Ô+Ð+ÝÔ Ñ"Ô"Ð"Ð"øøøs2   ÂBF ÄD(ÄF Ä(D,Ä,F Ä/D,Ä0F ÆA#G9c              #   óh  K  — t          ¦   «         }t          j                             d|¦  «        }t          j                             dd¦  «        }	 t          j                             t          | ¦  «        ¦  «        }t          d||g¦  «        }t          j                             |¦  «        }|r|t          j        d<   dV — ||u r"t          j                             dd¦  «         dS |t          j        d<   dS # ||u r!t          j                             dd¦  «         n|t          j        d<   w xY w)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)ÚpathsÚnothingÚorig_pythonpathÚcurrent_pythonpathÚprefixÚto_joinÚnew_paths          r   rm   ztest.paths_on_pythonpath¢   s  è è € õ ‘(”(ˆÝœ*Ÿ.š.¨°wÑ?Ô?ˆÝœZŸ^š^¨L¸"Ñ=Ô=Ðð	;Ý”Z—_’_¥_°UÑ%;Ô%;Ñ<Ô<ˆFÝ˜T FÐ,>Ð#?Ñ@Ô@ˆGÝ”z—’ wÑ/Ô/ˆHØð 4Ø+3•”
˜<Ñ(ØˆEˆEˆEà 'Ð)Ð)Ý”
—’˜|¨TÑ2Ô2Ð2Ð2Ð2à+:•”
˜<Ñ(Ð(Ð(øð  'Ð)Ð)Ý”
—’˜|¨TÑ2Ô2Ð2Ð2à+:•”
˜<Ñ(Ð:Ð:Ð:Ð:s   ÁA2C; Ã;6D1c                 ó  — |                       | j        ¦  «        }|                       | j        pg ¦  «        }|                       d„ | j                             ¦   «         D ¦   «         ¦  «        }t          j        |||¦  «        S )z†
        Install the requirements indicated by self.distribution and
        return an iterable of the dists that were built.
        c              3   óx   K  — | ]5\  }}|                      d ¦  «        ¯t          |dd…         ¦  «        ¯1|V — Œ6dS )ú:r$   N)Ú
startswithr   )Ú.0ÚkÚvs      r   ú	<genexpr>z%test.install_dists.<locals>.<genexpr>Ä   sf   è è € ð %
ð %
á��1Ø�|Š|˜CÑ Ô ð%
õ &5°Q°q°r°r´UÑ%;Ô%;ð%
Øð%
ð %
ð %
ð %
ð %
ð %
r   )Úfetch_build_eggsÚinstall_requiresÚtests_requireÚextras_requireÚitemsÚ	itertoolsÚchain)r`   Úir_dÚtr_dÚer_ds       r   Úinstall_distsztest.install_dists¼   s‹   € ð ×$Ò$ TÔ%:Ñ;Ô;ˆØ×$Ò$ TÔ%7Ð%=¸2Ñ>Ô>ˆØ×$Ò$ð %
ð %
àÔ+×1Ò1Ñ3Ô3ð%
ñ %
ô %
ñ 
ô 
ˆõ
 Œ˜t T¨4Ñ0Ô0Ð0r   c                 ó@  — |                       dt          j        ¦  «         |                      | j        ¦  «        }d                     | j        ¦  «        }| j        r|                       d|z  ¦  «         d S |                       d|z  ¦  «         t          t          j
        d¦  «        |¦  «        }|                      |¦  «        5  |                      ¦   «         5  |                      ¦   «          d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         d S # 1 swxY w Y   d S )Nz»WARNING: 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   ÚWARNr˜   rK   r|   Ú_argvÚdry_runÚmapÚoperatorÚ
attrgetterrm   rW   Ú	run_tests)r   Úinstalled_distsÚcmdr   s       r   Úrunztest.runË   s–  € Ø�Šðõ ŒHñ	
ô 	
ð 	
ð ×,Ò,¨TÔ->Ñ?Ô?ˆà�hŠh�t”zÑ"Ô"ˆØŒ<ð 	Ø�MŠMÐ3°cÑ9Ñ:Ô:Ð:ØˆFà�Š�n sÑ*Ñ+Ô+Ð+å•HÔ'¨
Ñ3Ô3°_ÑEÔEˆØ×%Ò% eÑ,Ô,ð 	!ð 	!Ø×)Ò)Ñ+Ô+ð !ð !Ø—’Ñ Ô Ð ð!ð !ð !ñ !ô !ð !ð !ð !ð !ð !ð !øøøð !ð !ð !ð !ð	!ð 	!ð 	!ñ 	!ô 	!ð 	!ð 	!ð 	!ð 	!ð 	!ð 	!ð 	!øøøð 	!ð 	!ð 	!ð 	!ð 	!ð 	!s6   ÃDÃC;Ã/DÃ;C?	Ã?DÄC?	ÄDÄDÄDc           	      óH  — t          j        d d | j        |                      | j        ¦  «        |                      | j        ¦  «        d¬¦  «        }|j                             ¦   «         s9d|j        z  }|                      |t          j
        ¦  «         t          |¦  «        ‚d S )NF)Ú
testLoaderÚ
testRunnerÚexitzTest failed: %s)ÚunittestÚmainrž   Ú_resolve_as_eprG   rH   ÚresultÚwasSuccessfulrœ   r   ÚERRORr   )r   r@   rM   s      r   r£   ztest.run_testsâ   s    € ÝŒ}ØØØŒJØ×*Ò*¨4Ô+;Ñ<Ô<Ø×*Ò*¨4Ô+;Ñ<Ô<Øð
ñ 
ô 
ˆð Œ{×(Ò(Ñ*Ô*ð 	&Ø# d¤kÑ1ˆCØ�MŠM˜#�sœyÑ)Ô)Ð)Ý  Ñ%Ô%Ð%ð	&ð 	&r   c                 ó   — dg| j         z   S )Nr«   )rR   r   s    r   rž   z
test._argvð   s   € àˆ|˜dœnÑ,Ð,r   c                 ód   —  t          j        | dd¬¦  «                             ¦   «         ¦   «         S )zu
        Load the indicated attribute value, called, as a as if it were
        specified as an entry point.
        N)ÚvalueÚnameÚgroup)r   Ú
EntryPointÚload)Úvals    r   r­   ztest._resolve_as_epô   s1   € ð L�xÔ"¨°4¸tÐDÑDÔD×IÒIÑKÔKÑMÔMÐMr   N)r)   r3   r4   Ú__doc__ÚdescriptionÚuser_optionsrI   rN   r7   rR   rQ   rY   Ú
contextlibÚcontextmanagerrW   Ústaticmethodrm   r˜   r¦   r£   Úpropertyrž   r   r­   r5   r   r   r@   r@   L   sX  € € € € € Ø8Ð8àD€Kðð ð €Lð ð  ð  ðOð Oð Oð& ð'ð 'ñ „_ð'ð"ð "ð "ðð ð ð ÔØ02ð #ð #ð #ñ Ôð#ð4 ØÔð;ð ;ñ Ôñ „\ð;ð0 ð1ð 1ñ „\ð1ð!ð !ð !ð.&ð &ð &ð ð-ð -ñ „Xð-ð ØðNð Nñ „Yñ „\ðNð Nð Nr   r@   )rx   r¡   re   r¼   r“   r«   Údistutils.errorsr   r   Ú	distutilsr   r   Úpkg_resourcesr   r   r	   r
   r   r   r   Ú
_importlibr   Ú
setuptoolsr   Ú setuptools.extern.more_itertoolsr   Ú"setuptools.extern.jaraco.functoolsr   r   r7   r@   r5   r   r   ú<module>rÇ      s¼  ðØ 	€	€	€	Ø €€€Ø 
€
€
€
Ø Ð Ð Ð Ø Ð Ð Ð Ø €€€Ø AÐ AÐ AÐ AÐ AÐ AÐ AÐ AØ Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð "Ð !Ð !Ð !Ð !Ð !Ø Ð Ð Ð Ð Ð Ø <Ð <Ð <Ð <Ð <Ð <Ø 8Ð 8Ð 8Ð 8Ð 8Ð 8ð$ð $ð $ð $ð $�Zñ $ô $ð $ðPð ð ð ð ñ ô ð ðoNð oNð oNð oNð oNˆ7ñ oNô oNð oNð oNð oNr   