+
    5mj6  c                     ^ RI Ht ^ RIt^ RIHu Ht ^ RIt^ RI	t	^ RI
Ht ^ RIt]	P                  P                  ^ ]! ]! ]4      P#                  4       P$                  ^,          4      4       ^ RIt^ RIHtHtHt ^ RIHtHt ^ RIHtH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 R lt$R R lt%R R lt&R R lt'R# )    )annotationsN)Path)AccountRegistryAuthorityBindingAuthorityMode)AuthorityLaunchGatewayStatus)AccountSnapshotHealthStatusc                    V ^8  d   QhRRRR/# )   homer   return )formats   "m/home/user/overdeck-private-tests/workstation-ai-broad/modules/systray/tests/test_command_router_authority.py__annotate__r      s     : :4 :D :    c                    V R ,          # )z%.local/state/overdeck/systray/runtimer   r   s   &r   _runtimer      s    999r   c                    V ^8  d   QhRRRR/# )r   r   r   r   r   r   )r   s   "r   r   r      s      4 O r   c                   \        V 4      p\        WR ,          R7      pVP                  RR4      pVP                  R4      P	                  RRR7       VP
                  P	                  \        P                  ! R/ R	RR
. RRR^d/4      RR7       VP                  P	                  \        P                  ! RRRR^ R^ //4      RR7       V# )z.codex)base_dirlegacy_codex_homefixtureFixturez	auth.jsonz{}utf-8encodingprojectsdefaultfallback_chainfallback_triggerbroken_or_quota_exhaustedquota_exhausted_threshold_pctstatusokprimary_used_pctsecondary_used_pct)	r   r   add_dirjoinpath
write_textrouting_rules_pathjsondumpshealth_cache_path)r   baseregistryaccount_homes   &   r   _prepare_accountr4      s    D>DxPH##Iy9L+&11$1I**

B9 ""$?/	
  +  ))

