+
    -j	                       ^ RI H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 ]'       d   ^ RIHt RtR R ltR R ltR R lt]P4                   ! R R4      4       t ! R R4      tR# )    )annotationsN)datetime)	timedelta)Any)TYPE_CHECKING)nodes)Cache)Config)Parser)Session)
TestReport)Selfzcache/stepwisec                    V ^8  d   QhRRRR/# )   parserr   returnNone )formats   "e/Users/mitch_tango/dev/rabbit-r1-livekit/agent/.venv/lib/python3.14/site-packages/_pytest/stepwise.py__annotate__r      s      V      c           	         V P                  R 4      pVP                  RRRRRRR7       VP                  RR	RRR
RR7       VP                  RRRRRRR7       R# )generalz--swz
--stepwise
store_trueFstepwisezBExit on test failure and continue from last failing test next time)actiondefaultdesthelpz	--sw-skipz--stepwise-skipstepwise_skipz_Ignore the first failing test but stop on the next failing test. Implicitly enables --stepwise.z
--sw-resetz--stepwise-resetstepwise_resetzWResets stepwise state, restarting the stepwise workflow. Implicitly enables --stepwise.N)getgroup	addoption)r   groups   & r   pytest_addoptionr&      s    OOI&E	OOQ   
OO)   
OO)  r   c                    V ^8  d   QhRRRR/# r   configr
   r   r   r   )r   s   "r   r   r   5   s     P PV P Pr   c                   V P                   P                  '       g   V P                   P                  '       d   R V P                   n        V P	                  R4      '       d(   V P
                  P                  \        V 4      R4       R# R# )Tr   stepwisepluginN)optionr!   r"   r   	getoptionpluginmanagerregisterStepwisePlugin)r)   s   &r   pytest_configurer1   5   s_    }}"""fmm&B&B&B!%
##%%nV&<>NO $r   c                    V ^8  d   QhRRRR/# r   sessionr   r   r   r   )r   s   "r   r   r   =   s      ' d r   c                    V P                   P                  R 4      '       g;   V P                   P                  f   Q h\        V P                   R4      '       d   R# R# R# )r   Nworkerinput)r)   r-   cachehasattrr4   s   &r   pytest_sessionfinishr:   =   sM    >>##J//~~##///7>>=11  2 0r   c                  n    ] tR t^Ft$ R]R&   R]R&   R]R&   ]R R l4       t]R	 R
 l4       tR R lt	Rt
R# )StepwiseCacheInfoz
str | Nonelast_failedz
int | Nonelast_test_countstrlast_cache_date_strc                   V ^8  d   QhRR/# )r   r   r   r   )r   s   "r   r   StepwiseCacheInfo.__annotate__T   s     @ @ @r   c                	B    \         P                  ! V P                  4      # N)r   fromisoformatr@   selfs   &r   last_cache_date!StepwiseCacheInfo.last_cache_dateS   s    %%d&>&>??r   c                   V ^8  d   QhRR/# )r   r   r   r   )r   s   "r   r   rB   X   s     
 
d 
r   c                	Z    V ! R R \         P                  ! 4       P                  4       R7      # )N)r=   r>   r@   )r   now	isoformat)clss   &r   emptyStepwiseCacheInfo.emptyW   s'      ( 8 8 :
 	
r   c                   V ^8  d   QhRR/# r   r   r   r   )r   s   "r   r   rB   _   s     > >D >r   c                	V    \         P                  ! 4       P                  4       V n        R # rD   )r   rL   rM   r@   rF   s   &r   update_date_to_now$StepwiseCacheInfo.update_date_to_now_   s    #+<<>#;#;#= r   )r@   N)__name__
__module____qualname____firstlineno____annotations__propertyrH   classmethodrO   rT   __static_attributes__r   r   r   r<   r<   F   sL     
   @ @ 
 
> >r   r<   c                  j    ] tR t^ctR R ltR R ltR R ltR R ltR	 R
 ltR R lt	R R lt
RtR# )r0   c                    V ^8  d   QhRRRR/# r(   r   )r   s   "r   r   StepwisePlugin.__annotate__d   s     4 4v 4$ 4r   c                	    Wn         R V n        . V n        VP                  f   Q hVP                  V n        VP	                  R4      V n        VP	                  R4      V n        V P                  4       V n        R # )Nr!   r"   )	r)   r4   report_statusr7   r-   skipreset_load_cached_infocached_info)rG   r)   s   &&r   __init__StepwisePlugin.__init__d   sg    '+(*||'''"LL
 **?;	!++,<=
