python (3.12.0)

(root)/
lib/
python3.12/
test/
__pycache__/
test_zipimport.cpython-312.pyc

ΑeddlZddlZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
mZddlm
Z
ddlmZddlmZmZmZmZddlZddlZddlZddlZddlZddlmZmZmZ	ddlZdZe edd	Z!d
Z"dZ#dZ$ejZ%e#e!e%e&eZ'd
Z(dZ)dZ*ejVjYdZ-ejVjYdZ.ej^jae(dzZ1dZ2GddejfZ4Gdde4Z5ejlGdde5Z7GddejfZ8dZ9e:dk(rejvyy#e$rdZY
wxYw)N)support)
import_helper)	os_helper)ZipFileZipInfo
ZIP_STOREDZIP_DEFLATED)
extract_tb
extract_stackprint_tbzHdef get_name():
    return __name__
def get_file():
    return __file__
<???>execz def do_raise(): raise TypeError
ctj|}tjjtjddt|dz|dzz|z}|S)Nz<iLLr)marshaldumps	importlibutilMAGIC_NUMBERstructpackint)comtimesizedatapycs     G/BuggyBox/python/3.12.0/bootstrap/lib/python3.12/test/test_zipimport.pymake_pycr&sY==D>>&&FAJ,d[.@	BBDHICJcB|jtjdS)N.)replaceossep)paths rmodule_path_to_dotted_namer'-s<<$$r 
ziptestmoduleziptestpackageziptestpackage2	junk95142z
junk95142.zip.py.pycceZdZdZdZy)ImportHooksBaseTestCasectjdd|_tjdd|_tjdd|_tjjt
j|_yN)	sysr&	meta_path
path_hookspath_importer_cacheclearr
modules_setupmodules_beforeselfs rsetUpzImportHooksBaseTestCase.setUp@sTHHQK	q)..+%%'+99;r c&|jtjdd|jtjdd|jtjddtjjt
j|jyr1)	r&r2r3r4r5r6rmodules_cleanupr8r9s rtearDownz ImportHooksBaseTestCase.tearDownGs]ii>>

