§
    s
ÊjÌ@  ã                  ó¨  — d Z ddlmZ ddlZddlmZ ddlZddlZddlm	Z	 ddlm
Z
 ddlmZ ddlmZ dd	lmZ dd
lmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddl m!Z! ddl m"Z" ddl m#Z# ddl$m%Z% ddl$m&Z& ddl$m'Z' ddl(m)Z) ddl*m+Z+ erddl,Z,e
 G d„ d¦  «        ¦   «         Z- G d„ d¦  «        Z.e
ej/         G d „ d!¦  «        ¦   «         ¦   «         Z0 G d"„ d#¦  «        Z1dId*„Z2dJd,„Z3dKd.„Z4dLd0„Z5dLd1„Z6dMd3„Z7dNd5„Z8dOd9„Z9dPd;„Z:dQd=„Z; ed>¬?¦  «        dRdA„¦   «         Z<edSdC„¦   «         Z=edTdH„¦   «         Z>dS )Uz?Add backward compatibility support for the legacy py path type.é    )ÚannotationsN)ÚPath)ÚFinal)Úfinal)ÚTYPE_CHECKING)ÚSectionWrapper)ÚCache)ÚLEGACY_PATH©Úlegacy_path)ÚConfig)Úhookimpl)ÚPytestPluginManager)Úcheck_ispytest)Úfixture)ÚFixtureRequest)ÚSession)ÚMonkeyPatch)Ú	Collector)ÚItem)ÚNode)ÚHookRecorder)ÚPytester)Ú	RunResult)ÚTerminalReporter)ÚTempPathFactoryc                  óF  — e Zd ZU dZdZej        Zded<   ej        Zded<   ddœdWd„Z	e
dXd„¦   «         Ze
dXd„¦   «         Ze
d„ ¦   «         Ze
d„ ¦   «         Zej        d„ ¦   «         Ze
dYd„¦   «         ZdZd„Zd[d„Zd[d„ZdXd„ZdXd„ZdXd„Zd\d „ZdXd!„ZdXd"„ZdXd#„Zd]d[d%„ZdXd&„ZdXd'„Zd]dXd(„Zd^d,„Zd-„ Z d_d1„Z!d2„ Z"d3„ Z#d4„ Z$d5dd6œd`d8„Z%dad:„Z&dad;„Z'dbd<„Z(dbd=„Z)dcd?„Z*d@„ Z+dddA„Z,dedE„Z-e.j/        e.j/        efdF„Z0d$edGœdadH„Z1dadI„Z2dJ„ Z3d$dKœdadL„Z4dfdgdR„Z5dfdhdT„Z6didU„Z7didV„Z8d$S )jÚTestdirzì
    Similar to :class:`Pytester`, but this class works with legacy legacy_path objects instead.

    All methods just forward to an internal :class:`Pytester` instance, converting results
    to `legacy_path` objects as necessary.
    Fr   ÚCLOSE_STDINÚTimeoutExpired©Ú	_ispytestÚpytesterr   r"   ÚboolÚreturnÚNonec               ó2   — t          |¦  «         || _        d S ©N)r   Ú	_pytester)Úselfr#   r"   s      úBC:\Projects\Muse2API\.venv\Lib\site-packages\_pytest/legacypath.pyÚ__init__zTestdir.__init__7   s   € Ý�yÑ!Ô!Ð!Ø!ˆŒˆˆó    r
   c                ó4   — t          | j        j        ¦  «        S )z-Temporary directory where tests are executed.)r   r)   Úpath©r*   s    r+   ÚtmpdirzTestdir.tmpdir;   s   € õ ˜4œ>Ô.Ñ/Ô/Ð/r-   c                ó4   — t          | j        j        ¦  «        S r(   )r   r)   Ú_test_tmprootr0   s    r+   Útest_tmprootzTestdir.test_tmproot@   s   € å˜4œ>Ô7Ñ8Ô8Ð8r-   c                ó   — | j         j        S r(   )r)   Ú_requestr0   s    r+   ÚrequestzTestdir.requestD   s   € àŒ~Ô&Ð&r-   c                ó   — | j         j        S r(   ©r)   Úpluginsr0   s    r+   r:   zTestdir.pluginsH   s   € àŒ~Ô%Ð%r-   c                ó   — || j         _        d S r(   r9   )r*   r:   s     r+   r:   zTestdir.pluginsL   s   € à!(ˆŒÔÐÐr-   r   c                ó   — | j         j        S r(   )r)   Ú_monkeypatchr0   s    r+   ÚmonkeypatchzTestdir.monkeypatchP   s   € àŒ~Ô*Ð*r-   r   c                ó6   — | j                              |¦  «        S )z(See :meth:`Pytester.make_hook_recorder`.)r)   Úmake_hook_recorder)r*   Úpluginmanagers     r+   r@   zTestdir.make_hook_recorderT   s   € àŒ~×0Ò0°Ñ?Ô?Ð?r-   c                ó4   — | j                              ¦   «         S )zSee :meth:`Pytester.chdir`.)r)   Úchdirr0   s    r+   rC   zTestdir.chdirX   s   € àŒ~×#Ò#Ñ%Ô%Ð%r-   c                ó4   — | j                              ¦   «         S r(   )r)   Ú	_finalizer0   s    r+   ÚfinalizezTestdir.finalize\   s   € ØŒ~×'Ò'Ñ)Ô)Ð)r-   c                ó€   — |r|                      d¦  «        sd|z   }t           | j        j        |g|¢R i |¤Ž¦  «        S )zSee :meth:`Pytester.makefile`.ú.)Ú