d&(!	
  *  Or   c               $    V ^8  d   QhRRRRRR/# r   tmp_pathr   monkeypatchpytest.MonkeyPatchr   Noner   )r   s   "r   r   r   5   s$     90 9090!390	90r   c                J  aaaa V oVP                  \        P                  R V3R l4       VP                  \        P                  RR 4       \	        S4      p\        P
                  ! 4       pVP                  VRR 4       . oVP                  \        P                  RV3R l4       \        P                  ! VR8R	 lR
7      pVP                  pRR.qe! V4      p^ qV8H  q'       g   \        P                  ! R9V	3R:Wx34      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      /,          p
RRV
/,          p\        \        P                   ! V4      4      hR;p;p;p;rSP#                  4       pV R,          pVP%                  RRR7       VP'                  R4       VP)                  R\+        \,        P.                  RRRVP1                  4       R7      4       V R,          p\3        RR;R \5        V4      R!R/V\7        R"R#R$4      R%7      o. oR& VV3R' llpVP                  \        R(V4       \        P                  ! VR8R) lR
7      pVP                  pRR.qe! V4      p^ qV8H  q'       g   \        P                  ! R9V	3R:Wx34      RR*\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MR*R\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      /,          p
RRV
/,          p\        \        P                   ! V4      4      hR;p;p;p;rSP#                  4       pS'       gw   R+RR,\        P                  ! 4       9   g   \        P                  ! S4      '       d   \        P                  ! S4      MR,/,          p\        \        P                   ! V4      4      hVP8                  pR#pVV8H  qf'       g   \        P                  ! R9V3R<VV34      RR*\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MR*R\        P                  ! V4      R-\        P                  ! V4      /,          pR.R/V/,          p\        \        P                   ! V4      4      hR;p;ppVV8H  qU'       g   \        P                  ! R9V3R=VV34      RR0\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MR0RR1\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MR1/,          pR2RV/,          p\        \        P                   ! V4      4      hRpV^,          R ,          pVP:                  pR3pV! V4      pV'       g   R4R5\        P                  ! V4      R6\        P                  ! V4      R-\        P                  ! V4      R/\        P                  ! V4      /,          p\        \        P                   ! V4      4      hR;p;p;ppR!pV^,          pVV9  pV'       gz   \        P                  ! R>V3R?VV34      R5\        P                  ! V4      R\        P                  ! V4      /,          pR7RV/,          p\        \        P                   ! V4      4      hR;p;ppR# )@r   c                    < S # Nr   r   s   r   <lambda>Utest_dark_binding_builds_gateway_plan_but_executes_native_unchanged.<locals>.<lambda>9       Tr   in_containerc                     R # Tr   r   r   r   r>   r?   :       PTr   sync_before_execc                    . # r=   r   _bases   &r   r>   r?   =       2r   execvpec                <   < SP                  W\        V4      34      # r=   appenddict
executableargvenvcaptureds   &&&r   r>   r?   B       hoozc6S&Tr   Nc                    R # noner   _cwds   &r   r>   r?   E   s    `fr   detect_project_namecdxchatpy0native_routerpy2py4py6py9assert %(py11)spy11fixture.grant	syntheticr   r     r   workstationfixture-routecodexmodeauthority_nameroute_idproviderproxy_grant_refgateway
CODEX_HOMESUBROUTER_PROXY_KEYreadyGateway: ready      ?rP   rQ   environmentgateway_homesanitized_statusc               $    V ^8  d   QhRRRRRR/# )r   argsobjectkwargsr   r   r   )r   s   "r   r   Ytest_dark_binding_builds_gateway_plan_but_executes_native_unchanged.<locals>.__annotate__`   s!      & F  r   c                 4   < SP                  . V OVN54       S# r=   rM   )r}   r   callsprospectives   *,r   
fake_buildWtest_dark_binding_builds_gateway_plan_but_executes_native_unchanged.<locals>.fake_build`   s    _t_V_%r   build_authority_launchc                    R # rV   r   rX   s   &r   r>   r?   e   s    ^dr   dark_routerzassert %(py0)sr   py5assert %(py7)spy7darknativezassert %(py4)szaccounts/fixture/CODEX_HOMEJassert %(py7)s
{%(py7)s = %(py3)s
{%(py3)s = %(py1)s.endswith
}(%(py5)s)
}py1py3assert %(py6)sr=   ==zJ%(py6)s
{%(py6)s = %(py2)s
{%(py2)s = %(py0)s.main
}(%(py4)s)
} == %(py9)sr]   z<%(py2)s
{%(py2)s = %(py0)s._last_gateway_status
} == %(py5)s)z%(py0)s == %(py2)snot inz%(py1)s not in %(py4)s)setattrcommand_routerr   remote_dispatchr4   CodexAdapterosCommandRoutermain
@pytest_ar_call_reprcompare@py_builtinslocals_should_repr_global_name	_safereprAssertionError_format_explanationpopr,   chmodset_authority_bindingr   r   SUBROUTER_DARKresolver   strr   _last_gateway_statusendswith) r7   r8   r2   adapterr_   @py_assert1@py_assert3@py_assert5@py_assert8@py_assert7@py_format10@py_format12r   grantprospective_homer   r   r   @py_format1@py_assert4@py_format6@py_format8@py_format3@py_format5@py_assert0@py_assert2@py_assert6@py_format7r   rS   r   r   s    &&                          @@@@r   Ctest_dark_binding_builds_gateway_plan_but_executes_native_unchangedr   5   s    D++V\B66U%H))+G!35EF<>HT #00NfgM3ufo3o.3!3!33333.333333=3333=333333o333.333!33333333\\^F&E	[73	KK""--($!MMO	
	  )+!!3'7#8:OQ\]%&w0@#FK ')E  (@*M ..wLdeK1UFO1O,1111111,111111;1111;111111O111,11111111111<<>DLLLLLL5LLLL5LLLLLL++?/??+/??????+/???????;????;???+???/?????????6>4644667< H ))H*GH)*GHHHHHH HHH)HHH*GHHHHHHHHHHH /Q/ ///// /// ///////////r   c               $    V ^8  d   QhRRRRRR/# r6   r   )r   s   "r   r   r   q   s)     "A "A"A!3"A	"Ar   c                  aa V oVP                  \        P                  R V3R l4       VP                  \        P                  RR 4       \	        S4      pVP                  R\        \        P                  RRRV R,          P                  4       R	7      4       VP                  \        R
R 4       . oVP                  \        P                  RV3R l4       \        P                  ! \        P                  ! 4       R"R lR7      pVP                  pRR.qT! V4      p^ qvV8H  q'       g   \        P                  ! R#V3R$Wg34      RR\         P"                  ! 4       9   g   \        P$                  ! V4      '       d   \        P&                  ! V4      MRR\        P&                  ! V4      R\        P&                  ! V4      R\        P&                  ! V4      R\        P&                  ! V4      /,          p	RRV	/,          p
\)        \        P*                  ! V
4      4      hR;p;p;p;rVP,                  P.                  R..pSV8H  qD'       g   \        P                  ! R#V3R%SV34      RR\         P"                  ! 4       9   g   \        P$                  ! S4      '       d   \        P&                  ! S4      MRR\        P&                  ! V4      /,          pRRV/,          p\)        \        P*                  ! V4      4      hR;rKVP0                  pRqV8H  qU'       g   \        P                  ! R#V3R&WN34      RR\         P"                  ! 4       9   g   \        P$                  ! V4      '       d   \        P&                  ! V4      MRR\        P&                  ! V4      R\        P&                  ! V4      /,          pR R!V/,          p\)        \        P*                  ! V4      4      hR;p;r^R# )'r   c                    < S # r=   r   r   s   r   r>   Ttest_dark_unexpected_gateway_failure_cannot_block_native_execution.<locals>.<lambda>u   r@   r   rA   c                     R # rC   r   r   r   r   r>   r   v   rD   r   r   ri   rj   rk   missing.grantrl   r   c                 D    R  R 4       P                  \        R4      4      # )c              3  $   "   T F  qx  K  	  R # 5ir=   r   ).0_s   & r   	<genexpr>gtest_dark_unexpected_gateway_failure_cannot_block_native_execution.<locals>.<lambda>.<locals>.<genexpr>   s     /b1bs   zprivate pathr   )throwPermissionError_args_kwargss   *,r   r>   r      s    /b/"7"78W"Xr   rJ   c                &   < SP                  V4      # r=   r   )_executablerQ   _envrS   s   &&&r   r>   r      s    (=r   Nc                    R # rV   r   rX   s   &r   r>   r          Vr   rZ   r\   r]   r^   routerr`   ra   rb   rc   rd   re   rS   r   assert %(py5)sr   zGateway: unavailabler   r   r=   r   r   z%(py0)s == %(py3)sr   )r   r   r   r   r4   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   	exec_namer   )r7   r8   r2   r   r   r   r   r   r   r   r   r   @py_format4r   r   r   rS   r   s   &&              @@r   Btest_dark_unexpected_gateway_failure_cannot_block_native_executionr   q   sm    D++V\B66U%H""--($%7@@B	
	  X
 !#H=
 ))##%;SF ;;,v,;',1,1,,,,,',,,,,,6,,,,6,,,;,,,,,,',,,1,,,,,,,,116:;;8;;;;;;8;;;;;;;8;;;;8;;;;;;;;;;;;&&@*@@*@@@@@@&@@@@@@6@@@@6@@@&@@@*@@@@@@@@@r   c               $    V ^8  d   QhRRRRRR/# r6   r   )r   s   "r   r   r      s$     ? ??!3?	?r   c                N  aa V oVP                  \        P                  R V3R l4       \        P                  ! 4       pVP                  VRR 4       VP                  VRR 4       VP	                  RR4       VP	                  RR4       . oVP                  \        P
                  R	V3R
 l4       \        P                  ! VR*R lR7      pVP                  pRR.qT! V4      p^ qvV8H  q'       g   \        P                  ! R+V3R,Wg34      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      /,          p	RRV	/,          p
