ó
    Eñi#'  ã                  ó*  • S r SSKJr  SSKrSSKJr  SSKJr  SSKrSSKrSSK	J
r
  SSKJr  SSKJr  SS	KJr  SS
KJr  SSKJr  SSKr " S S\R(                  5      rSS jr\R.                  " SS9SS j5       rSS jrSS jrSS jrSS jrSS jrg)z3Version info, help messages, tracing configuration.é    )ÚannotationsN)Ú	Generator)ÚSequence)ÚAny)ÚConfig)ÚExitCode)Ú	PrintHelp)ÚParser)ÚTerminalReporterc                  óh   ^ • \ rS rSrSrSS.       SU 4S jjjr S	         S
S jjrSrU =r$ )Ú
HelpActioné   a  An argparse Action that will raise a PrintHelp exception in order to skip
the rest of the argument parsing when --help is passed.

This prevents argparse from raising UsageError when `--help` is used along
with missing required arguments when any are defined, for example by
``pytest_addoption``. This is similar to the way that the builtin argparse
--help option is implemented by raising SystemExit.

To opt in to this behavior, the parse caller must set
`namespace._raise_print_help = True`. Otherwise it just sets the option.
N)Úhelpc          	     ó*   >• [         TU ]  UUSSSUS9  g )Nr   TF)Úoption_stringsÚdestÚnargsÚconstÚdefaultr   )ÚsuperÚ__init__)Úselfr   r   r   Ú	__class__s       €ÚO/home/mande/repo/quber/.venv/lib/python3.13/site-packages/_pytest/helpconfig.pyr   ÚHelpAction.__init__"   s)   ø€ ô 	‰ÑØ)ØØØØØð 	ò 	
ó    c                ót   • [        X R                  U R                  5        [        USS5      (       a  [        eg )NÚ_raise_print_helpF)Úsetattrr   r   Úgetattrr	   )r   ÚparserÚ	namespaceÚvaluesÚoption_strings        r   Ú__call__ÚHelpAction.__call__.   s0   € ô 	�	Ÿ9™9 d§j¡jÔ1ä�9Ð1°5×9Ñ9ÜˆOð :r   © )r   zSequence[str]r   Ústrr   ú
str | NoneÚreturnÚNone)N)
r!   zargparse.ArgumentParserr"   zargparse.Namespacer#   zstr | Sequence[Any] | Noner$   r)   r*   r+   )	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r%   Ú__static_attributes__Ú__classcell__)r   s   @r   r   r      sx   ø† ñ
ð OSñ

Ø+ð

Ø36ð

ØAKð

à	÷

ð 

ð" %)ð
à'ð
ð &ð
ð +ð	
ð
 "ð
ð 
÷
ó 
r   r   c           
     ó>  • U R                  S5      nUR                  SSSSSSS9  UR                  S	S
