HEX
Server: Apache
System: Linux zacp120.webway.host 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP Thu Apr 17 19:10:24 UTC 2025 x86_64
User: govancoz (1003)
PHP: 8.3.26
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: //usr/local/lib/python3.7/test/test_importlib/source/__pycache__/test_file_loader.cpython-37.pyc
B

��g�~�@sddlmZddlmZe�d�Ze�d�Ze�d�Ze�d�ZddlZddl	Z	ddl
Z
ddlZddlZddl
Z
ddlZddlZddlZddlZdd	lmZmZdd
lmZddlmZGdd
�d
ej�Zejeeeeed�\ZZGdd�deee��ZGdd�deedd�ZGdd�d�ZGdd�de�Z Gdd�de�Z!Gdd�d�Z"Gdd�de"e �Z#eje#eeeed�\Z$Z%Gdd �d e"e!�Z&eje&eeeed�\Z'Z(Gd!d"�d"�Z)Gd#d$�d$e)e �Z*eje*eeeed�\Z+Z,Gd%d&�d&e)e!�Z-eje-eeeed�\Z.Z/e0d'k�re�1�dS)(�)�abc)�util�	importlibz
importlib.abczimportlib.machineryzimportlib.util�N)�make_legacy_pyc�unload)�without_source_date_epoch)�SourceDateEpochTestMetac@s�eZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zejdd��Zdd�Zejd d!��Zejd"d#��Zejd$d%��Zejd&d'��Zd(S))�
SimpleTestz�Should have no issue importing a source module [basic]. And if there is
    a syntax error, it should raise a SyntaxError [syntax error].

    cCs4d|_tj�d|jd�|_|j�|j|j�|_dS)NZspamZhamz.py)�name�os�path�join�filepath�	machinery�SourceFileLoader�loader)�self�r�G/usr/local/lib/python3.7/test/test_importlib/source/test_file_loader.py�setUp!szSimpleTest.setUpc	CsVGdd�d|jj�}|dd�}|�td�t���t�dt�|��}WdQRXdS)Nc@seZdZdd�Zdd�ZdS)z/SimpleTest.test_load_module_API.<locals>.TestercSsdS)Nz	attr = 42r)r�_rrr�
get_source(�z:SimpleTest.test_load_module_API.<locals>.Tester.get_sourcecSsdS)NFr)rrrrr�
is_package)rz:SimpleTest.test_load_module_API.<locals>.Tester.is_packageN)�__name__�
__module__�__qualname__rrrrrr�Tester'srZblahzblah.py�ignore)	r�
FileLoaderZ
addCleanupr�warnings�catch_warnings�simplefilter�DeprecationWarning�load_module)rrr�modulerrr�test_load_module_API&s

zSimpleTest.test_load_module_APIc	Cs�Gdd�d|jj�}d}d}|||�}|�||�|��|�||���|�||�d��|�t��|�|d�WdQRXdS)Nc@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
z0SimpleTest.test_get_filename_API.<locals>.TestercSsdS)Nr)rrrrr�get_code4rz9SimpleTest.test_get_filename_API.<locals>.Tester.get_codecSsdS)Nr)rrrrrr5rz;SimpleTest.test_get_filename_API.<locals>.Tester.get_sourcecSsdS)Nr)rrrrrr6rz;SimpleTest.test_get_filename_API.<locals>.Tester.is_packagecSsdS)Nr)rrrrr�module_repr7rz<SimpleTest.test_get_filename_API.<locals>.Tester.module_reprN)rrrr(rrr)rrrrr3srZ	some_pathZ	some_nameZXXX)rr �assertEqual�get_filename�assertRaises�ImportError)rrr
rrrrr�test_get_filename_API1s
z SimpleTest.test_get_filename_APIcCs$|j�|j|j�}|�|j|�dS)N)rrrrr*r)r�otherrrr�
test_equalityBszSimpleTest.test_equalitycCs(|j�d|j|j�}|�|j|�dS)Nr)rrrrZassertNotEqualr)rr/rrr�test_inequalityFszSimpleTest.test_inequalityc
Cs�t�d���}|j�d|d�}t���t�dt�|�d�}WdQRX|�	dt
j�d|ddd�}x&|��D]\}}|�
t||�|�qpWWdQRXdS)N�_tempr�)r�__file__�__package__)r�create_modulesrrr!r"r#r$r%�assertIn�sys�modules�itemsr*�getattr)r�mappingrr&�check�attr�valuerrr�test_moduleKs
zSimpleTest.test_modulec
Cs�t�d���}|j�d|d�}t���t�dt�|�d�}WdQRX|�	dt
j�d|dtj
�|d�gdd�}x&|��D]\}}|�t||�|�q�WWdQRXdS)Nz
_pkg.__init__�_pkgr)rr4�__path__r5)rr6rrr!r"r#r$r%r7r8r9rr
�dirnamer:r*r;)rr<rr&r=r>r?rrr�test_packageWs

