HEX
Server: Microsoft-IIS/10.0
System: Windows NT ITPWINWEBSVR22 10.0 build 20348 (Windows Server 2022) AMD64
User: www.conferencesearch.co.uk (0)
PHP: 8.3.30
Disabled: NONE
Upload Files
File: D:/Python311/Lib/test/test_importlib/source/__pycache__/test_file_loader.cpython-311.pyc
�

��VcK����ddlmZmZejd��Zejd��Zejd��Zejd��ZddlZddl	Z	ddl
Z
ddlZddlZddl
Z
ddlZddlZddlZddlZddlmZmZddlmZdd	lmZGd
�dej��Zejeeeee���\ZZGd
�deee����ZGd�deed���ZGd�d��ZGd�de��Z Gd�de��Z!Gd�d��Z"Gd�de"e ��Z#eje#eeee���\Z$Z%Gd�de"e!��Z&eje&eeee���\Z'Z(Gd�d ��Z)Gd!�d"e)e ��Z*eje*eeee���\Z+Z,Gd#�d$e)e!��Z-eje-eeee���\Z.Z/e0d%krej1��dSdS)&�)�abc�util�	importlibz
importlib.abczimportlib.machineryzimportlib.utilN)�make_legacy_pyc�unload)�without_source_date_epoch)�SourceDateEpochTestMetac��eZdZdZd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zejd���Zd�Zejd���Zejd���Zejd���Zejd���ZdS)�
SimpleTestz�Should have no issue importing a source module [basic]. And if there is
    a syntax error, it should raise a SyntaxError [syntax error].

    c���d|_tj�d|jdz��|_|j�|j|j��|_dS)N�spam�hamz.py)�name�os�path�join�filepath�	machinery�SourceFileLoader�loader��selfs �?D:\Python311\Lib\test\test_importlib\source\test_file_loader.py�setUpzSimpleTest.setUp sH����	�����U�D�I��,=�>�>��
��n�5�5�d�i���O�O�����c�8�Gd�d|jj��}|dd��}|�td��t	j��5t	jdt��|���}ddd��dS#1swxYwYdS)Nc��eZdZd�Zd�ZdS)�/SimpleTest.test_load_module_API.<locals>.Testerc��dS)Nz	attr = 42��r�_s  r�
get_sourcez:SimpleTest.test_load_module_API.<locals>.Tester.get_source's��K�Krc��dS)NFr r!s  r�
is_packagez:SimpleTest.test_load_module_API.<locals>.Tester.is_package(s��E�ErN)�__name__�
__module__�__qualname__r#r%r rr�Testerr&s"������7�7�7�1�1�1�1�1rr)�blahzblah.py�ignore)	r�
FileLoader�
addCleanupr�warnings�catch_warnings�simplefilter�DeprecationWarning�load_module)rr)r�modules    r�test_load_module_APIzSimpleTest.test_load_module_API%s���	2�	2�	2�	2�	2�T�X�(�	2�	2�	2����	�*�*�������'�'�'�
�
$�
&�
&�	*�	*��!�(�,>�?�?�?��'�'�)�)�F�	*�	*�	*�	*�	*�	*�	*�	*�	*�	*�	*�	*����	*�	*�	*�	*�	*�	*s�/B�B�Bc���Gd�d|jj��}d}d}|||��}|�||�|����|�||�����|�||�d����|�t
��5|�|dz��ddd��dS#1swxYwYdS)Nc�&�eZdZd�Zd�Zd�Zd�ZdS)�0SimpleTest.test_get_filename_API.<locals>.Testerc��dS�Nr r!s  r�get_codez9SimpleTest.test_get_filename_API.<locals>.Tester.get_code3����rc��dSr9r r!s  rr#z;SimpleTest.test_get_filename_API.<locals>.Tester.get_source4r;rc��dSr9r r!s  rr%z;SimpleTest.test_get_filename_API.<locals>.Tester.is_package5r;rc��dSr9r r!s  r�module_reprz<SimpleTest.test_get_filename_API.<locals>.Tester.module_repr6r;rN)r&r'r(r:r#r%r?r rrr)r72s4������'�'�'�)�)�)�)�)�)�*�*�*�*�*rr)�	some_path�	some_name�XXX)rr,�assertEqual�get_filename�assertRaises�ImportError)rr)rrrs     r�test_get_filename_APIz SimpleTest.test_get_filename_API0sH��	+�	+�	+�	+�	+�T�X�(�	+�	+�	+��������d�#�#������v�2�2�4�8�8�9�9�9�����v�2�2�4�4�5�5�5�����v�2�2�4�8�8�9�9�9�
�
�
�{�
+�
+�	.�	.�����u��-�-�-�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.����	.�	.�	.�	.�	.�	.s�=C#�#C'�*C'c��|j�|j|j��}|�|j|��dSr9)rrrrrCr�r�others  r�
test_equalityzSimpleTest.test_equalityAs;����/�/��	�4�=�I�I�������e�,�,�,�,�,rc��|j�d|jz|j��}|�|j|��dS)Nr")rrrr�assertNotEqualrrIs  r�test_inequalityzSimpleTest.test_inequalityEs?����/�/��d�i����O�O�����D�K��/�/�/�/�/rc�,�tjd��5}|j�d|d��}t	j��5t	jdt��|�d��}ddd��n#1swxYwY|�	dtj��d|ddd�}|���D])\}}|�
t||��|���*	ddd��dS#1swxYwYdS)N�_tempr+��r&�__file__�__package__�r�create_modulesrrr.r/r0r1r2�assertIn�sys�modules�itemsrC�getattr�r�mappingrr3�check�attr�values       r�test_modulezSimpleTest.test_moduleJs���
�
 ��
)�
)�		?�W��^�4�4�W�g�g�>N�O�O�F��(�*�*�
5�
5��%�h�0B�C�C�C��+�+�G�4�4��
5�
5�
5�
5�
5�
5�
5�
5�
5�
5�
5����
5�
5�
5�
5�
�M�M�'�3�;�/�/�/�!(�g�g�6F�$&�(�(�E�$�{�{�}�}�
?�
?���e�� � ����!6�!6��>�>�>�>�
?�		?�		?�		?�		?�		?�		?�		?�		?�		?�		?�		?�		?����		?�		?�		?�		?�		?�		?s6�5D	�
0B�:D	�B
	�
D	�
B
	�A-D	�	D
�D
c�v�tjd��5}|j�d|d��}t	j��5t	jdt��|�d��}ddd��n#1swxYwY|�	dtj��d|dtj
�|d��gdd�}|���D])\}}|�t#||��|���*	ddd��dS#1swxYwYdS)N�
_pkg.__init__�_pkgr+)r&rS�__path__rT)rrVrrr.r/r0r1r2rWrXrYrr�dirnamerZrCr[r\s       r�test_packagezSimpleTest.test_packageVs���
�
 ��
1�
1�	?�W��^�4�4�V�18��1I�K�K�F��(�*�*�
4�
4��%�h�0B�C�C�C��+�+�F�3�3��
4�
4�
4�
4�
4�
4�
4�
4�
4�
4�
4����
4�
4�
4�
4�
�M�M�&�#�+�.�.�.�!'�W�_�5M�"$�'�/�/�'�/�2J�"K�"K�!L�$*�,�,�E� %�{�{�}�}�
?�
?���e�� � ����!6�!6��>�>�>�>�
?�	?�	?�	?�	?�	?�	?�	?�	?�	?�	?�	?�	?����	?�	?�	?�	?�	?�	?s6�5D.�
0B�:D.�B
	�
D.�
B
	�BD.�.D2�5D2c�.�tjdd��5}|j�d|d��}t	j��5t	jdt��|�d��}ddd��n#1swxYwY|�	dtj��d|ddd�}|���D])\}}|�
