j7i ddlmZddlZddlmZddlmZddlmZddlmZddlm Z ddl m Z dd l m Z dd lmZdd lmZdd lmZerdd lmZdZddZddZddZej4GddZGddZy)) annotationsN)datetime) timedelta)Any) TYPE_CHECKING)nodes)Cache)Config)Parser)Session) TestReport)Selfzcache/stepwisec|jd}|jdddddd|jd d ddd d |jd dddddy)Ngeneralz--swz --stepwise store_trueFstepwisezBExit on test failure and continue from last failing test next time)actiondefaultdesthelpz --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-resetstepwise_resetzWResets stepwise state, restarting the stepwise workflow. Implicitly enables --stepwise.)getgroup addoption)parsergroups Y/mnt/ssd/data/python-lab/ChefSystem/venv/lib/python3.12/site-packages/_pytest/stepwise.pypytest_addoptionrs OOI &E OO  Q  OO )  OO ) c|jjs|jjrd|j_|j dr&|j j t|dyy)NTrstepwiseplugin)optionrrr getoption pluginmanagerregisterStepwisePlugin)configs rpytest_configurer(5sV }}""fmm&B&B!%   #%%nV&<>NO$rc|jjds0|jjJt|jdryyy)Nr workerinput)r'r#cachehasattrsessions rpytest_sessionfinishr/=sG >> # #J /~~##/// 7>>= 1  2 0rcXeZdZUded<ded<ded<ed dZed dZd d Zy )StepwiseCacheInfoz str | None last_failedz int | Nonelast_test_countstrlast_cache_date_strc@tj|jSN)r fromisoformatr5selfs rlast_cache_datez!StepwiseCacheInfo.last_cache_dateSs%%d&>&>??rcX|ddtjjS)N)r2r3r5)rnow isoformat)clss remptyzStepwiseCacheInfo.emptyWs' (  8 8 :  rcRtjj|_yr7)rr=r>r5r9s rupdate_date_to_nowz$StepwiseCacheInfo.update_date_to_now_s#+<<>#;#;#= rN)returnr)rCrrCNone) __name__ __module__ __qualname____annotations__propertyr; classmethodr@rBrrr1r1FsG   @@  >rr1cPeZdZd dZd dZd dZ d dZd dZddZddZ y)r&c||_d|_g|_|jJ|j|_|j d|_|j d|_|j|_y)Nrr) r'r. report_statusr+r#skipreset_load_cached_info cached_info)r:r's r__init__zStepwisePlugin.__init__dsi '+ (*||'''"LL  **?; !++,<= 113rcl|jjtd}|r t|d|d|dStjS#tt f$rV}t |jd|}|jjd|dYd}~tjSd}~wwxYw)Nr2r3r5z: z!error reading cache, discarding ()) r+getSTEPWISE_CACHE_DIRr1KeyError TypeErrortyperFrOappendr@)r: cached_dicteerrors rrRz StepwisePlugin._load_cached_infons-1ZZ^^)KI;W/0 } -Jm|m$ KK ) ) ) ;rc|jr|jr<|j|jjk(rd|j_d|_y|j|j_|j Jd|j _y|jdk(r6|j|jjk(rd|j_yyy)NFz0Test failed, continuing from this test next run.call)failedrPrgrSr2r. shouldstopwhen)r:reports rpytest_runtest_logreportz'StepwisePlugin.pytest_runtest_logreports ==yy==D$4$4$@$@@37D$$0! 06}}  ,||///F ' {{f$==D$4$4$@$@@37D$$0A%rc|jjdk\r)|jr|jDcgc]}d| c}Sycc}w)Nrz stepwise: )r' get_verbosityrO)r:xs rpytest_report_collectionfinishz-StepwisePlugin.pytest_report_collectionfinishsF ;; $ $ &! +0B0B.2.@.@Aj$A ABs Act|jdry|jj|jj t tj|jy)Nr*) r,r'rSrBr+setrX dataclassesasdictr9s rr/z#StepwisePlugin.pytest_sessionfinishsK 4;; .  ++- );+=+=d>N>N+OPrNr'r rCrE)rCr1r.r rCrE)r'r rdzlist[nodes.Item]rCrE)rwr rCrE)rCzlist[str] | NonerD) rFrGrHrTrRrarqrxr|r/rLrrr&r&cs?4) +<+<%5+< +rst" '!, &&%<P >>>8nQnQr