\        \        P                  ! V
4      4      hR;p;p;p;r. pSpS'       d#   S^ ,          ^,          qP                   R.qV8H  qpV'       Eg#   RRR\        P                  ! 4       9   g   \        P                  ! S4      '       d   \        P                  ! S4      MR/,          qP#                  V4       S'       dl   \        P                  ! R+X3R-XV34      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          pVP#                  V4       \        P$                  ! V^ 4      / ,          p
RRV
/,          p\        \        P                  ! V4      4      hR;p;p;p;rS^ ,          ^,          pRqV9  pV'       g   \        P                  ! R.V3R/VV34      R \        P                  ! V4      R!R"\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MR"/,          pR#RV/,          p\        \        P                  ! V4      4      hR;ppRqV9  pV'       g   \        P                  ! R.V3R/VV34      R \        P                  ! V4      R!R"\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MR"/,          pR#RV/,          p\        \        P                  ! V4      4      hR;ppVR$,          qP&                  pR%pV! V4      q'       g   R&R \        P                  ! V4      R!\        P                  ! V4      R\        P                  ! V4      R'\        P                  ! V4      /,          p\        \        P                  ! V4      4      hR;p;p;rR(pVR$,          q[V9  pV'       gy   \        P                  ! R.V3R0W34      R \        P                  ! V4      R\        P                  ! V4      /,          pR)RV/,          p\        \        P                  ! V4      4      hR;p;ppR# )1r   c                    < S # r=   r   r   s   r   r>   Ctest_info_only_does_not_resolve_authority_binding.<locals>.<lambda>   r@   r   accountc                 .    \         P                  ! R 4      # )z%info-only resolved authority metadatapytestfailr   s   *,r   r>   r      s    &++.U"Vr   rE   c                    . # r=   r   rG   s   &r   r>   r      rI   r   OPENAI_API_KEYzmust-not-survivert   rJ   c                <   < SP                  W\        V4      34      # r=   rL   rO   s   &&&r   r>   r      rT   r   Nc                    R # rV   r   rX   s   &r   r>   r          Y_r   rZ   r\   z	--versionr^   r   r`   ra   rb   rc   rd   re   %(py2)srS   r   py8%(py10)spy10assert %(py13)spy13r   r   ry   r   rs   zcredentialless-info-homes/codexr   r   zaccounts/fixturer   r=   r   r   z%(py5)s == %(py8)sr   )z%(py1)s not in %(py3)sr   )r   r   r   r   setenvr   r   r   r   r   r   r   r   r   r   r   r   rM   _format_boolopr   )r7   r8   r   r   r   r   r   r   r   r   r   r   r   r   r   @py_format9@py_format11@py_format14ry   r   r   r   r   r   r   rS   r   s   &&                       @@r   1test_info_only_does_not_resolve_authority_bindingr      s    D++V\B))+GV
 !35EF');<,.@A<>HT ))'G_`F;;1{+1;+,1111111,111111611116111;111+111,11111111111J8J8AJ+<+<k*JJ*JJJJJJJJJ8JJJJ8JJJJ8JJJ*JJJJJJJ*JJJJJJJJJJJJJJJJJ1+a.K.;.....;.........;....;........ 333333 333 333333333333333333|$P--P.OP-.OPPPPPP$PPP-PPP.OPPPPPPPPPPP>[%>>%>>>>>>>>>>>>%>>>>>>>>>r   c               (    V ^8  d   QhRRRRRRRR/# 	r   r7   r   r8   r9   capsyszpytest.CaptureFixture[str]r   r:   r   )r   s   "r   r   r      s0     21 2121#21 '21 
	21r   c                $  a V oVP                  \        P                  R V3R l4       \        S4      pV R,          pVP	                  RRR7       VP                  R4       VP                  R\        \        P                  RR	R
VP                  4       R7      4       VP                  \        RR 4       VP                  \        RR 4       VP                  \        P                  RR 4       \        P                  ! \        P                  ! 4       R#R lR7      pVP                  p. R$Oqv! V4      p^ qV	8H  q'       g   \        P                   ! R%V
3R&W34      RR\"        P$                  ! 4       9   g   \        P&                  ! V4      '       d   \        P(                  ! V4      MRR\        P(                  ! V4      R\        P(                  ! V4      R\        P(                  ! V4      R\        P(                  ! V	4      /,          pRRV/,          p\+        \        P,                  ! V4      4      hR;p;p;p;r\.        P0                  ! VP3                  4       P4                  4      pVR,          pRq~V8H  q'       gy   \        P                   ! R%V3R'W34      R\        P(                  ! V4      R\        P(                  ! V4      /,          pR RV/,          p\+        \        P,                  ! V4      4      hR;p;rVR!,          pR"q~V8H  q'       gy   \        P                   ! R%V3R'W34      R\        P(                  ! V4      R\        P(                  ! V4      /,          pR RV/,          p\+        \        P,                  ! V4      4      hR;p;rR# )(r   c                    < S # r=   r   r   s   r   r>   Ntest_active_gateway_status_never_reads_native_account_health.<locals>.<lambda>   r@   r   rf   rg   r   r   rh   r   ri   rj   rk   rl   r   c                 .    \         P                  ! R 4      # )z&status built an executable launch planr   r   s   *,r   r>   r     s    &++.V"Wr   gateway_health_snapshotc                 >    \        \        P                  R R RRR7      # )Ng       @rv   )
checked_atdetail)r	   r
   OKr   s   *,r   r>   r     s    /OO##
r   fetchc                 .    \         P                  ! R 4      # )z*active status opened native account healthr   r   s   *,r   r>   r     s    &++.Z"[r   Nc                    R # rV   r   rX   s   &r   r>   r     r   r   rZ   r^   r   r`   ra   rb   rc   rd   re   r&   r'   r   r   r  rv   r=   )r\   z--statusz--jsonr   r   z%(py1)s == %(py4)s)r   r   r   r4   r,   r   r   r   r   	SUBROUTERr   AccountHealthClientr   r   r   r   r   r   r   r   r   r   r   r.   loads
readouterrout)r7   r8   r   r2   r   r   r   r   r   r   r   r   r   payloadr   r   r   r   r   s   &&&               @r   <test_active_gateway_status_never_reads_native_account_healthr     sa   
 D++V\B%H&E	[73	KK""((($!MMO	
	  W
 !	

 **[
 ))##%;SF ;;:4:;45:::::::5::::::6::::6:::;:::4:::5:::::::::::jj**,001G8$$$$$$$$$$$$$$$$$$$$$80 00 000000000000 000000000r   c               (    V ^8  d   QhRRRRRRRR/# r   r   )r   s   "r   r   r      s2     X XX!3X=WX	Xr   c                r  aa V oVP                  \        P                  R V3R l4       \        S4      pV R,          pVP	                  R\        \        P                  RRRVP                  4       R7      4       RoR	 V3R
 llpVP                  \        P                  RV4       \        P                  ! \        P                  ! 4       R%R lR7      pVP                  pRR.q! V4      p	^qV
8H  q'       g   \        P                  ! R&V3R'W34      RR\        P                   ! 4       9   g   \        P"                  ! V4      '       d   \        P$                  ! V4      MRR\        P$                  ! V4      R\        P$                  ! V4      R\        P$                  ! V	4      R\        P$                  ! V
4      /,          pRRV/,          p\'        \        P(                  ! V4      4      hR;p;p;p	;rRpSVJ qw'       g   \        P                  ! R(V3R)SV34      RR\        P                   ! 4       9   g   \        P"                  ! S4      '       d   \        P$                  ! S4      MRR\        P$                  ! V4      /,          pRRV/,          p\'        \        P(                  ! V4      4      hR;r~VP*                  qw! 4       qP,                  qP.                  q! 4       pVP0                  pRpV! V4      pV'       Eg'   RRR\        P                   ! 4       9   g   \        P"                  ! V4      '       d   \        P$                  ! V4      MRR\        P$                  ! V4      R\        P$                  ! V4      R\        P$                  ! V	4      R \        P$                  ! V4      R!\        P$                  ! V4      R"\        P$                  ! V4      R#\        P$                  ! V4      R$\        P$                  ! V4      /	,          p\'        \        P(                  ! V4      4      hR;p;p;p	;p;p;p;ppR# )*r   c                    < S # r=   r   r   s   r   r>   Ktest_gateway_mode_fails_closed_instead_of_native_fallback.<locals>.<lambda>   r@   r   r   r   missingrj   rk   rl   Fc                    V ^8  d   QhRRRR/# )r   r   r~   r   r:   r   )r   s   "r   r   Otest_gateway_mode_fails_closed_instead_of_native_fallback.<locals>.__annotate__   s      & T r   c                    < R oR# )TNr   )r   executeds   *r   	fake_execLtest_gateway_mode_fails_closed_instead_of_native_fallback.<locals>.fake_exec   s    r   rJ   Nc                    R # rV   r   rX   s   &r   r>   r    r   r   rZ   r\   r]   r^   r   r`   ra   rb   rc   rd   re   r  r   r   r   z cdx: Gateway: migration requiredassert %(py16)s
{%(py16)s = %(py12)s
{%(py12)s = %(py10)s
{%(py10)s = %(py8)s
{%(py8)s = %(py6)s
{%(py6)s = %(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.readouterr
}()
}.err
}.strip
}()
}.endswith
}(%(py14)s)
}r   r   r   py12py14py16r=   r   r   )is)z%(py0)s is %(py3)s)r   r   r   r4   r   r   r   r  r   r   r   r   r   r   r   r   r   r   r   r   r   r  errstripr   )r7   r8   r   r2   r   r  r   r   r   r   r   r   r   r   r   r   r   @py_assert9@py_assert11@py_assert13@py_assert15@py_format17r  r   s   &&&                   @@r   9test_gateway_mode_fails_closed_instead_of_native_fallbackr-     s    D++V\B%H&E""(($$!MMO	
	 H  ))9i@))##%;SF ;;,v,;',1,1,,,,,',,,,,,6,,,,6,,,;,,,,,,',,,1,,,,,,,,8u8u88uWW""W((W(*W*33W4VW34VWWWWWWWWWW6WWWW6WWWWWWWWW"WWW(WWW*WWW3WWW4VWWWWWWWWWWWWr   c               (    V ^8  d   QhRRRRRRRR/# r   r   )r   s   "r   r   r     s6     +V +V+V#+V '+V 
	+Vr   c                	  a V oVP                  \        P                  R V3R l4       VP                  \        P                  RR 4       \	        S4      pV R,          pVP                  RRR7       VP                  R4       VP                  R	\        \        P                  R