startswithr   r)   Úmakefile)r*   ÚextÚargsÚkwargss       r+   rJ   zTestdir.makefile_   sV   € àð 	�s—~’~ cÑ*Ô*ð 	ð ˜‘)ˆCÝÐ2˜4œ>Ô2°3ÐH¸ÐHÐHÐHÀÐHÐHÑIÔIÐIr-   c                óP   — t          | j                             |¦  «        ¦  «        S )z"See :meth:`Pytester.makeconftest`.)r   r)   Úmakeconftest©r*   Úsources     r+   rO   zTestdir.makeconftestk   s    € å˜4œ>×6Ò6°vÑ>Ô>Ñ?Ô?Ð?r-   c                óP   — t          | j                             |¦  «        ¦  «        S )zSee :meth:`Pytester.makeini`.)r   r)   ÚmakeinirP   s     r+   rS   zTestdir.makeinio   s    € å˜4œ>×1Ò1°&Ñ9Ô9Ñ:Ô:Ð:r-   rQ   Ústrr   c                ó6   — | j                              |¦  «        S )zSee :meth:`Pytester.getinicfg`.)r)   Ú	getinicfgrP   s     r+   rV   zTestdir.getinicfgs   ó   € àŒ~×'Ò'¨Ñ/Ô/Ð/r-   c                óP   — t          | j                             |¦  «        ¦  «        S )z'See :meth:`Pytester.makepyprojecttoml`.)r   r)   ÚmakepyprojecttomlrP   s     r+   rY   zTestdir.makepyprojecttomlw   s    € å˜4œ>×;Ò;¸FÑCÔCÑDÔDÐDr-   c                ó@   — t           | j        j        |i |¤Ž¦  «        S )z See :meth:`Pytester.makepyfile`.)r   r)   Ú
makepyfile©r*   rL   rM   s      r+   r[   zTestdir.makepyfile{   s%   € åÐ4˜4œ>Ô4°dÐE¸fÐEÐEÑFÔFÐFr-   c                ó@   — t           | j        j        |i |¤Ž¦  «        S )z!See :meth:`Pytester.maketxtfile`.)r   r)   Úmaketxtfiler\   s      r+   r^   zTestdir.maketxtfile   s%   € åÐ5˜4œ>Ô5°tÐF¸vÐFÐFÑGÔGÐGr-   Nc                ó6   — | j                              |¦  «        S )z#See :meth:`Pytester.syspathinsert`.)r)   Úsyspathinsert©r*   r/   s     r+   r`   zTestdir.syspathinsertƒ   s   € àŒ~×+Ò+¨DÑ1Ô1Ð1r-   c                óP   — t          | j                             |¦  «        ¦  «        S )zSee :meth:`Pytester.mkdir`.)r   r)   Úmkdir©r*   Únames     r+   rc   zTestdir.mkdir‡   s    € å˜4œ>×/Ò/°Ñ5Ô5Ñ6Ô6Ð6r-   c                óP   — t          | j                             |¦  «        ¦  «        S )zSee :meth:`Pytester.mkpydir`.)r   r)   Úmkpydirrd   s     r+   rg   zTestdir.mkpydir‹   s    € å˜4œ>×1Ò1°$Ñ7Ô7Ñ8Ô8Ð8r-   c                óP   — t          | j                             |¦  «        ¦  «        S )z"See :meth:`Pytester.copy_example`.)r   r)   Úcopy_examplerd   s     r+   ri   zTestdir.copy_example�   s    € å˜4œ>×6Ò6°tÑ<Ô<Ñ=Ô=Ð=r-   Úconfigr   úItem | Collector | Nonec                ó8   — | j                              ||¦  «        S )zSee :meth:`Pytester.getnode`.)r)   Úgetnode)r*   rj   Úargs      r+   rm   zTestdir.getnode“   s   € àŒ~×%Ò% f¨cÑ2Ô2Ð2r-   c                ó6   — | j                              |¦  «        S )z!See :meth:`Pytester.getpathnode`.)r)   Úgetpathnodera   s     r+   rp   zTestdir.getpathnode—   s   € àŒ~×)Ò)¨$Ñ/Ô/Ð/r-   Úcolitemsúlist[Item | Collector]ú
list[Item]c                ó6   — | j                              |¦  «        S )zSee :meth:`Pytester.genitems`.)r)   Úgenitems)r*   rq   s     r+   ru   zTestdir.genitems›   s   € àŒ~×&Ò& xÑ0Ô0Ð0r-   c                ó6   — | j                              |¦  «        S )zSee :meth:`Pytester.runitem`.)r)   ÚrunitemrP   s     r+   rw   zTestdir.runitemŸ   s   € àŒ~×%Ò% fÑ-Ô-Ð-r-   c                ó(   —  | j         j        |g|¢R Ž S )z&See :meth:`Pytester.inline_runsource`.)r)   Úinline_runsource)r*   rQ   Úcmdlineargss      r+   ry   zTestdir.inline_runsource£   s   € à.ˆtŒ~Ô.¨vÐD¸ÐDÐDÐDÐDr-   c                ó    —  | j         j        |Ž S )z%See :meth:`Pytester.inline_genitems`.)r)   Úinline_genitems©r*   rL   s     r+   r|   zTestdir.inline_genitems§   s   € à-ˆtŒ~Ô-¨tÐ4Ð4r-   © ©r:   Úno_reraise_ctrlcr€   c               ó(   —  | j         j        |||dœŽS )z See :meth:`Pytester.inline_run`.r   )r)   Ú
inline_run)r*   r:   r€   rL   s       r+   r‚   zTestdir.inline_run«   s(   € à(ˆtŒ~Ô(Ø˜7Ð5Eð
ð 
ð 
ð 	
r-   r   c                ó&   —  | j         j        |i |¤ŽS )z)See :meth:`Pytester.runpytest_inprocess`.)r)   Úrunpytest_inprocessr\   s      r+   r„   zTestdir.runpytest_inprocess±   s   € à1ˆtŒ~Ô1°4ÐB¸6ÐBÐBÐBr-   c                ó&   —  | j         j        |i |¤ŽS )zSee :meth:`Pytester.runpytest`.)r)   Ú	runpytestr\   s      r+   r†   zTestdir.runpytestµ   s   € à'ˆtŒ~Ô'¨Ð8°Ð8Ð8Ð8r-   c                ó    —  | j         j        |Ž S )z!See :meth:`Pytester.parseconfig`.)r)   Úparseconfigr}   s     r+   rˆ   zTestdir.parseconfig¹   s   € à)ˆtŒ~Ô)¨4Ð0Ð0r-   c                ó    —  | j         j        |Ž S )z$See :meth:`Pytester.parseconfigure`.)r)   Úparseconfigurer}   s     r+   rŠ   zTestdir.parseconfigure½   s   € à,ˆtŒ~Ô,¨dÐ3Ð3r-   Ú	test_funcc                ó8   — | j                              ||¦  «        S )zSee :meth:`Pytester.getitem`.)r)   Úgetitem)r*   rQ   Úfuncnames      r+   r�   zTestdir.getitemÁ   s   € àŒ~×%Ò% f¨hÑ7Ô7Ð7r-   c                ó6   — | j                              |¦  «        S )zSee :meth:`Pytester.getitems`.)r)   ÚgetitemsrP   s     r+   r�   zTestdir.getitemsÅ   s   € àŒ~×&Ò& vÑ.Ô.Ð.r-   c                ó<   — | j                              |||¬¦  «        S )z"See :meth:`Pytester.getmodulecol`.)Ú
configargsÚwithinit)r)   Úgetmodulecol)r*   rQ   r’   r“   s       r+   r”   zTestdir.getmodulecolÉ   s(   € àŒ~×*Ò*Ø˜z°Hð +ñ 
ô 
ð 	
r-   Úmodcolr   re   c                ó8   — | j                              ||¦  «        S )z%See :meth:`Pytester.collect_by_name`.)r)   Úcollect_by_name)r*   r•   re   s      r+   r—   zTestdir.collect_by_nameÏ   s   € àŒ~×-Ò-¨f°dÑ;Ô;Ð;r-   c                ó.   —  | j         j        ||||fi |¤ŽS )zSee :meth:`Pytester.popen`.)r)   Úpopen)r*   ÚcmdargsÚstdoutÚstderrÚstdinÚkws         r+   r™   zTestdir.popenÓ   s'   € ð $ˆtŒ~Ô# G¨V°V¸UÐIÐIÀbÐIÐIÐIr-   ©Útimeoutr�   c               ó(   —  | j         j        |||dœŽS )zSee :meth:`Pytester.run`.rŸ   )r)   Úrun)r*   r    r�   rš   s       r+   r¢   zTestdir.runÞ   s   € à!ˆtŒ~Ô! 7°GÀ5ÐIÐIÐIÐIr-   c                ó6   — | j                              |¦  «        S )zSee :meth:`Pytester.runpython`.)r)   Ú	runpython)r*   Úscripts     r+   r¤   zTestdir.runpythonâ   rW   r-   c                ó6   — | j                              |¦  «        S )z!See :meth:`Pytester.runpython_c`.)r)   Úrunpython_c)r*   Úcommands     r+   r§   zTestdir.runpython_cæ   s   € àŒ~×)Ò)¨'Ñ2Ô2Ð2r-   )r    c               ó&   —  | j         j        |d|iŽS )z*See :meth:`Pytester.runpytest_subprocess`.r    )r)   Úrunpytest_subprocess)r*   r    rL   s      r+   rª   zTestdir.runpytest_subprocessê   s   € à2ˆtŒ~Ô2°DÐJÀ'ÐJÐJÐJr-   ç      $@ÚstringÚexpect_timeoutÚfloatúpexpect.spawnc                ó:   — | j                              ||¬¦  «        S )z"See :meth:`Pytester.spawn_pytest`.©r­   )r)   Úspawn_pytest)r*   r¬   r­   s      r+   r²   zTestdir.spawn_pytestî   s   € àŒ~×*Ò*¨6À.Ð*ÑQÔQÐQr-   Úcmdc                ó:   — | j                              ||¬¦  «        S )zSee :meth:`Pytester.spawn`.r±   )r)   Úspawn)r*   r³   r­   s      r+   rµ   zTestdir.spawnò   s   € àŒ~×#Ò# C¸Ð#ÑGÔGÐGr-   c                ó   — d| j         ›d�S )Nz	<Testdir ú>)r1   r0   s    r+   Ú__repr__zTestdir.__repr__ö   s   € Ø+˜4œ;Ð+Ð+Ð+Ð+r-   c                ó*   — t          | j        ¦  «        S r(   )rT   r1   r0   s    r+   Ú__str__zTestdir.__str__ù   s   € Ý�4”;ÑÔÐr-   )r#   r   r"   r$   r%   r&   ©r%   r
   )r%   r   )r%   r   )r%   r&   )rQ   rT   r%   r   r(   )rj   r   r%   rk   )rq   rr   r%   rs   )r€   r$   )r%   r   )r%   r   )r‹   )r~   F)r•   r   re   rT   r%   rk   )r«   )r¬   rT   r­   r®   r%   r¯   )r³   rT   r­   r®   r%   r¯   )r%   rT   )9Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú__test__r   r   Ú__annotations__r    r,   Úpropertyr1   r4   r7   r:   Úsetterr>   r@   rC   rF   rJ   rO   rS   rV   rY   r[   r^   r`   rc   rg   ri   rm   rp   ru   rw   ry   r|   r‚   r„   r†   rˆ   rŠ   r�   r�   r”   r—   Ú
subprocessÚPIPEr™   r¢   r¤   r§   rª   r²   rµ   r¸   rº   r~   r-   r+   r   r   )   sŠ  € € € € € € ðð ð €Hà!Ô-€KÐ-Ð-Ð-Ñ-Ø$Ô3€NÐ3Ð3Ð3Ñ3à@Eð "ð "ð "ð "ð "ð "ð ð0ð 0ð 0ñ „Xð0ð ð9ð 9ð 9ñ „Xð9ð ð'ð 'ñ „Xð'ð ð&ð &ñ „Xð&ð „^ð)ð )ñ „^ð)ð ð+ð +ð +ñ „Xð+ð@ð @ð @ð @ð&ð &ð &ð &ð*ð *ð *ð *ð
Jð 
Jð 
Jð 
Jð@ð @ð @ð @ð;ð ;ð ;ð ;ð0ð 0ð 0ð 0ðEð Eð Eð EðGð Gð Gð GðHð Hð Hð Hð2ð 2ð 2ð 2ð 2ð7ð 7ð 7ð 7ð9ð 9ð 9ð 9ð>ð >ð >ð >ð >ð3ð 3ð 3ð 3ð0ð 0ð 0ð1ð 1ð 1ð 1ð.ð .ð .ðEð Eð Eð5ð 5ð 5ð )+ÀUð 
ð 
ð 
ð 
ð 
ð 
ðCð Cð Cð Cð9ð 9ð 9ð 9ð1ð 1ð 1ð 1ð4ð 4ð 4ð 4ð8ð 8ð 8ð 8ð/ð /ð /ð
ð 
ð 
ð 
ð<ð <ð <ð <ð ŒØŒØð	Jð 	Jð 	Jð 	Jð %)°ð Jð Jð Jð Jð Jð Jð0ð 0ð 0ð 0ð3ð 3ð 3ð 37ð Kð Kð Kð Kð Kð KðRð Rð Rð Rð RðHð Hð Hð Hð Hð,ð ,ð ,ð ,ð ð  ð  ð  ð  ð  r-   r   c                  ó6   — e Zd Zeedd„¦   «         ¦   «         ZdS )ÚLegacyTestdirPluginr#   r   r%   r   c                ó$   — t          | d¬¦  «        S )zú
        Identical to :fixture:`pytester`, and provides an instance whose methods return
        legacy ``LEGACY_PATH`` objects instead when applicable.

        New code should avoid using :fixture:`testdir` in favor of :fixture:`pytester`.
        Tr!   )r   )r#   s    r+   ÚtestdirzLegacyTestdirPlugin.testdirþ   s   € õ �x¨4Ð0Ñ0Ô0Ð0r-   N)r#   r   r%   r   )r¼   r½   r¾   Ústaticmethodr   rÉ   r~   r-   r+   rÇ   rÇ   ý   s<   € € € € € ØØð1ð 1ð 1ñ „Wñ „\ð1ð 1ð 1r-   rÇ   c                  ó>   — e Zd ZU dZded<   ddœdd„Zddd„Zdd„ZdS )ÚTempdirFactorya  Backward compatibility wrapper that implements ``py.path.local``
    for :class:`TempPathFactory`.

    .. note::
        These days, it is preferred to use ``tmp_path_factory``.

        :ref:`About the tmpdir and tmpdir_factory fixtures<tmpdir and tmpdir_factory>`.

    r   Ú_tmppath_factoryFr!   Útmppath_factoryr"   r$   r%   r&   c               ó2   — t          |¦  «         || _        d S r(   )r   rÍ   )r*   rÎ   r"   s      r+   r,   zTempdirFactory.__init__  s    € õ 	�yÑ!Ô!Ð!Ø /ˆÔÐÐr-   TÚbasenamerT   Únumberedr
   c                óv   — t          | j                             ||¦  «                             ¦   «         ¦  «        S )zOSame as :meth:`TempPathFactory.mktemp`, but returns a ``py.path.local`` object.)r   rÍ   ÚmktempÚresolve)r*   rÐ   rÑ   s      r+   rÓ   zTempdirFactory.mktemp  s/   € å˜4Ô0×7Ò7¸À(ÑKÔK×SÒSÑUÔUÑVÔVÐVr-   c                ór   — t          | j                             ¦   «                              ¦   «         ¦  «        S )zTSame as :meth:`TempPathFactory.getbasetemp`, but returns a ``py.path.local`` object.)r   rÍ   ÚgetbasetemprÔ   r0   s    r+   rÖ   zTempdirFactory.getbasetemp#  s+   € å˜4Ô0×<Ò<Ñ>Ô>×FÒFÑHÔHÑIÔIÐIr-   N)rÎ   r   r"   r$   r%   r&   )T)rÐ   rT   rÑ   r$   r%   r
   r»   )r¼   r½   r¾   r¿   rÁ   r,   rÓ   rÖ   r~   r-   r+   rÌ   rÌ   
  s‹   € € € € € € ðð ð &Ð%Ð%Ñ%ð FKð0ð 0ð 0ð 0ð 0ð 0ðWð Wð Wð Wð WðJð Jð Jð Jð Jð Jr-   rÌ   c                  ór   — e Zd Ze ed¬¦  «        dd„¦   «         ¦   «         Zeedd„¦   «         ¦   «         ZdS )ÚLegacyTmpdirPluginÚsession)Úscoper7   r   r%   rÌ   c                ó   — | j         j        S )zFReturn a :class:`pytest.TempdirFactory` instance for the test session.)rj   Ú_tmpdirhandler)r7   s    r+   Útmpdir_factoryz!LegacyTmpdirPlugin.tmpdir_factory)  s   € ð
 Œ~Ô,Ð,r-   Útmp_pathr   r
   c                ó    — t          | ¦  «        S )a=  Return a temporary directory (as `legacy_path`_ object)
        which is unique to each test function invocation.
        The temporary directory is created as a subdirectory
        of the base temporary directory, with configurable retention,
        as discussed in :ref:`temporary directory location and retention`.

        .. note::
            These days, it is preferred to use ``tmp_path``.

            :ref:`About the tmpdir and tmpdir_factory fixtures<tmpdir and tmpdir_factory>`.

        .. _legacy_path: https://py.readthedocs.io/en/latest/path.html
        r   )rÞ   s    r+   r1   zLegacyTmpdirPlugin.tmpdir0  s   € õ  ˜8Ñ$Ô$Ð$r-   N)r7   r   r%   rÌ   )rÞ   r   r%   r
   )r¼   r½   r¾   rÊ   r   rÝ   r1   r~   r-   r+   rØ   rØ   (  st   € € € € € ØØ€W�9ÐÑÔð-ð -ð -ñ Ôñ „\ð-ð
 Øð%ð %ð %ñ „Wñ „\ð%ð %ð %r-   rØ   r*   r	   re   rT   r%   r
   c                óF   — t          |                      |¦  «        ¦  «        S )z{Return a directory path object with the given name.

    Same as :func:`mkdir`, but returns a legacy py path instance.
    )r   rc   rd   s     r+   ÚCache_makedirrá   C  s   € õ
 �t—z’z $Ñ'Ô'Ñ(Ô(Ð(r-   r   c                ó*   — t          | j        ¦  «        S )zO(deprecated) The file system path of the test module which collected this test.©r   r/   r0   s    r+   ÚFixtureRequest_fspathrä   K  ó   € å�t”yÑ!Ô!Ð!r-   r   c                ó*   — t          | j        ¦  «        S )zŒThe directory from which pytest was invoked.

    Prefer to use ``startpath`` which is a :class:`pathlib.Path`.

    :type: LEGACY_PATH
    ©r   Ú	startpathr0   s    r+   ÚTerminalReporter_startdirré   P  ó   € õ �t”~Ñ&Ô&Ð&r-   r   c                óN   — t          t          | j        j        ¦  «        ¦  «        S )z¸The directory from which pytest was invoked.

    Prefer to use :attr:`invocation_params.dir <InvocationParams.dir>`,
    which is a :class:`pathlib.Path`.

    :type: LEGACY_PATH
    )r   rT   Úinvocation_paramsÚdirr0   s    r+   ÚConfig_invocation_dirrî   Z  s    € õ •s˜4Ô1Ô5Ñ6Ô6Ñ7Ô7Ð7r-   c                óD   — t          t          | j        ¦  «        ¦  «        S )z�The path to the :ref:`rootdir <rootdir>`.

    Prefer to use :attr:`rootpath`, which is a :class:`pathlib.Path`.

    :type: LEGACY_PATH
    )r   rT   Úrootpathr0   s    r+   ÚConfig_rootdirrñ   e  s   € õ •s˜4œ=Ñ)Ô)Ñ*Ô*Ð*r-   úLEGACY_PATH | Nonec                óV   — | j         r!t          t          | j         ¦  «        ¦  «        ndS )z�The path to the :ref:`configfile <configfiles>`.

    Prefer to use :attr:`inipath`, which is a :class:`pathlib.Path`.

    :type: Optional[LEGACY_PATH]
    N)Úinipathr   rT   r0   s    r+   ÚConfig_inifilerõ   o  s(   € ð .2¬\ÐC�;•s˜4œ<Ñ(Ô(Ñ)Ô)Ð)¸tÐCr-   r   c                ó*   — t          | j        ¦  «        S )z‡The path from which pytest was invoked.

    Prefer to use ``startpath`` which is a :class:`pathlib.Path`.

    :type: LEGACY_PATH
    rç   r0   s    r+   ÚSession_startdirr÷   y  rê   r-   ÚtypeÚvalueústr | list[str]c                óÒ   ‡— |dk    rN| j         €J ‚| j         j        Št          |t          ¦  «        rt	          j        |¦  «        n|}ˆfd„|D ¦   «         S t          d|› �|¦  «        ‚)NÚpathlistc                óN   •— g | ]!}t          t          ‰|z  ¦  «        ¦  «        ‘Œ"S r~   )r   rT   )Ú.0ÚxÚdps     €r+   ú
<listcomp>z/Config__getini_unknown_type.<locals>.<listcomp>‰  s+   ø€ Ð?Ð?Ð?¨Q•�C  Q¡™KœKÑ(Ô(Ð?Ð?Ð?r-   zunknown configuration type: )rô   ÚparentÚ
isinstancerT   ÚshlexÚsplitÚ
ValueError)r*   re   rø   rù   Úinput_valuesr   s        @r+   ÚConfig__getini_unknown_typer  ƒ  s|   ø€ ØˆzÒÐàŒ|Ð'Ð'Ð'ØŒ\Ô ˆÝ-7¸½sÑ-CÔ-CÐN•u”{ 5Ñ)Ô)Ð)ÈˆØ?Ð?Ð?Ð?°,Ð?Ñ?Ô?Ð?åÐ>¸Ð>Ð>ÀÑFÔFÐFr-   r   c                ó*   — t          | j        ¦  «        S )z4(deprecated) returns a legacy_path copy of self.pathrã   r0   s    r+   ÚNode_fspathr
  Ž  rå   r-   r&   c                ó.   — t          |¦  «        | _        d S r(   )r   r/   )r*   rù   s     r+   ÚNode_fspath_setr  “  s   € Ý�U‘”€D„I€I€Ir-   T)ÚtryfirstÚearly_configc                óŠ  — t          ¦   «         }|                      |j        ¦  «         |                     t          dt
          d¬¦  «         |                     t          dt          t          ¦  «        d¬¦  «         |                     t          dt          t          ¦  «        d¬¦  «         |                     t          dt          t          ¦  «        d¬¦  «         |                     t          dt          t          ¦  «        d¬¦  «         |                     t          dt          t          ¦  «        d¬¦  «         |                     t          dt          t           ¦  «        d¬¦  «         |                     t          d	t"          ¦  «         |                     t$          dt          t&          t(          ¦  «        d¬¦  «         d
S )zLMonkeypatch legacy path attributes in several classes, as early as possible.ÚmakedirF©ÚraisingÚfspathÚstartdirÚinvocation_dirÚrootdirÚinifileÚ_getini_unknown_typeN)r   Úadd_cleanupÚundoÚsetattrr	   rá   r   rÂ   rä   r   ré   r   rî   rñ   rõ   r   r÷   r  r   r
  r  )r  Úmps     r+   Úpytest_load_initial_conftestsr  —  sk  € õ 
‰Œ€BØ×Ò˜RœWÑ%Ô%Ð%ð ‡J‚J�u�i¥¸€JÑ>Ô>Ð>ð ‡J‚J�~˜x­Õ2GÑ)HÔ)HÐRW€JÑXÔXÐXð ‡J‚JÝ˜*¥hÕ/HÑ&IÔ&IÐSXð ñ ô ð ð
 ‡J‚J�vÐ'­Õ2GÑ)HÔ)HÐRW€JÑXÔXÐXØ‡J‚J�v�y¥(­>Ñ":Ô":ÀE€JÑJÔJÐJØ‡J‚J�v�y¥(­>Ñ":Ô":ÀE€JÑJÔJÐJð ‡J‚J�w˜
¥HÕ-=Ñ$>Ô$>È€JÑNÔNÐNð ‡J‚J�vÐ-Õ/JÑKÔKÐKð ‡J‚J�t�X�x­µ_ÑEÔEÈu€JÑUÔUÐUÐUÐUr-   rj   c                óT  — | j                              d¦  «        r�t          ¦   «         }|                      |j        ¦  «         	 | j        }t          |d¬¦  «        }|                     | d|d¬¦  «         n# t          $ r Y nw xY w| j          	                    t          d¦  «         dS dS )	zKInstalls the LegacyTmpdirPlugin if the ``tmpdir`` plugin is also installed.r1   Tr!   rÜ   Fr  zlegacypath-tmpdirN)rA   Ú
has_pluginr   r  r  Ú_tmp_path_factoryrÌ   r  ÚAttributeErrorÚregisterrØ   )rj   r  Útmp_path_factoryrÜ   s       r+   Úpytest_configurer$  ·  sÐ   € ð Ô×&Ò& xÑ0Ô0ð OÝ‰]Œ]ˆØ×Ò˜2œ7Ñ#Ô#Ð#ð	PØ%Ô7Ðõ
 ,Ð,<ÈÐMÑMÔMˆNØ�JŠJ�vÐ/°ÈˆJÑOÔOÐOÐOøõ ð 	ð 	ð 	àˆDð	øøøð 	Ô×%Ò%Õ&8Ð:MÑNÔNÐNÐNÐNð#Oð Os   ÁA6 Á6
BÂBÚpluginÚobjectÚmanagerr   c                óª   — | |                      d¦  «        u }|r7|                     t          ¦  «        s|                     t          d¦  «         d S d S d S )Nr#   zlegacypath-pytester)Ú
get_pluginÚis_registeredrÇ   r"  )r%  r'  Úis_pytesters      r+   Úpytest_plugin_registeredr,  Î  sr   € ð ˜G×.Ò.¨zÑ:Ô:Ð:€KØð E˜7×0Ò0Õ1DÑEÔEð EØ×ÒÕ,Ð.CÑDÔDÐDÐDÐDðEð Eð Eð Er-   )r*   r	   re   rT   r%   r
   )r*   r   r%   r
   )r*   r   r%   r
   )r*   r   r%   r
   )r*   r   r%   rò   )r*   r   r%   r
   )re   rT   rø   rT   rù   rú   )r*   r   r%   r
   )r*   r   rù   r
   r%   r&   )r  r   r%   r&   )rj   r   r%   r&   )r%  r&  r'  r   r%   r&   )?r¿   Ú
__future__r   ÚdataclassesÚpathlibr   r  rÄ   Útypingr   r   r   Ú	iniconfigr   Ú_pytest.cacheproviderr	   Ú_pytest.compatr
   r   Ú_pytest.configr   r   r   Ú_pytest.deprecatedr   Ú_pytest.fixturesr   r   Ú_pytest.mainr   Ú_pytest.monkeypatchr   Ú_pytest.nodesr   r   r   Ú_pytest.pytesterr   r   r   Ú_pytest.terminalr   Ú_pytest.tmpdirr   Úpexpectr   rÇ   Ú	dataclassrÌ   rØ   rá   rä   ré   rî   rñ   rõ   r÷   r  r
  r  r  r$  r,  r~   r-   r+   ú<module>r?     s.  ðà EÐ Eà "Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø €€€Ø Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø  Ð  Ð  Ð  Ð  Ð  à $Ð $Ð $Ð $Ð $Ð $à 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø &Ð &Ð &Ð &Ð &Ð &Ø &Ð &Ð &Ð &Ð &Ð &Ø !Ð !Ð !Ð !Ð !Ð !Ø #Ð #Ð #Ð #Ð #Ð #Ø .Ð .Ð .Ð .Ð .Ð .Ø -Ð -Ð -Ð -Ð -Ð -Ø $Ð $Ð $Ð $Ð $Ð $Ø +Ð +Ð +Ð +Ð +Ð +Ø  Ð  Ð  Ð  Ð  Ð  Ø +Ð +Ð +Ð +Ð +Ð +Ø #Ð #Ð #Ð #Ð #Ð #Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø )Ð )Ð )Ð )Ð )Ð )Ø %Ð %Ð %Ð %Ð %Ð %Ø &Ð &Ð &Ð &Ð &Ð &Ø -Ð -Ð -Ð -Ð -Ð -Ø *Ð *Ð *Ð *Ð *Ð *ð ð Ø€N€N€Nð ðP ð P ð P ð P ð P ñ P ô P ñ „ðP ðf
1ð 
1ð 
1ð 
1ð 
1ñ 
1ô 
1ð 
1ð ØÔðJð Jð Jð Jð Jñ Jô Jñ Ôñ „ðJð8%ð %ð %ð %ð %ñ %ô %ð %ð6)ð )ð )ð )ð"ð "ð "ð "ð
'ð 'ð 'ð 'ð8ð 8ð 8ð 8ð+ð +ð +ð +ðDð Dð Dð Dð'ð 'ð 'ð 'ðGð Gð Gð Gð"ð "ð "ð "ð
ð ð ð ð 
€�4ÐÑÔðVð Vð Vñ ÔðVð> 
ðOð Oð Oñ 
„ðOð, 
ðEð Eð Eñ 
„ðEð Eð Er-   