113r   c                   V ^8  d   QhRR/# )r   r   r<   r   )r   s   "r   r   r`   n   s     ) )#4 )r   c                	   V P                   P                  \        R 4      pV'       d$    \        VR,          VR,          VR,          4      # \        P                  4       #   \        \
        3 dW   p\        T4      P                   RT 2pT P                  P                  RT R24        R p?\        P                  4       # R p?ii ; i)Nr=   r>   r@   z: z!error reading cache, discarding ())r7   getSTEPWISE_CACHE_DIRr<   KeyError	TypeErrortyperV   rb   appendrO   )rG   cached_dicteerrors   &   r   re    StepwisePlugin._load_cached_infon   s    -1ZZ^^<NPT-UX(. 12 56  !&&(( i( X7++,Bqc2"")),MeWTU*VWW !&&((Xs   !A   C19CCc                    V ^8  d   QhRRRR/# r3   r   )r   s   "r   r   r`   ~   s      7 t r   c                	    Wn         R # rD   r9   )rG   r4   s   &&r   pytest_sessionstart"StepwisePlugin.pytest_sessionstart~   s    r   c               $    V ^8  d   QhRRRRRR/# )r   r)   r
   itemszlist[nodes.Item]r   r   r   )r   s   "r   r   r`      s$     +< +<+<%5+<	+<r   c                	   V P                   P                  p\        V4      V P                   n        V P                  '       d/   V P                  P                  R 4       RV P                   n        R# V P                   P                  '       g   V P                  P                  R4       R# VeO   V\        V4      8w  d?   V P                  P                  R\        V4       RV R24       RV P                   n        R# Rp\        V4       F.  w  rVVP                  V P                   P                  8X  g   K,  Tp M	  Vf   V P                  P                  R4       R# \        P                  ! 4       V P                   P                  ,
          p\        \        VP                  4       4      R7      pV P                  P                  RV R	V R
24       VRV pVRV1 VP                  P!                  VR7       R# )zresetting state, not skipping.Nz)no previously failed tests, not skipping.z&test count changed, not skipping (now z tests, previously z).z/previously failed test not found, not skipping.)secondsz	skipping z" already passed items (cache from z! ago, use --sw-reset to discard).)r{   )rf   r>   lenrd   rb   rq   r=   	enumeratenodeidr   rL   rH   r   inttotal_secondshookpytest_deselected)	rG   r)   r{   r>   failed_indexindexitem	cache_age
deselecteds	   &&&      r   pytest_collection_modifyitems,StepwisePlugin.pytest_collection_modifyitems   s    **::+.u:(:::%%&FG+/D(+++%%&QR&?c%j+H%%8UDWXgWhhjk ,0D( $U+KE{{d..:::$ , %%&WX )9)9)I)III!#i.E.E.G*HII%%L>)KI; W/ 0 }-Jm|m$KK))
);r   c                    V ^8  d   QhRRRR/# )r   reportr   r   r   r   )r   s   "r   r   r`      s     8 8z 8d 8r   c                	   VP                   '       d   V P                  '       d@   VP                  V P                  P                  8X  d   R V P                  n        RV n        R # VP                  V P                  n        V P
                  f   Q hRV P
                  n        R # VP                  R8X  d;   VP                  V P                  P                  8X  d   R V P                  n        R # R # R # )NFz0Test failed, continuing from this test next run.call)failedrc   r   rf   r=   r4   
shouldstopwhen)rG   r   s   &&r   pytest_runtest_logreport'StepwisePlugin.pytest_runtest_logreport   s    ===yyy ==D$4$4$@$@@37D$$0!	 06}}  ,||///F ' {{f$==D$4$4$@$@@37D$$0 A %r   c                   V ^8  d   QhRR/# )r   r   zlist[str] | Noner   )r   s   "r   r   r`      s      0@ r   c                	    V P                   P                  4       ^ 8  d2   V P                  '       d    V P                   Uu. uF  pRV 2NK
  	  up# R# u upi )r   z
stepwise: N)r)   get_verbosityrb   )rG   xs   & r   pytest_report_collectionfinish-StepwisePlugin.pytest_report_collectionfinish   sO    ;;$$&!+0B0B0B.2.@.@A.@j$.@AA Bs    Ac                   V ^8  d   QhRR/# rR   r   )r   s   "r   r   r`      s     Q Qd Qr   c                	    \        V P                  R 4      '       d   R# V P                  P                  4        V P                  P                  \        \        P                  ! V P                  4      4       R# )r6   N)	r8   r)   rf   rT   r7   setrm   dataclassesasdictrF   s   &r   r:   #StepwisePlugin.pytest_sessionfinish   sN    4;;.. ++-

);+=+=d>N>N+OPr   )r7   rf   r)   rb   rd   r4   rc   N)rV   rW   rX   rY   rg   re   rx   r   r   r   r:   r]   r   r   r   r0   r0   c   s-    4) +<Z80
Q Qr   r0   )
__future__r   r   r   r   typingr   r   _pytestr   _pytest.cacheproviderr	   _pytest.configr
   _pytest.config.argparsingr   _pytest.mainr   _pytest.reportsr   typing_extensionsr   rm   r&   r1   r:   	dataclassr<   r0   r   r   r   <module>r      st    "        ' ! ,   & &% <P > > >8nQ nQr   