+
    5mj  c                  N   ^ RI Ht ^ RIt^ RIHu Ht ^ RI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 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)Pathc               $    V ^8  d   QhRRRRRR/#    tmp_pathr   monkeypatchzpytest.MonkeyPatchreturnNone )formats   "\/home/user/overdeck-private-tests/workstation-ai-broad/modules/systray/tests/test_install.py__annotate__r      s.     G@ G@G@!3G@	G@    c                9   V R ,          pV R,          pV R,          p\        \        P                  4      P                  4       P                  R,          R,          pVP                  \        R\        RR7       VP                  \        P                  RR 4       \        P                  ! W#VR	7      pVR
,          pVR,          pVR,          p	VR,          p
VR,          pVR,          pVR,          pVR,          pVR,          p\        \        P                  4      P                  4       P                  pVP                  pV	VVVVVV
V3pVV8H  pV'       g   \        P                  ! R1V3R2V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P                   pR3pVV8H  pV'       g   \        P                  ! R1V3R4V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P"                  pV! 4       pV'       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      /,          p\        \        P                  ! V4      4      hR;ppVP"                  pV! 4       pV'       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      /,          p\        \        P                  ! V4      4      hR;ppV	P"                  pV! 4       pV'       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      /,          p\        \        P                  ! V4      4      hR;ppV
P"                  pV! 4       pV'       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      /,          p\        \        P                  ! V4      4      hR;ppVP"                  pV! 4       pV'       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      /,          p\        \        P                  ! V4      4      hR;ppVP"                  pV! 4       pV'       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      /,          p\        \        P                  ! V4      4      hR;ppVP"                  pV! 4       pV'       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      /,          p\        \        P                  ! V4      4      hR;ppVP"                  pV! 4       pV'       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      /,          p\        \        P                  ! V4      4      hR;ppVP                  pV! 4       pR
pVV,          pVV8H  pV'       Eg,   \        P                  ! R1V3R5V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#R$\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MR$R%\        P                  ! V4      /,          pR&R'V/,          p\        \        P                  ! V4      4      hR;p;p;p;ppVP                  pV! 4       pRpVV,          pVV8H  pV'       Eg,   \        P                  ! R1V3R5V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#R$\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MR$R%\        P                  ! V4      /,          pR&R'V/,          p\        \        P                  ! V4      4      hR;p;p;p;ppV	P                  pV! 4       pRpVV,          pVV8H  pV'       Eg,   \        P                  ! R1V3R5V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#R$\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MR$R%\        P                  ! V4      /,          pR&R'V/,          p\        \        P                  ! V4      4      hR;p;p;p;ppV
P                  pV! 4       pRpVV,          pVV8H  pV'       Eg,   \        P                  ! R1V3R5V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#R$\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MR$R%\        P                  ! V4      /,          pR&R'V/,          p\        \        P                  ! V4      4      hR;p;p;p;ppVP                  pV! 4       pRpVV,          pVV8H  pV'       Eg,   \        P                  ! R1V3R5V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#R$\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MR$R%\        P                  ! V4      /,          pR&R'V/,          p\        \        P                  ! V4      4      hR;p;p;p;ppVP                  pV! 4       pRpVV,          pVV8H  pV'       Eg,   \        P                  ! R1V3R5V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#R$\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MR$R%\        P                  ! V4      /,          pR&R'V/,          p\        \        P                  ! V4      4      hR;p;p;p;ppVP                  pV! 4       pRpVV,          pVV8H  pV'       Eg,   \        P                  ! R1V3R5V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#R$\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MR$R%\        P                  ! V4      /,          pR&R'V/,          p\        \        P                  ! V4      4      hR;p;p;p;ppVP                  pV! 4       pRpVV,          pVV8H  pV'       Eg,   \        P                  ! R1V3R5V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#R$\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MR$R%\        P                  ! V4      /,          pR&R'V/,          p\        \        P                  ! V4      4      hR;p;p;p;ppVP$                  pV! 4       pV'       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      /,          p\        \        P                  ! V4      4      hR;ppVP&                  pV! 4       pVP&                  pV! 4       pVV8H  pV'       EgB   \        P                  ! R1V3R6V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#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;ppVP(                  pV! 4       pV'       * pV'       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      /,          p\        \        P                  ! V4      4      hR;p;pp\        P                  ! W#VR	7      pVP                  pR3pVV8H  pV'       g   \        P                  ! R1V3R2VV34      RR0\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MR0R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;ppVP                   pV	VVVVVV
V3pVV8H  pV'       g   \        P                  ! R1V3R4VV34      RR0\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MR0R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;ppVP"                  pV! 4       pV'       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      /,          p\        \        P                  ! V4      4      hR;ppVP"                  pV! 4       pV'       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      /,          p\        \        P                  ! V4      4      hR;ppVP"                  pV! 4       pV'       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      /,          p\        \        P                  ! V4      4      hR;ppVP&                  pV! 4       pVP&                  pV! 4       pVV8H  pV'       EgB   \        P                  ! R1V3R6V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#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;ppR# )7binapplicationsiconscodex-account-switcher.svgshutilFraisingwhichc                    R # Nr   names   &r   <lambda>Ntest_install_creates_idempotent_bin_symlinks_and_copies_icon.<locals>.<lambda>       dr   dest_bin	dest_apps
dest_iconscdx.pycld.pyzaccount_lock_cli.pyzaccount-lock
claudex.pyclaudexsystray_codex_switcher.pystatusline.pypy0reportpy2py5zassert %(py7)spy7NzEassert %(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.is_symlink
}()
}cdx_linkpy4cld_linkaccount_lock_linkaccount_lock_commandclaudex_linkclaudex_command	tray_linkstatusline_linkpy6	repo_rootpy8assert %(py11)spy11Bassert %(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.is_file
}()
}icon_targetsource_iconpy10assert %(py12)spy12zEassert not %(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.exists
}()
}r"   second==)z/%(py2)s
{%(py2)s = %(py0)s.created
} == %(py5)sr   )z0%(py2)s
{%(py2)s = %(py0)s.existing
} == %(py5)s)zR%(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.resolve
}()
} == (%(py6)s / %(py8)s))z%(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.read_bytes
}()
} == %(py10)s
{%(py10)s = %(py8)s
{%(py8)s = %(py6)s.read_bytes
}()
})r   install__file__resolveparentsetattrr   created
@pytest_ar_call_reprcompare@py_builtinslocals_should_repr_global_name	_safereprAssertionError_format_explanationexisting
is_symlinkis_file
read_bytesexists)r   r   r!   r"   r#   r?   r+   r/   r1   r2   r3   r4   r5   r6   r7   r>   r9   @py_assert1@py_assert4@py_assert3@py_format6@py_format8@py_format5@py_assert7@py_assert9@py_assert5@py_format10@py_format12@py_format11@py_format13rC   s   &&                             r   <test_install_creates_idempotent_bin_symlinks_and_copies_iconrf      s    %H>)IG#Jw''(00299GCFbbK65A1BC__hPZ[F("H("H #88#n4l*L*O66I0O;;KW%%&..077I>> 		 	> 	 	 	 	 	> 	 	 	 	 	 	6 	 	 	6 	 	 	> 	 	 	 	 	 	 	 	 	 	 	 	 ?? b ?b     ?b      6    6   ?   b                  8    8                       8    8             '')'))))))))))))))))'))))))))))**,*,,,,,,,,,,,,,,,,*,,,,,,,,,,""$"$$$$$$$$$<$$$$<$$$"$$$$$$$$$$%%'%'''''''''?''''?'''%''''''''''!!!!!!!!!!9!!!!9!!!!!!!!!!!!!%%'%'''''''''?''''?'''%''''''''''55X5X!55!555555!55555558555585555555555555555555X5555555555X5X!55!555555!55555558555585555555555555555555X55555555$$K$&K6KK)6K*KK&*KKKKKK&*KKKKKKKKKKKKKK$KKK&KKKKKK)KKKK)KKK6KKKKKKKKK''N')N9NNY9N-NN)-NNNNNN)-NNNNNNNNNNNNNN'NNN)NNNNNNYNNNNYNNN9NNNNNNNNN=!==Y%==!%======!%=======<====<======!======Y====Y===========""@"$@L@	L(@@$(@@@@@@$(@@@@@@@?@@@@?@@@"@@@$@@@@@@	@@@@	@@@L@@@@@@@@""C"$COC	O(CC$(CCCCCC$(CCCCCCC?CCCC?CCC"CCC$CCCCCC	CCCC	CCCOCCCCCCCCII.II).I"II"IIIIII"IIIIIII9IIII9IIIIIIIIIIII)IIII)III.IIIIIIIII          ;    ;             !!?!#?{'='=?'='??#'??????#'???????;????;???!???#??????{????{???'=???'?????????!!!!!!!!!!!!!y!!!!y!!!!!!!!!!!!!!__hPZ[F>>R>R>R66>R?? 		 	? 	 	 	 	 	? 	 	 	 	 	 	6 	 	 	6 	 	 	? 	 	 	 	 	 	 	 	 	 	 	 	           8    8                       8    8             !!!!!!!!!!9!!!!9!!!!!!!!!!!!!!!?!#?{'='=?'='??#'??????#'???????;????;???!???#??????{????{???'=???'??????????r   c               $    V ^8  d   QhRRRRRR/# r   r   )r   s   "r   r   r   Y   s)     G GG!3G	Gr   c                   V R ,          R,          R,          pVP                  RR7       VR,          P                  RRR7       . \        P                  OR	N F"  pY#R	8X  d   R
MT,          P	                  4        K$  	  V R,          pVP                  4        \        P                   F   pWC,          P                  W#,          4       K"  	  VR	,          P                  VR
,          4       VP                  \        P                  RR 4       \        P                  ! VV R,          V R,          R7       \        \        P                  4      P                  4       P                  pR	qdV,          qwP                  q! 4       p	R
qV
,          qV8H  q'       EgA   \        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R\        P                  ! 4       9   g   \        P                   ! V4      '       d   \        P"                  ! V4      MRR\        P"                  ! V
4      /,          pRRV/,          p\%        \        P&                  ! V4      4      hR;p;p;p;p	;p;rRqdV,          qwP                  q! 4       p	RqV
,          qV8H  q'       EgA   \        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R\        P                  ! 4       9   g   \        P                   ! V4      '       d   \        P"                  ! V4      MRR\        P"                  ! V
4      /,          pRRV/,          p\%        \        P&                  ! V4      4      hR;p;p;p;p	;p;rR# )previousmodulessystrayTparentszdeck.module.jsonz{"name": "systray"}utf-8encodingr'   r&   r   r   c                    R # r   r   r   s   &r   r   Atest_install_retargets_previous_systray_install.<locals>.<lambda>j   r   r   r   r   r    r*   r!   r,   r-   r.   py9expected_rootr<   assert %(py14)spy14Nr$   rD   )z_%(py7)s
{%(py7)s = %(py5)s
{%(py5)s = (%(py0)s / %(py2)s).resolve
}()
} == (%(py9)s / %(py11)s))mkdir
write_textrF   _BIN_SCRIPTStouch
symlink_torJ   r   r   rG   rH   rI   rL   rM   rN   rO   rP   rQ   rR   rS   )r   r   previous_rootfilenamer!   rt   rY   r[   rZ   @py_assert6@py_assert10@py_assert12@py_assert8re   @py_format15s   &&             r   /test_install_retargets_previous_systray_installr   Y   s    z)I5	AM%''33 4  7g**6I6	i*?,X	NUUW 7 %HNN((		(()AB )	%%ml&BC1BCOO^+g% ))*224;;M Ky K))K)+K|K|/KK/KKKKKK+KKKKKKHKKKKHKKKyKKK)KKK+KKKKKK}KKKK}KKK|KKKKKKKKKFxF((F(*FhFh.FF.FFFFFF*FFFFFFHFFFFHFFFxFFF(FFF*FFFFFFmFFFFmFFFhFFFFFFFFFr   c               $    V ^8  d   QhRRRRRR/# r   r   )r   s   "r   r   r   v   s$     6 66!36	6r   c                b   V R ,          pVP                  4        V R,          pVP                  4        VR,          P                  V4       VP                  \        P
                  RR 4       \        P                  ! \        RR7      ;_uu_ 4        \        P                  ! VV R,          V R,          R7       R	R	R	4       RqBV,          qUP                  qf! 4       qwV8H  q'       Eg+   \        P                  ! RV3RWs3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/,          p	RRV	/,          p
\!        \        P"                  ! V
4      4      hR	;p;p;p;rxR	#   + '       g   i     ELm; i)r   zforeign-cdx.pyr$   r   c                    R # r   r   r   s   &r   r   Atest_install_rejects_unmanaged_existing_symlink.<locals>.<lambda>~   r   r   )matchr   r   r    Nr*   r!   r,   r-   r.   rs   foreignr;   r<   rD   )zR%(py7)s
{%(py7)s = %(py5)s
{%(py5)s = (%(py0)s / %(py2)s).resolve
}()
} == %(py9)s)rw   rz   r{   rJ   rF   r   pytestraisesFileExistsErrorrH   rL   rM   rN   rO   rP   rQ   rR   rS   )r   r   r!   r   rY   r[   rZ   r~   r   rb   rc   s   &&         r   /test_install_rejects_unmanaged_existing_symlinkr   v   sO    %HNN))GMMO$$W-1BC	h	7	7/')	
 
8  5x5((5(*5g55555*555555H5555H555x555(555*555555g5555g555555555 
8	7	7s   (HH.	c                   V ^8  d   QhRR/# r   r	   r
   r   )r   s   "r   r   r      s     , , ,r   c                 $   \        \        P                  4      P                  4       P                  R ,          R,          P                  RR7      p RqV 9   q"'       g   \        P                  ! RV3RW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
;rRqV 9   q"'       g   \        P                  ! RV3RW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
;rRqV 9   q"'       g   \        P                  ! RV3RW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
;rR
# )r   z"codex-account-switcher-warning.svgrn   ro   zfill="#dc2626"py1py3warning_iconassert %(py5)sr-   Nz<circlezfill="#ffffff")in)z%(py1)s in %(py3)s)r   rF   rG   rH   rI   	read_textrL   rM   rQ   rN   rO   rP   rR   rS   )r   @py_assert0@py_assert2@py_format4r\   s        r   /test_warning_icon_asset_contains_explicit_badger      s[   W&&(//'9<``ii!  +|++++++++++++++|++++|++++++++$$$$$$9$$$9$$$$$$$$$$$$$$$$$$+|++++++++++++++|++++|++++++++r   c               $    V ^8  d   QhRRRRRR/# r   r   )r   s   "r   r   r      s$     3 33!33	3r   c                x  a V R ,          pV R,          pV R,          p. oVP                  \        R\        RR7       VP                  \        P                  RR 4       VP                  \        R\        RR7       R	 V3R
 llpVP                  \        P                  RV4       \        P                  ! W#VR7       VR,          pVP                  P                  P                  pVP
                  q! 4       q'       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      /,          p
\        \        P                  ! V
4      4      hR;r\        S4      p^qV8H  q'       Eg   \        P                  ! R"V3R#W34      RR\        P                  ! 4       9   g!   \        P                  ! \        4      '       d   \        P                  ! \        4      MRRR\        P                  ! 4       9   g   \        P                  ! S4      '       d   \        P                  ! S4      MRR\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;rS^ ,          ^ ,          pVP                  pRq! V4      pV'       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;ppS^ ,          R,          pR \!        V4      .p	VV	8H  q'       gz   \        P                  ! R"V3R$VV	34      R\        P                  ! V4      R\        P                  ! V	4      /,          p
R!RV
/,          p\        \        P                  ! V4      4      hR;p;rR# )%r   r   r   r   Fr   r   c                    V R 8X  d   R# R# )gtk-update-icon-cachez/usr/bin/gtk-update-icon-cacheNr   r   s   &r   r   Btest_install_refreshes_icon_cache_when_available.<locals>.<lambda>   s    AX9X5b^bbr   
subprocessc                    V ^8  d   QhRRRR/# )r   cmdz	list[str]checkboolr   )r   s   "r   r   Ftest_install_refreshes_icon_cache_when_available.<locals>.__annotate__   s     3 3i 3 3r   c                T   < SP                  V 4       \        P                  ! V ^ 4      # )r   )appendr   CompletedProcess)r   r   stdoutstderrcallss   &&&&r   fake_runBtest_install_refreshes_icon_cache_when_available.<locals>.fake_run   s"    S**322r   runr    r   r=   r*   r>   r,   r0   Nlenr   r   r   r8   zassert %(py8)sr:   r   zJassert %(py7)s
{%(py7)s = %(py3)s
{%(py3)s = %(py1)s.endswith
}(%(py5)s)
}r-   r.   :   NNz-fzassert %(py6)srD   )z0%(py3)s
{%(py3)s = %(py0)s(%(py1)s)
} == %(py6)s)z%(py1)s == %(py4)s)rJ   rF   r   r   rI   rV   rN   rO   rL   rP   rQ   rR   rS   r   rM   endswithstr)r   r   r!   r"   r#   r   r>   
theme_rootrY   r[   r^   r   ra   rZ   @py_format7@py_format9r   r~   r]   r   s   &&                 @r   0test_install_refreshes_icon_cache_when_availabler      s    %H>)IG#JE65Ab
 z5I3 3 **E8<OOXzR;;K""))00J          ;    ;             u:?:33uu:8A;8;8 78 7888888;888888 7888888888888B<2D#j/22<222222<2222<222222222222r   c                    V ^8  d   QhRRRR/# )r   r   r   r	   r
   r   )r   s   "r   r   r      s     U UT Ud Ur   c                   V R ,          pV R,          pV R,          pVP                  RR7       VP                  RR7       VR,          pVR,          pVP                  RRR7       VP                  RRR7       \        P                  ! WVR	7       \        P                  ! WVR	7       R