[        SSS9  UR                  SSS/ SSS9  UR                  SSSSS9  UR                  SSSSSS9  UR                  SSSSS S!S"S#9  UR                  S$S%S&SS'S(9  g ))NÚdebugconfigz	--versionz-VÚcountr   ÚversionzoDisplay pytest version and information about plugins. When given twice, also display information about plugins.)Úactionr   r   r   z-hz--helpr   z(Show help message and configuration info)r7   r   r   z-pÚappendÚpluginsÚnamez­Early-load given plugin module name or entry point (multi-allowed). To avoid loading of plugins, use the `no:` prefix, e.g. `no:doctest`. See also --disable-plugin-autoload.)r7   r   r   Úmetavarr   z--disable-plugin-autoloadÚ
store_trueFz•Disable plugin auto-loading through entry point packaging metadata. Only plugins explicitly specified in -p or env var PYTEST_PLUGINS will be loaded.)r7   r   r   z--traceconfigz--trace-configz)Trace considerations of conftest.py filesz--debugÚstoreÚ?zpytestdebug.logÚdebugÚDEBUG_FILE_NAMEzšStore internal tracing debug information in this log file. This file is opened with 'w' and truncated as a result, care advised. Default: pytestdebug.log.)r7   r   r   r   r;   r   z-oz--override-iniÚoverride_inizhOverride configuration option with "option=value" style, e.g. `-o strict_xfail=True -o cache_dir=cache`.)r   r7   r   )ÚgetgroupÚ	addoptionÚ
_addoptionr   )r!   Úgroups     r   Úpytest_addoptionrF   ;   s  € Ø�O‰O˜MÓ*€EØ	‡O�OØØØØØðDð ñ ð 
×ÑØØÜØØ7ð ñ ð 
×ÑØØØØØð<ð ñ 	ð 
‡O�OØ#ØØð\ð	 ñ ð 
‡O�OØØØØØ8ð ñ ð 
‡O�OØØØØØØ!ð$ð ñ 
ð 
×ÑØØØØð:ð ò r   T)Úwrapperc               #  óÔ  ^^^#   • S v •mTR                   R                  (       Ga@  TR                   R                  n [        U SSS9mTR                  SR	                  [
        R                  SR                  [        [        [        R                  5      5      TR                  R                  [        R                  " 5       TR                  R                   5      5        TR"                  R$                  R'                  TR                  5        TR(                  R+                  5       m[        R,                  R                  SU  S35        S	UUU4S jjnTR/                  U5        T$ 7f)
NÚwzutf-8)Úencodingz@versions pytest-{}, python-{}
invocation_dir={}
cwd={}
args={}

Ú.z$writing pytest debug information to Ú
c                 óØ   >• TR                  5         [        R                  R                  STR                   S35        T R
                  R                  R                  S 5        T" 5         g )Nz"wrote pytest debug information to rL   )ÚcloseÚsysÚstderrÚwriter:   ÚtraceÚrootÚ	setwriter)ÚconfigÚ	debugfileÚundo_tracings   €€€r   Úunset_tracingÚ+pytest_cmdline_parse.<locals>.unset_tracing�   sL   ø€ Ø�O‰OÔÜ�J‰J×ÑÐAÀ)Ç.Á.ÐAQÐQSÐTÔUØ�L‰L×Ñ×'Ñ'¨Ô-Ù�Nr   )r*   r+   )Úoptionr?   ÚopenrQ   ÚformatÚpytestÚ__version__ÚjoinÚmapr(   rO   Úversion_infoÚinvocation_paramsÚdirÚosÚgetcwdÚargsrR   rS   rT   ÚpluginmanagerÚenable_tracingrP   Úadd_cleanup)ÚpathrX   rU   rV   rW   s     @@@r   Úpytest_cmdline_parserk   z   s  úé € â€Fà‡}�}××Ðà�}‰}×"Ñ"ˆÜ˜˜s¨WÑ5ˆ	Ø�‰ð@ß@FÁÜ×"Ñ"Ø—‘œœS¤#×"2Ñ"2Ó3Ó4Ø×(Ñ(×,Ñ,Ü—	’	“Ø×(Ñ(×-Ñ-óAô		