zSimpleTest.test_packagec
Cs�t�dd���}|j�d|d�}t���t�dt�|�d�}WdQRX|�	dt
j�d|ddd�}x&|��D]\}}|�
t||�|�qrWWdQRXdS)Nz
_pkg.__init__z_pkg.modrrA)rr4r5)rr6rrr!r"r#r$r%r7r8r9r:r*r;)rr<rr&r=r>r?rrr�test_lacking_parentfs

zSimpleTest.test_lacking_parentcs�fdd�S)z-Fake mtime to always be higher than expected.cs�|�dS)N�r)r)�fxnrr�<lambda>urz'SimpleTest.fake_mtime.<locals>.<lambda>r)rrGr)rGr�
fake_mtimesszSimpleTest.fake_mtimec
Cs
t�d���}|j�d|d�}t���t�dt�|�d�}WdQRXt	|�}t	|j
�}t|dd��}|�d�WdQRXt���t�dt�|�d�}WdQRX|�
d|j
d�t|j
�����|�|tjd�|�t	|�|�|�t	|j
�|�WdQRXdS)Nr2r�wztesting_var = 42
Ztesting_varz'testing_var' not in {0})rr6rrr!r"r#r$r%�id�__dict__�open�writer7�format�list�keysr*r8r9)rr<rr&Z	module_idZmodule_dict_id�filerrr�test_module_reusews$



zSimpleTest.test_module_reusec	Cs"d}d}d}t�|���}t�|�}x|D]}t|||�q*Wt||d��}|�d�WdQRX|j�d|d�}|�	t
��|�|�WdQRXx|D]}|�t
||�|�q�W|�	t
��0t���t�dt�|�|�WdQRXWdQRXx|D]}|�t
||�|�q�WWdQRXdS)N)r4rBr5z<test>r2rJz+++ bad syntax +++r)rr6�types�
ModuleType�setattrrMrNrrr,�SyntaxError�exec_moduler*r;r!r"r#r$r%)	rZ
attributesr?rr<Zorig_moduler>rRrrrr�test_state_after_failure�s(




z#SimpleTest.test_state_after_failurecCs�t�d���}t|dd��}|�d�WdQRX|j�d|d�}|�t��0t�	��t�
dt�|�d�WdQRXWdQRX|�
dtj�WdQRXdS)Nr2rJ�=r)rr6rMrNrrr,rWr!r"r#r$r%ZassertNotInr8r9)rr<rRrrrr�test_bad_syntax�s
zSimpleTest.test_bad_syntaxcCs�d}t|d��}|�d�WdQRXzvt�d��b|j�d|�}t���t�dt	�|�
d�}WdQRX|�||j�|�|j�
|�|j�WdQRXWdt�|�tj�|j�
|��}tj�|�r�t�|�XdS)Nz_temp.pyrJz# test file for importlibr2r)rMrNrZuncacherrr!r"r#r$r%r*r4�cache_from_source�
__cached__r�unlinkr
rC�exists�shutilZrmtree)r�	file_pathrRr�mod�pycacherrr�test_file_from_empty_string_dir�s 