qaV,          qwP                  q! 4       q'       * q'       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      /,          p\        \        P                  ! V4      4      hR;p;p;p;rRqaV,          qwP                  q! 4       q'       * q'       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      /,          p\        \        P                  ! V4      4      hR;p;p;p;rRqaV,          qwP                  q! 4       q'       * q'       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      /,          p\        \        P                  ! V4      4      hR;p;p;p;rRqaV,          qwP                  q! 4       q'       * q'       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      /,          p\        \        P                  ! V4      4      hR;p;p;p;rRqaV,          qwP                  q! 4       q'       * q'       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      /,          p\        \        P                  ! V4      4      hR;p;p;p;rRqcV,          qwP                  q! 4       q'       * q'       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      /,          p\        \        P                  ! V4      4      hR;p;p;p;rVP                  pRqv! VR7      pR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;rVP                  pRqv! VR7      pR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\        P                  ! WVR	7       R# )!r   r   r   Trl   zkeep.txtappsrn   ro   r    r$   zQassert not %(py7)s
{%(py7)s = %(py5)s
{%(py5)s = (%(py0)s / %(py2)s).exists
}()
}r*   r!   r,   r-   r.   Nr%   r&   r'   r(   r   r#   apps_markerr0   r8   rs   r;   r<   icons_markerrD   )zX%(py6)s
{%(py6)s = %(py2)s
{%(py2)s = %(py0)s.read_text
}(encoding=%(py4)s)
} == %(py9)s)rw   rx   rF   	uninstallrX   rN   rO   rL   rP   rQ   rR   rS   r   rM   )r   r!   r"   r#   r   r   rY   r[   rZ   r~   r   r   ra   r_   rb   rc   s   &               r   .test_uninstall_removes_only_installed_symlinksr      s   %H>)IG#JOODO!T"j(K
*L6G4Gg6OOXzRxT#-8#-++-+------------------8---+-----------#-8#-++-+------------------8---+-----------'1<'1//1/111111111111111111<111/11111111111$.9$.,,.,..................9...,...........6@66@>>@>@@@@@@@@@@@@@@@@@@6@@@>@@@@@@@@@@@9C99CAACACCCCCCCCCCC
CCCC
CCC9CCCACCCCCCCCCCC  <'< '2<f<f<<<<<2<<<<<<;<<<<;<<< <<<'<<<2<<<f<<<<<<<<!!>7>!73>w>w>>>>>3>>>>>><>>>><>>>!>>>7>>>3>>>w>>>>>>>>xTr   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r      s     o o4 or   c                 .
   \         P                  ! 4       p \        P                  pR q V,          pRqCV,          qQV8H  qf'       Eg3   \        P
                  ! RV3RW34      RR\        P                  ! 4       9   g!   \        P                  ! \        4      '       d   \        P                  ! \        4      MR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      /,          pR	R
V/,          p\        \        P                  ! V4      4      hR;p;p;p;p;rE\        P                  pR q V,          pRqCV,          pRqV	,          qV
8H  qf'       EgI   \        P
                  ! RV3RW34      RR\        P                  ! 4       9   g!   \        P                  ! \        4      '       d   \        P                  ! \        4      MR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      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;p;p;p;p;p;r\        P                  pR q V,          pRqCV,          pRqV	,          p
RqV,          pRqV,          pRpVV,          pVV8H  qf'       Eg   \        P
                  ! RV3RVV34      RR\        P                  ! 4       9   g!   \        P                  ! \        4      '       d   \        P                  ! \        4      MR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      R\        P                  ! V4      /	,          pRRV/,          p\        \        P                  ! V4      4      hR;p;p;p;p;p;p;p	;p
;p;p;p;p;ppR# )z.localr   r*   rF   r,   r0   homer8   rs   rA   rB   Nsharer   zassert %(py15)spy15r   hicolorscalabler   py18py21zassert %(py24)spy24rD   )zP%(py2)s
{%(py2)s = %(py0)s.DEFAULT_DEST_BIN
} == ((%(py4)s / %(py6)s) / %(py9)s))z^%(py2)s
{%(py2)s = %(py0)s.DEFAULT_DEST_APPS
} == (((%(py4)s / %(py6)s) / %(py9)s) / %(py12)s))z%(py2)s
{%(py2)s = %(py0)s.DEFAULT_DEST_ICONS
} == ((((((%(py4)s / %(py6)s) / %(py9)s) / %(py12)s) / %(py15)s) / %(py18)s) / %(py21)s))r   r   rF   DEFAULT_DEST_BINrL   rM   rN   rO   rP   rQ   rR   rS   DEFAULT_DEST_APPSDEFAULT_DEST_ICONS)r   rY   ra   r_   r   r   r[   rd   re   @py_assert11@py_assert13@py_format14@py_format16@py_assert14@py_assert16@py_assert17@py_assert19@py_assert20@py_assert22@py_format23@py_format25s                        r   1test_install_defaults_match_documented_host_pathsr      s   99;D##>h>h>>'>>'>>>>>>#>>>>>>7>>>>7>>>#>>>>>>t>>>>t>>>h>>>>>>>>>>>>$$RxRxR'R'(ARNRN(RR(RRRRRR$RRRRRR7RRRR7RRR$RRRRRRRRRRRRRxRRR'RRRNRRRRRRRRR%%nnn7n7)BnWnW)Lnyny)Xn[en[e)enhnn)ehn)nn%)nnnnnn%)nnnnnnn7nnnn7nnn%nnnnnnnnnnnnnnnn7nnnWnnnynnn[ennnhnnnnnnnnnnnnr   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r      s     4 4t 4r   c                    \        \        P                  4      P                  4       P                  p R pR EF;  pW,          pVP                  RR7      P                  4       ^ ,          qDV8H  qU'       g   \        P                  ! RV3RWA3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;rEVP                  q! 4       qP                   p
^IqV,          p^IqV8H  q'       E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      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;p	;p
;p;p;rEK>  	  R# )z#!/usr/bin/env python3rn   ro   r   r   expected_first_liner   r-   Nr*   pathr,   r0   r8   r:   rB   ru   rv   )r$   r%   r&   r(   r)   rD   )z%(py1)s == %(py3)s)zm(%(py6)s
{%(py6)s = %(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.stat
}()
}.st_mode
} & %(py8)s) == %(py12)s)r   rF   rG   rH   rI   r   
splitlinesrL   rM   rQ   rN   rO   rP   rR   rS   statst_mode)r9   r   r}   r   r   r   r   r\   rY   r[   ra   r_   r`   r   r   re   r   s                    r   5test_entrypoint_scripts_are_executable_and_shebanggedr      sk   W%%&..077I2d#~~w~/::<Q?VCVVVVVV?VVV?VVVVVVCVVVVVCVVVVVVVVVyy3y{3""3U3U*3e3e33333*333333t3333t333y333{333"333U333e333333333 er   )
__future__r   builtinsrN   _pytest.assertion.rewrite	assertionrewriterL   r   r   syspathlibr   r   r   insertr   rG   rH   rm   rF   rf   r   r   r   r   r   r   r   r   r   r   <module>r      s|    "     
   3tH~--/77:; < G@TG:6(,3BU4o4r   