t||��|���*	ddd��dS#1swxYwYdS)Nrcz_pkg.modr+rdrRrUr\s       r�test_lacking_parentzSimpleTest.test_lacking_parentes���
�
 ��*�
=�
=�
	?���^�4�4�Z�4;�J�4G�I�I�F��(�*�*�
8�
8��%�h�0B�C�C�C��+�+�J�7�7��
8�
8�
8�
8�
8�
8�
8�
8�
8�
8�
8����
8�
8�
8�
8�
�M�M�*�c�k�2�2�2�!+���9L�$*�,�,�E�$�{�{�}�}�
?�
?���e�� � ����!6�!6��>�>�>�>�
?�
	?�
	?�
	?�
	?�
	?�
	?�
	?�
	?�
	?�
	?�
	?�
	?����
	?�
	?�
	?�
	?�
	?�
	?s6�5D
�0B�;D
�B	�D
�B	�A-D
�
D�Dc����fd�S)z-Fake mtime to always be higher than expected.c� ���|��dzS)N�r )r�fxns �r�<lambda>z'SimpleTest.fake_mtime.<locals>.<lambda>ts���C�C��I�I��M�rr )rrms `r�
fake_mtimezSimpleTest.fake_mtimers���)�)�)�)�)rc�b�tjd��5}|j�d|d��}t	j��5t	jdt��|�d��}ddd��n#1swxYwYt|��}t|j
��}t|ddd���5}|�d��ddd��n#1swxYwYt	j��5t	jdt��|�d��}ddd��n#1swxYwY|�
d|j
d�t|j
���������|�|t$jd��|�t|��|��|�t|j
��|��ddd��dS#1swxYwYdS)	NrPr+�w�utf-8��encodingztesting_var = 42
�testing_varz'testing_var' not in {0})rrVrrr.r/r0r1r2�id�__dict__�open�writerW�format�list�keysrCrXrY)rr]rr3�	module_id�module_dict_id�files       r�test_module_reusezSimpleTest.test_module_reusevs���
�
 ��
)�
)�	B�W��^�4�4�W�g�g�>N�O�O�F��(�*�*�
5�
5��%�h�0B�C�C�C��+�+�G�4�4��
5�
5�
5�
5�
5�
5�
5�
5�
5�
5�
5����
5�
5�
5�
5��6�
�
�I����0�0�N��g�g�&��g�>�>�>�
1�$��
�
�/�0�0�0�
1�
1�
1�
1�
1�
1�
1�
1�
1�
1�
1����
1�
1�
1�
1��(�*�*�
5�
5��%�h�0B�C�C�C��+�+�G�4�4��
5�
5�
5�
5�
5�
5�
5�
5�
5�
5�
5����
5�
5�
5�
5�
�M�M�-���"�"(�&��f�o�.B�.B�.D�.D�)E�)E�"F�"F�
H�
H�
H�
���V�S�[��%9�:�:�:����R��Z�Z��3�3�3����R���0�0�.�A�A�A�#	B�	B�	B�	B�	B�	B�	B�	B�	B�	B�	B�	B����	B�	B�	B�	B�	B�	Bs~�5H$�
0B�:H$�B
	�
H$�
B
	�>H$�C.�"H$�.C2	�2H$�5C2	�6H$�0E�<H$�E	�H$�E	�CH$�$H(�+H(c���d}d}d}tj|��5}tj|��}|D]}t	|||���t||dd���5}|�d��ddd��n#1swxYwY|j�d|d��}|�	t��5|�|��ddd��n#1swxYwY|D]&}|�t||��|���'|�	t��5tj��5tjdt"��|�|��ddd��n#1swxYwYddd��n#1swxYwY|D]&}|�t||��|���'	ddd��dS#1swxYwYdS)	N)rSrerTz<test>rPrqrrrsz+++ bad syntax +++r+)rrV�types�
ModuleType�setattrrxryrrrE�SyntaxError�exec_modulerCr[r.r/r0r1r2)	r�
attributesr`rr]�orig_moduler_rrs	         r�test_state_after_failurez#SimpleTest.test_state_after_failure�sF��<�
�����
�
 ��
&�
&�	D�'��*�4�0�0�K�"�
2�
2����T�5�1�1�1�1��g�d�m�S�7�;�;�;�
1�t��
�
�/�0�0�0�
1�
1�
1�
1�
1�
1�
1�
1�
1�
1�
1����
1�
1�
1�
1��^�4�4�W�g�g�>N�O�O�F��"�"�;�/�/�
0�
0��"�"�;�/�/�/�
0�
0�
0�
0�
0�
0�
0�
0�
0�
0�
0����
0�
0�
0�
0�"�
D�
D��� � ���d�!;�!;�U�C�C�C�C��"�"�;�/�/�
-�
-��,�.�.�-�-��)�(�4F�G�G�G��&�&�t�,�,�,�-�-�-�-�-�-�-�-�-�-�-����-�-�-�-�
-�
-�
-�
-�
-�
-�
-�
-�
-�
-�
-����
-�
-�
-�
-�#�
D�
D��� � ���d�!;�!;�U�C�C�C�C�
D�	D�	D�	D�	D�	D�	D�	D�	D�	D�	D�	D�	D����	D�	D�	D�	D�	D�	Ds��AG�B�4G�B	�G�B	�>G�C(�G�(C,	�,G�/C,	�0AG�6F�
0F�:F�F
�
F�
F
�F�G�F!	�!G�$F!	�%,G�G#�&G#c��tjd��5}t|ddd���5}|�d��ddd��n#1swxYwY|j�d|d��}|�t��5tj	��5tj
dt��|�d��ddd��n#1swxYwYddd��n#1swxYwY|�
dtj��ddd��dS#1swxYwYdS)NrPrqrrrs�=r+)rrVrxryrrrEr�r.r/r0r1r2�assertNotInrXrY)rr]rrs    r�test_bad_syntaxzSimpleTest.test_bad_syntax�s��
�
 ��
)�
)�	3�W��g�g�&��g�>�>�>�
 �$��
�
�3����
 �
 �
 �
 �
 �
 �
 �
 �
 �
 �
 ����
 �
 �
 �
 ��^�4�4�W�g�g�>N�O�O�F��"�"�;�/�/�
0�
0��,�.�.�0�0��)�(�4F�G�G�G��&�&�w�/�/�/�0�0�0�0�0�0�0�0�0�0�0����0�0�0�0�
0�
0�
0�
0�
0�
0�
0�
0�
0�
0�
0����
0�
0�
0�
0�
���W�c�k�2�2�2�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3����	3�	3�	3�	3�	3�	3s|�D5�A�D5�A	�D5�A	�>D5�C=�*0C&�C=�&C*�*C=�-C*�.C=�1D5�=D	�D5�D	�#D5�5D9�<D9c�p�d}t|dd���5}|�d��ddd��n#1swxYwY	tjd��5|j�d|��}t
j��5t
jdt��|�
d��}ddd��n#1swxYwY|�||j��|�|j�
|��|j��ddd��n#1swxYwYtj|��tj�|j�
|����}tj�|��rt)j|��dSdS#tj|��tj�|j�
|����}tj�|��rt)j|��wwxYw)Nz_temp.pyrqrrrsz# test file for importlibrPr+)rxryr�uncacherrr.r/r0r1r2rCrS�cache_from_source�
__cached__r�unlinkrrf�exists�shutil�rmtree)r�	file_pathrr�mod�pycaches      r�test_file_from_empty_string_dirz*SimpleTest.test_file_from_empty_string_dir�s����	�
�)�S�7�
3�
3�
3�	4�t��J�J�2�3�3�3�	4�	4�	4�	4�	4�	4�	4�	4�	4�	4�	4����	4�	4�	4�	4�
	'���g�&�&�
1�
1���8�8��)�L�L���,�.�.�6�6��)�(�4F�G�G�G� �,�,�W�5�5�C�6�6�6�6�6�6�6�6�6�6�6����6�6�6�6�� � ��C�L�9�9�9�� � ���!<�!<�Y�!G�!G�!$��1�1�1�

1�
1�
1�
1�
1�
1�
1�
1�
1�
1�
1����
1�
1�
1�
1�
�I�i� � � ��g�o�o�d�i�&A�&A�)�&L�&L�M�M�G��w�~�~�g�&�&�
'��
�g�&�&�&�&�&�
'�
'��
�I�i� � � ��g�o�o�d�i�&A�&A�)�&L�&L�M�M�G��w�~�~�g�&�&�
'��
�g�&�&�&�&�
'���sb�7�;�;�F4�/D'�0C�6D'�C	�D'�	C	�
AD'�F4�'D+�+F4�.D+�/F4�4BH5c�h�tjd��5}|d}|j�|��}t|dd���5}|�d��ddd��n#1swxYwY	tj|d��n#t$r|�d��Yn^t$rR}|j
ttdd��kr�|�d	�|����Yd}~nd}~wwxYw|j
�d|d��}tjd��}|j�d|��|_|�|��|�|jd
��|�t
j�|����tj|��t5j��5t5jdt:��|�d��}ddd��n#1swxYwY|�|j|��|�|jd
��|�t
j�|����ddd��dS#1swxYwYdS)NrPrqrrrszx = 5)���r�z-cannot set modification time to large integer�	EOVERFLOWz2cannot set modification time to large integer ({})�r+) rrVr�rxryr�utime�
OverflowError�skipTest�OSError�errnor[rzrrr�r��spec_from_loader�__spec__r�rC�x�
assertTruerr�r�r.r/r0r1r2r�)	rr]�source�compiled�f�err3r�s	         r�test_timestamp_overflowz"SimpleTest.test_timestamp_overflow�sJ���
 ��
)�
)�	6�W��W�%�F��y�2�2�6�:�:�H��f�c�G�4�4�4�
!������ � � �
!�
!�
!�
!�
!�
!�
!�
!�
!�
!�
!����
!�
!�
!�
!�
^����!;�<�<�<�<�� �
O�
O�
O��
�
�M�N�N�N�N�N��
^�
^�
^��7�g�e�[�$�?�?�?����
�
�R�Y�Y�Z[�\�\�]�]�]�]�]�]�]�]�����
^�����^�4�4�W�g�g�>N�O�O�F��%�g�.�.�F�"�i�8�8��&�I�I�F�O����v�&�&�&����V�X�q�)�)�)��O�O�B�G�N�N�8�4�4�5�5�5��I�h�����(�*�*�
2�
2��%�h�0B�C�C�C��(�(��1�1��
2�
2�
2�
2�
2�
2�
2�
2�
2�
2�
2����
2�
2�
2�
2�
���S�^�X�6�6�6����S�U�A�&�&�&��O�O�B�G�N�N�8�4�4�5�5�5�;	6�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6����	6�	6�	6�	6�	6�	6s��5J'�
A,� J'�,A0	�0J'�3A0	�4J'�8B�
J'�D
�-J'�/	D
�8AD�J'�D
�
C!J'�+0H'�J'�'H+	�+J'�.H+	�/A+J'�'J+�.J+c�L�|j�di��}tjd��}|j�d|��|_|�t��5|�|��ddd��n#1swxYwY|�t��5tj
��5tjdt��|�
d��ddd��n#1swxYwYddd��dS#1swxYwYdS)Nz	good namezbad namer+)rrr�r��
ModuleSpecr�rErFr�r.r/r0r1r2)rrr3s   r�test_unloadablezSimpleTest.test_unloadable�s�����0�0��b�A�A���!�*�-�-���.�3�3�J��G�G���
�
�
�{�
+�
+�	'�	'����v�&�&�&�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'����	'�	'�	'�	'�
�
�
�{�
+�
+�	/�	/��(�*�*�
/�
/��%�h�0B�C�C�C��"�"�:�.�.�.�
/�
/�
/�
/�
/�
/�
/�
/�
/�
/�
/����
/�
/�
/�
/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/����	/�	/�	/�	/�	/�	/sH�*B�B�B�1D�0D�5D�D	�D�D	�	D�D� Dc���tjd��5}|d}|j�|��}t|d��5}|�d��ddd��n#1swxYwYtj|d��tj|tj	j
���|j�d|��}tjd��}|j�d|��|_|�|��|�|jd��t|d��5}|�d��ddd��n#1swxYwYtj|d��|�|��|�|jd��t|d	��5}|���}ddd��n#1swxYwY|�t*�|d
d�d��d
��|�|j�d��|dd���ddd��dS#1swxYwYdS)NrP�wb�
state = "old"��2r���invalidation_mode�old�
state = "new"�new�rb���little��)rrVr�rxryrr��
py_compile�compile�PycInvalidationMode�CHECKED_HASHrrr�r�r�r�r�rC�state�read�int�
from_bytes�source_hash�rr]r��pyc�fprr��datas        r�test_checked_hash_based_pycz&SimpleTest.test_checked_hash_based_pyc�s1��
�
 ��
)�
)�	�W��W�%�F��)�-�-�f�5�5�C��f�d�#�#�
+�r����)�*�*�*�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+����
+�
+�
+�
+��H�V�X�&�&�&����",�"@�"M�
�
�
�
��^�4�4�W�f�E�E�F��"�7�+�+�C��9�5�5�g�v�F�F�C�L����s�#�#�#����S�Y��.�.�.��f�d�#�#�
+�r����)�*�*�*�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+����
+�
+�
+�
+��H�V�X�&�&�&����s�#�#�#����S�Y��.�.�.��c�4���
!�B��w�w�y�y��
!�
!�
!�
!�
!�
!�
!�
!�
!�
!�
!����
!�
!�
!�
!����S�^�^�D��1��I�x�@�@�$�G�G�G�����	�%�%�&6�7�7��Q�r�T�
�
�
�
�1	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s��3I&�A*�I&�*A.	�.I&�1A.	�2CI&�>E �I&� E$	�$I&�'E$	�(AI&�G!�I&�!G%	�%I&�(G%	�)A0I&�&I*�-I*c��tjd��5}tj�dd��5|d}|j�|��}t
|d��5}|�d��ddd��n#1swxYwYtj	|d��tj|tjj
���|j�d|��}t!jd��}|j�d|��|_|�|��|�|jd��t
|d��5}|�d	��ddd��n#1swxYwYtj	|d��|�|��|�|jd��ddd��n#1swxYwYddd��dS#1swxYwYdS)
NrP�_imp.check_hash_based_pycs�neverr�r�r�r�r�r�)rrV�unittest�mock�patchr�rxryrr�r�r�r�r�rrr�r�r�r�r�rCr�)rr]r�r�r�rr�s       r�&test_overridden_checked_hash_based_pycz1SimpleTest.test_overridden_checked_hash_based_pycs���
�
 ��
)�
)�	/�W�
�]�
 �
 �!=�w�
G�
G�	/�	/��W�%�F��)�-�-�f�5�5�C��f�d�#�#�
+�r����)�*�*�*�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+����
+�
+�
+�
+��H�V�X�&�&�&����",�"@�"M�
�
�
�
��^�4�4�W�f�E�E�F��"�7�+�+�C��9�5�5�g�v�F�F�C�L����s�#�#�#����S�Y��.�.�.��f�d�#�#�
+�r����)�*�*�*�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+����
+�
+�
+�
+��H�V�X�&�&�&����s�#�#�#����S�Y��.�.�.�+	/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/����	/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/����	/�	/�	/�	/�	/�	/s~�!G5�3G�)B�?G�B�G�B�CG�F�5G�F�G�F�	AG�G5�G!	�!G5�$G!	�%G5�5G9�<G9c��tjd��5}|d}|j�|��}t|d��5}|�d��ddd��n#1swxYwYtj|d��tj|tj	j
���|j�d|��}tjd��}|j�d|��|_|�|��|�|jd��t|d��5}|�d��ddd��n#1swxYwY|�|��|�|jd��t|d��5}|���}ddd��n#1swxYwY|�t*�|d	d
�d��d��|�|j�d��|d
d
���ddd��dS#1swxYwYdS)NrPr�r�r�r�r�r�r�r�r�r�rlr�)rrVr�rxryrr�r�r�r��UNCHECKED_HASHrrr�r�r�r�r�rCr�r�r�r�r�r�s        r�test_unchecked_hash_based_pycz(SimpleTest.test_unchecked_hash_based_pyc(s��
�
 ��
)�
)�	�W��W�%�F��)�-�-�f�5�5�C��f�d�#�#�
+�r����)�*�*�*�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+����
+�
+�
+�
+��H�V�X�&�&�&����",�"@�"O�
�
�
�
��^�4�4�W�f�E�E�F��"�7�+�+�C��9�5�5�g�v�F�F�C�L����s�#�#�#����S�Y��.�.�.��f�d�#�#�
+�r����)�*�*�*�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+����
+�
+�
+�
+����s�#�#�#����S�Y��.�.�.��c�4���
!�B��w�w�y�y��
!�
!�
!�
!�
!�
!�
!�
!�
!�
!�
!����
!�
!�
!�
!����S�^�^�D��1��I�x�@�@�#�F�F�F�����	�%�%�&6�7�7��Q�r�T�
�
�
�
�/	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s��3I�A*�I�*A.	�.I�1A.	�2CI�>E �I� E$	�$I�'E$	�(AI�+G�I�G	�I�G	�A0I�I�Ic	�,�tjd��5}tj�dd��5|d}|j�|��}t
|d��5}|�d��ddd��n#1swxYwYtj	|d��tj|tjj
���|j�d|��}t!jd��}|j�d|��|_|�|��|�|jd��t
|d��5}|�d	��ddd��n#1swxYwY|�|��|�|jd
��t
|d��5}|���}ddd��n#1swxYwY|�t0�|dd
�d��d��|�|j�d	��|d
d���ddd��n#1swxYwYddd��dS#1swxYwYdS)NrPr��alwaysr�r�r�r�r�r�r�r�r�r�r�rlr�)rrVr�r�r�r�rxryrr�r�r�r�r�rrr�r�r�r�r�rCr�r�r�r�r�r�s        r�(test_overridden_unchecked_hash_based_pycz3SimpleTest.test_overridden_unchecked_hash_based_pycFs���
�
 ��
)�
)�	�W�
�]�
 �
 �!=�x�
H�
H�	�	��W�%�F��)�-�-�f�5�5�C��f�d�#�#�
+�r����)�*�*�*�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+����
+�
+�
+�
+��H�V�X�&�&�&����",�"@�"O�
�
�
�
��^�4�4�W�f�E�E�F��"�7�+�+�C��9�5�5�g�v�F�F�C�L����s�#�#�#����S�Y��.�.�.��f�d�#�#�
+�r����)�*�*�*�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+����
+�
+�
+�
+����s�#�#�#����S�Y��.�.�.��c�4���
!�B��w�w�y�y��
!�
!�
!�
!�
!�
!�
!�
!�
!�
!�
!����
!�
!�
!�
!����S�^�^�D��1��I�x�@�@�#�F�F�F�����	�%�%�&6�7�7��Q�r�T�
�
�
�
�1	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s��!J	�3I1�)B�?I1�B�I1�B�CI1�F�5I1�F�I1�F�	AI1�G-�!I1�-G1�1I1�4G1�5A0I1�%J	�1I5	�5J	�8I5	�9J	�	J
�J
N)r&r'r(�__doc__rr4rGrKrNrargriror�r�r�r�r�writes_bytecode_filesr�r�r�r�r�r�r rrrrs���������
P�P�P�
	*�	*�	*�.�.�.�"-�-�-�0�0�0�

?�
?�
?�?�?�?�?�?�?�*�*�*�B�B�B�(D�D�D�0	3�	3�	3�'�'�'�*
�� 6� 6� �� 6�D	/�	/�	/�
���� ���<
��/�/� ��/�0
���� ���:
���� ����rr)rrrrc��eZdZdS)r	N�r&r'r(r rrr	r	l��������Drr	c��eZdZdS)�SourceDateEpoch_SimpleTestNr�r rrr�r�qs������	�Drr�T)�	metaclass�source_date_epochc���eZdZd�Zdejjd�d�Zdd�d�Ze	j
dd�d���Zdd�d�Zdd�d	�Z
dd�d
�Zdd�d�Zdd�d�Zdd�d
�Zdd�d�Zdd�d�Zdd�d�ZdS)�BadBytecodeTestc��t�r9)�NotImplementedError)rr�module_names   r�import_zBadBytecodeTest.import_ys��!�!rF��
del_sourcer�c�0�	tjd=n#t$rYnwxYwtj|||���|s!|j�||��}n/tj||��t||��}|r�t|d��5}|���}||��}	ddd��n#1swxYwYt|d��5}|	�|�|	��ddd��n#1swxYwY|S)zwManipulate the bytecode of a module by passing it into a callable
        that returns what to use as the new bytecode.rPr�r�Nr�)
rXrY�KeyErrorr�r�rr�rr�rrxr�ry)
rrr]�manipulatorr�r��
bytecode_pathr�bc�new_bcs
          r�manipulate_bytecodez#BadBytecodeTest.manipulate_bytecode|s���	���G�$�$���	�	�	��D�	������7�4�=�<M�N�N�N�N��	;� �I�7�7���
�F�F�M�M��I�g�d�m�$�$�$�+�G�D�M�:�:�M��	'��m�T�*�*�
)�d��Y�Y�[�[��$��R����
)�
)�
)�
)�
)�
)�
)�
)�
)�
)�
)����
)�
)�
)�
)��m�T�*�*�
'�d��'��J�J�v�&�&�&�
'�
'�
'�
'�
'�
'�
'�
'�
'�
'�
'����
'�
'�
'�
'��s0�
�
��  C�C�C�'D�D�D�r�c��tjd��5}|�d|d�|���}|d||��ddd��dS#1swxYwYdS)NrPc��dS)Nrr �r�s rrnz2BadBytecodeTest._test_empty_file.<locals>.<lambda>�s��3�rr��rrVr��r�testr�r]�bc_paths     r�_test_empty_filez BadBytecodeTest._test_empty_file�s���
�
 ��
)�
)�	,�W��.�.�w��0>��;E�/�G�G�G�
�D��'�7�+�+�+�		,�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,����	,�	,�	,�	,�	,�	,��(A
�
A�Ac��tjd��5}|�d|d�|���}|d||��ddd��dS#1swxYwYdS)NrPc��|dd�S)Nr�r r�s rrnz5BadBytecodeTest._test_partial_magic.<locals>.<lambda>����2�b�q�b�6�rr�r�r�s     r�_test_partial_magicz#BadBytecodeTest._test_partial_magic�s����
 ��
)�
)�	,�W��.�.�w��0A�0A�;E�/�G�G�G�
�D��'�7�+�+�+�		,�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,����	,�	,�	,�	,�	,�	,r�c��tjd��5}|�d|d�|���}|d||��ddd��dS#1swxYwYdS)NrPc��|dd�S)Nr�r r�s rrnz2BadBytecodeTest._test_magic_only.<locals>.<lambda>�r�rr�r�r�s     r�_test_magic_onlyz BadBytecodeTest._test_magic_only�s���
�
 ��
)�
)�	,�W��.�.�w��0A�0A�;E�/�G�G�G�
�D��'�7�+�+�+�		,�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,����	,�	,�	,�	,�	,�	,r�c��tjd��5}|�d|d�|���}|d||��ddd��dS#1swxYwYdS)NrPc��|dd�S)N�r r�s rrnz5BadBytecodeTest._test_partial_flags.<locals>.<lambda>�s��"�R�a�R�&�rr�r�r�s     r�_test_partial_flagsz#BadBytecodeTest._test_partial_flags�s���
�
 ��
)�
)�	,�W��.�.�w��/@�/@�:D�/�F�F�G�
�D��'�7�+�+�+�		,�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,����	,�	,�	,�	,�	,�	,r�c��tjd��5}|�d|d�|tjj���}|d||��ddd��n#1swxYwYtjd��5}|�d|d�|tjj���}|d||��ddd��dS#1swxYwYdS)NrPc��|dd�S�N�
r r�s rrnz4BadBytecodeTest._test_partial_hash.<locals>.<lambda>����2�c�r�c�7�rr�c��|dd�Sr	r r�s rrnz4BadBytecodeTest._test_partial_hash.<locals>.<lambda>�rr)rrVr�r�r�r�r�r�s     r�_test_partial_hashz"BadBytecodeTest._test_partial_hash�si��
�
 ��
)�
)�	,�W��.�.���"�"�%�",�"@�"M�/���G�
�D��'�7�+�+�+�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,����	,�	,�	,�	,��
 ��
)�
)�	,�W��.�.���"�"�%�",�"@�"O�/���G�
�D��'�7�+�+�+�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,����	,�	,�	,�	,�	,�	,s#�8A�A� A�88B=�=C�Cc��tjd��5}|�d|d�|���}|d||��ddd��dS#1swxYwYdS)NrPc��|dd�S)N�r r�s rrnz9BadBytecodeTest._test_partial_timestamp.<locals>.<lambda>����2�c�r�c�7�rr�r�r�s     r�_test_partial_timestampz'BadBytecodeTest._test_partial_timestamp����
�
 ��
)�
)�	,�W��.�.�w��0B�0B�;E�/�G�G�G�
�D��'�7�+�+�+�		,�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,����	,�	,�	,�	,�	,�	,r�c��tjd��5}|�d|d�|���}|d||��ddd��dS#1swxYwYdS)NrPc��|dd�S)N�r r�s rrnz4BadBytecodeTest._test_partial_size.<locals>.<lambda>�rrr�r�r�s     r�_test_partial_sizez"BadBytecodeTest._test_partial_size�rr�c�<�tjd��5}|�d|d�|���}|s|dn|}|�t��5|�|d��ddd��n#1swxYwYddd��dS#1swxYwYdS)NrPc��|dd�S)Nr�r r�s rrnz2BadBytecodeTest._test_no_marshal.<locals>.<lambda>�rrr��rrVr�rE�EOFErrorr�)rr�r]r�r�s     r�_test_no_marshalz BadBytecodeTest._test_no_marshal�s0��
�
 ��
)�
)�	1�W��.�.�w��0B�0B�;E�/�G�G�G�1;�G���(�(��I��"�"�8�,�,�
1�
1����Y��0�0�0�
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�6�AB�A9�-B�9A=	�=B�A=	�B�B�Bc��tjd��5}|�d|d�|���}|s|dn|}|�t��5}|�|d��ddd��n#1swxYwY|�|jjd��|�|jj	|��ddd��dS#1swxYwYdS)NrPc�@�|dd�tjd��zS)Nr�sabcd)�marshal�dumpsr�s rrnz8BadBytecodeTest._test_non_code_marshal.<locals>.<lambda>�s��r�#�2�#�w���w�9O�9O�/O�rr�)
rrVr�rErFr�rC�	exceptionrr)rr�r]r�r��cms      r�_test_non_code_marshalz&BadBytecodeTest._test_non_code_marshal�sa��
�
 ��
)�
)�	?�W� �4�4�W�g�$O�$O�/9�5�;�;�M�1;�M���(�(�
�I��"�"�;�/�/�
1�2����Y��0�0�0�
1�
1�
1�
1�
1�
1�
1�
1�
1�
1�
1����
1�
1�
1�
1����R�\�.��8�8�8����R�\�.�
�>�>�>�	?�	?�	?�	?�	?�	?�	?�	?�	?�	?�	?�	?����	?�	?�	?�	?�	?�	?s7�AC�A9�-C�9A=	�=C�A=	�AC�C�Cc�<�tjd��5}|�d|d�|���}|s|dn|}|�t��5|�|d��ddd��n#1swxYwYddd��dS#1swxYwYdS)NrPc��|dd�dzS)Nr�s<test>r r�s rrnz3BadBytecodeTest._test_bad_marshal.<locals>.<lambda>�s��2�c�r�c�7�Y�;N�rr�r)rr�r]r�r�s     r�_test_bad_marshalz!BadBytecodeTest._test_bad_marshal�s0��
�
 ��
)�
)�	1�W� �4�4�W�g�0N�0N�;E�5�G�G�M�1;�M���(�(�
�I��"�"�8�,�,�
1�
1����Y��0�0�0�
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�	1rc��tjd��5}|�d|d���}|d||��ddd��dS#1swxYwYdS)NrPc��d|dd�zS)N�r�r r�s rrnz1BadBytecodeTest._test_bad_magic.<locals>.<lambda>�s��/B�R����V�/K�rr�r�s     r�_test_bad_magiczBadBytecodeTest._test_bad_magic�s���
�
 ��
)�
)�	,�W��.�.�w��$K�$K�M�M�G��D��'�7�+�+�+�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,����	,�	,�	,�	,�	,�	,s�&A�A�AN)r&r'r(r�r�r��	TIMESTAMPr�r�rr�r�rrr
rrrr$r'r+r rrr�r�ws�������"�"�"�
(-�.8�.L�.V������249�,�,�,�,�,�
��6;�,�,�,�,� ��,�49�,�,�,�,�,�7<�,�,�,�,�,�6;�,�,�,�,�,�(;@�,�,�,�,�,�6;�,�,�,�,�,�.3�1�1�1�1�1�49�	?�	?�	?�	?�	?�/4�1�1�1�1�1�38�,�,�,�,�,�,�,rr�c��eZdZd�ZdS)�BadBytecodeTestPEP451c���|�||��}tj|��}|j�||��|_|�|��dSr9)rr�r�rr�r�r��rrr�rr3s     rr�zBadBytecodeTestPEP451.import_�sX�����[�$�/�/���!�+�.�.���)�4�4�[�&�I�I������6�"�"�"�"�"rN�r&r'r(r�r rrr.r.�s#������#�#�#�#�#rr.c��eZdZd�ZdS)�BadBytecodeTestPEP302c�&�|�||��}tj��5tjdt��|�|��}ddd��n#1swxYwY|�|tj��dS)Nr+)	rr.r/r0r1r2rWrXrYr0s     rr�zBadBytecodeTestPEP302.import_s������[�$�/�/��
�
$�
&�
&�	5�	5��!�(�,>�?�?�?��'�'��4�4�F�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5����	5�	5�	5�	5�	
�
�
�k�3�;�/�/�/�/�/s�0A&�&A*�-A*Nr1r rrr3r3s#������0�0�0�0�0rr3c��eZdZed���Zejd���Zd�Zejd���Z	ejd���Z
ejd���Zejd���Zejd���Z
ejd	���Zejd
���Zejd���Zejd���Zejed
�����Zejd���ZdS)�SourceLoaderBadBytecodeTestc�(�|jj|_dSr9)rrr��clss r�
setUpClassz&SourceLoaderBadBytecodeTest.setUpClasss���]�3��
�
�
rc�<���fd�}��|��dS)Nc�����|||��t|d��5}��t|�����d��ddd��dS#1swxYwYdS�Nr�r��r�rx�
assertGreater�lenr��rr]r�rrs    �rr�z9SourceLoaderBadBytecodeTest.test_empty_file.<locals>.test�����L�L�����-�-�-��m�T�*�*�
9�d��"�"�3�t�y�y�{�{�#3�#3�R�8�8�8�
9�
9�
9�
9�
9�
9�
9�
9�
9�
9�
9�
9����
9�
9�
9�
9�
9�
9��6A1�1A5�8A5�r��rr�s` r�test_empty_filez+SourceLoaderBadBytecodeTest.test_empty_file�8���	9�	9�	9�	9�	9�
	
���d�#�#�#�#�#rc�<���fd�}��|��dS)Nc�����|||��t|d��5}��t|�����d��ddd��dS#1swxYwYdSr=r>rAs    �rr�z<SourceLoaderBadBytecodeTest.test_partial_magic.<locals>.testrBrC�r�rEs` r�test_partial_magicz.SourceLoaderBadBytecodeTest.test_partial_magics8���	9�	9�	9�	9�	9�
	
� � ��&�&�&�&�&rc�<���fd�}��|��dS)Nc�����|||��t|d��5}��t|�����d��ddd��dS#1swxYwYdSr=r>rAs    �rr�z9SourceLoaderBadBytecodeTest.test_magic_only.<locals>.test*rBrC�rrEs` r�test_magic_onlyz+SourceLoaderBadBytecodeTest.test_magic_only&rGrc�<���fd�}��|��dS)Nc�����|||��t|d��5}��|�d���jj��ddd��dS#1swxYwYdS)Nr�r�)r�rxrCr�r�MAGIC_NUMBER)rr]r��
bytecode_filers    �rr�z8SourceLoaderBadBytecodeTest.test_bad_magic.<locals>.test5s�����L�L�����-�-�-��m�T�*�*�
9�m�� � ��!3�!3�A�!6�!6�!%��!7�9�9�9�
9�
9�
9�
9�
9�
9�
9�
9�
9�
9�
9�
9����
9�
9�
9�
9�
9�
9s�4A/�/A3�6A3�r+rEs` r�test_bad_magicz*SourceLoaderBadBytecodeTest.test_bad_magic1s8���	9�	9�	9�	9�	9�	
���T�"�"�"�"�"rc�<���fd�}��|��dS)Nc�����|||��t|d��5}��t|�����d��ddd��dS#1swxYwYdSr=r>�rr]r�rrs    �rr�z@SourceLoaderBadBytecodeTest.test_partial_timestamp.<locals>.testA�����L�L�����-�-�-��g�t�$�$�
9���"�"�3�t�y�y�{�{�#3�#3�R�8�8�8�
9�
9�
9�
9�
9�
9�
9�
9�
9�
9�
9�
9����
9�
9�
9�
9�
9�
9rC�rrEs` r�test_partial_timestampz2SourceLoaderBadBytecodeTest.test_partial_timestamp=s8���	9�	9�	9�	9�	9�
	