a OOq%%'%%t':':;r N)__name__
__module____qualname__r;r>r rr/r/>s<<r r/ceZdZeZdZefdZefdZ	dZ
dZdZdZ
dZd	Zej"j%d
ddZd
ZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!dZ"dZ#dZ$dZ%dZ&d Z'd!Z(d"Z)d#Z*d$Z+d%Z,d&Z-d'Z.ej^e0jbd(ud)d*Z2d+Z3d,Z4d-Z5d.Z6y()/UncompressedZipImportTestCasectjtjj	t
j
|yr1)	linecache
clearcache	zipimport_zip_directory_cacher6r/r;r9s rr;z#UncompressedZipImportTestCase.setUpSs0	&&,,.%%d+r c\|jtj||jD]\}\}}tj
j
||}|dtjk(r6tj
j|r_t	j|utj
j|}tj
j|st	j|t|d5}|j|dddy#1swYxYw)Nwb)
addCleanuprrmtreeitemsr$r&joinr%isdirmakedirsdirnameopenwrite)	r:filesdirNamenamerrr&dnamefps	         rmakeTreez&UncompressedZipImportTestCase.makeTreeZs	
	(('2#(;;=
	#D-5$77<<.DBx266!ww}}T*KK%-ww}}U+KK&$%#HHTN##
	###sD""D+	c|jtj|t|d5}|j	D]J\}\}}t|t
j|}|j|_	|j||L|jdd}	|	|	|_ddd|jdd}
|
]t|d5}|j}dddt|d5}|j|
|jdddyy#1swY{xYw#1swYNxYw#1swYyxYw)NwcommentstuffrbrL)rMrunlinkrrOrtime	localtimecompression
compress_typewritestrgetr^rTreadrU)r:rVzipNamekwzrXrrzinfor^r_fs            rmakeZipz%UncompressedZipImportTestCase.makeZipks,	
	(('2
Wc
"	$a',{{}
(#muddnnU&;<&*&6&6#

5$'
(ffY-G"#		$w%gt$
 vvx
 gt$



		$	$
 
 

s$A9D D,3#D8 D),D58Ec|j|fi|tjjdttjdj|}|jd}||||rH|j}|j|tjjtg||zyy)Nrr"call)rnr2r&insertTEMP_ZIPr
import_modulerPrgget_fileassertEqualr$)r:expected_extrVmodulesrjmodrpfiles        rdoTestz$UncompressedZipImportTestCase.doTestsU!b!8$%%chhw&78vvf~I<<>DT277<<$+")$+-9$:
;r cdtjvr|jddtjvrtjd=dtt
fi}	|j
d|d|jtk7r|jdyy#t$r)|jtk7r|jdYyYywxYw)Nzlibzzlib is a builtin modulezzlib.pyr,z"expected test to raise ImportErrorz&expected test to not raise ImportError)r2builtin_module_namesskipTestrwNOWtest_srcrzrdrfailImportErrorr	r:rVs  r
testAFakeZlibz+UncompressedZipImportTestCase.testAFakeZlibs&S---MM45S[[ F#S(O,	@KKuf-
:-		>?.		D</		BC0	DsB-CCc\tdzttfi}|jd|tyNr,TESTMODrrrzrs  rtestPyz$UncompressedZipImportTestCase.testPys$53/2E5'*r clttzttfi}|j	t|tyr1)rpyc_extrtest_pycrzrs  rtestPycz%UncompressedZipImportTestCase.testPycs%7"S(O4GUG,r ctdzttfttzttfi}|jt|tyr)rrrrrrzrs  rtestBothz&UncompressedZipImportTestCase.testBoths453/7"S(O5GUG,r c"d}tjj|}tjj	t|dd|d}tdztdftdztdz
|fi}fd	}jd|t|
y)N
state = 'old'???rFr,
state = 'new'r-c>j|jdy)Noldrustaterxr:s rcheckzFUncompressedZipImportTestCase.testUncheckedHashBasedPyc.<locals>.checkSYY.r rp	rrsource_hash_bootstrap_external_code_to_hash_pyccompilerrrzr:sourcerbytecoderVrs`     rtestUncheckedHashBasedPycz7UncompressedZipImportTestCase.testUncheckedHashBasedPycs!nn00800BBFE6*

53"86!C"Hh#79	/D%u5r z_imp.check_hash_based_pycsalwaysc"d}tjj|}tjj	t|dd|d}tdztdftdztdz
|fi}fd	}jd|t|
y)NrrrFr,rr-rc>j|jdy)Nnewrrs rrzOUncompressedZipImportTestCase.test_checked_hash_based_change_pyc.<locals>.checkrr rrrs`     r"test_checked_hash_based_change_pycz@UncompressedZipImportTestCase.test_checked_hash_based_change_pycs!nn00800BBFE6*

