python (3.11.7)

(root)/
lib/
python3.11/
test/
__pycache__/
test_zipapp.cpython-311.opt-2.pyc

e?	ddlZddlZddlZddlZddlZddlZddlZddlZddlm	Z	ddlm
Z
ddlmZGddej
ZGddej
Zed	krejdSdS)
N)
requires_zlib)	os_helper)patchcfeZdZ	dZdZdZdZdZdZdZ	e
dZd	Zd
Z
dZdZd
ZdZdZdZdZdZdZdZdZdZdZdZejejdkde j!dZ"ejejdkddZ#dS)
ZipAppTestctj}||jt	j|j|_dSNtempfileTemporaryDirectory
addCleanupcleanuppathlibPathnametmpdirselfrs  D/BuggyBox/python/3.11.7/bootstrap/lib/python3.11/test/test_zipapp.pysetUpzZipAppTest.setUp;,..'''l6;//c0|jdz}||dz|jdz}tjt|t|||dSNsource__main__.py
source.pyzrmkdirtouchzipappcreate_archivestr
assertTrueis_filerrtargets   rtest_create_archivezZipAppTest.test_create_archivesx'	-	&&(((|+c&kk3v;;777(()))))rc|jdz}||dz|jdz}tj||||dSr)rrr r!r"r$r%r&s   r test_create_archive_with_pathlibz+ZipAppTest.test_create_archive_with_pathlib"ssx'	-	&&(((|+ff---(()))))rc|jdz}||dz|dz|dz|dzdztj}tjt|||dtj
|d5}|d||d	|ddddS#1swxYwYdS)
Nrrfoobarz__init__.pyrrzfoo/zbar/)
rrr ioBytesIOr!r"r#seekzipfileZipFileassertInnamelistrrr'zs    r test_create_archive_with_subdirsz+ZipAppTest.test_create_archive_with_subdirs+sWx'	-	&&(((	%   	%   	%-	'..000c&kk6222A
_VS
)
)	0QMM&!**,,///MM&!**,,///	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0sAD;;D?D?c`d}|jdz}||dz|dz|dz|jdz}tj|||tj|d5}|d||d||	d|ddddS#1swxYwYdS)	Nc|jdkS)Nz.pyc)suffixpaths rskip_pyc_fileszBZipAppTest.test_create_archive_with_filter.<locals>.skip_pyc_files=s;&((rrrtest.pyztest.pycrfilterr.)
rrr r!r"r2r3r4r5assertNotIn)rr>rr'r7s     rtest_create_archive_with_filterz*ZipAppTest.test_create_archive_with_filter:s\	)	)	)x'	-	&&(((	)	""$$$	*	##%%%|+ff^DDDD
_VS
)
)	7QMM-666MM)QZZ\\222Z666	7	7	7	7	7	7	7	7	7	7	7	7	7	7	7	7	7	7sA9D##D'*D'cd}|jdz}||dz|dz|dz|dzdz|jdz}tj|||tj|d	5}|t|	d
|
d|	|
d|	ddddS#1swxYwYdS)Nc$|jddkS)Nrdummy)partsr<s rskip_dummy_dirzIZipAppTest.test_create_archive_filter_exclude_dir.<locals>.skip_dummy_dirPs:a=G++rrrr?rFztest2.pyrr@r.)rrr r!r"r2r3assertEquallenr5r4)rrHrr'r7s     r&test_create_archive_filter_exclude_dirz1ZipAppTest.test_create_archive_filter_exclude_dirLs	,	,	,x'	-	&&(((	)	""$$$	'	  """	'	J	&--///|+ff^DDDD
_VS
)
)	3QS..222MM-666MM)QZZ\\222	3	3	3	3	3	3	3	3	3	3	3	3	3	3	3	3	3	3s7BE

EEc|jdz}||dztjt||jdz}||dSrr)rrexpected_targets   r"test_create_archive_default_targetz-ZipAppTest.test_create_archive_default_target`syx'	-	&&(((c&kk***+4//1122222rc|jdz}||dz|dz|jdz}tj||dtj|d5}dD]:}|||j	t
j
;	ddddS#1swxYwYdS)	Nrrr?rT)
compressedr.)rr?)rrr r!r"r2r3rJgetinfo
compress_typeZIP_DEFLATED)rrr'r7rs     r$test_create_archive_with_compressionz/ZipAppTest.test_create_archive_with_compressionis(x'	-	&&(((	)	""$$$|+ff>>>>
_VS
)
)	7Q2
7
7  4!>!(!57777
7	7	7	7	7	7	7	7	7	7	7	7	7	7	7	7	7	7	7s>CCCcR|jdz}||dz|jdz}|tj5t	jt|t|ddddS#1swxYwYdS)Nrfoo.pyrrrr assertRaisesr!ZipAppErrorr"r#r&s   rtest_no_mainzZipAppTest.test_no_mainxsx'	(	!!###|+


v1
2
2	<	<!#f++s6{{;;;	<	<	<	<	<	<	<	<	<	<	<	<	<	<	<	<	<	<s0BB #B cV|jdz}||dz|jdz}|tj5t	jt|t|dddddS#1swxYwYdS)Nrrr
pkg.mod:fnmainrXr&s   rtest_main_and_main_pyz ZipAppTest.test_main_and_main_pysx'	-	&&(((|+


v1
2
2	O	O!#f++s6{{NNNN	O	O	O	O	O	O	O	O	O	O	O	O	O	O	O	O	O	Os2BB"%B"c|jdz}||dz|jdz}tjt|t|dt
jt|d5}|d|	|d|
dddddS#1swxYwYdS)	NrrWrr]r^r.rspkg.mod.fn())rrr r!r"r#r2r3r4r5readr6s    rtest_main_writtenzZipAppTest.test_main_writtens*x'	(	!!###|+c&kk3v;;\JJJJ
_S[[#
.
.	B!MM-666MM/166-+@+@AAA	B	B	B	B	B	B	B	B	B	B	B	B	B	B	B	B	B	BsAC22C69C6c|jdz}||dz|dz|jdz}tjt|t|dt
jt|d5}|d|	
d	ddddS#1swxYwYdS)
NrrWzbar.pyrr]r^r.r)rrr r!r"r#r2r3rJr5countr6s    rtest_main_only_written_oncez&ZipAppTest.test_main_only_written_onces5x'

(	!!###	(	!!###|+c&kk3v;;\JJJJ
_S[[#
.
.	C!Q

 2 2= A ABBB	C	C	C	C	C	C	C	C	C	C	C	C	C	C	C	C	C	Cs*<C33C7:C7c	|jdz}||jdz}gd}|D]}||5|tj5t	jt|t||dddn#1swxYwYdddn#1swxYwYdS)Nrr)
r,zfoo:z:barz12:barza.b.c.:dz.a:bza:b.za:.bza:silly namer^)rrsubTestrYr!rZr"r#)rrr'problemsr_s     rtest_main_validationzZipAppTest.test_main_validationssx'|+


	O	OD4((
O
O&&v'9::OO)#f++s6{{NNNNOOOOOOOOOOOOOOO
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O	O	Os6 B<'2B%B<%B))B<,B)-B<<C	C	c|jdz}||dz|jdz}tjt|t||d5}||ddddddS#1swxYwYdS)NrrrrbrI#!)	rrr r!r"r#openassertNotEqualrbrrr'fs    rtest_default_no_shebangz"ZipAppTest.test_default_no_shebangsx'	-	&&(((|+c&kk3v;;777
[[

	2!q		5111	2	2	2	2	2	2	2	2	2	2	2	2	2	2	2	2	2	2s*B;;B?B?c|jdz}||dz|jdz}tjt|t|d|d5}||dd|d	|	ddddS#1swxYwYdS)
NrrrpythoninterpreterrnrIrospython
)
rrr r!r"r#rprJrbreadlinerrs    rtest_custom_interpreterz"ZipAppTest.test_custom_interpretersx'	-	&&(((|+c&kk3v;;HMMMM
[[

	8!QVVAYY...[!**,,777	8	8	8	8	8	8	8	8	8	8	8	8	8	8	8	8	8	8sAC%%C),C)cR|jdz}||dztj}tjt||d||	
ddS)Nrrrvrws	#!python
)rrr r/r0r!r"r#r$getvalue
startswithr&s   rtest_pack_to_fileobjzZipAppTest.test_pack_to_fileobjsx'	-	&&(((c&kk6xHHHH))44]CCDDDDDrcP|jdz}||dz|jdz}tjt|t|d|tjt|ddSNrrrrvrwrrr r!r"r#rJget_interpreterr&s   rtest_read_shebangzZipAppTest.test_read_shebangsx'	-	&&(((|+c&kk3v;;HMMMM/F<<hGGGGGrcL|jdz}||dz|jdz}tjt|t||tjt|ddSrrr&s   rtest_read_missing_shebangz$ZipAppTest.test_read_missing_shebangsx'	-	&&(((|+c&kk3v;;777/F<<dCCCCCrc|jdz}||dz|jdz}tjt|t|d|jdz}tjt|t|d|tjt|ddS)Nrrrrvrwchanged.pyz	python2.7rrrr'
new_targets    rtest_modify_shebangzZipAppTest.test_modify_shebangsx'	-	&&(((|+c&kk3v;;HMMMM[=0
c&kk3z??TTTT/J@@+NNNNNrc|jdz}||dz|jdz}tjt|t|dt
j}tjt||d||	
ddS)Nrrrrvrwr#!python2.7
)rrr r!r"r#r/r0r$r|r}rs    rtest_write_shebang_to_fileobjz(ZipAppTest.test_write_shebang_to_fileobjsx'	-	&&(((|+c&kk3v;;HMMMMZ\\
c&kk:;OOOO
++--889IJJKKKKKrcD|jdz}||dz|jdz}|jdz}tj||dtj||d|tj|ddS)Nrrztarget1.pyzztarget2.pyzrvrwr)rrr r!r"rJr)rrtarget1target2s    rtest_read_from_pathobjz!ZipAppTest.test_read_from_pathobjsx'	-	&&(((+
-+
-fg8DDDDgwKHHHH/88+FFFFFrc|jdz}||dz|jdz}tj}tjt||dtj}|dtj||d|	|
ddS)	Nrrrrvrwrrr)rrr r/r0r!r"r#r1r$r|r})rrr'temp_archivers     rtest_read_from_fileobjz!ZipAppTest.test_read_from_fileobjsx'	-	&&(((|+z||c&kk<XNNNNZ\\
!lJKPPPP
++--889IJJKKKKKrc|jdz}||dz|jdz}tjt|t|d|jdz}tjt|t|d|tjt|ddS)Nrrrrvrwrrrs    rtest_remove_shebangzZipAppTest.test_remove_shebangsx'	-	&&(((|+c&kk3v;;HMMMM[=0
c&kk3z??MMMM/J@@$GGGGGrcN|jdz}||dztj}tjt||dtj}|dtj||d|dtj
|d5}|t|
dhddddS#1swxYwYdS)Nrrrvrwrr.)rrr r/r0r!r"r#r1r2r3rJsetr5)rrr'rr7s     rtest_content_of_copied_archivez)ZipAppTest.test_content_of_copied_archive sMx'	-	&&(((c&kk6xHHHHZ\\
AfjdCCCC
_Z
-
-	AS..@@@	A	A	A	A	A	A	A	A	A	A	A	A	A	A	A	A	A	As7DD!Dwin32z*Windows does not support an executable bitcX|jdz}||dz|jdz}tjt|t|d||jtj	zdSr)
rrr r!r"r#r$statst_modeS_IEXECr&s   rtest_shebang_is_executablez%ZipAppTest.test_shebang_is_executable/s
x'	-	&&(((|+c&kk3v;;HMMMM

-<=====rcX|jdz}||dz|jdz}tjt|t|d||jtj	zdS)Nrrrrw)
rrr r!r"r#assertFalserrrr&s   r!test_no_shebang_is_not_executablez,ZipAppTest.test_no_shebang_is_not_executable;sx'	-	&&(((|+c&kk3v;;DIIII.=>>>>>rN)$__name__
__module____qualname__rr(r*r8rCrLrOrrUr[r`rcrgrlrtrzr~rrrrrrrrunittestskipIfsysplatformrskip_unless_working_chmodrrrrrrs>+000
******
0
0
0777$333(333]__77_7<<<OOO	B	B	BCCC"OOO222
8
8
8EEEHHHDDD	O	O	O
L
L
L
G
G
GLLL	H	H	HAAAX_S\W,ACC(>>)(CC>X_S\W,ACC??CC???rrcpeZdZ	dZdZdZdZdZdZe	de
jd	Zd
Z
dS)ZipAppCmdlineTestctj}||jt	j|j|_dSr	r
rs  rrzZipAppCmdlineTest.setUpKrrc|jdz}||dz|jdz}tj|||Sr)rrr r!r"r&s   rmake_archivezZipAppCmdlineTest.make_archivePsVx'	-	&&(((|+ff---
rc0|jdz}||dzt|g}t	j||d}||dS)Nrrz.pyz)	rrr r#r!r_with_suffixr$r%)rrargsr's    rtest_cmdline_createz%ZipAppCmdlineTest.test_cmdline_createYsx'	-	&&(((F}D##F++(()))))rc|}|jdz}t|dt|g}tj|||dSN
target.pyz-o)rrr#r!r_r$r%)roriginalr'rs    rtest_cmdline_copyz#ZipAppCmdlineTest.test_cmdline_copycsi$$&&|+H

tS[[1D(()))))rcJ|}|jdz}t|dt|g}|t5}tj|dddn#1swxYwY||jj	dSr
rrr#rY
SystemExitr!r_r$	exceptioncoderrr'rcms     rtest_cmdline_copy_inplacez+ZipAppCmdlineTest.test_cmdline_copy_inplaceks$$&&|+H

tS]]3


z
*
*	bK																
)*****sA99A=A=cN|}|jdz}t|dt|ddg}|t5}tj|dddn#1swxYwY||jj	dS)Nrrz-mzfoo:barrrs     rtest_cmdline_copy_change_mainz/ZipAppCmdlineTest.test_cmdline_copy_change_mainus$$&&|+H

tS[[$	B


z
*
*	bK																
)*****sA;;A?A?z
sys.stdout)new_callablecl|}t|dg}|t5}t	j|dddn#1swxYwY||jjd||	ddS)N--inforzInterpreter: <none>
)
rr#rYrr!r_rJrrr|)rmock_stdoutr'rrs     rtest_info_commandz#ZipAppCmdlineTest.test_info_commands""$$FX&


z
*
*	bK																
*A...--//1HIIIIIsA!!A%(A%c|jdz}t|dg}|t5}t	j|dddn#1swxYwY||jjdS)Nz	dummy.pyzr)	rr#rYrr!r_r$rr)rr'rrs    rtest_info_errorz!ZipAppCmdlineTest.test_info_errors{*FX&


z
*
*	bK																
)*****sAAAN)rrrrrrrrrrr/StringIOrrrrrrrGs.000
******++++++U<bk222JJ32J+++++rr__main__)r/rrrrrr!r2test.supportrr
unittest.mockrTestCaserrrr_rrr<module>rs)				







&&&&&&""""""t?t?t?t?t?"t?t?t?n	J+J+J+J+J+)J+J+J+ZzHMOOOOOr