�$�$�T�*�*�*�*�*rc�<���fd�}��|��dS)Nc�����|||��t|d��5}��t|�����d��ddd��dS#1swxYwYdSr=r>rXs    �rr�z<SourceLoaderBadBytecodeTest.test_partial_flags.<locals>.testKrYrC�rrEs` r�test_partial_flagsz.SourceLoaderBadBytecodeTest.test_partial_flagsHs8���	9�	9�	9�	9�	9�
	
� � ��&�&�&�&�&rc�<���fd�}��|��dS)Nc�����|||��t|d��5}��t|�����d��ddd��dS#1swxYwYdSr=r>rXs    �rr�z;SourceLoaderBadBytecodeTest.test_partial_hash.<locals>.testUrYrC�r
rEs` r�test_partial_hashz-SourceLoaderBadBytecodeTest.test_partial_hashRs8���	9�	9�	9�	9�	9�
	
����%�%�%�%�%rc�<���fd�}��|��dS)Nc�����|||��t|d��5}��t|�����d��ddd��dS#1swxYwYdSr=r>rXs    �rr�z;SourceLoaderBadBytecodeTest.test_partial_size.<locals>.test`rYrC�rrEs` r�test_partial_sizez-SourceLoaderBadBytecodeTest.test_partial_size\s8���	9�	9�	9�	9�	9�
	
����%�%�%�%�%rc�.�|���dSr9�rrs r�test_no_marshalz+SourceLoaderBadBytecodeTest.test_no_marshalgs��	
�������rc�.�|���dSr9�r$rs r�test_non_code_marshalz1SourceLoaderBadBytecodeTest.test_non_code_marshalls���#�#�%�%�%�%�%rc�.�|���dSr9)r'rs r�test_bad_marshalz,SourceLoaderBadBytecodeTest.test_bad_marshalrs��	
��� � � � � rc��d}tjd��5}tj|d��|j�|d��}t|d��5}|�d��|�|��ddd��n#1swxYwY|�|dd��tj
�|d��}|j�
|��}t|d��5}|�d��|�|�d��|��ddd��n#1swxYwYddd��dS#1swxYwYdS)Nr*rP�r+br�r�r�)rrVr�r�r�rx�seekryr�rr�getmtimer�_pack_uint32rCr�)r�zerosr]r�rS�source_mtime�source_timestamps       r�test_old_timestampz.SourceLoaderBadBytecodeTest.test_old_timestampxs>��
$��
�
 ��
)�
)�	J�W���w�w�/�0�0�0� �I�7�7���8H�I�I�M��m�U�+�+�
+�}��"�"�1�%�%�%��#�#�E�*�*�*�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+����
+�
+�
+�
+�
�L�L���)�7�3�3�3��7�+�+�G�G�,<�=�=�L�#�~�:�:�<�H�H���m�T�*�*�
J�m��"�"�1�%�%�%�� � ��!3�!3�A�!6�!6�8H�I�I�I�
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����	J�	J�	J�	J�	J�	Js[�AE2�"+B�
E2�B	�E2� B	�!A.E2�?E�E2�E	�E2�!E	�"E2�2E6�9E6c��tjd��5}tj|d��|j�|d��}t|d��5}|�d��|�d��ddd��n#1swxYwYtj	|tjtjztj
z��	|�|dd��tj	|tj��n$#tj	|tj��wxYw	ddd��dS#1swxYwYdS)NrPrqrr*)rrVr�r�r�rxrrryr�chmod�stat�S_IRUSR�S_IRGRP�S_IROTHr��S_IWUSR)rr]r�rSs    r�test_read_only_bytecodez3SourceLoaderBadBytecodeTest.test_read_only_bytecode�s����
 ��
)�
)�	6�W���w�w�/�0�0�0� �I�7�7���8H�I�I�M��m�U�+�+�
9�}��"�"�1�%�%�%��#�#�$7�8�8�8�
9�
9�
9�
9�
9�
9�
9�
9�
9�
9�
9����
9�
9�
9�
9�
�H�]���t�|�3�d�l�B�
D�
D�
D�
6����W�W�-�w�7�7�7������5�5�5�5�������5�5�5�5����5�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6����	6�	6�	6�	6�	6�	6sN�AE
� +B�E
�B	�E
�B	�<E
�D�8 E
�!D9�9E
�
E�EN)r&r'r(�classmethodr:rr�rFrKrOrUr[r_rcrgrjrmrorrxr�r rrr6r6
s��������4�4��[�4�
��$�$� ��$�'�'�'�
��$�$� ��$�
��	#�	#� ��	#�
��+�+� ��+�
��'�'� ��'�
��&�&� ��&�
��&�&� ��&�
�� � � �� �
��&�&� ��&�

��!�!� ��!�

���J�J��� ��J�$
��6�6� ��6�6�6rr6c��eZdZdS)�!SourceLoaderBadBytecodeTestPEP451Nr�r rrr�r��r�rr�c��eZdZdS)�!SourceLoaderBadBytecodeTestPEP302Nr�r rrr�r��r�rr�c�`�eZdZed���Zd�Zd�Zd�Zd�Zd�Z	d�Z
d�Zd	�Zd
�Z
d�ZdS)
�SourcelessLoaderBadBytecodeTestc�(�|jj|_dSr9)r�SourcelessFileLoaderrr8s rr:z*SourcelessLoaderBadBytecodeTest.setUpClass�s���]�7��
�
�
rc�@���fd�}��|d���dS)Nc�����t��5}��||��ddd��n#1swxYwY��|jj|����|jj|��dSr9�rErFr�rCr"rr�rr]r�r#rs    �rr�z=SourcelessLoaderBadBytecodeTest.test_empty_file.<locals>.test������"�"�;�/�/�
2�2����]�D�1�1�1�
2�
2�
2�
2�
2�
2�
2�
2�
2�
2�
2����
2�
2�
2�
2����R�\�.��5�5�5����R�\�.�
�>�>�>�>�>��?�A�ATr�rDrEs` rrFz/SourcelessLoaderBadBytecodeTest.test_empty_file�s=���	?�	?�	?�	?�	?�	
���d�t��4�4�4�4�4rc�@���fd�}��|d���dS)Nc�����t��5}��||��ddd��n#1swxYwY��|jj|����|jj|��dSr9r�r�s    �rr�z@SourcelessLoaderBadBytecodeTest.test_partial_magic.<locals>.test�r�r�Tr�rJrEs` rrKz2SourcelessLoaderBadBytecodeTest.test_partial_magic�s=���	?�	?�	?�	?�	?�
	