53"86!C"Hh#79	/D%u5r cTtdztdfi}|jd|ty)Nr,)rrrzrs  rtestEmptyPyz)UncompressedZipImportTestCase.testEmptyPys$53),D%)r ctt}|dxxdzcc<tdzttftt
zt|fi}|j
d|ty)Nrr,	bytearrayrrrrrrz)r:badmagic_pycrVs   rtestBadMagicz*UncompressedZipImportTestCase.testBadMagicsM *Q453/7"S,$79E5'*r ctt}|dxxdzcc<ttzt|fi}	|jd|t|j
dy#tj$rP}|j|jt|jd|jjYd}~yd}~wwxYw)Nrrr,zThis should not be reachedzmagic number)rrrrrrzrrHZipImportErrorassertIsInstance	__cause__rassertInmsg)r:rrVexcs    r
testBadMagic2z+UncompressedZipImportTestCase.testBadMagic2s *Q47"S,$78	=KKug.II23''	=!!#--=MM.#--*;*;<<	=s(AB?/AB::B?ctt}|dxxdzcc<tdzttftt
zt|fi}|j
d|ty)Nr,r)r:badtime_pycrVs   rtestBadMTimez*UncompressedZipImportTestCase.testBadMTimesO)	B453/7"S+$68E5'*r cttdtt}tdzt
tfttzt
|fi}|jd|ty)Nrr,)rtest_colenrrrrrz)r:twenty_thirty_eight_pycrVs   r
test2038MTimez+UncompressedZipImportTestCase.test2038MTimesL#+7Is8}"M53/7"S*A$BDE5'*r cttjz}|dztztt
f|tztztt
fi}|jt|ttyN__init__)TESTPACKr$r%rrrrrz)r:packdirrVs   rtestPackagez)UncompressedZipImportTestCase.testPackagesORVV#:%/#x7"W,sHo?GUHg6r c@ttjz}|tztjz}|dztzt
tf|dztzt
tf|tztzt
tfi}|jt|tttyr)	rr$r%	TESTPACK2rrrrrzr:rpackdir2rVs    rtestSubPackagez,UncompressedZipImportTestCase.testSubPackage
s|RVV#Y&/:%/#xJ&03/G#g-X@	
GUHiAr cttjz}|tztjz}|tdf|tdf|t
ztzttfi}|jt|ttt
yNr)	rr$r%rrrrrrzrs    rtestSubNamespacePackagez5UncompressedZipImportTestCase.testSubNamespacePackageshRVV#Y&/3)C9G#g-X@	
GUHiAr c8
ttjz}|tztjz}|tzdztjz}|tdf|t
ztzttf|tdf|tdf|t
ztzttf|t
zdztzttf|t
ztzttfi}|tdf|t
zdztzttf|tdf|t
zdztzttf|t
ztzttfi}tjjd}|j||t}|j||tjjd|tjjd|tj t}|j#dt%|j&|j&\}	}
|j#tjj)t|	j+tjd|j#d|
j+tjdtj |j-tjddd	}|j#d
t%|j&t/|j&dj+dtjzd
}|j#|dd	|tj dj1tt
f}|j#d|j2j+tjdtj dj1tt
dzf}|j#tjj)t|j2j+tjddj1ttf}tj |}|j#dt%|j&|j&\}	}
|j#tjj)t|	j+tjd|j#d|
j+tjdtj dj1|t
f}|j#tjj)t|j2j+tjdtj dj1|t
dzf}|j#tjj)t|j2j+tjdtj dj1|t
dzf}|j#d|j2j+tjdy)
N3r2	path1.ziprrr"rK)rr$r%rrrrrr&abspathrnTEMP_DIRr[r2rqrrsrur__path__basenamesplitr#listrP__file__)
r:rrpackdir3files1files2zip1zip2rxp1p2mpathsubpkgs
             rtestMixedNamespacePackagez7UncompressedZipImportTestCase.testMixedNamespacePackage"sRVV#Y&/h&,rvv5C9G#g-XS"IS"IW$w.hW$s*W4sHoW$w.h
AC9G#c)G3c8_S"IW$s*W4sHoW$w.h	Aww{+VT"

fd#	4 4 %%h/
	
C-.B))(3RXXbff5Eb5IJbhhrvv&6r&:;%%h&6&6rvvs&CCR&HIC-.S\\"1%++K"&&,@A!D#2.%%chh'/B&CDcll&8&8&@&DE%%chh'C-/H&IJ))(3++BFF3B7	98Y/0%%f-C-.B))(3RXXbff5Eb5IJbhhrvv&6r&:;%%chh/@&AB))(3++BFF3B7	9%%chh#
/F&GH))(3++BFF3B7	9%%chh#
/F&GHcll&8&8&@&DEr c ttjz}|tztjz}|tzdztjz}|tdf|t
ztzttf|tdf|tdf|t
ztzttf|t
zdztzttf|t
ztzttfi}tjjd}|j|||tdf|t
zdztzttf|tdf|t
zdztzttf|t
ztzttfi}tjjd}|j||tjjd|tjjd|tjt}|jdt!|j"|j"\}	}
|jd|	j%tjd|jd|
j%tjdtj|j'tjd	dd
}|jdt!|j"t)|j"dj%dtjzd}|j|dd
|tjd	j+tt
f}|jd|j,j%tjdtjd	j+tt
dzf}|jd|j,j%tjdd	j+ttf}tj|}|jdt!|j"|j"\}	}
|jd|	j%tjd|jd|
j%tjdtjd	j+|t
f}|jd|j,j%tjd
tjd	j+|t
dzf}|jd|j,j%tjd
tjd	j+|t
dzf}|jd|j,j%tjd
y)Nrrrrz	path2.ziprrrr"rKrrr)rr$r%rrrrrr&rrnr2rqrrsrurrrr#rrPr)
r:rrrrrrrrxrrrrs
             rtestNamespacePackagez2UncompressedZipImportTestCase.testNamespacePackageos|RVV#Y&/h&,rvv5C9G#g-XS"IS"IW$w.hW$s*W4sHoW$w.h