z*SimpleTest.test_file_from_empty_string_dirc	Cs|t�d���f}|d}|j�|�}t|d��}|�d�WdQRXyt�|d�Wnbtk
rp|�d�YnFt	k
r�}z(|j
tt
dd�kr��|�d�|��Wdd}~XYnX|j
�d|d�}t�d�}|j�d|�|_|�|�|�|jd�|�tj�|��t�|�t���t�d	t�|�d�}WdQRX|�|j|�|�|jd�|�tj�|��WdQRXdS)
Nr2rJzx = 5)l��l��z-cannot set modification time to large integerZ	EOVERFLOWz2cannot set modification time to large integer ({})�r) rr6r\rMrNr�utime�
OverflowErrorZskipTest�OSError�errnor;rOrrrTrU�spec_from_loader�__spec__rXr*�xZ
assertTruer
r_r^r!r"r#r$r%r])	rr<�sourceZcompiled�f�err&rbrrr�test_timestamp_overflow�s4"



z"SimpleTest.test_timestamp_overflowc
Cs�|j�di�}t�d�}|j�d|�|_|�t��|�|�WdQRX|�t��0t	�
��t	�dt�|�
d�WdQRXWdQRXdS)Nz	good namezbad namer)rrrTrU�
ModuleSpecrkr,r-rXr!r"r#r$r%)rrr&rrr�test_unloadable�s

zSimpleTest.test_unloadablec
CsHt�d���2}|d}|j�|�}t|d��}|�d�WdQRXt�|d�tj|tj	j
d�|j�d|�}t
�d�}|j�d|�|_|�|�|�|jd�t|d��}|�d�WdQRXt�|d�|�|�|�|jd�t|d	��}|��}WdQRX|�t�|d
d�d�d
�|�|j�d�|dd��WdQRXdS)Nr2�wbs
state = "old")�2rt)�invalidation_mode�olds
state = "new"�new�rb���little��)rr6r\rMrNrrf�
py_compile�compile�PycInvalidationMode�CHECKED_HASHrrrTrUrjrkrXr*�state�read�int�
from_bytes�source_hash)rr<rm�pyc�fprrb�datarrr�test_checked_hash_based_pyc�s2



z&SimpleTest.test_checked_hash_based_pyccCs
t�d���}tj�dd���|d}|j�|�}t|d��}|�d�WdQRXt�	|d�t
j|t
jj
d�|j�d|�}t�d�}|j�d|�|_|�|�|�|jd�t|d��}|�d	�WdQRXt�	|d�|�|�|�|jd�WdQRXWdQRXdS)
Nr2z_imp.check_hash_based_pycs�neverrss
state = "old")rtrt)rurvs
state = "new")rr6�unittest�mock�patchr\rMrNrrfr~rr�r�rrrTrUrjrkrXr*r�)rr<rmr�r�rrbrrr�&test_overridden_checked_hash_based_pycs(


z1SimpleTest.test_overridden_checked_hash_based_pycc
Cs<t�d���&}|d}|j�|�}t|d��}|�d�WdQRXt�|d�tj|tj	j
d�|j�d|�}t
�d�}|j�d|�|_|�|�|�|jd�t|d��}|�d�WdQRX|�|�|�|jd�t|d��}|��}WdQRX|�t�|d	d
�d�d�|�|j�d�|d
d
��WdQRXdS)Nr2rss
state = "old")rtrt)rurvs
state = "new"rxryrzr{rFr})rr6r\rMrNrrfr~rr��UNCHECKED_HASHrrrTrUrjrkrXr*r�r�r�r�r�)rr<rmr�r�rrbr�rrr�test_unchecked_hash_based_pyc)s0



z(SimpleTest.test_unchecked_hash_based_pyccCsXt�d���B}tj�dd���&|d}|j�|�}t|d��}|�d�WdQRXt�	|d�t
j|t
jj
d�|j�d|�}t�d�}|j�d|�|_|�|�|�|jd�t|d��}|�d	�WdQRX|�|�|�|jd
�t|d��}|��}WdQRX|�t�|dd
�d�d�|�|j�d	�|d
d��WdQRXWdQRXdS)Nr2z_imp.check_hash_based_pycs�alwaysrss
state = "old")rtrt)rurvs
state = "new"rwrxryrzr{rFr})rr6r�r�r�r\rMrNrrfr~rr�r�rrrTrUrjrkrXr*r�r�r�r�r�)rr<rmr�r�rrbr�rrr�&test_overiden_unchecked_hash_based_pycGs2