RRVP                  4       RR7      4       VP                  \        RR 4       VP                  \        P                  RR 4       \        P                  ! 4       pVP                  VRR 4       \        P                  ! VR.R lR7      pVP                  pRR.q! V4      p	^qV
8H  q'       g   \         P"                  ! R/V3R0W34      RR\$        P&                  ! 4       9   g   \         P(                  ! V4      '       d   \         P*                  ! V4      MRR\         P*                  ! V4      R\         P*                  ! V4      R\         P*                  ! V	4      R\         P*                  ! V
4      /,          pR R!V/,          p\-        \         P.                  ! V4      4      hR;p;p;p	;rVP0                  pR"qV8H  q'       g   \         P"                  ! R/V3R1W~34      RR\$        P&                  ! 4       9   g   \         P(                  ! V4      '       d   \         P*                  ! V4      MRR\         P*                  ! V4      R#\         P*                  ! V4      /,          pR$R%V/,          p\-        \         P.                  ! V4      4      hR;p;rVP2                  qw! 4       qP4                  qP6                  q! 4       pVP8                  pR&pV! V4      pV'       Eg'   R'RR(\$        P&                  ! 4       9   g   \         P(                  ! V4      '       d   \         P*                  ! V4      MR(R\         P*                  ! V4      R\         P*                  ! V4      R\         P*                  ! V	4      R)\         P*                  ! V4      R*\         P*                  ! V4      R+\         P*                  ! V4      R,\         P*                  ! V4      R-\         P*                  ! V4      /	,          p\-        \         P.                  ! V4      4      hR;p;p;p	;p;p;p;ppR# )2r   c                    < S # r=   r   r   s   r   r>   Otest_quiesced_binding_blocks_both_gateway_and_native_launches.<locals>.<lambda>  r@   r   rA   c                     R # rC   r   r   r   r   r>   r1    rD   r   rf   rg   r   r   rh   r   ri   rj   rk   T)rm   rn   ro   rp   rq   quiescedr   c                 .    \         P                  ! R 4      # )z)quiesced launch resolved gateway materialr   r   s   *,r   r>   r1  '      &++.Y"Zr   rJ   c                 .    \         P                  ! R 4      # )z(quiesced launch executed native providerr   r   s   *,r   r>   r1  ,  s    &++.X"Yr   rE   c                 .    \         P                  ! R 4      # )z)quiesced launch synchronized native stater   r   s   *,r   r>   r1  2  r5  r   Nc                    R # rV   r   rX   s   &r   r>   r1  4  r   r   rZ   r\   r]   r^   r   r`   ra   rb   rc   rd   re   zGateway: migration pausedr   r   r   zcdx: Gateway: migration pausedr!  r   r   r   r"  r#  r$  r=   r   r   r   )r   r   r   r   r4   r,   r   r   r   r   r  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r&  r'  r   )r7   r8   r   r2   r   r   r   r   r   r   r   r   r   r   r   r   r   r(  r)  r*  r+  r,  r   s   &&&                   @r   =test_quiesced_binding_blocks_both_gateway_and_native_launchesr9    s   
 D++V\B66U%H&E	[73	KK""((($!MMO	

  Z
 Y
 ))+GZ
 ))'G_`F;;,v,;',1,1,,,,,',,,,,,6,,,,6,,,;,,,,,,',,,1,,,,,,,,&&E*EE*EEEEEE&EEEEEE6EEEE6EEE&EEE*EEEEEEEEEUU""U((U(*U*33U4TU34TUUUUUUUUUU6UUUU6UUUUUUUUU"UUU(UUU*UUU3UUU4TUUUUUUUUUUUUr   c               $    V ^8  d   QhRRRRRR/# r6   r   )r   s   "r   r   r   ;  s$     6 66!36	6r   c                  aa \         P                  ! \         P                  ! 4       R$R lR7      pV R,          p. o. oVP                  \         P                  RR 4       VP                  \         P                  RV3R l4       VP                  \         RR$V3R	 ll4       VP
                  pR
R.pRR/pR pRpRq! VVVVVV	R7      p
^ qV8H  q'       Eg   \        P                  ! R%V3R&V
V34      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V	4      R\        P                  ! V
4      R\        P                  ! V4      /
,          pRRV/,          p\        \        P                  ! V4      4      hR ;p;p;p;p;p;p	;p
;r. pSV8H  qD'       g   \        P                  ! R%V3R'SV34      RR\        P                  ! 4       9   g   \        P                  ! S4      '       d   \        P                  ! S4      MRR \        P                  ! V4      /,          pR!R"V/,          p\        \        P                  ! V4      4      hR ;rO. R(O.pSV8H  qD'       g   \        P                  ! R%V3R'SV34      RR#\        P                  ! 4       9   g   \        P                  ! S4      '       d   \        P                  ! S4      MR#R \        P                  ! V4      /,          pR!R"V/,          p\        \        P                  ! V4      4      hR ;rOR # ))Nc                    R # rV   r   rX   s   &r   r>   _test_gateway_captured_run_is_forced_local_even_when_remote_offload_is_enabled.<locals>.<lambda>?  r   r   rZ   zcapture.logshould_offloadc                     R # rC   r   r   r   r   r>   r=  D      RVr   open_sessionc                 &   < SP                  R 4      # rC   r   )r   r   openeds   *,r   r>   r=  H  s    &--"5r   	supervisec                L   < SP                  \        V 4      4      ;'       g    ^ # )r   )rM   list)rQ   r   _logkey
superviseds   &&&&r   r>   r=  M  s    :+<+<T$Z+H+M+MA+Mr   exechellort   rg   rw   F)allow_offloadr^   r   r`   ra   rb   r   log_pathrc   re   r   py15py18zassert %(py20)spy20rC  r   r   r   rI  r=   r   )z%(py15)s
{%(py15)s = %(py2)s
{%(py2)s = %(py0)s._run_captured
}(%(py4)s, %(py6)s, %(py7)s, %(py9)s, %(py11)s, allow_offload=%(py13)s)
} == %(py18)sr   )rk   rJ  rK  )r   r   r   r   r   _run_capturedr   r   r   r   r   r   r   r   )r7   r8   r   rM  r   r   r   r   @py_assert10@py_assert12@py_assert14@py_assert17@py_assert16@py_format19@py_format21r   r   r   rC  rI  s   &&                @@r   Mtest_gateway_captured_run_is_forced_local_even_when_remote_offload_is_enabledrY  ;  sq    ))##%;SF -'HF"$J668H,W&&5
 M  		, 		
 	 ,  
 
     
  F  6   6        ,  F   	   	   		  
 	          
         6R<6R66R455:555555:5555555:5555:555555555555r   c               $    V ^8  d   QhRRRRRR/# r6   r   )r   s   "r   r   r   ]  s)     5@ 5@5@!35@	5@r   c                $	  aaa V oVP                  \        P                  R V3R l4       \        S4      pV R,          pVP	                  RRR7       VP                  R4       VP                  R\        \        P                  RR	R
VP                  4       R7      4       V R,          oVP                  \        RV3R l4       VP                  \        P                  RR 4       VP                  \        P                  RR 4       . oVP                  \        P                  RV3R l4       \        P                  ! 4       pVP                  VRR 4       \        P                  ! VR0R lR7      pVP                  pRR.qv! V4      p^ qV	8H  q'       g   \         P"                  ! R1V
3R2W34      RR\$        P&                  ! 4       9   g   \         P(                  ! V4      '       d   \         P*                  ! V4      MRR\         P*                  ! V4      R\         P*                  ! V4      R \         P*                  ! V4      R!\         P*                  ! V	4      /,          pR"R#V/,          p\-        \         P.                  ! V4      4      hR;p;p;p;r. pSpS'       d   S^ ,          R$,          pR
R
R.3qV
8H  qpV'       Eg$   R%RR&\$        P&                  ! 4       9   g   \         P(                  ! S4      '       d   \         P*                  ! S4      MR&/,          pVP1                  V4       S'       dl   \         P"                  ! R1X3R3XV
34      R'\         P*                  ! V4      R(\         P*                  ! V
4      /,          pR)R*V/,          pVP1                  V4       \         P2                  ! V^ 4      / ,          pR+R,V/,          p\-        \         P.                  ! V4      4      hR;p;p;p;rS^ ,          ^,          R-,          pRq}V8H  pV'       gy   \         P"                  ! R1V3R4W34      R.\         P*                  ! V4      R\         P*                  ! V4      /,          pR/R V/,          p\-        \         P.                  ! V4      4      hR;p;ppR# )5r   c                    < S # r=   r   r   s   r   r>   Ztest_gateway_interactive_run_executes_locally_without_remote_containment.<locals>.<lambda>a  r@   r   rf   rg   r   r   rh   r   ri   rj   rk   rl   rr   r   c                 j   < \        R R	R\        S4      R\        S4      RR/S\        RRR4      R7      # )
rk   HOMErs   rt   rg   ru   rv   rw   rx   r   )r   r   r   )r   r   rz   s   *,r   r>   r]  t  s@    /L)c,/%{
 &*74DcJ
#
r   r>  c                     R # rC   r   r   r   r   r>   r]    r@  r   rA  c                 .    \         P                  ! R 4      # )z-Gateway interactive launch offloaded remotelyr   r   s   *,r   r>   r]    s    &++.]"^r   rJ   c                P   < SP                  V \        V4      \        V4      34      # r=   )rM   rF  rN   )rP   rQ   rR   r  s   &&&r   r>   r]    s    hooz4:tTWy6Y&Zr   capture_log_pathc                    R # r=   r   )_argvs   &r   r>   r]    s    4r   Nc                    R # rV   r   rX   s   &r   r>   r]    r   r   rZ   r\   r]   r^   r   r`   ra   rb   rc   rd   re   :r   r   Nr   r  r   r   r   r   r   r   rt   r   r   r=   r   r   r   r  )r   r   r   r4   r,   r   r   r   r   r  r   r   r   r   r   r   r   r   r   r   r   r   r   r   rM   r   )r7   r8   r2   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  rz   r   s   &&                     @@@r   Htest_gateway_interactive_run_executes_locally_without_remote_containmentrg  ]  s    D++V\B%H&E	[73	KK""((($!MMO	
	 i'L 
	
 668H,W&&^
 =?HZ
 ))+G!35GH))'G_`F;;,v,;',1,1,,,,,',,,,,,6,,,,6,,,;,,,,,,',,,1,,,,,,,,H8H8C(HWw6G,HH,HHHHHHHHH8HHHH8HHHH8HHH(,HHHH(HHH,HHHHHHHHHHHHHHHHHA;q>/0?K?K?????0???0???K????????r   )(
__future__r   builtinsr   _pytest.assertion.rewrite	assertionrewriter   r.   syspathlibr   r   pathinsertr   __file__r   parentsr   account_registryr   r   r   authority_clientr   r   health_clientr	   r
   r   r4   r   r   r   r  r-  r9  rY  rg  r   r   r   <module>rv     s    "    
   3tH~--/77:; <  M M ; 7:@90x"AJ?@21jXD+V\6D5@r   