+
    -j0                    j   R t ^ RIHt ^ RIHt ^ RIt^ RIt^ RIHt ^ RI	t	^ RI
Ht ^ RIt^ RIt^ RIHt ^ RIHt ^ RIHt ^R	IHt ^R
IHt ^RIHt ^RIHt ^RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIH t  ^ RI!H"t" ^ RI!H#t# ^ RI$H%t% ^ RI&H't' ^ RI(H)t) ^ RI*H+t+ ]+],]-].3,          ,          ! 4       t/]R0,          t0]]Pb                   ! R R4      4       4       t2R R lt3R R lt4R  R! lt5]"! R"R#7      R$ R% l4       t6R& R' lt7]"R( R) l4       t8R* R+ lt9]! R,R,R-7      R. R/ l4       t:R# )1z>Support for providing temporary directories to test functions.)annotations)	GeneratorN)Path)rmtree)Any)final)Literal)cleanup_dead_symlinks)LOCK_TIMEOUT)make_numbered_dir)make_numbered_dir_with_cleanup)rm_rf)get_user_id)Config)ExitCode)hookimpl)Parser)check_ispytest)fixture)FixtureRequest)MonkeyPatch)Item)
TestReport)StashKeyc                      ] tR t^)t$ RtR]R&   R]R&   R]R&   R]R&   R	]R
&   RRR/R R lllt]RR/R R ll4       tR R lt	RR R llt
R R ltRtR# )TempPathFactoryzFactory for temporary directories under the common base temp directory,
as discussed at :ref:`temporary directory location and retention`.
Path | None_given_basetempr   _trace	_basetempint_retention_countRetentionType_retention_policyN	_ispytestFc               0    V ^8  d   QhRRRRRRRRRR	R
R/# )   given_basetempr   retention_countr    retention_policyr"   basetempr$   boolreturnNone )formats   "c/Users/mitch_tango/dev/rabbit-r1-livekit/agent/.venv/lib/python3.14/site-packages/_pytest/tmpdir.py__annotate__TempPathFactory.__annotate__7   sF     " "#" " (	" " " 
"    c               	    \        V4       Vf	   R V n        M6\        \        P                  P                  \        V4      4      4      V n        W@n        W n        W0n	        WPn
        R # N)r   r   r   ospathabspathstrr   r!   r#   r   )selfr'   r(   r)   tracer*   r$   s   &&&&&&$r0   __init__TempPathFactory.__init__7   sQ     	y!!#'D 
 $(N8K(L#MD  /!1!r3   c               $    V ^8  d   QhRRRRRR/# )r&   configr   r$   r+   r,   r   r.   )r/   s   "r0   r1   r2   O   s(     
 

 	

 

r3   c               :   \        V4       \        VP                  R4      4      pV^ 8  d   \        RV R24      hVP                  R4      pVR	9  d   \        RV R24      hV ! VP                  P
                  VP                  P                  R4      VVRR7      # )
zDCreate a factory according to pytest configuration.

:meta private:
tmp_path_retention_countz6tmp_path_retention_count must be >= 0. Current input: .tmp_path_retention_policyzKtmp_path_retention_policy must be either all, failed, none. Current input: tmpdirT)r'   r;   r(   r)   r$   allfailednone)r   r    getini
ValueErroroptionr*   r;   get)clsr?   r$   countpolicys   &&$  r0   from_configTempPathFactory.from_configN   s     	y!FMM"<=>19HqQ  :;22]^d]eefg  !==11,,""8,!#
 	
r3   c                    V ^8  d   QhRRRR/# )r&   basenamer9   r,   r.   )r/   s   "r0   r1   r2   n   s      S S r3   c                	    \         P                  P                  V4      pV P                  4       V,          P	                  4       P
                  V P                  4       8w  d   \        V R 24      hV# )z& is not a normalized and relative path)r6   r7   normpathgetbasetempresolveparentrJ   )r:   rS   s   &&r0   _ensure_relative_to_basetemp,TempPathFactory._ensure_relative_to_basetempn   s\    77##H-)224;;t?O?O?QQz)OPQQr3   c               $    V ^8  d   QhRRRRRR/# )r&   rS   r9   numberedr+   r,   r   r.   )r/   s   "r0   r1   r2   t   s!      s d d r3   c                    V P                  V4      pV'       g4   V P                  4       P                  V4      pVP                  RR7       V# \	        V P                  4       VRR7      pV P                  RV4       V# )a  Create a new temporary directory managed by the factory.