z1SimpleTest.test_overiden_unchecked_hash_based_pycN)rrr�__doc__rr'r.r0r1r@rDrErIrSrYr[rdr�writes_bytecode_filesrprrr�r�r�r�rrrrr
s(
#r
)rrrrc@seZdZdS)r	N)rrrrrrrr	msr	c@seZdZdS)�SourceDateEpoch_SimpleTestN)rrrrrrrr�rsr�T)�	metaclassZsource_date_epochc@s�eZdZdd�Zdejjd�dd�Zdd�dd	�Ze	j
dd�d
d��Zdd�dd
�Zdd�dd�Z
dd�dd�Zdd�dd�Zdd�dd�Zdd�dd�Zdd�dd�Zdd�dd�Zdd�dd�ZdS)�BadBytecodeTestcCst�dS)N)�NotImplementedError)rrR�module_namerrr�import_zszBadBytecodeTest.import_F)�
del_sourceruc
	Cs�ytjd=Wntk
r YnXtj|||d�|sJ|j�||�}nt�||�t	||�}|r�t
|d��}|��}||�}	WdQRXt
|d��}|	dk	r�|�|	�WdQRX|S)zwManipulate the bytecode of a module by passing it into a callable
        that returns what to use as the new bytecode.r2)rurxNrs)
r8r9�KeyErrorr~rrr\rr^rrMr�rN)
rrr<Zmanipulatorr�ru�
bytecode_pathrR�bcZnew_bcrrr�manipulate_bytecode}s"z#BadBytecodeTest.manipulate_bytecode)r�c	Cs<t�d��(}|jd|dd�|d�}|d||�WdQRXdS)Nr2cSsdS)Nrr)r�rrrrH�rz2BadBytecodeTest._test_empty_file.<locals>.<lambda>)r�)rr6r�)r�testr�r<�bc_pathrrr�_test_empty_file�s
z BadBytecodeTest._test_empty_filec	Cs<t�d��(}|jd|dd�|d�}|d||�WdQRXdS)Nr2cSs|dd�S)Nr|r)r�rrrrH�rz5BadBytecodeTest._test_partial_magic.<locals>.<lambda>)r�)rr6r�)rr�r�r<r�rrr�_test_partial_magic�s
z#BadBytecodeTest._test_partial_magicc	Cs<t�d��(}|jd|dd�|d�}|d||�WdQRXdS)Nr2cSs|dd�S)Nryr)r�rrrrH�rz2BadBytecodeTest._test_magic_only.<locals>.<lambda>)r�)rr6r�)rr�r�r<r�rrr�_test_magic_only�s
z BadBytecodeTest._test_magic_onlyc	Cs<t�d��(}|jd|dd�|d�}|d||�WdQRXdS)Nr2cSs|dd�S)N�r)r�rrrrH�rz5BadBytecodeTest._test_partial_flags.<locals>.<lambda>)r�)rr6r�)rr�r�r<r�rrr�_test_partial_flags�s
z#BadBytecodeTest._test_partial_flagsc	Cs�t�d��.}|jd|dd�|tjjd�}|d||�WdQRXt�d��.}|jd|dd�|tjjd�}|d||�WdQRXdS)Nr2cSs|dd�S)N�
r)r�rrrrH�rz4BadBytecodeTest._test_partial_hash.<locals>.<lambda>)r�rucSs|dd�S)Nr�r)r�rrrrH�r)rr6r�r~r�r�r�)rr�r�r<r�rrr�_test_partial_hash�s z"BadBytecodeTest._test_partial_hashc	Cs<t�d��(}|jd|dd�|d�}|d||�WdQRXdS)Nr2cSs|dd�S)N�r)r�rrrrH�rz9BadBytecodeTest._test_partial_timestamp.<locals>.<lambda>)r�)rr6r�)rr�r�r<r�rrr�_test_partial_timestamp�s
z'BadBytecodeTest._test_partial_timestampc	Cs<t�d��(}|jd|dd�|d�}|d||�WdQRXdS)Nr2cSs|dd�S)N�r)r�rrrrH�rz4BadBytecodeTest._test_partial_size.<locals>.<lambda>)r�)rr6r�)rr�r�r<r�rrr�_test_partial_size�s
z"BadBytecodeTest._test_partial_sizec
Csbt�d��N}|jd|dd�|d�}|s.|dn|}|�t��|�|d�WdQRXWdQRXdS)Nr2cSs|dd�S)Nr}r)r�rrrrH�rz2BadBytecodeTest._test_no_marshal.<locals>.<lambda>)r�)rr6r�r,�EOFErrorr�)rr�r<r�rarrr�_test_no_marshal�sz BadBytecodeTest._test_no_marshalc
Cs�t�d��n}|jd|dd�|d�}|s.|dn|}|�t��}|�|d�WdQRX|�|jjd�|�|jj	|�WdQRXdS)Nr2cSs|dd�t�d�S)Nr}sabcd)�marshal�dumps)r�rrrrH�rz8BadBytecodeTest._test_non_code_marshal.<locals>.<lambda>)r�)
rr6r�r,r-r�r*�	exceptionrr
)rr�r<r�ra�cmrrr�_test_non_code_marshal�sz&BadBytecodeTest._test_non_code_marshalc
Csbt�d��N}|jd|dd�|d�}|s.|dn|}|�t��|�|d�WdQRXWdQRXdS)Nr2cSs|dd�dS)Nr}s<test>r)r�rrrrH�rz3BadBytecodeTest._test_bad_marshal.<locals>.<lambda>)r�)rr6r�r,r�r�)rr�r<r�rarrr�_test_bad_marshal�sz!BadBytecodeTest._test_bad_marshalc	Cs8t�d��$}|�d|dd��}|d||�WdQRXdS)Nr2cSsd|dd�S)Nsryr)r�rrrrH�rz1BadBytecodeTest._test_bad_magic.<locals>.<lambda>)rr6r�)rr�r�r<r�rrr�_test_bad_magic�s
zBadBytecodeTest._test_bad_magicN)rrrr�r~r��	TIMESTAMPr�r�rr�r�r�r�r�r�r�r�r�r�r�rrrrr�xs			r�c@seZdZdd�ZdS)�BadBytecodeTestPEP451cCs4|�||�}t�|�}|j�||�|_|�|�dS)N)rrTrUrrjrkrX)rrRr�rr&rrrr��s
zBadBytecodeTestPEP451.import_N)rrrr�rrrrr��sr�c@seZdZdd�ZdS)�BadBytecodeTestPEP302c	CsH|�||�}t���t�dt�|�|�}WdQRX|�|tj�dS)Nr)	rr!r"r#r$r%r7r8r9)rrRr�rr&rrrr�s