� � ��$� �7�7�7�7�7rc�@���fd�}��|d���dS)Nc�����t��5��||��ddd��dS#1swxYwYdSr9�rErr��rr]r�rs   �rr�z=SourcelessLoaderBadBytecodeTest.test_magic_only.<locals>.test������"�"�8�,�,�
2�
2����]�D�1�1�1�
2�
2�
2�
2�
2�
2�
2�
2�
2�
2�
2�
2����
2�
2�
2�
2�
2�
2��A�A�ATr�rNrEs` rrOz/SourcelessLoaderBadBytecodeTest.test_magic_only�s=���	2�	2�	2�	2�	2�	
���d�t��4�4�4�4�4rc�@���fd�}��|d���dS)Nc�����t��5}��||��ddd��n#1swxYwY��|jj|����|jj|��dSr9r�r�s    �rr�z<SourcelessLoaderBadBytecodeTest.test_bad_magic.<locals>.test�r�r�Tr�rTrEs` rrUz.SourcelessLoaderBadBytecodeTest.test_bad_magic�s=���	?�	?�	?�	?�	?�	
���T�d��3�3�3�3�3rc�@���fd�}��|d���dS)Nc�����t��5��||��ddd��dS#1swxYwYdSr9r�r�s   �rr�zDSourcelessLoaderBadBytecodeTest.test_partial_timestamp.<locals>.test�r�r�Tr�rZrEs` rr[z6SourcelessLoaderBadBytecodeTest.test_partial_timestamp�s=���	2�	2�	2�	2�	2�	
�$�$�T�d�$�;�;�;�;�;rc�@���fd�}��|d���dS)Nc�����t��5��||��ddd��dS#1swxYwYdSr9r�r�s   �rr�z@SourcelessLoaderBadBytecodeTest.test_partial_flags.<locals>.test�r�r�Tr�r^rEs` rr_z2SourcelessLoaderBadBytecodeTest.test_partial_flags�s=���	2�	2�	2�	2�	2�	
� � ��$� �7�7�7�7�7rc�@���fd�}��|d���dS)Nc�����t��5��||��ddd��dS#1swxYwYdSr9r�r�s   �rr�z?SourcelessLoaderBadBytecodeTest.test_partial_hash.<locals>.test�r�r�Tr�rbrEs` rrcz1SourcelessLoaderBadBytecodeTest.test_partial_hash��=���	2�	2�	2�	2�	2�	
������6�6�6�6�6rc�@���fd�}��|d���dS)Nc�����t��5��||��ddd��dS#1swxYwYdSr9r�r�s   �rr�z?SourcelessLoaderBadBytecodeTest.test_partial_size.<locals>.test�r�r�Tr�rfrEs` rrgz1SourcelessLoaderBadBytecodeTest.test_partial_size�r�rc�2�|�d���dS�NTr�rirs rrjz/SourcelessLoaderBadBytecodeTest.test_no_marshal�s�������.�.�.�.�.rc�2�|�d���dSr�rlrs rrmz5SourcelessLoaderBadBytecodeTest.test_non_code_marshal�s���#�#�t�#�4�4�4�4�4rN)r&r'r(r�r:rFrKrOrUr[r_rcrgrjrmr rrr�r��s��������8�8��[�8�5�5�5�8�8�8�5�5�5�4�4�4�<�<�<�8�8�8�7�7�7�7�7�7�/�/�/�5�5�5�5�5rr�c��eZdZdS)�%SourcelessLoaderBadBytecodeTestPEP451Nr�r rrr�r�r�rr�c��eZdZdS)�%SourcelessLoaderBadBytecodeTestPEP302Nr�r rrr�r�r�rr��__main__)2�test.test_importlibrr�import_importlibr�
importlib_abcr�importlib_utilr�r rr�r�r{rXr�r�r.�test.support.import_helperrr�test.test_py_compilerr	�LoaderTestsr�	test_both�Frozen_SimpleTest�Source_SimpleTest�typer�r�r.r3r6r��Frozen_SourceBadBytecodePEP451�Source_SourceBadBytecodePEP451r��Frozen_SourceBadBytecodePEP302�Source_SourceBadBytecodePEP302r�r��"Frozen_SourcelessBadBytecodePEP451�"Source_SourcelessBadBytecodePEP451r��"Frozen_SourcelessBadBytecodePEP302�"Source_SourcelessBadBytecodePEP302r&�mainr rr�<module>r�s[��)�)�)�)�)�)�)�)�!�D�!�+�.�.�	�%��%�o�6�6�
�!�D�!�"7�8�8�	�&��&�'7�8�8����������	�	�	�	�����
�
�
�
�����
�
�
�
�������������>�>�>�>�>�>�>�>�:�:�:�:�:�:�8�8�8�8�8�8�J�J�J�J�J���J�J�J�^
�T�^�J�)�y�%�N�<�<�<����
	�	�	�	�	�5�"�d�#4�5�5�	�	�	�
	�	�	�	�	�!2�+B�37�	�	�	�	�@,�@,�@,�@,�@,�@,�@,�@,�F#�#�#�#�#�O�#�#�#�0�0�0�0�0�O�0�0�0�Q6�Q6�Q6�Q6�Q6�Q6�Q6�Q6�h	�	�	�	�	�#�%:�	�	�	��T�^�5��'�]�'�)�)�)����	�	�	�	�	�#�%:�	�	�	��T�^�5��'�]�'�)�)�)����G5�G5�G5�G5�G5�G5�G5�G5�T	�	�	�	�	�,K��	�	�	��T�^�9�Y�'�]�'�)�)�)��#�#�	�	�	�	�	�,K��	�	�	��T�^�9�Y�'�]�'�)�)�)��#�#��z����H�M�O�O�O�O�O��r