:param basename:
    Directory base name, must be a relative path.

:param numbered:
    If ``True``, ensure the directory is unique by adding a numbered
    suffix greater than any existing one: ``basename="foo-"`` and ``numbered=True``
    means that this function will create directories named ``"foo-0"``,
    ``"foo-1"``, ``"foo-2"`` and so on.

:returns:
    The path to the new directory.
  mode)rootprefixr`   mktemp)rY   rV   joinpathmkdirr   r   )r:   rS   r\   ps   &&& r0   rc   TempPathFactory.mktempt   sr     44X>  "++H5AGGG  "t'7'7'9(QVWAKK!$r3   c                   V ^8  d   QhRR/# )r&   r,   r   r.   )r/   s   "r0   r1   r2      s     N NT Nr3   c                0   V P                   e   V P                   # V P                  eR   V P                  pVP                  4       '       d   \        V4       VP	                  RR7       VP                  4       pEM\        P                  P                  R4      p\        T;'       g    \        P                  ! 4       4      P                  4       p\        4       ;'       g    RpVP                  RV 24      p VP	                  RRR7       \        4       pVe   \        P                   \        P"                  9   d   R	MRpVP!                  VR
7      p\         P$                  ! VP&                  4      '       d   \        RV R24      hVP(                  V8w  d   \        RV R24      hVP&                  ^?,          ^ 8w  dL   \        P*                  \        P"                  9   d   R	MRp	VP+                  VP&                  R,          V	R
7       V P,                  p
V P.                  R8X  d   ^ p
\1        RVV
\2        RR7      pVf   Q V4       hWn         V P5                  RV4       V#   \         d)    TP                  R4      pTP	                  RRR7        ELi ; i)ziReturn the base temporary directory, creating it if needed.

:returns:
    The base temporary directory.
r^   r_   PYTEST_DEBUG_TEMPROOTunknownz
pytest-of-T)r`   exist_okzpytest-of-unknownF)follow_symlinkszThe temporary directory z, is a symbolic link. Fix this and try again.z: is not owned by the current user. Fix this and try again.rH   zpytest-)rb   ra   keeplock_timeoutr`   znew basetempi)r   r   existsr   re   rW   r6   environrL   r   tempfile
gettempdirget_userrd   OSErrorr   statsupports_follow_symlinksS_ISLNKst_modest_uidchmodr!   r#   r   r
   r   )r:   r*   from_envtemprootuserrootdiruidstat_follow_symlinksrootdir_statchmod_follow_symlinksrn   s   &          r0   rV   TempPathFactory.getbasetemp   s[    >>%>>!+++H  hNNN&'')Hzz~~&=>HH==(;(;(=>FFHH:**D ''*TF(;<G9548$ -CWW(C(CCE %  '||<P|Q<< 4 455!27) <2 2   &&#-!27) <2 2  !((50Q6!#R-H-H!Hd * MM$,,v5(= "  ((D%%/5 )H #-X-#!NH-m  9"++,?@5489s   8I" "/JJ)r   r   r!   r#   r   r5   )T)__name__
__module____qualname____firstlineno____doc____annotations__r<   classmethodrP   rY   rc   rV   __static_attributes__r.   r3   r0   r   r   )   sn     ! K$$"  " ". 
  	
 
>0N Nr3   r   c                   V ^8  d   QhRR/# )r&   r,   z
str | Noner.   )r/   s   "r0   r1   r1      s     	 	* 	r3   c                 f     ^ RI p V P                  4       #   \        \        \        3 d     R# i ; i)zhReturn the current user name, or None if getuser() does not work
in the current environment (see #1010).N)getpassgetuserImportErrorru   KeyError)r   s    r0   rt   rt      s0      (+ s    00c                    V ^8  d   QhRRRR/# )r&   r?   r   r,   r-   r.   )r/   s   "r0   r1   r1      s     
N 
NV 
N 
Nr3   c                    \        4       pV P                  VP                  4       \        P	                  V RR7      pVP                  V RVRR7       R# )zCreate a TempPathFactory and attach it to the config object.

This is to comply with existing plugins which expect the handler to be
available at pytest_configure time, but ideally should be moved entirely
to the tmp_path_factory session fixture.
T)r$   _tmp_path_factoryF)raisingN)r   add_cleanupundor   rP   setattr)r?   mpr   s   &  r0   pytest_configurer      sI     
B
rww'33Fd3KJJv*,=uJMr3   c                    V ^8  d   QhRRRR/# )r&   parserr   r,   r-   r.   )r/   s   "r0   r1   r1      s      V  r3   c                Z    V P                  R RRRR7       V P                  RRRRR7       R	# )
rA   zfHow many sessions should we keep the `tmp_path` directories, according to `tmp_path_retention_policy`.3string)helpdefaulttyperC   zvControls which directories created by the `tmp_path` fixture are kept around, based on test outcome. (all/failed/none)rF   )r   r   r   N)addini)r   s   &r0   pytest_addoptionr      s@    
MM"u   MM#  r3   session)scopec                    V ^8  d   QhRRRR/# )r&   requestr   r,   r   r.   )r/   s   "r0   r1   r1   	  s     , ,n , ,r3   c                .    V P                   P                  # )zGReturn a :class:`pytest.TempPathFactory` instance for the test session.)r?   r   )r   s   &r0   tmp_path_factoryr     s     >>+++r3   c               $    V ^8  d   QhRRRRRR/# )r&   r   r   factoryr   r,   r   r.   )r/   s   "r0   r1   r1     s!     / /^ /o /$ /r3   c                    V P                   P                  p\        P                  ! R RV4      p^pVRV pVP	                  VRR7      # )z[\W]_NT)r\   )nodenameresubrc   )r   r   r   MAXVALs   &&  r0   _mk_tmpr     sF    <<D66'3%DF=D>>$>..r3   c               $    V ^8  d   QhRRRRRR/# )r&   r   r   r   r   r,   zGenerator[Path]r.   )r/   s   "r0   r1   r1     s$     / ///>//r3   c              #    "   \        W4      pVx  VP                  pV P                  P                  \        ,          pVR8X  d&   VP                  RR4      '       d   \        VRR7       V P                  P                  \         R# 5i)a'  Return a temporary directory (as :class:`pathlib.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`.
rG   callTignore_errorsN)r   r#   r   stashtmppath_result_keyrL   r   )r   r   r7   rO   result_dicts   &&   r0   tmp_pathr     so      7-D
J //F,,$$%78Kkoofd;; 	t4(-.s   AB*Bc                   V ^8  d   QhRR/# )r&   
exitstatuszint | ExitCoder.   )r/   s   "r0   r1   r1   0  s     ( (n (r3   c                2   V P                   P                  pVP                  pVf   R# VP                  pV^ 8X  d9   VR8X  d2   VP                  f$   VP                  4       '       d   \        VRR7       VP                  4       '       d   \        V4       R# R# )zAfter each session, remove base directory if all the tests passed,
the policy is "failed", and the basetemp is not specified by a user.
NrG   Tr   )r?   r   r   r#   r   is_dirr   r	   )r   r   r   r*   rO   s   &&   r0   pytest_sessionfinishr   0  s     )0(H(H))H//Fah,,4?? 840 h' r3   T)wrappertryfirstc                    V ^8  d   QhRRRR/# )r&   itemr   r,   z'Generator[None, TestReport, TestReport]r.   )r/   s   "r0   r1   r1   J  s      
,r3   c              #     "   R x pVP                   f   Q h/ pVP                  V P                  P                  \        V4      VP                   &   V# 5ir5   )whenpassedr   
setdefaultr   )r   r   repemptys   &&  r0   pytest_runtest_makereportr   I  sJ      C88EADDJJ,e4SXX>Js   AArE   );r   
__future__r   collections.abcr   dataclassesr6   pathlibr   r   shutilr   rv   rr   typingr   r   r   r	   r
   r   r   r   _pytest.compatr   _pytest.configr   r   r   _pytest.config.argparsingr   _pytest.deprecatedr   _pytest.fixturesr   r   _pytest.monkeypatchr   _pytest.nodesr   _pytest.reportsr   _pytest.stashr   dictr9   r+   r   r"   	dataclassr   rt   r   r   r   r   r   r   r   r.   r3   r0   <module>r      s   D " %  	  	       * ! & 3  & ! # # , - $ + +  & " d39o.0 /0 o o  od	
N$ 	y, ,/ 	/ 	/0(2 
$& 'r3   