§ |<ˆjd#ãóˆ—dZddlZddlZddlZddlZddlmZddlmZddl m Z ddlm Z ddlm Z ddlmZdd lmZdd lmZdd lmZdd lmZdd lmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddl m!Z!ej"rddl#m$Z$dgZ%Gd„d¦«Z&Gd„dee ¦«Z'dS)z#ProcessDispatcher class declarationéN)Údeque)Údeepcopy)Úpartial)ÚAny)ÚAnyStr)Ú Awaitable)ÚCallable)ÚDeque)ÚDict)ÚGeneric)ÚList)ÚOptional)ÚTuple)ÚType)ÚUnioné)Úasyncio_subprocess)Ú exceptions)ÚAsyncFakePopen)Ú FakePopen)ÚCOMMAND)ÚCommand)Ú FakeProcessÚProcessDispatcherc óV—eZdZUdZgZeded<dZee ed<dZ ee ed<dZ e ed<e¦«Zedede ffed <dZe ed <d Zeed <edd„¦«Zedd„¦«Zededeedeeejffd„¦«Zedeeefdedeee jj!ffd„¦«Z"edeeefdeeefdedeee jj!ffd„¦«Z#edede dedeee jj!ffd„¦«Z$edee%ee%efdeded edeeeff d„¦«Z&ededeefd„¦«Z'edede(ee)ee*eee fedffd„¦«Z+dS) rz"Main class for handling processes.rÚ process_listNÚbuilt_in_popenÚbuilt_in_async_subprocessFÚ_allow_unregisteredÚ_cacheÚ_keep_last_processrÚ_pidÚprocessÚreturncóF—|jsftj|_tt_t j|_|jt _|j t _ tt _d„|jD¦«|j |<|j  |¦«dS)Ncó8—i|]}|t|j¦«“ŒS©)rÚ definitions)Ú.0Úprocs úv/builddir/build/BUILD/cloudlinux-venv-1.0.12/venv/lib/python3.11/site-packages/pytest_subprocess/process_dispatcher.pyú z.ProcessDispatcher.register..;s2€ð ð ð Ø15ˆD•(˜4Ô+Ñ,Ô,ð ð ð ó)rÚ subprocessÚPopenrÚFakePopenWrapperÚasynciorÚ async_shellÚcreate_subprocess_shellÚ async_execÚcreate_subprocess_execrr Úappend)Úclsr#s r+ÚregisterzProcessDispatcher.register0sŽ€àÔð 4Ý!+Ô!1ˆCÔ Ý/�JÔ å,3Ô,>ˆCÔ )Ø.1¬o�GÔ +Ø-0¬^�GÔ *Ý!3�GÔ ð ð Ø9<Ô9Ið ñ ô ˆŒ �7Ñð Ô×Ò Ñ(Ô(Ð(Ð(Ð(r-có —|j |¦«|j |¦«}| ¦«D] \}}||_Œ |jsq|jt_d|_|j € tj ‚|j t_|j j t_ |j jt_d|_ dSdS©N)rÚremover ÚpopÚitemsr(rr.r/rrÚPluginInternalErrorr1r3r5)r7r#Úcacher*Ú processess r+Ú deregisterzProcessDispatcher.deregister@sË€à Ô×Ò Ñ(Ô(Ð(Ø” —’˜wÑ'Ô'ˆØ$Ÿ{š{™}œ}ð )ð )‰OˆD�)Ø(ˆDÔ Ð ØÔð 1Ø"Ô1�JÔ Ø!%ˆCÔ àÔ,Ð4Ý Ô4Ð4à!$Ô!>�GÔ àÔ-ÔEõ Ô +ðÔ-ÔDõ Ô *ð-1ˆCÔ )Ð )Ð )ð 1ð 1r-ÚcommandÚkwargsc ó—| |¦«}|€#|j€ tj‚|j|fi|¤Ž}|S| t |||¦«}t |t ¦«s tj‚| ¦«|S)z:This method will be used instead of the subprocess.Popen())Ú_ProcessDispatcher__dispatchrrr>Ú_prepare_instancerÚ isinstanceÚ run_thread)r7rBrCr#ÚpopenÚresults r+ÚdispatchzProcessDispatcher.dispatchVs–€ð —.’. Ñ)Ô)ˆà ˆ?ØÔ!Ð)Ý Ô4Ð4à&8 cÔ&8¸Ð&KÐ&KÀFÐ&KÐ&KˆE؈Là×&Ò&¥y°'¸6À7ÑKÔKˆÝ˜&¥)Ñ,Ô,ð 1ÝÔ0Ð 0Ø×ÒÑÔÐØˆ r-Úcmdc‹óK—t|ttf¦«std¦«‚t |jj|fi|¤Ž}t|t¦«r| ¦«}| |||¦«ƒd{V—†S)z1Replacement of asyncio.create_subprocess_shell()zcmd must be a stringN) rGÚstrÚbytesÚ ValueErrorrrr3ÚdecodeÚ _call_async)r7rLrCÚmethods r+r2zProcessDispatcher.async_shelljs èè€õ ˜#¥¥U˜|Ñ,Ô,ð 5ÝÐ3Ñ4Ô4Ð 4ÝØ Ô )Ô AØ ð ð ðð ð ˆõ �c�5Ñ !Ô !ð Ø—*’*‘,”,ˆCØ—_’_ S¨&°&Ñ9Ô9Ð9Ð9Ð9Ð9Ð9Ð9Ð9r-ÚprogramÚargsc�ó<K—t|ttf¦«std¦«‚t |jj|g|¢Ri|¤Ž}t|t¦«r| ¦«}|gd„|D¦«¢}| |||¦«ƒd{V—†S)z/Replacement of asyncio.create_subprocess_exec()zprogram must be a stringcód—g|]-}t|t¦«r| ¦«n|‘Œ.Sr')rGrOrQ)r)Úargs r+ú z0ProcessDispatcher.async_exec..Œs3€Ð NÐ NÐ NÀ#�j¨­eÑ4Ô4Ð=ˆc�jŠj‰lŒlˆl¸#Ð NÐ NÐ Nr-N) rGrNrOrPrrr5rQrR)r7rTrUrCrSrBs r+r4zProcessDispatcher.async_execzsÓèè€õ ˜'¥C­ <Ñ0Ô0ð 9ÝÐ7Ñ8Ô8Ð 8åØ Ô )Ô @Ø ð ðð ð ð ðð  ð ˆõ �g�uÑ %Ô %ð 'Ø—n’nÑ&Ô&ˆGà ð à NÐ NÈÐ NÑ NÔ Nð ˆð—_’_ W¨f°fÑ=Ô=Ð=Ð=Ð=Ð=Ð=Ð=Ð=r-Ú async_methodcƒóÞK—| |¦«}|€%|j€ tj‚|¦«}|ƒd{V—†StjdkrLt tj¦«  ¦«tj ¦«rtd¦«‚|  t|||¦«}t |t¦«s tj‚| ¦«|S)NÚwin32z0The SelectorEventLoop doesn't support subprocess)rErrr>ÚsysÚplatformrGr1Úget_event_loop_policyÚget_event_loopÚSelectorEventLoopÚNotImplementedErrorrFrÚevaluate)r7rBrZrCr#r2rJs r+rRzProcessDispatcher._call_async�sîèè€ð—.’. Ñ)Ô)ˆà ˆ?ØÔ,Ð4Ý Ô4Ð4àAMÀÁĈKØ$Ð$Ð$Ð$Ð$Ð$Ð$Ð $å Œ<˜7Ò "Ð "¥zÝ Ô )Ñ +Ô +× :Ò :Ñ <Ô <½gÔ>Wñ( ô( Ð "õ&ØBñôð ð×&Ò&¥~°wÀÈÑPÔPˆÝ˜&¥.Ñ1Ô1ð 1ÝÔ0Ð 0Ø�ŠÑÔÐØˆ r-ÚklasscóØ—| ¦«}||d<| d¦«}|di|¤Ž}|j |¦«|j|_|jdi|¤Ž|S)NrBÚrecorderr')Úcopyr<Úcallsr6r"ÚpidÚ configure)r7rdrBrCr#Úfake_popen_kwargsrfrJs r+rFz#ProcessDispatcher._prepare_instance­sƒ€ð$ŸLšL™NœNÐØ'.И)Ñ$Ø$×(Ò(¨Ñ4Ô4ˆà�Ð+Ð+Ð*Ð+Ð+ˆØŒ×Ò˜fÑ%Ô%Ð%Ø”XˆŒ ؈ÔÐ"Ð"˜6Ð"Ð"Ð"؈ r-có—| |¦«\}}}|r|j |¦«|s`|jdjsLt jdt|t¦«r|nd  d„|D¦«¦«›d�¦«‚dS|  ¦«}|s4|�2|jdj r| |¦«n |r|j |=|xj dz c_ t|t¦«rdS|S)Néÿÿÿÿz The process 'ú c3ó4K—|]}t|¦«V—ŒdSr:)rN)r)Úitems r+ú z/ProcessDispatcher.__dispatch..Ñs(èè€Ð)HÐ)H¸­#¨d©)¬)Ð)HÐ)HÐ)HÐ)HÐ)HÐ)Hr-z' was not registered.r)Ú _get_processrhr6rrrÚProcessNotRegisteredErrorrGrNÚjoinÚpopleftr!r(r"Úbool)r7rBÚcommand_instancer@Úprocess_instancer#s r+Ú __dispatchzProcessDispatcher.__dispatchÄsJ€à8;×8HÒ8HÈÑ8QÔ8QÑ5И)Ð%5Ø ð 3Ø Ô "× )Ò )¨'Ñ 2Ô 2Ð 2Øð ØÔ# BÔ'Ô;ð Ý Ô:Ð:õ *¨'µ3Ñ7Ô7ðI˜G˜Gà!$§¢Ð)HÐ)HÀÐ)HÑ)HÔ)HÑ!HÔ!HðIðIðñ ô ð ð�tØ×#Ò#Ñ%Ô%ˆØð CÐ-Ð9ØÔ Ô#Ô6ð CØ× Ò  Ñ)Ô)Ð)Ð)Ø!ð CØ$Ô0Ð1AÐBØ ˆŒ�A‰ ˆŒÝ �g�tÑ $Ô $ð à�4؈r-có⇗t|j¦«D]X}tˆfd„|j ¦«D¦«d¦«\}}|}|rt |t ¦«r|||fcSŒYdS)Nc3ó2•K—|]\}}|‰k¯ ||fV—ŒdSr:r')r)ÚkeyÚvaluerBs €r+rqz1ProcessDispatcher._get_process..ës=øèè€ððá"˜˜Uؘg’~�~ð˜%�Là%�~�~�~ððr-)NN)NNN)ÚreversedrÚnextr(r=rGr)r7rBr*rwr@rxs ` r+rrzProcessDispatcher._get_processãs®ø€õ ˜SÔ-Ñ.Ô.ð Eð EˆDÝ*.ððððà&*Ô&6×&<Ò&<Ñ&>Ô&>ðñôð ñ +ô+Ñ 'Ð ˜ið $Ð Øð E�Z¨ µ5Ñ9Ô9ð EØ'¨Ð4DÐDÐDÐDÐDøØÐr-)r#rr$N),Ú__name__Ú __module__Ú __qualname__Ú__doc__rr Ú__annotations__rrr rÚAnyTyperrvÚdictr r r!r"ÚintÚ classmethodr8rArrrr.r/rKrNrOrr1ÚProcessr2r4rRrrFrErrr rrr'r-r+rr%s@€€€€€€Ø,Ð,à(*€L�$�}Ô%Ð*Ð*Ñ*Ø)-€N�H˜XÔ&Ð-Ð-Ñ-Ø37Иx¨Ô0Ð7Ð7Ñ7Ø %ИÐ%Ð%Ñ%Ø@DÀÁÄ€FˆD�  ]°GÐ%;Ô <Ð<Ô =ÐFÐFÑFØ$ИÐ$Ð$Ñ$Ø€Dˆ#€M€M�Màð )ð )ð )ñ„[ð )ðð1ð1ð1ñ„[ð1ð*ðØðØ)1°$¬ðà ˆy˜*Ô*Ð*Ô +ðððñ„[ðð&ð :ؘ˜U˜ Ô#ð :Ø/3ð :à ˆ~˜wÔ1Ô9Ð9Ô :ð :ð :ð :ñ„[ð :ðð>ؘC ˜JÔ'ð>Ø05°c¸5°jÔ0Að>ØMQð>à ˆ~˜wÔ1Ô9Ð9Ô :ð>ð>ð>ñ„[ð>ð*ðàððððð ð ˆ~˜wÔ1Ô9Ð9Ô :ð ððñ„[ðð8ðà�T˜)”_ d¨>Ô&:Ð:Ô;ððððð ð ð ð ˆy˜.Ð(Ô )ð ððñ„[ðð,ð ð¨X°d¬^ðððñ„[ðð<ð Øð à Ø�Ô˜8 E¨%°°d° Ô*;Ô$<Ô=¸xÈ Ô?VÐVô ð ð ð ñ„[ð ð ð r-có.—eZdZdedeedefd„ZdS)r0rBrCr$c ó&—tj|fi|¤ŽSr:)rrK)r7rBrCs r+Ú__new__zFakePopenWrapper.__new__ùs€õ!Ô)¨'Ð<Ð<°VÐ<Ð<Ðr—s<ðØ)Ð)à€€€ØÐÐÐØ € € € Ø € € € ØÐÐÐÐÐØÐÐÐÐÐØÐÐÐÐÐØ!Ð!Ð!Ð!Ð!Ð!ØÐÐÐÐÐØÐÐÐÐÐØÐÐÐÐÐØÐÐÐÐÐØÐÐÐÐÐØÐÐÐÐÐØÐÐÐÐÐØÐÐÐÐÐØÐÐÐÐÐØÐÐÐÐÐØÐÐÐÐÐà Ð Ð Ð Ð Ð ØÐÐÐÐÐØ&Ð&Ð&Ð&Ð&Ð&Ø!Ð!Ð!Ð!Ð!Ð!ØÐÐÐÐÐØÐÐÐÐÐà Ôð*Ø)Ð)Ð)Ð)Ð)Ð)ð Ð €ðP ðP ðP ðP ðP ñP ôP ðP ðf=ð=ð=ð=ð=�w˜v”ñ=ô=ð=ð=ð=r-