Aww{+VT"C9G#c)G3c8_S"IW$s*W4sHoW$w.h	A
ww{+VT"	4 4 %%h/
	
C-.Bbhhrvv&6r&:;bhhrvv&6r&:;%%h&6&6rvvs&CCR&HIC-.S\\"1%++K"&&,@A!D#2.%%chh'/B&CDcll&8&8&@&DE%%chh'C-/H&IJcll&8&8&@&DE8Y/0%%f-C-.Bbhhrvv&6r&:;bhhrvv&6r&:;%%chh/@&ABcll&8&8&@&DE%%chh#
/F&GHcll&8&8&@&DE%%chh#
/F&GHcll&8&8&@&DEr c	ttjz}|tztjz}|dztzt
tf|dztzt
tf|tztzt
tfdtzt
tfi}|jtjtttd5}|jD]Q\}\}}t|tj |}|j"|_d|_|j)||S	dddt+j,t}	|j/|	j0t|j3|	j5tt7j85t7j:dt<|	j?t}
|j/|	jAt|
jBddd|	jEd}|jG||jI|jJt*j,|jM|jJj5dtNjPjS|}|jJjU||j/|jJjAd|jB|	jEt}tNjPjS|}
|jJjU|
|j/|	jAt|
jBtOjVtjXd}
tjZj]tt}|j/|
||jM|	j5|dz|j3|	j5|tz|jM|	j5|tz|tz}t_|}tOjV|}
|j3|t`jbv|je|	jgt|je|	jg||j/|	jA||
jB|
jhjJ}|je|jg||j/|jA||
jBt+j,ttjztz}|j/|j0t|j/|jjttjzy#1swYxYw#1swYxYw)Nrspamr]spamignorer)6rr$r%rrrrrrMrrarrrrOrrbrcrdrer^rfrHzipimporterruarchive
assertTrue
is_packagewarningscatch_warningssimplefilterDeprecationWarningload_moduleget_filenamer	find_specassertIsNotNonerloaderassertFalserrmodule_from_specexec_modulersrr&rPr'r2rwassertIsNone
get_source__spec__prefix)r:rrrVrkrXrrrlzirxspecexec_modexisting_pack_pathexpected_path_pathmod_pathmod_namerzi2s                   rtestZipImporterMethodsz4UncompressedZipImportTestCase.testZipImporterMethodssARVV#Y&/:%/#xJ&03/G#g-X'!C?4
	
	(((3
Xs
#	(q',{{}
(#muddnnU&;<&*&6&6# '


5$'	
(	(
"
"8
,X.

h/0
$
$
&	F!!(,>?..*CR__X6E		F||F#T"dkk9+@+@A//78>>2248)11&98;L;LM||H%nn--d3$2CLLA&44X>GGJWW\\(H=+-?@w';<=

g	&9:;x''9:;g%-h7%%h/CKK/0"--12"--122CLLA$$&++H56,,X6E##Hrvv$5$@Ah/X%67q	(	(	F	FsA%W AW%W"%W/c	nttjz}|tztjz}|dztzt
tf|dztzt
tf|tztzt
tfdtzt
tfi}|jtjtttd5}|jD]Q\}\}}t|tj |}|j"|_d|_|j)||S	dddt+j,t}	|j/|	j0j3|j3|	j5|j/|	j0j3|j3dtzt
tfi}
|j7|
ttd5}|
jD]Q\}\}}t|tj |}|j"|_d|_|j)||S	ddd|	j5|j/|	j0j3|j3|	j9d}|j;||j=|j>t*j,tj@t|	j5|jC|	j0|jEt*jFjI|	jJ|jE|	j9dy#1swYxxYw#1swYHxYw)Nrrr]rspam2aname_does_not_matter)&rr$r%rrrrrrMrrarrrrOrrbrcrdrer^rfrHrru_fileskeysinvalidate_cachesupdaterrrrremoverrrIrgr)r:rrrVrkrXrrrlrnewfilers            rtestInvalidateCachesz2UncompressedZipImportTestCase.testInvalidateCachessRVV#Y&/:%/#xJ&03/G#g-X'!C?4	
	(((3
Xs
#	(q',{{}
(#muddnnU&;<&*&6&6# '


5$'	
(	(
"
"8
,)5::<8
)5::<8W$sHo6
W
Xs
#	(q'.}}
(#muddnnU&;<&*&6&6# '


5$'	
(	(	)5::<8||G$T"dkk9+@+@A
		(
#)88<<RZZHI",,'=>?A	(	(	(	(sA%N>A%N*N'*N4c
ttjz}|tztjz}|dztzt
tf|tztzt
tfi}|jtjtttd5}|jD]Q\}\}}t|tj |}|j"|_d|_|j)||S	dddt+j,ttjz|z}	|j/|	j0t|j/|	j2||j5|	j7tt9j:5t9j<dt>|	jAt}
|j/|	jCt|
jDddd|	jGt}tHjJjM|}
|jNjQ|
|j/|jNjCt|
jD|jS|	j7ttjzdz|jS|	j7ttjztzttjz|ztz}t+j,|}
|
jGt}|jU||jW|jNt*j,|jS|jNj7ttHjJjM|}|jNjQ||j/|jNjCt|jDttjztz}tY|}tIjZ|}
|j5|t\j^v|ja|	jct|ja|	jc||j/|	jC||
jD|
jd}|ja|jc||j/|jC||
jDy#1swY[xYw#1swY`xYw)Nrr]seggsr)3rr$r%rrrrrrMrrarrrrOrrbrcrdrer^rfrHrrurrrrrrrrrrrrrrrrrrrrr'rsr2rwrr
__loader__)r:rrrVrkrXrrrlrrxrpkg_pathrload_modrr
rs                  r$testZipImporterMethodsInSubDirectoryzBUncompressedZipImportTestCase.testZipImporterMethodsInSubDirectory%sRVV#Y&/J&03/G#g-X@	
	(((3
Xs
#	(q',{{}
(#muddnnU&;<&*&6&6# '


5$'	
(	(
"
"8bff#4w#>
?X.G,

i01

$
$
&	G!!(,>?..+CR__Y7F	G
||I&nn--d3$11)<cllKy266'9J'FGHy266'9G'CDEbff$w.:##H-}}W%T"dkk9+@+@A//89>>2248)KK$$W-x/@/@	Brvv%/-h7%%h/CKK/0"--	23"--122CLLA&++H56,,X6Ec	(	(	G	GsA%U'AU$U!$U.c|jtjtt	td5}|j
|_d}t
dtdD}|j||dddtjt}|j|j|jdt|y#1swY_xYw)Nr]ztestdata.datc3 K|]}|ywr1rB).0xs  r	<genexpr>z<UncompressedZipImportTestCase.testGetData.<locals>.<genexpr>ds/q/szzipimporter object)rMrrarrrrdbytesrangerfrHrruget_datarrepr)r:rkrXrrs     rtestGetDataz)UncompressedZipImportTestCase.testGetData_s	(((3
Xs
#	#q ,,AM!D/E#J//D
JJtT"		#
"
"8
,r{{401

*DH5	#	#sACCcd}tt|ddtt|}tt
zt|fdtdfi}|j
t
|ty)Nzif 1:  # indent hack
        def get_file():
            return __file__
        if __loader__.get_data("some.data") != b"some data":
            raise AssertionError("bad data")
r
rz	some.dataz	some data)rrrrrrrz)r:srcrrVs    rtestImporterAttrz.UncompressedZipImportTestCase.testImporterAttrksU2
wsGV4c3s8D7"S#JsK02GUG,r cLd}tdzt|fi}|j|tjjdttjt}|j|jdd	|jt|jdy)Nz[if 1:  # indent hack
        def test(val):
            assert(val)
            return val
r,rrF)
rrrnr2r&rqrrrrsrutestassertRaisesAssertionError)r:r,rVrxs    rtestDefaultOptimizationLevelz:UncompressedZipImportTestCase.testDefaultOptimizationLevelvs|53*-U8$%%g.!a(nchh>r c`tdzttfi}|jd|tdy)Nr,s6Some StuffSome StuffSome StuffSome StuffSome StuffSome StuffSome StuffSome StuffSome StuffSome StuffSome StuffSome StuffSome StuffSome StuffSome StuffSome StuffSome StuffSome StuffSome StuffSome StuffSome StuffSome StuffSome StuffSome StuffSome StuffSome StuffSome StuffSome StuffSome StuffSome StuffSome Stuff)r_rrs  rtestImport_WithStuffz2UncompressedZipImportTestCase.testImport_WithStuffs053/2E5'*		,r cV|jtj|tyr1)ruinspect	getsourcer)r:modules  rassertModuleSourcez0UncompressedZipImportTestCase.assertModuleSources**62H=r cttdzttfi}|jd|t|jyNr,r)rrrrzr9rs  r
testGetSourcez+UncompressedZipImportTestCase.testGetSources.53/2E5'0G0GHr ctttddtt	t}t
dzttft
tzt|fi}|jt|t
|jy)Nr
rr,r)	rrrrrrrrzr9)r:rrVs   rtestGetCompiledSourcez3UncompressedZipImportTestCase.testGetCompiledSourcesYwx&93H
N53/7"S#J0GUG$2I2IJr cptdzttfdtdfi}|jd|t|y)Nr,xyz.txtz>>> log.append(True)
rr)r:callbackrVs   r
runDoctestz(UncompressedZipImportTestCase.runDoctests553/S":;=E5'9r cg}tjdc}t_	tjd|dt|t_|j	|dgy#|t_wxYwNr@T)packagemodule_relativeglobs)doctestmastertestfilelocalsru)r:r8log
old_masters    r
doDoctestFilez+UncompressedZipImportTestCase.doDoctestFiles^%,^^T"
GN	(64h

(GNdV$(GNs!A  
A-c:|j|jyr1)rBrNr9s rtestDoctestFilez-UncompressedZipImportTestCase.testDoctestFiles**+r cg}tjd|dtj|j	|dgyrD)rHDocFileTestrKrunru)r:r8rLs   rdoDoctestSuitez,UncompressedZipImportTestCase.doDoctestSuites<vt(	
#%dV$r c:|j|jyr1)rBrTr9s rtestDoctestSuitez.UncompressedZipImportTestCase.testDoctestSuites++,r cP	|jtd#t$r}|jj}t|dd\}}}}|j
|tjt|jdd\}}}}|j
|tjtj}t|d||j|jj!t#j$rdndYd}~yd}~wwxYw)NzThis ought to be impossiblerrz$    def do_raise(): raise TypeError
z$                    ^^^^^^^^^^^^^^^
)do_raiser1	Exception
__traceback__tb_nextr
ru	raise_srcstriprtb_frameioStringIOrrgetvalueendswithrhas_no_debug_ranges)	r:r8etbrmlnonliness	         rdoTracebackz)UncompressedZipImportTestCase.doTracebacks	@OO$!!>??#	((B%b!,Q/LAc!DT9??#45(a8;LAc!DT9??#45
ARAOOAJJL111137

	s	D%C5D  D%cttdzttfi}|jd|t|jyr;)rrr\rzrjrs  r
testTracebackz+UncompressedZipImportTestCase.testTracebacks/53	"23D%t/?/?@r Nzneed an unencodable filenamectjdz}|jtj|t	|d5}ttdztjt}|j|_|j|tdddtj|j!t}t"j$j'|}|j(j+|y#1swYlxYwNz.zipr]r,)rTESTFN_UNENCODABLErMrarrrrbrcrrdrerfrrHrrrrrrr)r:filenamerkrlrrxs      rtestUnencodablez-UncompressedZipImportTestCase.testUnencodables//&8	(((3
Xs
#	(qGeOT^^C-@AE"&"2"2E
JJuh'	($$X.88Ann--d3$
	(	(s
AC==Dctjdz}|jtj|t	|d5}ttdztjt}|j|_|j|tdddtj||j!t"5tjt%j&|ddd|j!t"5tjt)t%j&|ddd|j!t"5tjt+t%j&|dddy#1swYxYw#1swYxYw#1swYrxYw#1swYyxYwrn)rTESTFNrMrarrrrbrcrrdrerfrrHrr0	TypeErrorr$fsencoder
memoryview)r:rprkrls    r
testBytesPathz+UncompressedZipImportTestCase.testBytesPathsR##f,	(((3
Xs
#	(qGeOT^^C-@AE"&"2"2E
JJuh'	(
	h'


y
)	9!!"++h"78	9


y
)	D!!)BKK,A"BC	D


y
)	E!!*R[[-B"CD	E	E	(	(	9	9	D	D	E	Es1AF)F!
2F-2F9F!F*-F69Gc`tdzttfi}|jd|tdy)Nr,scommentr^rrs  rtestCommentz)UncompressedZipImportTestCase.testComments(53/2E5':>r cbtdzttfi}|jd|tddy)Nr,s@cruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftshi)r_r^rrs  rtestBeginningCruftAndCommentz:UncompressedZipImportTestCase.testBeginningCruftAndComments*53/2E5'Nr cftdzttfi}|jd|tddzy)Nr,ciryrrs  rtestLargestPossibleCommentz8UncompressedZipImportTestCase.testLargestPossibleComments-53/2E5'4=3IJr )7r?r@rArrdr;rr[rrrnrzrrrrrunittestmockpatchrrrrrrrrrrrrrrr*r-r2r4r9r<r>rBrNrPrTrVrjrlskipIfrrorqrwrzr|rrBr rrDrDOsFK,'/#"&.0; @B+--
6]]5x@6A6*+
=++7B	BKFZGFRA8F(@T8Ft
6	-- ,>IK:

%,%-@,AX__Y11T935	%5	%E ?OKr rDceZdZeZy)CompressedZipImportTestCaseN)r?r@rAr	rdrBr rrrsKr rceZdZdZdZdZdZdZdZe	jejddZ
d	Zd
Zy)BadFileZipImportTestCasecb|jtjtj|yr1)r0rHrr)r:rps  rassertZipFailurez)BadFileZipImportTestCase.assertZipFailures#)22#//	;r c&|jdy)NAdfjdkFJKDFJjdklfjsrr9s r
testNoFilez#BadFileZipImportTestCase.testNoFiles34r c&|jdyrrr9s rtestEmptyFilenamez*BadFileZipImportTestCase.testEmptyFilename
sb!r c	.|jttjd|jttjtd|jttjtt
jty)N)kwd)r0rtrHrrrr$rur9s rtestBadArgsz$BadFileZipImportTestCase.testBadArgs
s`)Y%:%:DA)Y%:%:GN)Y%:%:r{{734	6r c,|jddzy)NAirr9s rtestFilenameTooLongz,BadFileZipImportTestCase.testFilenameTooLongscEk*r ctjttjt|j	tyr1)rrarcreate_empty_filerr9s r
testEmptyFilez&BadFileZipImportTestCase.testEmptyFiles,!##G,g&r zmode 000 not supported.c$tjttjttj
d}	tj||jtj5}tjtdddtjtdtjty#1swY=xYw#tjtdtjtwxYw)Nri)rrarr$rTO_CREATcloser0rHrrchmod)r:fdcms   rtestFileUnreadablez+BadFileZipImportTestCase.testFileUnreadables!
WWWbjj#
.		&HHRL""9#;#;<
/%%g.
/

HHWe$W%

/
/

HHWe$W%s$4C8CCCC5Dctjtttd}|j	d|j|j
ty)Nw+aaaaaaaaaaaaaaaaaaaaaa)rrarrTrUrr)r:rZs  rtestNotZipFilez'BadFileZipImportTestCase.testNotZipFile*s?!
'4
 


g&r c@tjtttd}|j	tjdd|j	d|jtjt}	tj5tjdt|jt|j dddd|jt|j"d|jt|j$d|jt|j&d|jt|j(d|jt|j*d|jt|j,d|jt|j.dtj0}|j3|j%dtj5tjdt|j||j dddd|j||j*d|jt4|j,d|j||j.d|j||j(dtj6j9y#1swYxYw#1swYxYw#tj6j9wxYw)Nrz=IiPKaaaaaaaaaaaaaaaaaarabc)rrarrTrUrrrrHrrrrrr0rtrfind_modulerrrget_coder(rrrOSErrorrIr6)r:rZrkerrors    r_testBogusZipFilez*BadFileZipImportTestCase._testBogusZipFile2s0!
'4
 
T:./


!!'*	3((*
B%%h0BC!!)Q]]DA
B
i=id;i=it<iT:iT:it<,,Eakk%01((*
?%%h0BC!!%>
?
eQZZ7gqzz59eQ\\59eQ\\59**002-
B
B
?
?
**002s>
K=<K$D3K=
8K1BK=$K.)K=1K:6K== LN)r?r@rArrrrrrrrris_wasirrrrBr rrrsQ;5"6+'
X__W__&?@&A&'3r rc6tjtyr1)rrarrBr rtearDownModulerTs
Wr __main__)<r2r$rrimportlib.utilrrbr
unittest.mockrr/rtest.supportrrzipfilerrrr	rHrFrHr6r_	tracebackr
rrr|rrrrr\rr'rrrrrrr&rrrrrcache_from_sourcepyc_filerTestCaser/rD
requires_zlibrrrr?mainrBr r<module>rs~
	
&">>	99(GV
,/	%diikGS#h-0	
77??;'
77???+>>++GeO<
<h//<"k
K$;k
K\"?O3x00O3dzHMMO}Ds&E**E54E5