ð 	�‰×Ñ×#Ñ# I§O¡OÔ4Ø×+Ñ+×:Ñ:Ó<ˆÜ�
‰
×ÑÐ?À¸vÀRÐHÔI÷	ñ 	ð 	×Ñ˜=Ô)à€Mùs   …E#E(c                ó  • [         R                  R                  S[        R                   S[        R
                   S35        [        U 5      nU(       a,  U H%  n[         R                  R                  US-   5        M'     gg)z<Show verbose pytest version installation, including plugins.zThis is pytest version z, imported from rL   N)rO   ÚstdoutrQ   r]   r^   Ú__file__Úgetpluginversioninfo)rU   Ú
plugininfoÚlines      r   Úshow_version_verboserr   ›   sh   € ä‡J�J×ÑØ
!¤&×"4Ñ"4Ð!5Ð5EÄfÇoÁoÐEVÐVXÐYôô & fÓ-€JÞÛˆDÜ�J‰J×Ñ˜T D™[Ö)ò ð r   c                ó  • U R                   R                  S:”  a  [        U 5        [        R                  $ U R                   R
                  (       a;  U R                  5         [        U 5        U R                  5         [        R                  $ g )Né   )	rZ   r6   rr   r   ÚOKr   Ú_do_configureÚshowhelpÚ_ensure_unconfigure)rU   s    r   Úpytest_cmdline_mainry   ¦   sb   € ð ‡}�}×Ñ˜qÓ Ü˜VÔ$Ü�{‰{ÐØ	�‰×	×	Ø×ÑÔÜ�ÔØ×"Ñ"Ô$Ü�{‰{ÐØr   c           	     óL  • SS K nU R                  R                  S5      nUc   eUR                  nUR	                  U R
                  R                  R                  5       5        UR                  5         UR                  S5        UR                  5         UR                  nSnSU-  nU R
                  R                   GH  nU R
                  R                  U   u  p‰n
Uc  [        SU 35      eU SU	 S3nUR	                  S	U 35        [        U5      nXÅS
-
  :”  a?  UR                  5         UR                  UUUUSS9nU H  nUR                  U5        M     MŸ  UR	                  SX\-
  S-
  -  5        UR                  X„U-
  SS9nU(       d  MÔ  UR                  US   5        USS   H  nUR                  Xn-   5        M     GM
     UR                  5         UR                  S5        / SQnU H  u  pxUR                  S	US SU 35        M     UR                  5         UR                  5         UR                  S5        UR                  S5        UR                  S5        UR                  R                  S/ 5       H   nUR                  SUR                   -   SS9  M"     g )Nr   Úterminalreporterzo[pytest] configuration options in the first pytest.toml|pytest.ini|tox.ini|setup.cfg|pyproject.toml file found:é   Ú z!help argument cannot be None for z (z):ú  é   F)Úinitial_indentÚsubsequent_indentÚbreak_on_hyphensé   )r‚   rt   zEnvironment variables:)	)ÚCIzlWhen set to a non-empty value, pytest knows it is running in a CI process and does not truncate summary info)ÚBUILD_NUMBERzEquivalent to CI)ÚPYTEST_ADDOPTSzExtra command line options)ÚPYTEST_PLUGINSz.Comma-separated plugins to load during startup)ÚPYTEST_DISABLE_PLUGIN_AUTOLOADz"Set to disable plugin auto-loading)ÚPYTEST_DEBUGz1Set to enable debug tracing of pytest's internals)ÚPYTEST_DEBUG_TEMPROOTz'Override the system temporary directory)ÚPYTEST_THEMEz)The Pygments style to use for code output)ÚPYTEST_THEME_MODEz3Set the PYTEST_THEME to be either 'dark' or 'light'z<24z/to see available markers type: pytest --markersz1to see available fixtures type: pytest --fixtureszˆ(shown according to specified file_or_dir or current dir if not specified; fixtures with leading '_' are only shown with the '-v' optionÚwarningsz
warning : T)Úred)Útextwraprg   Ú
get_pluginÚ_twrQ   Ú_parserÚ	optparserÚformat_helprq   Ú	fullwidthÚ_inidictÚ	TypeErrorÚlenÚwrapÚstatsÚgetÚmessage)rU   r�   ÚreporterÚtwÚcolumnsÚ
indent_lenÚindentr:   r   ÚtypeÚ_defaultÚspecÚspec_lenÚ	helplinesrq   ÚwrappedÚvarsÚwarningreports                     r   rw   rw   ´   ss  € Ûà(.×(<Ñ(<×(GÑ(GØó)€Hð ÑÐÐØ	�‰€BØ‡H�HˆV�^‰^×%Ñ%×1Ñ1Ó3Ô4Ø‡G�G„IØ‡G�Gð	Nôð ‡G�G„Ià�l‰l€GØ€JØ�:Ñ€FØ—‘×'Õ'ˆØ%Ÿ~™~×6Ñ6°tÑ<Ñˆ�HØ‰<ÜÐ?À¸vÐFÓGÐGØ��r˜$˜˜rÐ"ˆØ
�‰�2�d�V�ÔÜ�t“9ˆØ A‘~Ó&à�G‰GŒIØ Ÿ™ØØØ%Ø"(Ø!&ð &ð ˆIó "�Ø—‘˜–ó "ð �H‰H�S˜JÑ1°AÑ5Ñ6Ô7Ø—m‘m D°JÑ*>ÐQV�mÐWˆGçˆwØ—‘˜ ™
Ô#Ø# A B›K�DØ—G‘G˜F™MÖ*ô (ñ7 (ð< ‡G�G„IØ‡G�GÐ$Ô%ò€Dó ‰
ˆØ
�‰�"�T˜#�J˜a ˜vÐ&Ö'ñ à‡G�G„IØ‡G�G„Ià‡G�GÐ=Ô>Ø‡G�GÐ?Ô@Ø‡G�Gð	ôð "Ÿ™×+Ñ+¨J¸Ö;ˆØ
�‰�˜}×4Ñ4Ñ4¸$ˆÓ?ò <r   c                ó  • / nU R                   R                  5       nU(       ad  UR                  S5        U HM  u  p4[        US[	        U5      5      nUR
                   SUR                   SU 3nUR                  SU-   5        MO     U$ )Nzregistered third-party plugins:rn   Ú-z at r~   )rg   Úlist_plugin_distinfor8   r    ÚreprÚproject_namer6   )rU   Úlinesrp   ÚpluginÚdistÚlocÚcontents          r   ro   ro     s�   € Ø€EØ×%Ñ%×:Ñ:Ó<€JÞØ�‰Ð6Ô7Û&‰LˆFÜ˜& *¬d°6«lÓ;ˆCØ×*Ñ*Ð+¨1¨T¯\©\¨N¸$¸s¸eÐDˆGØ�L‰L˜ ™Ö(ñ 'ð €Lr   c                ó$  • / nU R                   R                  (       d  U R                   R                  (       aE  UR                  S[        R
                   35        [        U 5      nU(       a  UR                  U5        U R                   R                  (       aw  UR                  S5        U R                  R                  5       nU HF  u  pE[        US5      (       a  UR                  nO[        U5      nUR                  SUS SU 35        MH     U$ )Nzusing: pytest-zactive plugins:rn   z    z<20z: )rZ   r?   Útraceconfigr8   r]   r^   ro   Úextendrg   Úlist_name_pluginÚhasattrrn   r­   )rU   r¯   ÚverinfoÚitemsr:   r°   Úrs          r   Úpytest_report_headerr¼     sÎ   € Ø€EØ‡}�}××˜fŸm™m×7×7Ø�‰�~¤f×&8Ñ&8Ð%9Ð:Ô;ä& vÓ.ˆÞØ�L‰L˜Ô!à‡}�}× × Ø�‰Ð&Ô'Ø×$Ñ$×5Ñ5Ó7ˆÛ!‰LˆDÜ�v˜z×*Ñ*Ø—O‘O‘ä˜“L�Ø�L‰L˜4  S˜z¨¨A¨3Ð/Ö0ñ "ð €Lr   )r!   r
   r*   r+   )r*   zGenerator[None, Config, Config])rU   r   r*   r+   )rU   r   r*   zint | ExitCode | None)rU   r   r*   z	list[str])r0   Ú
__future__r   ÚargparseÚcollections.abcr   r   rd   rO   Útypingr   Ú_pytest.configr   r   r	   Ú_pytest.config.argparsingr
   Ú_pytest.terminalr   r]   ÚActionr   rF   Úhookimplrk   rr   ry   rw   ro   r¼   r'   r   r   Ú<module>rÆ      s€   ðá 9å "ã Ý %Ý $Û 	Û 
Ý å !Ý #Ý $Ý ,Ý -Û ô#�—‘ô #ôL<ð~ ‡‚˜Ñóó ðô@*ôôP@ôf	õr   