zBadBytecodeTestPEP302.import_N)rrrr�rrrrr�sr�c@s�eZdZedd��Zejdd��Zdd�Zejdd��Z	ejd	d
��Z
ejdd��Zejd
d��Zejdd��Z
ejdd��Zejdd��Zejdd��Zejdd��Zejedd���Zejdd��ZdS)�SourceLoaderBadBytecodeTestcCs|jj|_dS)N)rrr)�clsrrr�
setUpClasssz&SourceLoaderBadBytecodeTest.setUpClasscs�fdd�}��|�dS)Nc	s>��|||�t|d��}��t|���d�WdQRXdS)Nrxr})r�rM�
assertGreater�lenr�)rr<r�rR)rrrr�sz9SourceLoaderBadBytecodeTest.test_empty_file.<locals>.test)r�)rr�r)rr�test_empty_filesz+SourceLoaderBadBytecodeTest.test_empty_filecs�fdd�}��|�dS)Nc	s>��|||�t|d��}��t|���d�WdQRXdS)Nrxr})r�rMr�r�r�)rr<r�rR)rrrr� sz<SourceLoaderBadBytecodeTest.test_partial_magic.<locals>.test)r�)rr�r)rr�test_partial_magicsz.SourceLoaderBadBytecodeTest.test_partial_magiccs�fdd�}��|�dS)Nc	s>��|||�t|d��}��t|���d�WdQRXdS)Nrxr})r�rMr�r�r�)rr<r�rR)rrrr�+sz9SourceLoaderBadBytecodeTest.test_magic_only.<locals>.test)r�)rr�r)rr�test_magic_only'sz+SourceLoaderBadBytecodeTest.test_magic_onlycs�fdd�}��|�dS)Nc	s@��|||�t|d��}��|�d��jj�WdQRXdS)Nrxry)r�rMr*r�r�MAGIC_NUMBER)rr<r��
bytecode_file)rrrr�6sz8SourceLoaderBadBytecodeTest.test_bad_magic.<locals>.test)r�)rr�r)rr�test_bad_magic2sz*SourceLoaderBadBytecodeTest.test_bad_magiccs�fdd�}��|�dS)Nc	s>��|||�t|d��}��t|���d�WdQRXdS)Nrxr})r�rMr�r�r�)rr<r�rR)rrrr�Bsz@SourceLoaderBadBytecodeTest.test_partial_timestamp.<locals>.test)r�)rr�r)rr�test_partial_timestamp>sz2SourceLoaderBadBytecodeTest.test_partial_timestampcs�fdd�}��|�dS)Nc	s>��|||�t|d��}��t|���d�WdQRXdS)Nrxr})r�rMr�r�r�)rr<r�rR)rrrr�Lsz<SourceLoaderBadBytecodeTest.test_partial_flags.<locals>.test)r�)rr�r)rr�test_partial_flagsIsz.SourceLoaderBadBytecodeTest.test_partial_flagscs�fdd�}��|�dS)Nc	s>��|||�t|d��}��t|���d�WdQRXdS)Nrxr})r�rMr�r�r�)rr<r�rR)rrrr�Vsz;SourceLoaderBadBytecodeTest.test_partial_hash.<locals>.test)r�)rr�r)rr�test_partial_hashSsz-SourceLoaderBadBytecodeTest.test_partial_hashcs�fdd�}��|�dS)Nc	s>��|||�t|d��}��t|���d�WdQRXdS)Nrxr})r�rMr�r�r�)rr<r�rR)rrrr�asz;SourceLoaderBadBytecodeTest.test_partial_size.<locals>.test)r�)rr�r)rr�test_partial_size]sz-SourceLoaderBadBytecodeTest.test_partial_sizecCs|��dS)N)r�)rrrr�test_no_marshalhsz+SourceLoaderBadBytecodeTest.test_no_marshalcCs|��dS)N)r�)rrrr�test_non_code_marshalmsz1SourceLoaderBadBytecodeTest.test_non_code_marshalcCs|��dS)N)r�)rrrr�test_bad_marshalssz,SourceLoaderBadBytecodeTest.test_bad_marshalc
Cs�d}t�d���}t�|d�|j�|d�}t|d��}|�d�|�|�WdQRX|�|dd�t	j
�|d�}|j�
|�}t|d��"}|�d�|�|�d�|�WdQRXWdQRXdS)Nsr2zr+brzrxry)rr6r~rr\rM�seekrNr�rr
�getmtimer�_w_longr*r�)rZzerosr<r�r��source_mtimeZsource_timestamprrr�test_old_timestampys

z.SourceLoaderBadBytecodeTest.test_old_timestampcCs�t�d���}t�|d�|j�|d�}t|d��}|�d�|�d�WdQRXt�	|t
jt
jBt
j
B�z|�|dd�Wdt�	|t
j�XWdQRXdS)Nr2zr+brs)rr6r~rr\rMr�rNr�chmod�stat�S_IRUSR�S_IRGRP�S_IROTHr��S_IWUSR)rr<r�r�rrr�test_read_only_bytecode�s
z3SourceLoaderBadBytecodeTest.test_read_only_bytecodeN)rrr�classmethodr�rr�r�r�r�r�r�r�r�r�r�r�r�rr�r�rrrrr�s

r�c@seZdZdS)�!SourceLoaderBadBytecodeTestPEP451N)rrrrrrrr��sr�c@seZdZdS)�!SourceLoaderBadBytecodeTestPEP302N)rrrrrrrr��sr�c@sheZdZedd��Zdd�Zdd�Zdd�Zd	d
�Zdd�Z	d
d�Z
dd�Zdd�Zdd�Z
dd�ZdS)�SourcelessLoaderBadBytecodeTestcCs|jj|_dS)N)r�SourcelessFileLoaderr)r�rrrr��sz*SourcelessLoaderBadBytecodeTest.setUpClasscs�fdd�}�j|dd�dS)Nc	sF��t��}��||�WdQRX��|jj|���|jj|�dS)N)r,r-r�r*r�rr
)rr<r�r�)rrrr��sz=SourcelessLoaderBadBytecodeTest.test_empty_file.<locals>.testT)r�)r�)rr�r)rrr��sz/SourcelessLoaderBadBytecodeTest.test_empty_filecs�fdd�}�j|dd�dS)Nc	sF��t��}��||�WdQRX��|jj|���|jj|�dS)N)r,r-r�r*r�rr
)rr<r�r�)rrrr��sz@SourcelessLoaderBadBytecodeTest.test_partial_magic.<locals>.testT)r�)r�)rr�r)rrr��sz2SourcelessLoaderBadBytecodeTest.test_partial_magiccs�fdd�}�j|dd�dS)Nc	s&��t����||�WdQRXdS)N)r,r�r�)rr<r�)rrrr��sz=SourcelessLoaderBadBytecodeTest.test_magic_only.<locals>.testT)r�)r�)rr�r)rrr��sz/SourcelessLoaderBadBytecodeTest.test_magic_onlycs�fdd�}�j|dd�dS)Nc	sF��t��}��||�WdQRX��|jj|���|jj|�dS)N)r,r-r�r*r�rr
)rr<r�r�)rrrr��sz<SourcelessLoaderBadBytecodeTest.test_bad_magic.<locals>.testT)r�)r�)rr�r)rrr��sz.SourcelessLoaderBadBytecodeTest.test_bad_magiccs�fdd�}�j|dd�dS)Nc	s&��t����||�WdQRXdS)N)r,r�r�)rr<r�)rrrr��szDSourcelessLoaderBadBytecodeTest.test_partial_timestamp.<locals>.testT)r�)r�)rr�r)rrr��sz6SourcelessLoaderBadBytecodeTest.test_partial_timestampcs�fdd�}�j|dd�dS)Nc	s&��t����||�WdQRXdS)N)r,r�r�)rr<r�)rrrr��sz@SourcelessLoaderBadBytecodeTest.test_partial_flags.<locals>.testT)r�)r�)rr�r)rrr��sz2SourcelessLoaderBadBytecodeTest.test_partial_flagscs�fdd�}�j|dd�dS)Nc	s&��t����||�WdQRXdS)N)r,r�r�)rr<r�)rrrr��sz?SourcelessLoaderBadBytecodeTest.test_partial_hash.<locals>.testT)r�)r�)rr�r)rrr��sz1SourcelessLoaderBadBytecodeTest.test_partial_hashcs�fdd�}�j|dd�dS)Nc	s&��t����||�WdQRXdS)N)r,r�r�)rr<r�)rrrr��sz?SourcelessLoaderBadBytecodeTest.test_partial_size.<locals>.testT)r�)r�)rr�r)rrr��sz1SourcelessLoaderBadBytecodeTest.test_partial_sizecCs|jdd�dS)NT)r�)r�)rrrrr��sz/SourcelessLoaderBadBytecodeTest.test_no_marshalcCs|jdd�dS)NT)r�)r�)rrrrr�sz5SourcelessLoaderBadBytecodeTest.test_non_code_marshalN)rrrr�r�r�r�r�r�r�r�r�r�r�r�rrrrr��s		r�c@seZdZdS)�%SourcelessLoaderBadBytecodeTestPEP451N)rrrrrrrr�sr�c@seZdZdS)�%SourcelessLoaderBadBytecodeTestPEP302N)rrrrrrrr�sr��__main__)2r3rrZimport_importlibrZ
importlib_abcrZimportlib_utilrir�rr~r`r�r8rTr�r!Ztest.supportrrZtest.test_py_compilerr	ZLoaderTestsr
Z	test_bothZFrozen_SimpleTestZSource_SimpleTest�typer�r�r�r�r�r�ZFrozen_SourceBadBytecodePEP451ZSource_SourceBadBytecodePEP451r�ZFrozen_SourceBadBytecodePEP302ZSource_SourceBadBytecodePEP302r�r�Z"Frozen_SourcelessBadBytecodePEP451Z"Source_SourcelessBadBytecodePEP451r�Z"Frozen_SourcelessBadBytecodePEP302Z"Source_SourcelessBadBytecodePEP302r�mainrrrr�<module>sr



Q

	


J